diff --git a/src/broadcom/vulkan/v3dv_cl.c b/src/broadcom/vulkan/v3dv_cl.c index 62e6144e7ec..fab9b05ec48 100644 --- a/src/broadcom/vulkan/v3dv_cl.c +++ b/src/broadcom/vulkan/v3dv_cl.c @@ -62,7 +62,10 @@ cl_alloc_bo(struct v3dv_cl *cl, uint32_t space, bool use_branch) * of allocations with large command buffers. This has a very significant * impact on the number of draw calls per second reported by vkoverhead. */ - space = cl->bo ? cl->bo->size * 2 : align(space, 4096); + space = align(space, 4096); + if (cl->bo) + space = MAX2(cl->bo->size * 2, space); + struct v3dv_bo *bo = v3dv_bo_alloc(cl->job->device, space, "CL", true); if (!bo) { fprintf(stderr, "failed to allocate memory for command list\n");