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 <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31382>
This commit is contained in:
Boris Brezillon
2024-09-26 08:47:28 +02:00
committed by Marge Bot
parent 63fb2e2c04
commit 2b00d080b6
2 changed files with 6 additions and 12 deletions
+3 -6
View File
@@ -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 |=
+3 -6
View File
@@ -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 |=