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: 6c1432f0be ("r600/eg: fix cube map array buffer images.")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39063>
This commit is contained in:
Patrick Lerda 2025-12-22 12:51:04 +01:00 committed by Marge Bot
parent dbe2ec0299
commit 0b8d8f2b17
2 changed files with 2 additions and 3 deletions

View file

@ -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

View file

@ -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;
}
}
}