summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glasm/emit_context.cpp
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-05-10 18:21:28 -0300
committerGravatar ameerj2021-07-22 21:51:31 -0400
commitc4fd6b55bc9acd06b2fc89f84fd175d78e14110a (patch)
treec246a1c64f4826faedcf5c93be778116e48caf85 /src/shader_recompiler/backend/glasm/emit_context.cpp
parentglasm: Add MUFU instructions to GLASM (diff)
downloadyuzu-c4fd6b55bc9acd06b2fc89f84fd175d78e14110a.tar.gz
yuzu-c4fd6b55bc9acd06b2fc89f84fd175d78e14110a.tar.xz
yuzu-c4fd6b55bc9acd06b2fc89f84fd175d78e14110a.zip
glasm: Implement shuffle and vote instructions on GLASM
Diffstat (limited to 'src/shader_recompiler/backend/glasm/emit_context.cpp')
-rw-r--r--src/shader_recompiler/backend/glasm/emit_context.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/glasm/emit_context.cpp b/src/shader_recompiler/backend/glasm/emit_context.cpp
index 9f839f3bf..f9d83dd91 100644
--- a/src/shader_recompiler/backend/glasm/emit_context.cpp
+++ b/src/shader_recompiler/backend/glasm/emit_context.cpp
@@ -25,6 +25,23 @@ EmitContext::EmitContext(IR::Program& program) {
25 if (const size_t num = program.info.storage_buffers_descriptors.size(); num > 0) { 25 if (const size_t num = program.info.storage_buffers_descriptors.size(); num > 0) {
26 Add("PARAM c[{}]={{program.local[0..{}]}};", num, num - 1); 26 Add("PARAM c[{}]={{program.local[0..{}]}};", num, num - 1);
27 } 27 }
28 switch (program.stage) {
29 case Stage::VertexA:
30 case Stage::VertexB:
31 stage_name = "vertex";
32 break;
33 case Stage::TessellationControl:
34 case Stage::TessellationEval:
35 case Stage::Geometry:
36 stage_name = "primitive";
37 break;
38 case Stage::Fragment:
39 stage_name = "fragment";
40 break;
41 case Stage::Compute:
42 stage_name = "compute";
43 break;
44 }
28} 45}
29 46
30} // namespace Shader::Backend::GLASM 47} // namespace Shader::Backend::GLASM