diff --git a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c index 0ad452d89bd..5dd2f84da7b 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_buffer.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_buffer.c @@ -112,6 +112,10 @@ void panvk_per_arch(cmd_close_batch)(struct panvk_cmd_buffer *cmdbuf) { struct panvk_batch *batch = cmdbuf->state.batch; + + if (!batch) + return; + const struct pan_fb_info *fbinfo = &cmdbuf->state.fb.info; #if PAN_ARCH <= 5 uint32_t tmp_fbd[(pan_size(MULTI_TARGET_FRAMEBUFFER) + @@ -760,9 +764,7 @@ panvk_per_arch(EndCommandBuffer)(VkCommandBuffer commandBuffer) { VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); - + panvk_per_arch(cmd_close_batch)(cmdbuf); cmdbuf->status = PANVK_CMD_BUFFER_STATUS_EXECUTABLE; return cmdbuf->record_result; diff --git a/src/panfrost/vulkan/panvk_vX_meta_blit.c b/src/panfrost/vulkan/panvk_vX_meta_blit.c index f1247e8c5ef..178fa0cd3c2 100644 --- a/src/panfrost/vulkan/panvk_vX_meta_blit.c +++ b/src/panfrost/vulkan/panvk_vX_meta_blit.c @@ -100,8 +100,7 @@ panvk_meta_blit(struct panvk_cmd_buffer *cmdbuf, fbinfo->zs.view.s = &views[1]; } - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); + panvk_per_arch(cmd_close_batch)(cmdbuf); GENX(pan_blit_ctx_init)(pdev, blitinfo, &cmdbuf->desc_pool.base, &ctx); do { diff --git a/src/panfrost/vulkan/panvk_vX_meta_clear.c b/src/panfrost/vulkan/panvk_vX_meta_clear.c index 156e13f124f..337dac59c65 100644 --- a/src/panfrost/vulkan/panvk_vX_meta_clear.c +++ b/src/panfrost/vulkan/panvk_vX_meta_clear.c @@ -424,8 +424,7 @@ panvk_per_arch(CmdClearColorImage)(VkCommandBuffer commandBuffer, VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer); VK_FROM_HANDLE(panvk_image, img, image); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); + panvk_per_arch(cmd_close_batch)(cmdbuf); for (unsigned i = 0; i < rangeCount; i++) panvk_meta_clear_color_img(cmdbuf, img, pColor, &pRanges[i]); @@ -503,8 +502,7 @@ panvk_per_arch(CmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer); VK_FROM_HANDLE(panvk_image, img, image); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); + panvk_per_arch(cmd_close_batch)(cmdbuf); for (unsigned i = 0; i < rangeCount; i++) panvk_meta_clear_zs_img(cmdbuf, img, pDepthStencil, &pRanges[i]); diff --git a/src/panfrost/vulkan/panvk_vX_meta_copy.c b/src/panfrost/vulkan/panvk_vX_meta_copy.c index 17b55a34b17..86a4d5cd186 100644 --- a/src/panfrost/vulkan/panvk_vX_meta_copy.c +++ b/src/panfrost/vulkan/panvk_vX_meta_copy.c @@ -745,8 +745,7 @@ panvk_meta_copy_img2img(struct panvk_cmd_buffer *cmdbuf, mali_ptr sampler = panvk_meta_copy_img_emit_sampler(pdev, &cmdbuf->desc_pool.base); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); + panvk_per_arch(cmd_close_batch)(cmdbuf); minx = MAX2(region->srcOffset.x, 0); miny = MAX2(region->srcOffset.y, 0); @@ -1200,8 +1199,7 @@ panvk_meta_copy_buf2img(struct panvk_cmd_buffer *cmdbuf, .rts[0].crc_valid = &cmdbuf->state.fb.crc_valid[0], }; - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); + panvk_per_arch(cmd_close_batch)(cmdbuf); assert(region->imageSubresource.layerCount == 1 || region->imageExtent.depth == 1); @@ -1651,9 +1649,7 @@ panvk_meta_copy_img2buf(struct panvk_cmd_buffer *cmdbuf, mali_ptr sampler = panvk_meta_copy_img_emit_sampler(pdev, &cmdbuf->desc_pool.base); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); - + panvk_per_arch(cmd_close_batch)(cmdbuf); panvk_cmd_open_batch(cmdbuf); struct panvk_batch *batch = cmdbuf->state.batch; @@ -1690,8 +1686,7 @@ panvk_meta_copy_img2buf(struct panvk_cmd_buffer *cmdbuf, util_dynarray_append(&batch->jobs, void *, job.cpu); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); + panvk_per_arch(cmd_close_batch)(cmdbuf); } static void @@ -1868,9 +1863,7 @@ panvk_meta_copy_buf2buf(struct panvk_cmd_buffer *cmdbuf, mali_ptr ubo = panvk_meta_copy_emit_ubo(pdev, &cmdbuf->desc_pool.base, &info, sizeof(info)); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); - + panvk_per_arch(cmd_close_batch)(cmdbuf); panvk_cmd_open_batch(cmdbuf); struct panvk_batch *batch = cmdbuf->state.batch; @@ -2040,9 +2033,7 @@ panvk_meta_fill_buf(struct panvk_cmd_buffer *cmdbuf, mali_ptr ubo = panvk_meta_copy_emit_ubo(pdev, &cmdbuf->desc_pool.base, &info, sizeof(info)); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); - + panvk_per_arch(cmd_close_batch)(cmdbuf); panvk_cmd_open_batch(cmdbuf); struct panvk_batch *batch = cmdbuf->state.batch; @@ -2103,9 +2094,7 @@ panvk_meta_update_buf(struct panvk_cmd_buffer *cmdbuf, mali_ptr ubo = panvk_meta_copy_emit_ubo(pdev, &cmdbuf->desc_pool.base, &info, sizeof(info)); - if (cmdbuf->state.batch) - panvk_per_arch(cmd_close_batch)(cmdbuf); - + panvk_per_arch(cmd_close_batch)(cmdbuf); panvk_cmd_open_batch(cmdbuf); struct panvk_batch *batch = cmdbuf->state.batch;