Merge pull request #788 from bunnei/shader-check-zero

gl_shader_decompiler: Check if SetRegister result is ZeroIndex.
This commit is contained in:
bunnei 2018-07-23 19:44:05 -07:00 committed by GitHub
commit c2b4ff5d48
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -488,6 +488,12 @@ private:
*/ */
void SetRegister(const Register& reg, u64 elem, const std::string& value, void SetRegister(const Register& reg, u64 elem, const std::string& value,
u64 dest_num_components, u64 value_num_components, u64 dest_elem) { 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)); std::string dest = GetRegister(reg, static_cast<u32>(dest_elem));
if (dest_num_components > 1) { if (dest_num_components > 1) {
dest += GetSwizzle(elem); dest += GetSwizzle(elem);