OSDN Git Service

anv/cmd_buffer: Apply flush operations prior to executing secondaries
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 24 Mar 2017 23:30:24 +0000 (16:30 -0700)
committerAndres Gomez <agomez@igalia.com>
Thu, 30 Mar 2017 13:32:39 +0000 (16:32 +0300)
This fixes rendering issues in the Vulkan port of skia on some hardware.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 01a65dc43be3a4bf6b8a901586f7222218f4b6b3)
[Andres Gomez: resolve trivial conflicts]
Signed-off-by: Andres Gomez <agomez@igalia.com>
Conflicts:
src/intel/vulkan/genX_cmd_buffer.c

src/intel/vulkan/genX_cmd_buffer.c

index 320b050..db212c4 100644 (file)
@@ -643,6 +643,11 @@ genX(CmdExecuteCommands)(
 
    assert(primary->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY);
 
+   /* The secondary command buffer doesn't know which textures etc. have been
+    * flushed prior to their execution.  Apply those flushes now.
+    */
+   genX(cmd_buffer_apply_pipe_flushes)(primary);
+
    for (uint32_t i = 0; i < commandBufferCount; i++) {
       ANV_FROM_HANDLE(anv_cmd_buffer, secondary, pCmdBuffers[i]);