[Mesa-dev] [PATCH V2 10/11] genX/cmd_buffer: Enable fast depth clears

Chad Versace chad at kiwitree.net
Tue Oct 4 22:55:13 UTC 2016


On Tue 04 Oct 2016, Nanley Chery wrote:
> On Mon, Oct 03, 2016 at 06:21:30PM -0700, Jason Ekstrand wrote:
> > On Mon, Oct 3, 2016 at 6:11 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> > 
> > > On Tue, Sep 27, 2016 at 3:23 PM, Nanley Chery <nanleychery at gmail.com>
> > > wrote:
> > >
> > >> On Tue, Sep 27, 2016 at 03:12:17PM -0700, Chad Versace wrote:
> > >> > On Tue 27 Sep 2016, Nanley Chery wrote:
> > >> > > On Tue, Sep 27, 2016 at 11:00:21AM -0700, Chad Versace wrote:
> > >> >
> > >> > > > As a consequence of that reasoning, we should set
> > >> 3DSTATE_CLEAR_PARAMS.DepthClearValueValid = 1
> > >> > > > whenever hiz is enabled, even if we don't care about the actual
> > >> clear value.
> > >>
> > >
> > > The logic seems to imply that we can't trust the context to save/restore
> > > our depth clear value so we have to set it every time.  At the very least,
> > > once per batch?  In any case, I doubt there's all that much cost involved
> > > in emitting 3DSTATE_CLEAR_PARAMS so I don't think re-emitting it is that
> > > big of a deal.
> > >
> > 
> > Thinking about it a bit more...
> > 
> > We only set up dept/stencil packets once per subpass and we only do clears
> > once per subpass so... I don't think we're actually saving anything by
> > emitting it at clear time rather than at depth/stencil setup time.  It is a
> > bit more convenient because the clear values may be more accessible at
> > clear time.
> > 
> > As far as "should we emit 3DSTATE_CLEAR_PARAMS all the time?"  Let's not go
> > to any heroics to try and avoid re-emitting it.  Once per subpass is not a
> > big deal at all.
> > 
> 
> I wouldn't say the code to implement it was complex, but I'm fine with
> trading off efficiency for simplicity here. I'll add a comment describing the
> situation.

I'm happy with this conclusion.


More information about the mesa-dev mailing list