Browse Source
Merge pull request #550 from Subv/ssy
GPU: Stub the SSY shader instruction.
pull/15/merge
bunnei
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
7 additions and
0 deletions
-
src/video_core/engines/shader_bytecode.h
-
src/video_core/renderer_opengl/gl_shader_decompiler.cpp
|
|
|
@ -414,6 +414,7 @@ class OpCode { |
|
|
|
public: |
|
|
|
enum class Id { |
|
|
|
KIL, |
|
|
|
SSY, |
|
|
|
BFE_C, |
|
|
|
BFE_R, |
|
|
|
BFE_IMM, |
|
|
|
@ -603,6 +604,7 @@ private: |
|
|
|
std::vector<Matcher> table = { |
|
|
|
#define INST(bitstring, op, type, name) Detail::GetMatcher(bitstring, op, type, name) |
|
|
|
INST("111000110011----", Id::KIL, Type::Flow, "KIL"), |
|
|
|
INST("111000101001----", Id::SSY, Type::Flow, "SSY"), |
|
|
|
INST("111000100100----", Id::BRA, Type::Flow, "BRA"), |
|
|
|
INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"), |
|
|
|
INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"), |
|
|
|
|
|
|
|
@ -1478,6 +1478,11 @@ private: |
|
|
|
regs.SetRegisterToInputAttibute(instr.gpr0, attribute.element, attribute.index); |
|
|
|
break; |
|
|
|
} |
|
|
|
case OpCode::Id::SSY: { |
|
|
|
// The SSY opcode tells the GPU where to re-converge divergent execution paths, we
|
|
|
|
// can ignore this when generating GLSL code.
|
|
|
|
break; |
|
|
|
} |
|
|
|
default: { |
|
|
|
NGLOG_CRITICAL(HW_GPU, "Unhandled instruction: {}", opcode->GetName()); |
|
|
|
UNREACHABLE(); |
|
|
|
|