[Mesa-dev] [PATCH 1/2] i965/brw: Emit state for hiz and separate stencil buffers
Chad Versace
chad at chad-versace.us
Sun Jun 5 19:18:09 PDT 2011
On Sun, 05 Jun 2011 01:37:27 -0700, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On 06/04/2011 04:29 PM, Chad Versace wrote:
> > On 06/03/2011 03:33 PM, Kenneth Graunke wrote:
> >> Do we need to emit 3DSTATE_STENCIL_BUFFER with all 0's in the stencil_irb == NULL case? Ditto for HiZ I guess. Just being a
> >> bit paranoid.
> >
> > The test results for these paranoiac cases pass, so paranoia is unneeded. Regarding "Do we need to emit 3DSTATE_STENCIL_BUFFER
> > with all 0's in the stencil_irb == NULL case", see tests:
> > * hiz-depth-test-fbo-d24-s0 : column 6
> > * hiz-depth-stencil-fbo-d24-s0 : columns 3, 6
> > Regarding "Ditto for HiZ", the following test runs emit a stencil buffer but no hiz buffer:
> > * hiz-stencil-test-fbo-d0-s8 : column 6
> > * hiz-stencil-read-fbo-d0-s8 : column 6
> > * hiz-depth-stencil-fbo-d0-s8 : column 6
>
> Hrm. I was thinking of a slightly more elaborate case: Render to an FBO
> that has both depth and stencil...then render to another FBO that only
> has depth. The question is: would the old stencil buffer stay
> programmed and somehow get used. Although come to think of it, I think
> the "Separate Stencil Enable" bit in 3DSTATE_DEPTH_BUFFER ought to be
> sufficient. So it's probably okay.
To be extra safe, we could upload a zero-ish 3DSTATE_STENCIL_BUFFER when there
is no stencil buffer. But, that upload is really wasted bandwidth, since the
separate-stencil-enable bit is disabled and hardware won't read
3DSTATE_STENCIL_BUFFER anyway.
More information about the mesa-dev
mailing list