summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-07-05 12:54:19 -0400
committerGravatar GitHub2018-07-05 12:54:19 -0400
commit762bf6a52201901374fd3bf7c866490036920c78 (patch)
treeebf04066d1f487b72a4521c67afd2c551111ba87 /src
parentMerge pull request #624 from Subv/f2f_round (diff)
parentGPU: Stub the shader SYNC and DEPBAR instructions. (diff)
downloadyuzu-762bf6a52201901374fd3bf7c866490036920c78.tar.gz
yuzu-762bf6a52201901374fd3bf7c866490036920c78.tar.xz
yuzu-762bf6a52201901374fd3bf7c866490036920c78.zip
Merge pull request #626 from Subv/shader_sync
GPU: Stub the shader SYNC and DEPBAR instructions.
Diffstat (limited to '')
-rw-r--r--src/video_core/engines/shader_bytecode.h5
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp7
2 files changed, 12 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index da1aaeeee..3b70efeec 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -451,6 +451,8 @@ public:
451 enum class Id { 451 enum class Id {
452 KIL, 452 KIL,
453 SSY, 453 SSY,
454 SYNC,
455 DEPBAR,
454 BFE_C, 456 BFE_C,
455 BFE_R, 457 BFE_R,
456 BFE_IMM, 458 BFE_IMM,
@@ -547,6 +549,7 @@ public:
547 Shift, 549 Shift,
548 Ffma, 550 Ffma,
549 Flow, 551 Flow,
552 Synch,
550 Memory, 553 Memory,
551 FloatSet, 554 FloatSet,
552 FloatSetPredicate, 555 FloatSetPredicate,
@@ -651,6 +654,8 @@ private:
651 INST("111000110011----", Id::KIL, Type::Flow, "KIL"), 654 INST("111000110011----", Id::KIL, Type::Flow, "KIL"),
652 INST("111000101001----", Id::SSY, Type::Flow, "SSY"), 655 INST("111000101001----", Id::SSY, Type::Flow, "SSY"),
653 INST("111000100100----", Id::BRA, Type::Flow, "BRA"), 656 INST("111000100100----", Id::BRA, Type::Flow, "BRA"),
657 INST("1111000011110---", Id::DEPBAR, Type::Synch, "DEPBAR"),
658 INST("1111000011111---", Id::SYNC, Type::Synch, "SYNC"),
654 INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"), 659 INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"),
655 INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"), 660 INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"),
656 INST("1110111111110---", Id::ST_A, Type::Memory, "ST_A"), 661 INST("1110111111110---", Id::ST_A, Type::Memory, "ST_A"),
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 03ac4fe9e..e817aca5a 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1632,6 +1632,13 @@ private:
1632 // can ignore this when generating GLSL code. 1632 // can ignore this when generating GLSL code.
1633 break; 1633 break;
1634 } 1634 }
1635 case OpCode::Id::DEPBAR:
1636 case OpCode::Id::SYNC: {
1637 // TODO(Subv): Find out if we actually have to care about these instructions or if
1638 // the GLSL compiler takes care of that for us.
1639 LOG_WARNING(HW_GPU, "DEPBAR/SYNC instruction is stubbed");
1640 break;
1641 }
1635 default: { 1642 default: {
1636 LOG_CRITICAL(HW_GPU, "Unhandled instruction: {}", opcode->GetName()); 1643 LOG_CRITICAL(HW_GPU, "Unhandled instruction: {}", opcode->GetName());
1637 UNREACHABLE(); 1644 UNREACHABLE();