[Mesa-dev] [PATCH 00/18] anv: Remove the HiZ restriction on input attachments

Nanley Chery nanleychery at gmail.com
Tue Feb 28 21:20:49 UTC 2017


On Mon, Feb 27, 2017 at 09:36:53PM -0800, Jason Ekstrand wrote:
> Did a read-through and, overall, this looks great.  I made a few comments
> but they're fairly simple.

Thank you for taking the time to look over this series.

> 
> One question though:  Am I correct in thinking that we are still disabling
> HiZ for rendering when the image is in the general layout?  I think it
> should be easy enough to change now but I didn't see it change so I want to
> make sure I didn't mid it.  The only reason I care about that is that we
> need it if we want to apply the PMA fix in secondary command buffers.

You are correct.

-Nanley

> 
> On Feb 27, 2017 5:21 PM, "Nanley Chery" <nanleychery at gmail.com> wrote:
> 
> > Allow HiZ for input attachment-capable depth/stencil buffers. Do so
> > without requiring sampling operations on such attachments to go through
> > the HiZ buffer.
> >
> > Series sections:
> > * Patch 1: Fix a bug.
> > * Patch 2: Add a new layout to aux_usage function.
> > * Patches 3-6: Refactor.
> > * Patches 7-10: Don't sample the depth buffer through HiZ.
> > * Patches 11-18: Allow HiZ on input attachment-capable depth/stencil
> >                  buffers.
> >
> > This series increases the average frame rate on a release candidate of a
> > proprietary Vulkan benchmark by an average of 9.94% over 3 runs on my
> > SKL GT4.
> >
> > Nanley Chery (18):
> >   anv/pass: Avoid accessing attachment array out of bounds
> >   anv/image: Add anv_layout_to_aux_usage()
> >   anv/cmd_buffer: Replace layout_to_hiz_usage()
> >   anv: Update the HiZ sampling helper
> >   anv/image: Remove extra dependency on HiZ-specific variable
> >   anv/image: Simplify setup of HiZ sampler surface state
> >   anv/image: Create an additional surface state for sampling
> >   anv/descriptor_set: Store aux usage of sampled image descriptors
> >   anv/cmd_buffer: Conditionally choose the sampled image surface state
> >   anv/cmd_buffer: Remove extra resolve for certain depth buffers
> >   anv: Store the user's VkAttachmentReference
> >   anv/pass: Fix size of anv_render_pass:subpass_attachments
> >   anv/pass: Store subpass attachment reference list
> >   anv/cmd_buffer: Enable render pass awareness
> >   anv/blorp: Encapsulate subpass id querying
> >   anv/cmd_buffer: Add attachment transitioning functions
> >   anv/cmd_buffer: Centralize automatic layout transitions
> >   anv/image: Allow HiZ on input attachment-capable depth/stencil images
> >
> >  src/intel/vulkan/anv_blorp.c          |  33 +++--
> >  src/intel/vulkan/anv_cmd_buffer.c     |   4 +-
> >  src/intel/vulkan/anv_descriptor_set.c |  10 ++
> >  src/intel/vulkan/anv_image.c          | 222 +++++++++++++++++++++++++++---
> > --
> >  src/intel/vulkan/anv_pass.c           |  50 ++++----
> >  src/intel/vulkan/anv_pipeline.c       |   6 +-
> >  src/intel/vulkan/anv_private.h        |  58 +++++++--
> >  src/intel/vulkan/gen7_cmd_buffer.c    |   4 +-
> >  src/intel/vulkan/genX_cmd_buffer.c    | 235
> > ++++++++++++++++++----------------
> >  src/intel/vulkan/genX_pipeline.c      |   8 +-
> >  10 files changed, 427 insertions(+), 203 deletions(-)
> >
> > --
> > 2.11.1
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >


More information about the mesa-dev mailing list