On March 25, 2017 2:54:41 PM Lionel Landwerlin <[email protected]> wrote:

Hey Jason,

I'm wondering whether we're missing flushing some dynamic state here too.

Nope, the client is required to re-emit it all at the top of the secondary.

Regardless, the flushing you're adding here is definitely required :

Reviewed-by: Lionel Landwerlin <[email protected]>

Thanks! This has been on my radar for a while but it wasn't until Skia started getting ported that someone actually hit it.

--Jason

Thanks!

On 24/03/17 23:31, Jason Ekstrand wrote:
Cc: "13.0 17.0" <[email protected]>
---
  src/intel/vulkan/genX_cmd_buffer.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index e2364db..8ec882e 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -654,6 +654,11 @@ genX(CmdExecuteCommands)(
      */
     genX(cmd_buffer_enable_pma_fix)(primary, false);

+   /* 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]);





_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to