shader: Implement SR_Y_DIRECTION
This commit is contained in:
parent
50f8007172
commit
f18a6dd1bd
10 changed files with 22 additions and 0 deletions
|
@ -72,6 +72,7 @@ Id EmitLocalInvocationId(EmitContext& ctx);
|
|||
Id EmitInvocationId(EmitContext& ctx);
|
||||
Id EmitSampleId(EmitContext& ctx);
|
||||
Id EmitIsHelperInvocation(EmitContext& ctx);
|
||||
Id EmitYDirection(EmitContext& ctx);
|
||||
Id EmitLoadLocal(EmitContext& ctx, Id word_offset);
|
||||
void EmitWriteLocal(EmitContext& ctx, Id word_offset, Id value);
|
||||
Id EmitUndefU1(EmitContext& ctx);
|
||||
|
|
|
@ -403,6 +403,13 @@ Id EmitIsHelperInvocation(EmitContext& ctx) {
|
|||
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) {
|
||||
const Id pointer{ctx.OpAccessChain(ctx.private_u32, ctx.local_memory, word_offset)};
|
||||
return ctx.OpLoad(ctx.U32[1], pointer);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue