summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp4
-rw-r--r--src/video_core/renderer_vulkan/vk_shader_decompiler.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index 960ebf1a1..f695ee1db 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -1538,7 +1538,9 @@ private:
1538 Expression target; 1538 Expression target;
1539 if (const auto gpr = std::get_if<GprNode>(&*dest)) { 1539 if (const auto gpr = std::get_if<GprNode>(&*dest)) {
1540 if (gpr->GetIndex() == Register::ZeroIndex) { 1540 if (gpr->GetIndex() == Register::ZeroIndex) {
1541 // Writing to Register::ZeroIndex is a no op 1541 // Writing to Register::ZeroIndex is a no op but we still have to visit the source
1542 // as it might have side effects.
1543 code.AddLine("{};", Visit(src).GetCode());
1542 return {}; 1544 return {};
1543 } 1545 }
1544 target = {GetRegister(gpr->GetIndex()), Type::Float}; 1546 target = {GetRegister(gpr->GetIndex()), Type::Float};
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
index 808a265e5..1749e068e 100644
--- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
+++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
@@ -1361,7 +1361,9 @@ private:
1361 Expression target{}; 1361 Expression target{};
1362 if (const auto gpr = std::get_if<GprNode>(&*dest)) { 1362 if (const auto gpr = std::get_if<GprNode>(&*dest)) {
1363 if (gpr->GetIndex() == Register::ZeroIndex) { 1363 if (gpr->GetIndex() == Register::ZeroIndex) {
1364 // Writing to Register::ZeroIndex is a no op 1364 // Writing to Register::ZeroIndex is a no op but we still have to visit its source
1365 // because it might have side effects.
1366 Visit(src);
1365 return {}; 1367 return {};
1366 } 1368 }
1367 target = {registers.at(gpr->GetIndex()), Type::Float}; 1369 target = {registers.at(gpr->GetIndex()), Type::Float};