|
|
@ -108,7 +108,17 @@ void EmitPrologue(EmitContext& ctx) { |
|
|
ctx.OpStore(element_info.id, value); |
|
|
ctx.OpStore(element_info.id, value); |
|
|
element += num; |
|
|
element += num; |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (Sirit::ValidId(ctx.clip_distances)) { |
|
|
|
|
|
for (u32 i = 0; i < ctx.profile.max_user_clip_distances; ++i) { |
|
|
|
|
|
if (!clip_distance_written.test(i)) { |
|
|
|
|
|
const Id idx = ctx.Const(i); |
|
|
|
|
|
const Id element = ctx.OpAccessChain(ctx.output_f32, ctx.clip_distances, idx); |
|
|
|
|
|
ctx.OpStore(element, ctx.Const(0.0f)); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
if (ctx.stage == Stage::VertexB || ctx.stage == Stage::Geometry) { |
|
|
if (ctx.stage == Stage::VertexB || ctx.stage == Stage::Geometry) { |
|
|
SetFixedPipelinePointSize(ctx); |
|
|
SetFixedPipelinePointSize(ctx); |
|
|
|