asahi: Handle linear 1D Arrays

Lowered to linear 2D Arrays, handle them like that. Fixes 1D Array case of
arb_shader_image_size-builtin.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25052>
This commit is contained in:
Alyssa Rosenzweig
2023-09-03 15:22:51 -04:00
committed by Marge Bot
parent 56267ec14d
commit dd3dd6e127
+6 -2
View File
@@ -712,7 +712,9 @@ agx_pack_texture(void *out, struct agx_resource *rsrc,
layers /= 6;
if (rsrc->layout.tiling == AIL_TILING_LINEAR &&
state->target == PIPE_TEXTURE_2D_ARRAY) {
(state->target == PIPE_TEXTURE_1D_ARRAY ||
state->target == PIPE_TEXTURE_2D_ARRAY)) {
cfg.depth_linear = layers;
cfg.layer_stride_linear = (rsrc->layout.layer_stride_B - 0x80);
cfg.extended = true;
@@ -1206,7 +1208,9 @@ agx_batch_upload_pbe(struct agx_batch *batch, struct agx_pbe_packed *out,
unsigned layers = view->u.tex.last_layer - layer + 1;
if (tex->layout.tiling == AIL_TILING_LINEAR &&
tex->base.target == PIPE_TEXTURE_2D_ARRAY) {
(tex->base.target == PIPE_TEXTURE_1D_ARRAY ||
tex->base.target == PIPE_TEXTURE_2D_ARRAY)) {
cfg.depth_linear = layers;
cfg.layer_stride_linear = (tex->layout.layer_stride_B - 0x80);
cfg.extended = true;