summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-07-23 19:44:05 -0700
committerGravatar GitHub2018-07-23 19:44:05 -0700
commitc2b4ff5d4884fb9e36f7a7cae08c30fa5e995ecc (patch)
tree5709472851d01f543891fa365cb850b94ecdb1fb /src
parentVFS Regression and Accuracy Fixes (#776) (diff)
parentgl_shader_decompiler: Check if SetRegister result is ZeroIndex. (diff)
downloadyuzu-c2b4ff5d4884fb9e36f7a7cae08c30fa5e995ecc.tar.gz
yuzu-c2b4ff5d4884fb9e36f7a7cae08c30fa5e995ecc.tar.xz
yuzu-c2b4ff5d4884fb9e36f7a7cae08c30fa5e995ecc.zip
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.cpp6
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:
488 */ 488 */
489 void SetRegister(const Register& reg, u64 elem, const std::string& value, 489 void SetRegister(const Register& reg, u64 elem, const std::string& value,
490 u64 dest_num_components, u64 value_num_components, u64 dest_elem) { 490 u64 dest_num_components, u64 value_num_components, u64 dest_elem) {
491 if (reg == Register::ZeroIndex) {
492 LOG_CRITICAL(HW_GPU, "Cannot set Register::ZeroIndex");
493 UNREACHABLE();
494 return;
495 }
496
491 std::string dest = GetRegister(reg, static_cast<u32>(dest_elem)); 497 std::string dest = GetRegister(reg, static_cast<u32>(dest_elem));
492 if (dest_num_components > 1) { 498 if (dest_num_components > 1) {
493 dest += GetSwizzle(elem); 499 dest += GetSwizzle(elem);