From 477d616f7df3b609afcb67d69d9570098cc00029 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Mon, 28 Jan 2019 18:11:23 -0300 Subject: shader_ir: Unify constant buffer offset values Constant buffer values on the shader IR were using different offsets if the access direct or indirect. cbuf34 has a non-multiplied offset while cbuf36 does. On shader decoding this commit multiplies it by four on cbuf34 queries. --- src/video_core/shader/decode/conversion.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/video_core/shader/decode/conversion.cpp') diff --git a/src/video_core/shader/decode/conversion.cpp b/src/video_core/shader/decode/conversion.cpp index ee18d3a99..728a393a1 100644 --- a/src/video_core/shader/decode/conversion.cpp +++ b/src/video_core/shader/decode/conversion.cpp @@ -48,7 +48,7 @@ u32 ShaderIR::DecodeConversion(BasicBlock& bb, const BasicBlock& code, u32 pc) { if (instr.is_b_gpr) { return GetRegister(instr.gpr20); } else { - return GetConstBuffer(instr.cbuf34.index, instr.cbuf34.offset); + return GetConstBuffer(instr.cbuf34.index, instr.cbuf34.GetOffset()); } }(); const bool input_signed = instr.conversion.is_input_signed; @@ -72,7 +72,7 @@ u32 ShaderIR::DecodeConversion(BasicBlock& bb, const BasicBlock& code, u32 pc) { if (instr.is_b_gpr) { return GetRegister(instr.gpr20); } else { - return GetConstBuffer(instr.cbuf34.index, instr.cbuf34.offset); + return GetConstBuffer(instr.cbuf34.index, instr.cbuf34.GetOffset()); } }(); @@ -110,7 +110,7 @@ u32 ShaderIR::DecodeConversion(BasicBlock& bb, const BasicBlock& code, u32 pc) { if (instr.is_b_gpr) { return GetRegister(instr.gpr20); } else { - return GetConstBuffer(instr.cbuf34.index, instr.cbuf34.offset); + return GetConstBuffer(instr.cbuf34.index, instr.cbuf34.GetOffset()); } }(); -- cgit v1.2.3