shader: Implement SR_LaneId
This commit is contained in:
		| @@ -71,6 +71,7 @@ void EmitSetMXFlag(EmitContext& ctx); | ||||
| Id EmitWorkgroupId(EmitContext& ctx); | ||||
| Id EmitLocalInvocationId(EmitContext& ctx); | ||||
| Id EmitLoadLocal(EmitContext& ctx, Id word_offset); | ||||
| Id EmitLaneId(EmitContext& ctx); | ||||
| void EmitWriteLocal(EmitContext& ctx, Id word_offset, Id value); | ||||
| Id EmitUndefU1(EmitContext& ctx); | ||||
| Id EmitUndefU8(EmitContext& ctx); | ||||
|   | ||||
| @@ -303,6 +303,10 @@ Id EmitLocalInvocationId(EmitContext& ctx) { | ||||
|     return ctx.OpLoad(ctx.U32[3], ctx.local_invocation_id); | ||||
| } | ||||
|  | ||||
| Id EmitLaneId(EmitContext& ctx) { | ||||
|     return ctx.OpLoad(ctx.U32[1], ctx.subgroup_local_invocation_id); | ||||
| } | ||||
|  | ||||
| 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); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user