Browse Source
Merge pull request #992 from bunnei/declr-pred
gl_shader_decompiler: Declare predicates on use.
pull/15/merge
bunnei
7 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
5 additions and
4 deletions
-
src/video_core/renderer_opengl/gl_shader_decompiler.cpp
|
|
|
@ -657,16 +657,17 @@ private: |
|
|
|
* @param instr Instruction to generate the if condition for. |
|
|
|
* @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; |
|
|
|
std::string variable; |
|
|
|
|
|
|
|
// 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"; |
|
|
|
else |
|
|
|
} else { |
|
|
|
variable = 'p' + std::to_string(index) + '_' + suffix; |
|
|
|
|
|
|
|
declr_predicates.insert(variable); |
|
|
|
} |
|
|
|
if (negate) { |
|
|
|
return "!(" + variable + ')'; |
|
|
|
} |
|
|
|
|