|
|
|
@ -74,6 +74,11 @@ std::optional<OutAttr> OutputAttrPointer(EmitContext& ctx, IR::Attribute attr) { |
|
|
|
case IR::Attribute::ClipDistance7: { |
|
|
|
const u32 base{static_cast<u32>(IR::Attribute::ClipDistance0)}; |
|
|
|
const u32 index{static_cast<u32>(attr) - base}; |
|
|
|
if (index >= ctx.profile.max_user_clip_distances) { |
|
|
|
LOG_WARNING(Shader, "Ignoring clip distance store {} >= {} supported", index, |
|
|
|
ctx.profile.max_user_clip_distances); |
|
|
|
return std::nullopt; |
|
|
|
} |
|
|
|
const Id clip_num{ctx.Const(index)}; |
|
|
|
return OutputAccessChain(ctx, ctx.output_f32, ctx.clip_distances, clip_num); |
|
|
|
} |
|
|
|
|