Mesa (master): tu: Rewrite flushing to use barriers
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 9 15:03:44 UTC 2020
Module: Mesa
Branch: master
Commit: 487aa807bd1b70602fcb6fbdabd101d4cff7c07b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=487aa807bd1b70602fcb6fbdabd101d4cff7c07b
Author: Connor Abbott <cwabbott0 at gmail.com>
Date: Thu Apr 2 17:48:19 2020 +0200
tu: Rewrite flushing to use barriers
Replace the various ad-hoc flushes that we've inserted, copied from
freedreno, etc. with a unified system that uses the user-supplied
information via vkCmdPipelineBarrier() and subpass dependencies.
There are a few notable differences in behavior:
- We now move setting RB_CCU_CNTL up a little in the gmem case, but
hopefully that won't matter too much. This matches what the Vulkan blob
does.
- We properly implement delayed setting of events, completing our
implementaton of events.
- Finally, of course, we should be a lot less flush-happy. We won't emit
useless CCU/cache flushes with multiple copies, renderpasses, etc. that
don't depend on each other, and also won't flush/invalidate the cache
around renderpasses unless we actually need to.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4964>
---
src/freedreno/vulkan/tu_clear_blit.c | 110 +++---
src/freedreno/vulkan/tu_cmd_buffer.c | 662 +++++++++++++++++++++++++++++------
src/freedreno/vulkan/tu_pass.c | 291 +++++++++++++++
src/freedreno/vulkan/tu_private.h | 140 +++++++-
4 files changed, 1049 insertions(+), 154 deletions(-)
Diff: http://cgit.freedesktop.org/mesa/mesa/diff/?id=487aa807bd1b70602fcb6fbdabd101d4cff7c07b
More information about the mesa-commit
mailing list