From 0b8d8f2b17719d51f43896f8c63b64ec00250186 Mon Sep 17 00:00:00 2001 From: Patrick Lerda Date: Mon, 22 Dec 2025 12:51:04 +0100 Subject: [PATCH] r600: update cubearray imagesize calculation The previous method to calculate imageSize().z was incorrect for a cubearray view. This change was tested on palm and cayman. Here is the test fixed: spec/arb_texture_view/rendering-layers-image/layers rendering of imagecubearray: fail pass Fixes: 6c1432f0be9c ("r600/eg: fix cube map array buffer images.") Signed-off-by: Patrick Lerda Part-of: --- src/gallium/drivers/r600/ci/r600-turks-fails.txt | 2 -- src/gallium/drivers/r600/r600_state_common.c | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/r600/ci/r600-turks-fails.txt b/src/gallium/drivers/r600/ci/r600-turks-fails.txt index 7f131eadb8f..eb3045e1c42 100644 --- a/src/gallium/drivers/r600/ci/r600-turks-fails.txt +++ b/src/gallium/drivers/r600/ci/r600-turks-fails.txt @@ -1057,8 +1057,6 @@ spec@arb_texture_stencil8@texwrap formats,Fail spec@arb_texture_stencil8@texwrap formats offset,Fail spec@arb_texture_stencil8@texwrap formats offset@GL_STENCIL_INDEX8- NPOT,Fail spec@arb_texture_stencil8@texwrap formats@GL_STENCIL_INDEX8- NPOT,Fail -spec@arb_texture_view@rendering-layers-image,Fail -spec@arb_texture_view@rendering-layers-image@layers rendering of imageCubeArray,Fail spec@arb_vertex_type_2_10_10_10_rev@arb_vertex_type_2_10_10_10_rev-array_types,Fail diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 7e905e619af..80b952a6cd6 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -1525,7 +1525,8 @@ void eg_setup_buffer_constants(struct r600_context *rctx, int shader_type) int idx = i - sview_bits; if (images->enabled_mask & (1 << idx)) { uint32_t offset = (base_offset / 4) + i; - constants[offset] = images->views[idx].base.resource->array_size / 6; + constants[offset] = (G_038014_LAST_ARRAY(images->views[idx].resource_words[5]) - + G_038014_BASE_ARRAY(images->views[idx].resource_words[5]) + 1) / 6; } } }