anv: Rework vkCmdPipelineBarrier()
authorKristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Wed, 17 Feb 2016 23:09:40 +0000 (15:09 -0800)
committerKristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Wed, 17 Feb 2016 23:18:06 +0000 (15:18 -0800)
commit5e92e91c6177bfe31214b8a0ebd0d4c47969b61d
tree95a8d0d5b33f31cb0adb1ad1aead96578ec7083b
parent3b9b908054162055b203657d2971c28496aa6dfd
anv: Rework vkCmdPipelineBarrier()

We don't need to look at the stage flags, as we don't really support any
fine-grained, stage-level synchronization. We have to do two
PIPE_CONTROLs in case we're both flushing and
invalidating.

Additionally, if we do end up doing two PIPE_CONTROLs, the first,
flusing one also has to stall and wait for the flushing to finish, so we
don't re-dirty the caches with in-flight rendering after the second
PIPE_CONTROL invalidates.
src/vulkan/genX_cmd_buffer.c