diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index a279599ef..f52c65148 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp | |||
| @@ -2972,15 +2972,13 @@ private: | |||
| 2972 | if (depth_compare) { | 2972 | if (depth_compare) { |
| 2973 | regs.SetRegisterToFloat(instr.gpr0, 0, texture, 1, 1, false); | 2973 | regs.SetRegisterToFloat(instr.gpr0, 0, texture, 1, 1, false); |
| 2974 | } else { | 2974 | } else { |
| 2975 | shader.AddLine("vec4 texture_tmp = " + texture + ';'); | ||
| 2976 | std::size_t dest_elem{}; | 2975 | std::size_t dest_elem{}; |
| 2977 | for (std::size_t elem = 0; elem < 4; ++elem) { | 2976 | for (std::size_t elem = 0; elem < 4; ++elem) { |
| 2978 | if (!instr.tex.IsComponentEnabled(elem)) { | 2977 | if (!instr.tex.IsComponentEnabled(elem)) { |
| 2979 | // Skip disabled components | 2978 | // Skip disabled components |
| 2980 | continue; | 2979 | continue; |
| 2981 | } | 2980 | } |
| 2982 | regs.SetRegisterToFloat(instr.gpr0, elem, "texture_tmp", 1, 4, false, | 2981 | regs.SetRegisterToFloat(instr.gpr0, elem, texture, 1, 4, false, dest_elem); |
| 2983 | dest_elem); | ||
| 2984 | ++dest_elem; | 2982 | ++dest_elem; |
| 2985 | } | 2983 | } |
| 2986 | } | 2984 | } |