[Mesa-dev] [7.5/22] i965/wm: Fix number of layers in 3D images

Jason Ekstrand jason at jlekstrand.net
Thu Jul 20 05:12:27 UTC 2017


Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

On Wed, Jul 19, 2017 at 2:29 PM, Kenneth Graunke <kenneth at whitecape.org>
wrote:

> On Wednesday, July 19, 2017 12:53:45 PM PDT Topi Pohjolainen wrote:
> > CC: mesa-stable at lists.freedesktop.org
> > CC: Kenneth Graunke <kenneth at whitecape.org>
> > Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> > ---
> >  src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 16 +++++++++++++---
> >  1 file changed, 13 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> > index ab6b9cdd29..bc06949116 100644
> > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> > @@ -1632,6 +1632,17 @@ update_buffer_image_param(struct brw_context
> *brw,
> >     param->stride[0] = _mesa_get_format_bytes(u->_ActualFormat);
> >  }
> >
> > +static unsigned
> > +get_image_num_layers(const struct intel_mipmap_tree *mt, GLenum target,
> > +                     unsigned level)
> > +{
> > +   if (target == GL_TEXTURE_CUBE_MAP)
> > +      return 6;
> > +
> > +   return target == GL_TEXTURE_3D ?
> > +      minify(mt->logical_depth0, level) : mt->logical_depth0;
> > +}
> > +
> >  static void
> >  update_image_surface(struct brw_context *brw,
> >                       struct gl_image_unit *u,
> > @@ -1660,9 +1671,8 @@ update_image_surface(struct brw_context *brw,
> >        } else {
> >           struct intel_texture_object *intel_obj =
> intel_texture_object(obj);
> >           struct intel_mipmap_tree *mt = intel_obj->mt;
> > -         const unsigned num_layers = (!u->Layered ? 1 :
> > -                                      obj->Target ==
> GL_TEXTURE_CUBE_MAP ? 6 :
> > -                                      mt->logical_depth0);
> > +         const unsigned num_layers = u->Layered ?
> > +            get_image_num_layers(mt, obj->Target, u->Level) : 1;
> >
> >           struct isl_view view = {
> >              .format = format,
> >
>
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170719/336ff3f3/attachment-0001.html>


More information about the mesa-dev mailing list