summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-08-08 21:51:09 -0400
committerGravatar bunnei2018-08-08 23:26:31 -0400
commit4283019aa0928f8bf564b0031c21b1231e08f8e2 (patch)
treef2ff2510af4c4f348d126afc597baefd6380088f /src
parentMerge pull request #982 from bunnei/stub-unk-63 (diff)
downloadyuzu-4283019aa0928f8bf564b0031c21b1231e08f8e2.tar.gz
yuzu-4283019aa0928f8bf564b0031c21b1231e08f8e2.tar.xz
yuzu-4283019aa0928f8bf564b0031c21b1231e08f8e2.zip
gl_shader_decompiler: Declare predicates on use.
- Used by Super Mario Odyssey (when going in game).
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index dd240a4ce..ea7779429 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -657,16 +657,17 @@ private:
657 * @param instr Instruction to generate the if condition for. 657 * @param instr Instruction to generate the if condition for.
658 * @returns string containing the predicate condition. 658 * @returns string containing the predicate condition.
659 */ 659 */
660 std::string GetPredicateCondition(u64 index, bool negate) const { 660 std::string GetPredicateCondition(u64 index, bool negate) {
661 using Tegra::Shader::Pred; 661 using Tegra::Shader::Pred;
662 std::string variable; 662 std::string variable;
663 663
664 // Index 7 is used as an 'Always True' condition. 664 // Index 7 is used as an 'Always True' condition.
665 if (index == static_cast<u64>(Pred::UnusedIndex)) 665 if (index == static_cast<u64>(Pred::UnusedIndex)) {
666 variable = "true"; 666 variable = "true";
667 else 667 } else {
668 variable = 'p' + std::to_string(index) + '_' + suffix; 668 variable = 'p' + std::to_string(index) + '_' + suffix;
669 669 declr_predicates.insert(variable);
670 }
670 if (negate) { 671 if (negate) {
671 return "!(" + variable + ')'; 672 return "!(" + variable + ')';
672 } 673 }