From 81aa02424bfd3f6b518684de256e925baccea5fd Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 23 Jul 2018 19:21:28 -0400 Subject: [PATCH] gl_shader_decompiler: Check if SetRegister result is ZeroIndex. --- src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index ba827181b..02ed86e5a 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -485,6 +485,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(dest_elem)); if (dest_num_components > 1) { dest += GetSwizzle(elem);