diff --git a/src/broadcom/vulkan/v3dv_image.c b/src/broadcom/vulkan/v3dv_image.c index d937cfc13b2..aed7657fcc8 100644 --- a/src/broadcom/vulkan/v3dv_image.c +++ b/src/broadcom/vulkan/v3dv_image.c @@ -309,6 +309,23 @@ v3dv_CreateImage(VkDevice _device, return VK_SUCCESS; } +void +v3dv_GetImageSubresourceLayout(VkDevice device, + VkImage _image, + const VkImageSubresource *subresource, + VkSubresourceLayout *layout) +{ + V3DV_FROM_HANDLE(v3dv_image, image, _image); + + const struct v3d_resource_slice *slice = + &image->slices[subresource->mipLevel]; + layout->offset = slice->offset; + layout->rowPitch = slice->stride; + layout->depthPitch = image->cube_map_stride; + layout->arrayPitch = image->cube_map_stride; + layout->size = slice->size; +} + void v3dv_DestroyImage(VkDevice _device, VkImage _image,