From 94abf8656111f4fa70406c806c9c8a6c5089cc3f Mon Sep 17 00:00:00 2001 From: Jose Maria Casanova Crespo Date: Mon, 8 Jun 2026 20:36:44 +0200 Subject: [PATCH] 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: 990d76eae63 ("v3dv: Implement and enable nullDescriptor support") Reviewed-by: Iago Toral Quiroga Part-of: --- src/broadcom/vulkan/v3dvx_image.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/broadcom/vulkan/v3dvx_image.c b/src/broadcom/vulkan/v3dvx_image.c index b411bb2872b..6107670f0a4 100644 --- a/src/broadcom/vulkan/v3dvx_image.c +++ b/src/broadcom/vulkan/v3dvx_image.c @@ -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 */