[Mesa-dev] [PATCH v2] i965/miptree: Init r8stencil_needs_update to false
Nanley Chery
nanleychery at gmail.com
Fri Jul 13 15:26:03 UTC 2018
On Fri, Jul 13, 2018 at 01:01:27PM +0300, Pohjolainen, Topi wrote:
> On Wed, Jul 11, 2018 at 09:27:23PM -0700, Nanley Chery wrote:
> > The current behavior masked two bugs where the flag was not set to true
> > after modifying the stencil texture. One case was a regression
> > introduced with commit bdbb527a65fc729e7a9319ae67de60d03d06c3fd and
> > another was a bug in the depthstencil mapping code. These have since
> > been fixed.
> >
> > To prevent such bugs from being masked in the future, initialize
> > r8stencil_needs_update to false.
> >
> > v2: Keep the delayed allocation.
> >
> > Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com> (v1)
>
> This version also. Thanks Nanley!
>
Great. Thank you!
-Nanley
> > ---
> > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 7 ++++---
> > 1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > index 187f310d7d6..31f3182d5a5 100644
> > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> > @@ -672,8 +672,6 @@ make_separate_stencil_surface(struct brw_context *brw,
> > if (!mt->stencil_mt)
> > return false;
> >
> > - mt->stencil_mt->r8stencil_needs_update = true;
> > -
> > return true;
> > }
> >
> > @@ -2937,7 +2935,7 @@ intel_update_r8stencil(struct brw_context *brw,
> > assert(devinfo->gen >= 7);
> > struct intel_mipmap_tree *src =
> > mt->format == MESA_FORMAT_S_UINT8 ? mt : mt->stencil_mt;
> > - if (!src || devinfo->gen >= 8 || !src->r8stencil_needs_update)
> > + if (!src || devinfo->gen >= 8)
> > return;
> >
> > assert(src->surf.size > 0);
> > @@ -2961,6 +2959,9 @@ intel_update_r8stencil(struct brw_context *brw,
> > assert(mt->r8stencil_mt);
> > }
> >
> > + if (src->r8stencil_needs_update == false)
> > + return;
> > +
> > struct intel_mipmap_tree *dst = mt->r8stencil_mt;
> >
> > for (int level = src->first_level; level <= src->last_level; level++) {
> > --
> > 2.18.0
> >
> > _______________________________________________
> > 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