Răsfoiți Sursa

glasm: Implement gl_WorkGroupID

ReinUsesLisp 5 ani în urmă
părinte
comite
e8ed904805

+ 1 - 1
src/shader_recompiler/backend/glasm/emit_glasm_instructions.h

@@ -66,7 +66,7 @@ void EmitSetZFlag(EmitContext& ctx);
 void EmitSetSFlag(EmitContext& ctx);
 void EmitSetCFlag(EmitContext& ctx);
 void EmitSetOFlag(EmitContext& ctx);
-void EmitWorkgroupId(EmitContext& ctx);
+void EmitWorkgroupId(EmitContext& ctx, IR::Inst& inst);
 void EmitLocalInvocationId(EmitContext& ctx, IR::Inst& inst);
 void EmitInvocationId(EmitContext& ctx);
 void EmitSampleId(EmitContext& ctx);

+ 2 - 2
src/shader_recompiler/backend/glasm/emit_glasm_not_implemented.cpp

@@ -144,8 +144,8 @@ void EmitSetOFlag(EmitContext& ctx) {
     NotImplemented();
 }
 
-void EmitWorkgroupId(EmitContext& ctx) {
-    NotImplemented();
+void EmitWorkgroupId(EmitContext& ctx, IR::Inst& inst) {
+    ctx.Add("MOV.S {},invocation.groupid;", inst);
 }
 
 void EmitLocalInvocationId(EmitContext& ctx, IR::Inst& inst) {