From b54544852cc24c1817733188f5110ded8928e9ed Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Wed, 20 Jul 2022 10:35:18 +0200 Subject: [PATCH] v3dv: fix offset reported by vkGetImageSubresourceLayout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Juan A. Suarez Part-of: --- src/broadcom/ci/broadcom-rpi4-fails.txt | 125 ------------------------ src/broadcom/vulkan/v3dv_image.c | 3 +- 2 files changed, 2 insertions(+), 126 deletions(-) diff --git a/src/broadcom/ci/broadcom-rpi4-fails.txt b/src/broadcom/ci/broadcom-rpi4-fails.txt index a06645e5d2b..953e576a77a 100644 --- a/src/broadcom/ci/broadcom-rpi4-fails.txt +++ b/src/broadcom/ci/broadcom-rpi4-fails.txt @@ -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 diff --git a/src/broadcom/vulkan/v3dv_image.c b/src/broadcom/vulkan/v3dv_image.c index ae13eff34e8..0f024fa7837 100644 --- a/src/broadcom/vulkan/v3dv_image.c +++ b/src/broadcom/vulkan/v3dv_image.c @@ -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;