summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/shader/decode/register_set_predicate.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/shader/decode/register_set_predicate.cpp b/src/video_core/shader/decode/register_set_predicate.cpp
index bbfe2ce05..06a3c7539 100644
--- a/src/video_core/shader/decode/register_set_predicate.cpp
+++ b/src/video_core/shader/decode/register_set_predicate.cpp
@@ -37,10 +37,11 @@ u32 ShaderIR::DecodeRegisterSetPredicate(BasicBlock& bb, u32 pc) {
37 37
38 const Node apply_compare = 38 const Node apply_compare =
39 Operation(OperationCode::UBitwiseAnd, NO_PRECISE, apply_mask, shift); 39 Operation(OperationCode::UBitwiseAnd, NO_PRECISE, apply_mask, shift);
40 const Node condition = Operation(OperationCode::LogicalUEqual, apply_compare, Immediate(0)); 40 const Node condition =
41 Operation(OperationCode::LogicalUNotEqual, apply_compare, Immediate(0));
41 42
42 const Node value_compare = Operation(OperationCode::UBitwiseAnd, NO_PRECISE, mask, shift); 43 const Node value_compare = Operation(OperationCode::UBitwiseAnd, NO_PRECISE, mask, shift);
43 const Node value = Operation(OperationCode::LogicalUEqual, value_compare, Immediate(0)); 44 const Node value = Operation(OperationCode::LogicalUNotEqual, value_compare, Immediate(0));
44 45
45 const Node code = Operation(OperationCode::LogicalAssign, GetPredicate(pred), value); 46 const Node code = Operation(OperationCode::LogicalAssign, GetPredicate(pred), value);
46 bb.push_back(Conditional(condition, {code})); 47 bb.push_back(Conditional(condition, {code}));