panvk: Skip BY_REGION barriers if we're in a render pass
If we are in a render pass, the intra-draw synchronization happens through the FPK parameters, shader waits and draw dependencies, so we can safely skip the barrier in that case. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32540>
This commit is contained in:
committed by
Marge Bot
parent
bfd5ddbf32
commit
7a2b23b0bd
@@ -539,6 +539,12 @@ panvk_per_arch(CmdPipelineBarrier2)(VkCommandBuffer commandBuffer,
|
||||
VK_FROM_HANDLE(panvk_cmd_buffer, cmdbuf, commandBuffer);
|
||||
struct panvk_cs_deps deps;
|
||||
|
||||
/* Intra render pass barriers can be skipped iff we're inside a render
|
||||
* pass. */
|
||||
if ((cmdbuf->state.gfx.render.tiler || inherits_render_ctx(cmdbuf)) &&
|
||||
(pDependencyInfo->dependencyFlags & VK_DEPENDENCY_BY_REGION_BIT))
|
||||
return;
|
||||
|
||||
panvk_per_arch(get_cs_deps)(cmdbuf, pDependencyInfo, &deps);
|
||||
|
||||
if (deps.needs_draw_flush)
|
||||
|
||||
Reference in New Issue
Block a user