|
|
@@ -379,6 +379,18 @@ void EmitInvocationId(EmitContext& ctx, IR::Inst& inst) {
|
|
|
ctx.Add("MOV.S {}.x,primitive_invocation.x;", inst);
|
|
|
}
|
|
|
|
|
|
+void EmitInvocationInfo(EmitContext& ctx, IR::Inst& inst) {
|
|
|
+ switch (ctx.stage) {
|
|
|
+ case Stage::TessellationControl:
|
|
|
+ case Stage::TessellationEval:
|
|
|
+ ctx.Add("SHL.U {}.x,primitive.vertexcount,16;", inst);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ LOG_WARNING(Shader, "(STUBBED) called");
|
|
|
+ ctx.Add("MOV.S {}.x,0x00ff0000;", inst);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void EmitSampleId(EmitContext& ctx, IR::Inst& inst) {
|
|
|
ctx.Add("MOV.S {}.x,fragment.sampleid.x;", inst);
|
|
|
}
|