From 2b00d080b6db68d6a4a0422667616dd9556af1a0 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 26 Sep 2024 08:47:28 +0200 Subject: [PATCH] panvk: Fix FB initialization when using non-compressed views of compressed images vk_image_view::extent is adjusted to take non-compressed views of compressed images into account, so let's use it instead of calling vk_image_mip_level_extent() on the image. Signed-off-by: Boris Brezillon Reviewed-by: Mary Guillemard Part-of: --- src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c | 9 +++------ src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c | 9 +++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c index 8d23cc83506..18c564f1aa2 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c @@ -1614,8 +1614,7 @@ panvk_cmd_begin_rendering_init_state(struct panvk_cmd_buffer *cmdbuf, struct panvk_image *img = container_of(iview->vk.image, struct panvk_image, vk); - const VkExtent3D iview_size = - vk_image_mip_level_extent(&img->vk, iview->vk.base_mip_level); + const VkExtent3D iview_size = iview->vk.extent; cmdbuf->state.gfx.render.bound_attachments |= MESA_VK_RP_ATTACHMENT_COLOR_BIT(i); @@ -1658,8 +1657,7 @@ panvk_cmd_begin_rendering_init_state(struct panvk_cmd_buffer *cmdbuf, VK_FROM_HANDLE(panvk_image_view, iview, att->imageView); struct panvk_image *img = container_of(iview->vk.image, struct panvk_image, vk); - const VkExtent3D iview_size = - vk_image_mip_level_extent(&img->vk, iview->vk.base_mip_level); + const VkExtent3D iview_size = iview->vk.extent; if (iview->vk.aspects & VK_IMAGE_ASPECT_DEPTH_BIT) { cmdbuf->state.gfx.render.bound_attachments |= @@ -1700,8 +1698,7 @@ panvk_cmd_begin_rendering_init_state(struct panvk_cmd_buffer *cmdbuf, VK_FROM_HANDLE(panvk_image_view, iview, att->imageView); struct panvk_image *img = container_of(iview->vk.image, struct panvk_image, vk); - const VkExtent3D iview_size = - vk_image_mip_level_extent(&img->vk, iview->vk.base_mip_level); + const VkExtent3D iview_size = iview->vk.extent; if (iview->vk.aspects & VK_IMAGE_ASPECT_STENCIL_BIT) { cmdbuf->state.gfx.render.bound_attachments |= diff --git a/src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c b/src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c index 98e1ffe6cc7..0d3e3b744e6 100644 --- a/src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c +++ b/src/panfrost/vulkan/jm/panvk_vX_cmd_draw.c @@ -1559,8 +1559,7 @@ panvk_cmd_begin_rendering_init_state(struct panvk_cmd_buffer *cmdbuf, struct panvk_image *img = container_of(iview->vk.image, struct panvk_image, vk); - const VkExtent3D iview_size = - vk_image_mip_level_extent(&img->vk, iview->vk.base_mip_level); + const VkExtent3D iview_size = iview->vk.extent; cmdbuf->state.gfx.render.bound_attachments |= MESA_VK_RP_ATTACHMENT_COLOR_BIT(i); @@ -1605,8 +1604,7 @@ panvk_cmd_begin_rendering_init_state(struct panvk_cmd_buffer *cmdbuf, VK_FROM_HANDLE(panvk_image_view, iview, att->imageView); struct panvk_image *img = container_of(iview->vk.image, struct panvk_image, vk); - const VkExtent3D iview_size = - vk_image_mip_level_extent(&img->vk, iview->vk.base_mip_level); + const VkExtent3D iview_size = iview->vk.extent; if (iview->vk.aspects & VK_IMAGE_ASPECT_DEPTH_BIT) { cmdbuf->state.gfx.render.bound_attachments |= @@ -1649,8 +1647,7 @@ panvk_cmd_begin_rendering_init_state(struct panvk_cmd_buffer *cmdbuf, VK_FROM_HANDLE(panvk_image_view, iview, att->imageView); struct panvk_image *img = container_of(iview->vk.image, struct panvk_image, vk); - const VkExtent3D iview_size = - vk_image_mip_level_extent(&img->vk, iview->vk.base_mip_level); + const VkExtent3D iview_size = iview->vk.extent; if (iview->vk.aspects & VK_IMAGE_ASPECT_STENCIL_BIT) { cmdbuf->state.gfx.render.bound_attachments |=