From 2cdcaf08a19a0809b66f191333366d9dedacb565 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Thu, 9 Sep 2021 15:04:56 +0200 Subject: [PATCH] panvk: Stop dereferencing the subpass in panvk_cmd_close_batch() So we can call this function from the meta helpers which won't bind a subpass to the cmd state. Signed-off-by: Boris Brezillon Reviewed-by: Tomeu Vizoso Part-of: --- src/panfrost/vulkan/panvk_vX_cmd_buffer.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c index f20e36d4156..b928f6b70c6 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c @@ -95,14 +95,14 @@ panvk_per_arch(cmd_get_polygon_list)(struct panvk_cmd_buffer *cmdbuf, static void panvk_copy_fb_desc(struct panvk_cmd_buffer *cmdbuf, void *src) { + const struct pan_fb_info *fbinfo = &cmdbuf->state.fb.info; struct panvk_batch *batch = cmdbuf->state.batch; - const struct panvk_subpass *subpass = cmdbuf->state.subpass; uint32_t size = pan_size(MULTI_TARGET_FRAMEBUFFER); - if (subpass->zs_attachment.idx != VK_ATTACHMENT_UNUSED) + if (fbinfo->zs.view.zs || fbinfo->zs.view.s) size += pan_size(ZS_CRC_EXTENSION); - size += MAX2(subpass->color_count, 1) * pan_size(RENDER_TARGET); + size += MAX2(fbinfo->rt_count, 1) * pan_size(RENDER_TARGET); memcpy(batch->fb.desc.cpu, src, size); } @@ -182,9 +182,11 @@ panvk_per_arch(cmd_close_batch)(struct panvk_cmd_buffer *cmdbuf) if (cmdbuf->state.batch->fb.desc.cpu) { #if PAN_ARCH == 5 + const struct pan_fb_info *fbinfo = &cmdbuf->state.fb.info; + panvk_per_arch(cmd_get_polygon_list)(cmdbuf, - batch->fb.info->width, - batch->fb.info->height, + fbinfo->width, + fbinfo->height, false); mali_ptr polygon_list =