summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/decode/xmad.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2020-07-21 06:29:23 +0200
committerLioncash <mathew1800@gmail.com>2020-07-21 06:36:13 +0200
commit6adc824d9d15b476320739788564023f995b9da0 (patch)
treebb5f4932c851a88e5a9e05ddceb4ebb26c11403b /src/video_core/shader/decode/xmad.cpp
parentMerge pull request #4376 from ogniK5377/dark-wait-tree (diff)
downloadyuzu-6adc824d9d15b476320739788564023f995b9da0.tar
yuzu-6adc824d9d15b476320739788564023f995b9da0.tar.gz
yuzu-6adc824d9d15b476320739788564023f995b9da0.tar.bz2
yuzu-6adc824d9d15b476320739788564023f995b9da0.tar.lz
yuzu-6adc824d9d15b476320739788564023f995b9da0.tar.xz
yuzu-6adc824d9d15b476320739788564023f995b9da0.tar.zst
yuzu-6adc824d9d15b476320739788564023f995b9da0.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/shader/decode/xmad.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/video_core/shader/decode/xmad.cpp b/src/video_core/shader/decode/xmad.cpp
index c83dc6615..233b8fa42 100644
--- a/src/video_core/shader/decode/xmad.cpp
+++ b/src/video_core/shader/decode/xmad.cpp
@@ -81,20 +81,21 @@ u32 ShaderIR::DecodeXmad(NodeBlock& bb, u32 pc) {
SetTemporary(bb, 0, product);
product = GetTemporary(0);
- const Node original_c = op_c;
+ Node original_c = op_c;
const Tegra::Shader::XmadMode set_mode = mode; // Workaround to clang compile error
- op_c = [&]() {
+ op_c = [&] {
switch (set_mode) {
case Tegra::Shader::XmadMode::None:
return original_c;
case Tegra::Shader::XmadMode::CLo:
- return BitfieldExtract(original_c, 0, 16);
+ return BitfieldExtract(std::move(original_c), 0, 16);
case Tegra::Shader::XmadMode::CHi:
- return BitfieldExtract(original_c, 16, 16);
+ return BitfieldExtract(std::move(original_c), 16, 16);
case Tegra::Shader::XmadMode::CBcc: {
- const Node shifted_b = SignedOperation(OperationCode::ILogicalShiftLeft, is_signed_b,
- original_b, Immediate(16));
- return SignedOperation(OperationCode::IAdd, is_signed_c, original_c, shifted_b);
+ Node shifted_b = SignedOperation(OperationCode::ILogicalShiftLeft, is_signed_b,
+ original_b, Immediate(16));
+ return SignedOperation(OperationCode::IAdd, is_signed_c, std::move(original_c),
+ std::move(shifted_b));
}
case Tegra::Shader::XmadMode::CSfu: {
const Node comp_a =