anv/cmd_buffer: Only emit PIPE_CONTROL on-demand
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 20 May 2016 18:49:12 +0000 (11:49 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 27 May 2016 22:18:09 +0000 (15:18 -0700)
commit3a83c176eab8c513eb723554a240af1a7308d701
treec24fac04d0ddcc91436f38423c2509401c54804a
parent7120c75ec3046b48610f7423dff2b67e60f34be5
anv/cmd_buffer: Only emit PIPE_CONTROL on-demand

This is in contrast to emitting it directly in vkCmdPipelineBarrier.  This
has a couple of advantages.  First, it means that no matter how many
vkCmdPipelineBarrier calls the application strings together it gets one or
two PIPE_CONTROLs.  Second, it allow us to better track when we need to do
stalls because we can flag when a flush has happened and we need a stall.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/intel/vulkan/anv_cmd_buffer.c
src/intel/vulkan/anv_genX.h
src/intel/vulkan/anv_private.h
src/intel/vulkan/gen7_cmd_buffer.c
src/intel/vulkan/gen8_cmd_buffer.c
src/intel/vulkan/genX_cmd_buffer.c