summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/engines/shader_bytecode.h2
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 51dcc0d08..d748026b8 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -414,6 +414,7 @@ class OpCode {
414public: 414public:
415 enum class Id { 415 enum class Id {
416 KIL, 416 KIL,
417 SSY,
417 BFE_C, 418 BFE_C,
418 BFE_R, 419 BFE_R,
419 BFE_IMM, 420 BFE_IMM,
@@ -603,6 +604,7 @@ private:
603 std::vector<Matcher> table = { 604 std::vector<Matcher> table = {
604#define INST(bitstring, op, type, name) Detail::GetMatcher(bitstring, op, type, name) 605#define INST(bitstring, op, type, name) Detail::GetMatcher(bitstring, op, type, name)
605 INST("111000110011----", Id::KIL, Type::Flow, "KIL"), 606 INST("111000110011----", Id::KIL, Type::Flow, "KIL"),
607 INST("111000101001----", Id::SSY, Type::Flow, "SSY"),
606 INST("111000100100----", Id::BRA, Type::Flow, "BRA"), 608 INST("111000100100----", Id::BRA, Type::Flow, "BRA"),
607 INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"), 609 INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"),
608 INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"), 610 INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"),
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 07a90f5ad..37fbb94da 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1478,6 +1478,11 @@ private:
1478 regs.SetRegisterToInputAttibute(instr.gpr0, attribute.element, attribute.index); 1478 regs.SetRegisterToInputAttibute(instr.gpr0, attribute.element, attribute.index);
1479 break; 1479 break;
1480 } 1480 }
1481 case OpCode::Id::SSY: {
1482 // The SSY opcode tells the GPU where to re-converge divergent execution paths, we
1483 // can ignore this when generating GLSL code.
1484 break;
1485 }
1481 default: { 1486 default: {
1482 NGLOG_CRITICAL(HW_GPU, "Unhandled instruction: {}", opcode->GetName()); 1487 NGLOG_CRITICAL(HW_GPU, "Unhandled instruction: {}", opcode->GetName());
1483 UNREACHABLE(); 1488 UNREACHABLE();