diff --git a/src/gallium/drivers/r600/sfn/sfn_shader.cpp b/src/gallium/drivers/r600/sfn/sfn_shader.cpp index 19efe3800dd..dac6ddcae48 100644 --- a/src/gallium/drivers/r600/sfn/sfn_shader.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_shader.cpp @@ -520,7 +520,8 @@ Shader::allocate_local_registers(const exec_list *registers) { if (value_factory().allocate_registers(registers)) m_indirect_files |= 1 << TGSI_FILE_TEMPORARY; - m_required_registers = value_factory().next_register_index() - 1; + m_required_registers = value_factory().next_register_index() ? + value_factory().next_register_index() - 1 : 0; } bool