v3dv: set non-zero array stride in null texture descriptor state

pack_null_texture_state(), introduced to support VK_KHR_robustness2
nullDescriptor for image bindings, left the TEXTURE_SHADER_STATE
"Array Stride (64-byte aligned)" field at 0.

On real V3D HW it is fine: a TMU read against a null descriptor
returns zero regardless of the descriptor contents, but V3D simulator
validates the TMU array stride before issuing the read.

Setting array_stride_64_byte_aligned = 1 (64 bytes raw) fixes failing
dEQP-VK.robustness.robustness2.bind.*.null_descriptor.samples_1.3d.*
tests case under the simulator.

Fixes: 990d76eae6 ("v3dv: Implement and enable nullDescriptor support")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42112>
This commit is contained in:
Jose Maria Casanova Crespo 2026-06-08 20:36:44 +02:00 committed by Marge Bot
parent 127acbb126
commit 94abf86561

View file

@ -246,6 +246,7 @@ v3dX(pack_null_texture_state)(struct v3dv_device *device, void *map)
tex.image_width = 1;
tex.image_height = 1;
tex.image_depth = 1;
tex.array_stride_64_byte_aligned = 1;
tex.texture_base_pointer = v3dv_cl_address(NULL, base_offset);
#if V3D_VERSION >= 71
/* See comment in XML field definition for rationale of the shifts */