r600: fix emit_image_size() range base compatibility

This change fixes a regression introduced with 8b5d41cacb.
Indeed, lookup_resid was not updated.

This change was tested on palm and cayman. Here are the tests fixed:
khr-gl4[3-5]/shader_image_size/advanced-nonms-cs-float: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-cs-int: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-cs-uint: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-fs-float: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-fs-int: fail pass
khr-gl4[3-5]/shader_image_size/advanced-nonms-fs-uint: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-cs-float: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-cs-int: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-cs-uint: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-fs-float: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-fs-int: fail pass
khr-gl4[3-5]/shader_image_size/basic-nonms-fs-uint: fail pass

Fixes: 8b5d41cacb ("r600/sfn: Use range_base for atomics and images")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33352>
(cherry picked from commit fd874bdd0c)
This commit is contained in:
Patrick Lerda 2025-01-31 12:58:51 +01:00 committed by Eric Engestrom
parent 28d34f30e6
commit 4ec5c2fb59
2 changed files with 3 additions and 2 deletions

View file

@ -104,7 +104,7 @@
"description": "r600: fix emit_image_size() range base compatibility",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "8b5d41cacb51af551875bdeaa4faed0b61c15992",
"notes": null

View file

@ -915,7 +915,8 @@ RatInstr::emit_image_size(nir_intrinsic_instr *intrin, Shader& shader)
shader.set_flag(Shader::sh_txs_cube_array_comp);
if (const_offset) {
unsigned lookup_resid = const_offset[0].u32 + shader.image_size_const_offset();
unsigned lookup_resid = (res_id - R600_IMAGE_REAL_RESOURCE_OFFSET) +
shader.image_size_const_offset();
shader.emit_instruction(
new AluInstr(op1_mov,
dest[2],