|
|
@ -403,6 +403,13 @@ Id EmitIsHelperInvocation(EmitContext& ctx) { |
|
|
return ctx.OpLoad(ctx.U1, ctx.is_helper_invocation); |
|
|
return ctx.OpLoad(ctx.U1, ctx.is_helper_invocation); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Id EmitYDirection(EmitContext& ctx) { |
|
|
|
|
|
if (ctx.profile.y_negate) { |
|
|
|
|
|
return ctx.Constant(ctx.F32[1], -1.0f); |
|
|
|
|
|
} |
|
|
|
|
|
return ctx.Constant(ctx.F32[1], 1.0f); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
Id EmitLoadLocal(EmitContext& ctx, Id word_offset) { |
|
|
Id EmitLoadLocal(EmitContext& ctx, Id word_offset) { |
|
|
const Id pointer{ctx.OpAccessChain(ctx.private_u32, ctx.local_memory, word_offset)}; |
|
|
const Id pointer{ctx.OpAccessChain(ctx.private_u32, ctx.local_memory, word_offset)}; |
|
|
return ctx.OpLoad(ctx.U32[1], pointer); |
|
|
return ctx.OpLoad(ctx.U32[1], pointer); |
|
|
|