summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar bunnei2018-10-23 00:01:38 -0400
committerGravatar GitHub2018-10-23 00:01:38 -0400
commit848a49112a774cd95fe1a600f1acdfec7aefcc6d (patch)
treec1d6bf385df694f4c0789a766a041b175daeefe9 /src/video_core/engines
parentMerge pull request #1550 from FernandoS27/fmul32 (diff)
parentgl_shader_decompiler: Implement PBK and BRK (diff)
downloadyuzu-848a49112a774cd95fe1a600f1acdfec7aefcc6d.tar.gz
yuzu-848a49112a774cd95fe1a600f1acdfec7aefcc6d.tar.xz
yuzu-848a49112a774cd95fe1a600f1acdfec7aefcc6d.zip
Merge pull request #1512 from ReinUsesLisp/brk
gl_shader_decompiler: Implement PBK and BRK
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index d3095089c..ac50bb622 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -1213,11 +1213,13 @@ public:
1213 KIL, 1213 KIL,
1214 SSY, 1214 SSY,
1215 SYNC, 1215 SYNC,
1216 BRK,
1216 DEPBAR, 1217 DEPBAR,
1217 BFE_C, 1218 BFE_C,
1218 BFE_R, 1219 BFE_R,
1219 BFE_IMM, 1220 BFE_IMM,
1220 BRA, 1221 BRA,
1222 PBK,
1221 LD_A, 1223 LD_A,
1222 LD_C, 1224 LD_C,
1223 ST_A, 1225 ST_A,
@@ -1374,7 +1376,7 @@ public:
1374 /// conditionally executed). 1376 /// conditionally executed).
1375 static bool IsPredicatedInstruction(Id opcode) { 1377 static bool IsPredicatedInstruction(Id opcode) {
1376 // TODO(Subv): Add the rest of unpredicated instructions. 1378 // TODO(Subv): Add the rest of unpredicated instructions.
1377 return opcode != Id::SSY; 1379 return opcode != Id::SSY && opcode != Id::PBK;
1378 } 1380 }
1379 1381
1380 class Matcher { 1382 class Matcher {
@@ -1470,9 +1472,11 @@ private:
1470#define INST(bitstring, op, type, name) Detail::GetMatcher(bitstring, op, type, name) 1472#define INST(bitstring, op, type, name) Detail::GetMatcher(bitstring, op, type, name)
1471 INST("111000110011----", Id::KIL, Type::Flow, "KIL"), 1473 INST("111000110011----", Id::KIL, Type::Flow, "KIL"),
1472 INST("111000101001----", Id::SSY, Type::Flow, "SSY"), 1474 INST("111000101001----", Id::SSY, Type::Flow, "SSY"),
1475 INST("111000101010----", Id::PBK, Type::Flow, "PBK"),
1473 INST("111000100100----", Id::BRA, Type::Flow, "BRA"), 1476 INST("111000100100----", Id::BRA, Type::Flow, "BRA"),
1477 INST("1111000011111---", Id::SYNC, Type::Flow, "SYNC"),
1478 INST("111000110100---", Id::BRK, Type::Flow, "BRK"),
1474 INST("1111000011110---", Id::DEPBAR, Type::Synch, "DEPBAR"), 1479 INST("1111000011110---", Id::DEPBAR, Type::Synch, "DEPBAR"),
1475 INST("1111000011111---", Id::SYNC, Type::Synch, "SYNC"),
1476 INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"), 1480 INST("1110111111011---", Id::LD_A, Type::Memory, "LD_A"),
1477 INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"), 1481 INST("1110111110010---", Id::LD_C, Type::Memory, "LD_C"),
1478 INST("1110111111110---", Id::ST_A, Type::Memory, "ST_A"), 1482 INST("1110111111110---", Id::ST_A, Type::Memory, "ST_A"),
@@ -1610,4 +1614,4 @@ private:
1610 } 1614 }
1611}; 1615};
1612 1616
1613} // namespace Tegra::Shader 1617} // namespace Tegra::Shader \ No newline at end of file