diff options
author | bunnei <bunneidev@gmail.com> | 2018-07-23 19:44:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-23 19:44:05 -0700 |
commit | c2b4ff5d4884fb9e36f7a7cae08c30fa5e995ecc (patch) | |
tree | 5709472851d01f543891fa365cb850b94ecdb1fb /src | |
parent | 59cb258409c5cbd6cdc9cc6a6f8e858603924a2b (diff) | |
parent | 81aa02424bfd3f6b518684de256e925baccea5fd (diff) |
Merge pull request #788 from bunnei/shader-check-zero
gl_shader_decompiler: Check if SetRegister result is ZeroIndex.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 4e36b6de8..f4ad42335 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -488,6 +488,12 @@ private: */ void SetRegister(const Register& reg, u64 elem, const std::string& value, u64 dest_num_components, u64 value_num_components, u64 dest_elem) { + if (reg == Register::ZeroIndex) { + LOG_CRITICAL(HW_GPU, "Cannot set Register::ZeroIndex"); + UNREACHABLE(); + return; + } + std::string dest = GetRegister(reg, static_cast<u32>(dest_elem)); if (dest_num_components > 1) { dest += GetSwizzle(elem); |