diff options
Diffstat (limited to 'src/shader_recompiler/backend/glsl')
-rw-r--r-- | src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp index 2e369ed72..fea325df9 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_context_get_set.cpp @@ -426,9 +426,15 @@ void EmitInvocationInfo(EmitContext& ctx, IR::Inst& inst) { case Stage::TessellationEval: ctx.AddU32("{}=uint(gl_PatchVerticesIn)<<16;", inst); break; + case Stage::Fragment: + // Return sample mask in upper 16 bits + ctx.AddU32("{}=uint(gl_SampleMaskIn[0])<<16;", inst); + break; + case Stage::Compute: default: - LOG_WARNING(Shader, "(STUBBED) called"); - ctx.AddU32("{}=uint(0x00ff0000);", inst); + // Return standard format (0x00ff0000) + ctx.AddU32("{}=0x00ff0000u;", inst); + break; } } |