[Mesa-dev] [PATCH] i965/gen5, 6: Fix hang when emitting hiz buffer without stencil buffer
Chad Versace
chad at chad-versace.us
Wed Jun 15 12:07:02 PDT 2011
On Wed, 15 Jun 2011 00:13:51 -0700, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On 06/14/2011 03:28 PM, Chad Versace wrote:
> [snip]
> > @@ -355,26 +355,48 @@ static void emit_depthbuffer(struct brw_context *brw)
> > ADVANCE_BATCH();
> > }
> >
> > - /* Emit hiz buffer. */
> > if (hiz_region || stencil_irb) {
> > - BEGIN_BATCH(3);
> > - OUT_BATCH((_3DSTATE_HIER_DEPTH_BUFFER<< 16) | (3 - 2));
> > - OUT_BATCH(hiz_region->pitch * hiz_region->cpp - 1);
> > - OUT_RELOC(hiz_region->buffer,
> > - I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER,
> > - 0);
> > - ADVANCE_BATCH();
> > - }
> > + /*
> > + * In the 3DSTATE_DEPTH_BUFFER batch emitted above, the 'separate
> > + * stencil enable' and 'hiz enable' bits were set. Therefore we must
> > + * emit 3DSTATE_HIER_DEPTH_BUFFER and 3DSTATE_STENCIL_BUFFER. Even if
> > + * there is no stencil buffer, 3DSTATE_STENCIL_BUFFER must be emitted;
> > + * failure to do so causes hangs on gen5.
> > + */
>
> Extra indentation here?
Nope. The comment only applies if the if-branch is taken, so I placed
the comment in the if-branch.
>
> Otherwise, yes, please :)
>
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
>
> [snip]
More information about the mesa-dev
mailing list