[Mesa-dev] [PATCH 00/14] anv: Rework subpass resolves and clears
Jason Ekstrand
jason at jlekstrand.net
Mon Feb 5 22:34:49 UTC 2018
This little series just shuffles code around to make things a bit more
clear. (At least I think it does!) The basic idea is to split set_subpass
into begin_subpass and end_subpass and then move all of resolve and clear
code into those two helpers. This means that we no longer have 3 or 4
different functions that all loop over attachments which we have to call in
just the right order.
The last patch in this series takes advantage of this new structure by
allowing us to avoid the transition from UNDEFINED when LOAD_OP_CLEAR is
specified. I highly doubt the performance impact of this will be noticable
but it's nice to be able to do.
Jason Ekstrand (14):
anv/cmd_buffer: Apply subpass flushes before set_subpass
anv/cmd_buffer: Add begin/end_subpass helpers
anv/cmd_buffer: Pass a subpass id into begin_subpass
anv/cmd_buffer: Move the color portion of clear_subpass into
begin_subpass
intel/blorp: Add a blorp_hiz_clear_depth_stencil helper
anv/cmd_buffer: Move the rest of clear_subpass into begin_subpass
anv/cmd_buffer: Decide whether or not to HiZ clear up-front
anv/cmd_buffer: Iterate all subpass attachments when clearing
anv/cmd_buffer: Add a concept of pending load aspects
anv/pass: Store usage in each subpass attachment
anv/cmd_buffer: Sync clear values in begin_subpass
anv/cmd_buffer: Mark depth/stencil surfaces written in begin_subpass
anv/cmd_buffer: Do subpass image transitions in begin/end_subpass
anv/cmd_buffer: Avoid unnecessary transitions before fast clears
src/intel/blorp/blorp.h | 11 +
src/intel/blorp/blorp_clear.c | 50 ++++
src/intel/vulkan/anv_blorp.c | 367 ++++++++++--------------
src/intel/vulkan/anv_pass.c | 35 ++-
src/intel/vulkan/anv_private.h | 42 ++-
src/intel/vulkan/genX_cmd_buffer.c | 555 ++++++++++++++++++++-----------------
6 files changed, 563 insertions(+), 497 deletions(-)
--
2.5.0.400.gff86faf
More information about the mesa-dev
mailing list