v3dv: fix offset reported by vkGetImageSubresourceLayout
authorIago Toral Quiroga <itoral@igalia.com>
Wed, 20 Jul 2022 08:35:18 +0000 (10:35 +0200)
committerMarge Bot <emma+marge@anholt.net>
Wed, 20 Jul 2022 10:33:57 +0000 (10:33 +0000)
This represents an offset from the actual start of the image data,
not from the start of the memory allocation bound to the image.

Fixes:
dEQP-VK.image.subresource_layout.*

Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17648>

src/broadcom/ci/broadcom-rpi4-fails.txt
src/broadcom/vulkan/v3dv_image.c

index a06645e..953e576 100644 (file)
@@ -362,128 +362,3 @@ spec@!opengl 2.0@max-samplers border,Fail
 
 # https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3759
 dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments4_more0,Crash
-
-# New in CTS 1.3.3.0
-dEQP-VK.image.subresource_layout.2d.1_level.a1r5g5b5_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.a2b10g10r10_uint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.a2b10g10r10_unorm_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.a8b8g8r8_sint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.a8b8g8r8_srgb_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.a8b8g8r8_uint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.a8b8g8r8_unorm_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.b4g4r4a4_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.b8g8r8a8_srgb_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.b8g8r8a8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16g16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16g16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16g16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16g16b16a16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16g16b16a16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r16g16b16a16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32g32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32g32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32g32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32g32b32a32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32g32b32a32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r32g32b32a32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r4g4b4a4_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r5g5b5a1_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r5g6b5_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8g8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8g8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8g8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8g8b8a8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8g8b8a8_srgb_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8g8b8a8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d.1_level.r8g8b8a8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.a1r5g5b5_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.a2b10g10r10_uint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.a2b10g10r10_unorm_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.a8b8g8r8_sint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.a8b8g8r8_srgb_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.a8b8g8r8_uint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.a8b8g8r8_unorm_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.b4g4r4a4_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.b8g8r8a8_srgb_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.b8g8r8a8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16g16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16g16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16g16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16g16b16a16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16g16b16a16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r16g16b16a16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32g32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32g32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32g32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32g32b32a32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32g32b32a32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r32g32b32a32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r4g4b4a4_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r5g5b5a1_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r5g6b5_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8g8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8g8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8g8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8g8b8a8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8g8b8a8_srgb_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8g8b8a8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.2d_array.1_level.r8g8b8a8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.a1r5g5b5_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.a2b10g10r10_uint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.a2b10g10r10_unorm_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.a8b8g8r8_sint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.a8b8g8r8_srgb_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.a8b8g8r8_uint_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.a8b8g8r8_unorm_pack32_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.b4g4r4a4_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.b8g8r8a8_srgb_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.b8g8r8a8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16g16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16g16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16g16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16g16b16a16_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16g16b16a16_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r16g16b16a16_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32g32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32g32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32g32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32g32b32a32_sfloat_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32g32b32a32_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r32g32b32a32_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r4g4b4a4_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r5g5b5a1_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r5g6b5_unorm_pack16_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8g8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8g8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8g8_unorm_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8g8b8a8_sint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8g8b8a8_srgb_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8g8b8a8_uint_offset,Fail
-dEQP-VK.image.subresource_layout.3d.1_level.r8g8b8a8_unorm_offset,Fail
index ae13eff..0f024fa 100644 (file)
@@ -436,7 +436,8 @@ v3dv_GetImageSubresourceLayout(VkDevice device,
    const struct v3d_resource_slice *slice =
       &image->slices[subresource->mipLevel];
    layout->offset =
-      v3dv_layer_offset(image, subresource->mipLevel, subresource->arrayLayer);
+      v3dv_layer_offset(image, subresource->mipLevel, subresource->arrayLayer) -
+      image->mem_offset;
    layout->rowPitch = slice->stride;
    layout->depthPitch = image->cube_map_stride;
    layout->arrayPitch = image->cube_map_stride;