diff options
author | Lioncash <mathew1800@gmail.com> | 2020-04-15 21:59:23 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2020-04-16 03:33:46 +0200 |
commit | 1c340c6efad903580904297730d708ce8b947eb6 (patch) | |
tree | a79ad11775373ecf31912a7a50fcfbcc08d6e8b3 /src/video_core/shader/track.cpp | |
parent | Merge pull request #3612 from ReinUsesLisp/red (diff) | |
download | yuzu-1c340c6efad903580904297730d708ce8b947eb6.tar yuzu-1c340c6efad903580904297730d708ce8b947eb6.tar.gz yuzu-1c340c6efad903580904297730d708ce8b947eb6.tar.bz2 yuzu-1c340c6efad903580904297730d708ce8b947eb6.tar.lz yuzu-1c340c6efad903580904297730d708ce8b947eb6.tar.xz yuzu-1c340c6efad903580904297730d708ce8b947eb6.tar.zst yuzu-1c340c6efad903580904297730d708ce8b947eb6.zip |
Diffstat (limited to 'src/video_core/shader/track.cpp')
-rw-r--r-- | src/video_core/shader/track.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/shader/track.cpp b/src/video_core/shader/track.cpp index 10739b37d..224943ad9 100644 --- a/src/video_core/shader/track.cpp +++ b/src/video_core/shader/track.cpp @@ -27,8 +27,9 @@ std::pair<Node, s64> FindOperation(const NodeBlock& code, s64 cursor, if (const auto conditional = std::get_if<ConditionalNode>(&*node)) { const auto& conditional_code = conditional->GetCode(); - auto [found, internal_cursor] = FindOperation( + auto result = FindOperation( conditional_code, static_cast<s64>(conditional_code.size() - 1), operation_code); + auto& found = result.first; if (found) { return {std::move(found), cursor}; } @@ -186,8 +187,8 @@ std::tuple<Node, u32, u32> ShaderIR::TrackCbuf(Node tracked, const NodeBlock& co std::optional<u32> ShaderIR::TrackImmediate(Node tracked, const NodeBlock& code, s64 cursor) const { // Reduce the cursor in one to avoid infinite loops when the instruction sets the same register // that it uses as operand - const auto [found, found_cursor] = - TrackRegister(&std::get<GprNode>(*tracked), code, cursor - 1); + const auto result = TrackRegister(&std::get<GprNode>(*tracked), code, cursor - 1); + const auto& found = result.first; if (!found) { return {}; } |