diff options
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 5 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 7 | 
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:      enum class Id {          KIL,          SSY, +        SYNC, +        DEPBAR,          BFE_C,          BFE_R,          BFE_IMM, @@ -547,6 +549,7 @@ public:          Shift,          Ffma,          Flow, +        Synch,          Memory,          FloatSet,          FloatSetPredicate, @@ -651,6 +654,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 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:                  // 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();  | 
