Преглед изворни кода

Merge pull request #992 from bunnei/declr-pred

gl_shader_decompiler: Declare predicates on use.
bunnei пре 8 година
родитељ
комит
0bfe974281
1 измењених фајлова са 5 додато и 4 уклоњено
  1. 5 4
      src/video_core/renderer_opengl/gl_shader_decompiler.cpp

+ 5 - 4
src/video_core/renderer_opengl/gl_shader_decompiler.cpp

@@ -657,16 +657,17 @@ private:
      * @param instr Instruction to generate the if condition for.
      * @param instr Instruction to generate the if condition for.
      * @returns string containing the predicate condition.
      * @returns string containing the predicate condition.
      */
      */
-    std::string GetPredicateCondition(u64 index, bool negate) const {
+    std::string GetPredicateCondition(u64 index, bool negate) {
         using Tegra::Shader::Pred;
         using Tegra::Shader::Pred;
         std::string variable;
         std::string variable;
 
 
         // Index 7 is used as an 'Always True' condition.
         // Index 7 is used as an 'Always True' condition.
-        if (index == static_cast<u64>(Pred::UnusedIndex))
+        if (index == static_cast<u64>(Pred::UnusedIndex)) {
             variable = "true";
             variable = "true";
-        else
+        } else {
             variable = 'p' + std::to_string(index) + '_' + suffix;
             variable = 'p' + std::to_string(index) + '_' + suffix;
-
+            declr_predicates.insert(variable);
+        }
         if (negate) {
         if (negate) {
             return "!(" + variable + ')';
             return "!(" + variable + ')';
         }
         }