|
|
|
@ -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 + ')';
|
|
|
|
|
}
|
|
|
|
|