summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2019-08-18 08:50:54 -0400
committerGravatar GitHub2019-08-18 08:50:54 -0400
commit87bbefe55ff761b3119e3f011ae08c002457327f (patch)
treef72117246074e1bd20feec1aa5a4465ec0440b67 /src
parentMerge pull request #2789 from jroweboy/quickfix (diff)
parentdecode/half_set_predicate: Fix predicates (diff)
downloadyuzu-87bbefe55ff761b3119e3f011ae08c002457327f.tar.gz
yuzu-87bbefe55ff761b3119e3f011ae08c002457327f.tar.xz
yuzu-87bbefe55ff761b3119e3f011ae08c002457327f.zip
Merge pull request #2768 from ReinUsesLisp/hsetp2-fix
decode/half_set_predicate: Fix predicates
Diffstat (limited to 'src')
-rw-r--r--src/video_core/shader/decode/half_set_predicate.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/shader/decode/half_set_predicate.cpp b/src/video_core/shader/decode/half_set_predicate.cpp
index a82a6a15c..a6c082cc9 100644
--- a/src/video_core/shader/decode/half_set_predicate.cpp
+++ b/src/video_core/shader/decode/half_set_predicate.cpp
@@ -52,15 +52,15 @@ u32 ShaderIR::DecodeHalfSetPredicate(NodeBlock& bb, u32 pc) {
52 } 52 }
53 53
54 const OperationCode combiner = GetPredicateCombiner(instr.hsetp2.op); 54 const OperationCode combiner = GetPredicateCombiner(instr.hsetp2.op);
55 const Node pred39 = GetPredicate(instr.hsetp2.pred39, instr.hsetp2.neg_pred); 55 const Node combined_pred = GetPredicate(instr.hsetp2.pred3, instr.hsetp2.neg_pred);
56 56
57 const auto Write = [&](u64 dest, Node src) { 57 const auto Write = [&](u64 dest, Node src) {
58 SetPredicate(bb, dest, Operation(combiner, std::move(src), pred39)); 58 SetPredicate(bb, dest, Operation(combiner, std::move(src), combined_pred));
59 }; 59 };
60 60
61 const Node comparison = GetPredicateComparisonHalf(cond, op_a, op_b); 61 const Node comparison = GetPredicateComparisonHalf(cond, op_a, op_b);
62 const u64 first = instr.hsetp2.pred0; 62 const u64 first = instr.hsetp2.pred0;
63 const u64 second = instr.hsetp2.pred3; 63 const u64 second = instr.hsetp2.pred39;
64 if (h_and) { 64 if (h_and) {
65 const Node joined = Operation(OperationCode::LogicalAnd2, comparison); 65 const Node joined = Operation(OperationCode::LogicalAnd2, comparison);
66 Write(first, joined); 66 Write(first, joined);