OSDN Git Service

radv: Emit pending flushes before executing a secondary command buffer
authorAlex Smith <asmith@feralinteractive.com>
Mon, 6 Mar 2017 14:54:28 +0000 (14:54 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 16 Mar 2017 01:34:00 +0000 (01:34 +0000)
commitf21cc864ba3135d7b8e6eff054b80d5f86543c61
tree8d848532d8d1d728ef76092160166dc7bd0116f8
parentc9928ecaef3358d486b24809399d1a15843f6f82
radv: Emit pending flushes before executing a secondary command buffer

If we have any pending flushes on the primary command buffer, these
must be performed before executing the secondary buffer.

This fixes potential corruption when the contents of a subpass which
clears any of its render targets are given in a secondary buffer: the
flushes after a fast clear would not have been performed until the
vkCmdEndRenderPass call.

Signed-off-by: Alex Smith <asmith@feralinteractive.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: 13.0 17.0 <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 290d7e892dfa6d04767142f4f6d7ec689933a105)
src/amd/vulkan/radv_cmd_buffer.c