summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/decode/warp.cpp
diff options
context:
space:
mode:
authorRodrigo Locatti <reinuseslisp@airmail.cc>2019-10-24 05:45:23 +0200
committerGitHub <noreply@github.com>2019-10-24 05:45:23 +0200
commit5328d570df4da03a59261917d9e2ee93988665cd (patch)
treeaf762d898b3b02c9f1cdd88a8e2743afc29090d5 /src/video_core/shader/decode/warp.cpp
parentMerge pull request #3022 from DarkLordZach/azure-folder-rename (diff)
parentvideo_core/shader: Resolve instances of variable shadowing (diff)
downloadyuzu-5328d570df4da03a59261917d9e2ee93988665cd.tar
yuzu-5328d570df4da03a59261917d9e2ee93988665cd.tar.gz
yuzu-5328d570df4da03a59261917d9e2ee93988665cd.tar.bz2
yuzu-5328d570df4da03a59261917d9e2ee93988665cd.tar.lz
yuzu-5328d570df4da03a59261917d9e2ee93988665cd.tar.xz
yuzu-5328d570df4da03a59261917d9e2ee93988665cd.tar.zst
yuzu-5328d570df4da03a59261917d9e2ee93988665cd.zip
Diffstat (limited to 'src/video_core/shader/decode/warp.cpp')
-rw-r--r--src/video_core/shader/decode/warp.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/video_core/shader/decode/warp.cpp b/src/video_core/shader/decode/warp.cpp
index a8e481b3c..fa8a250cc 100644
--- a/src/video_core/shader/decode/warp.cpp
+++ b/src/video_core/shader/decode/warp.cpp
@@ -46,9 +46,10 @@ u32 ShaderIR::DecodeWarp(NodeBlock& bb, u32 pc) {
break;
}
case OpCode::Id::SHFL: {
- Node mask = instr.shfl.is_mask_imm ? Immediate(static_cast<u32>(instr.shfl.mask_imm))
- : GetRegister(instr.gpr39);
- Node width = [&] {
+ Node width = [this, instr] {
+ Node mask = instr.shfl.is_mask_imm ? Immediate(static_cast<u32>(instr.shfl.mask_imm))
+ : GetRegister(instr.gpr39);
+
// Convert the obscure SHFL mask back into GL_NV_shader_thread_shuffle's width. This has
// been done reversing Nvidia's math. It won't work on all cases due to SHFL having
// different parameters that don't properly map to GLSL's interface, but it should work