panvk: Extend panvk_cmd_close_batch() to handle current_batch == NULL

This way callers don't have to check it.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13077>
This commit is contained in:
Boris Brezillon 2021-09-16 12:13:44 +02:00 committed by Marge Bot
parent 915a41f55a
commit 28bd417e3d
4 changed files with 15 additions and 27 deletions

View File

@ -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;

View File

@ -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 {

View File

@ -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]);

View File

@ -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;