[Mesa-dev] [PATCH V2 09/11] genX/cmd_buffer: Enable rendering to HiZ

Nanley Chery nanleychery at gmail.com
Tue Sep 27 20:18:07 UTC 2016


On Tue, Sep 27, 2016 at 11:00:06AM -0700, Chad Versace wrote:
> On Mon 26 Sep 2016, Nanley Chery wrote:
> > From: Chad Versace <chad.versace at intel.com>
> > 
> > Nanley Chery:
> > (rebase)
> >  - Resolve conflicts with new anv_batch_emit macro
> > (amend)
> >  - Handle a QPitch TODO
> >  - Emit 3DSTATE_HIER_DEPTH_BUFFER on pre-BDW systems
> >  - Only use HiZ for single-subpass renderpasses
> >  - Emit the HiZ instruction before the stencil instruction to follow the
> >    optimized clear sequence specified in the PRMs
> >  - Don't modify clear params
> >  - Enable resolves when a HiZ buffer is used to ensure depth buffer validity
> > 
> > Provides an FPS increase of ~15% on the Sascha triangle and multisampling
> > demos.
> 
> Woo!
> 
> > Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> > 
> > ---
> > 
> > v2: Emit zero'ed 3DSTATE_HIER_DEPTH_BUFFER when hiz is disabled
> >     (Jason, Chad)
> > 
> >  src/intel/vulkan/gen8_cmd_buffer.c |  4 ++++
> >  src/intel/vulkan/genX_cmd_buffer.c | 43 ++++++++++++++++++++++++++++++++++----
> >  2 files changed, 43 insertions(+), 4 deletions(-)
> > 
> > diff --git a/src/intel/vulkan/gen8_cmd_buffer.c b/src/intel/vulkan/gen8_cmd_buffer.c
> > index a13413c..14e6a7b 100644
> > --- a/src/intel/vulkan/gen8_cmd_buffer.c
> > +++ b/src/intel/vulkan/gen8_cmd_buffer.c
> > @@ -417,6 +417,10 @@ genX(cmd_buffer_do_hz_op)(struct anv_cmd_buffer *cmd_buffer,
> >     if (iview == NULL || !anv_image_has_hiz(iview->image))
> >        return;
> >  
> > +   /* FIXME: Implement multi-subpass HiZ */
> 
> This should be a FINISHME, not a FIXME, as nothing is broken and there
> is no bug. It's just disabled.
> 

Good catch, I'll update it.

> > +   if (cmd_buffer->state.pass->subpass_count > 1)
> > +      return;
> > +
> 
> Anyway, that's just a small nitpick.
> 
> Reviewed-by: Chad Versace <chadversary at chromium.org>

Thanks!


More information about the mesa-dev mailing list