diff options
| author | 2018-10-23 00:01:38 -0400 | |
|---|---|---|
| committer | 2018-10-23 00:01:38 -0400 | |
| commit | 848a49112a774cd95fe1a600f1acdfec7aefcc6d (patch) | |
| tree | c1d6bf385df694f4c0789a766a041b175daeefe9 /src/video_core/engines | |
| parent | Merge pull request #1550 from FernandoS27/fmul32 (diff) | |
| parent | gl_shader_decompiler: Implement PBK and BRK (diff) | |
| download | yuzu-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.h | 10 |
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 |