Merge pull request #992 from bunnei/declr-pred
gl_shader_decompiler: Declare predicates on use.
This commit is contained in:
commit
0bfe974281
|
@ -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 + ')';
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue