summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-07-04 22:29:51 +0200
committerSubv <subv2112@gmail.com>2018-07-04 22:29:51 +0200
commit77cfe4f027bd91e4200d6cda5c985f94de378684 (patch)
treef44bc7a6653b399246e5afdeff3a5726e1a1979a
parentMerge pull request #618 from Subv/clear_used_buffers (diff)
downloadyuzu-77cfe4f027bd91e4200d6cda5c985f94de378684.tar
yuzu-77cfe4f027bd91e4200d6cda5c985f94de378684.tar.gz
yuzu-77cfe4f027bd91e4200d6cda5c985f94de378684.tar.bz2
yuzu-77cfe4f027bd91e4200d6cda5c985f94de378684.tar.lz
yuzu-77cfe4f027bd91e4200d6cda5c985f94de378684.tar.xz
yuzu-77cfe4f027bd91e4200d6cda5c985f94de378684.tar.zst
yuzu-77cfe4f027bd91e4200d6cda5c985f94de378684.zip
-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 c1226a649..ec9050d3d 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -438,6 +438,8 @@ public:
enum class Id {
KIL,
SSY,
+ SYNC,
+ DEPBAR,
BFE_C,
BFE_R,
BFE_IMM,
@@ -534,6 +536,7 @@ public:
Shift,
Ffma,
Flow,
+ Synch,
Memory,
FloatSet,
FloatSetPredicate,
@@ -638,6 +641,8 @@ private:
INST("111000110011----", Id::KIL, Type::Flow, "KIL"),
INST("111000101001----", Id::SSY, Type::Flow, "SSY"),
INST("111000100100----", Id::BRA, Type::Flow, "BRA"),
+ INST("1111000011110---", Id::DEPBAR, Type::Synch, "DEPBAR"),
+ INST("1111000011111---", Id::SYNC, Type::Synch, "SYNC"),
INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"),
INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"),
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 ec9956edb..d5259e0b1 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1599,6 +1599,13 @@ private:
// can ignore this when generating GLSL code.
break;
}
+ case OpCode::Id::DEPBAR:
+ case OpCode::Id::SYNC: {
+ // TODO(Subv): Find out if we actually have to care about these instructions or if
+ // the GLSL compiler takes care of that for us.
+ LOG_WARNING(HW_GPU, "DEPBAR/SYNC instruction is stubbed");
+ break;
+ }
default: {
LOG_CRITICAL(HW_GPU, "Unhandled instruction: {}", opcode->GetName());
UNREACHABLE();