[Mesa-dev] [PATCH] i965/blorp: Add a format parameter to blorp_fast_clear

Jason Ekstrand jason at jlekstrand.net
Thu Aug 25 21:33:05 UTC 2016


On Thu, Aug 25, 2016 at 7:09 AM, Pohjolainen, Topi <
topi.pohjolainen at gmail.com> wrote:

> On Tue, Aug 23, 2016 at 11:08:00AM -0700, Jason Ekstrand wrote:
> > We were inferring the format from the surface but that doesn't always
> work
> > as the surface format is the texture format and we want the render format
> > (which may be different on i965).
>
> Makes sense:
>
> Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
>
> Does this fix anything currently or are just preparing for something?
>

Yes, but nothing that causes piglit fails.  There are some RGBX formats
that aren't renderable but we were trying to render to them.  Not a huge
deal but it triggered some asserts that I tried to add to
isl_surf_fill_state.

--Jason


> >
> > Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
> > Cc: Topi Pohjolainen <topi.pohjolainen at intel.com>
> > ---
> >  src/mesa/drivers/dri/i965/blorp.h       | 2 +-
> >  src/mesa/drivers/dri/i965/blorp_clear.c | 4 ++--
> >  src/mesa/drivers/dri/i965/brw_blorp.c   | 4 +++-
> >  3 files changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/src/mesa/drivers/dri/i965/blorp.h
> b/src/mesa/drivers/dri/i965/blorp.h
> > index c20e2be..22b5760 100644
> > --- a/src/mesa/drivers/dri/i965/blorp.h
> > +++ b/src/mesa/drivers/dri/i965/blorp.h
> > @@ -68,7 +68,7 @@ brw_blorp_blit(struct brw_context *brw,
> >  void
> >  blorp_fast_clear(struct brw_context *brw,
> >                   const struct brw_blorp_surf *surf,
> > -                 uint32_t level, uint32_t layer,
> > +                 uint32_t level, uint32_t layer, enum isl_format format,
> >                   uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1);
> >
> >  void
> > diff --git a/src/mesa/drivers/dri/i965/blorp_clear.c
> b/src/mesa/drivers/dri/i965/blorp_clear.c
> > index 2da08f8..9e6b2a9 100644
> > --- a/src/mesa/drivers/dri/i965/blorp_clear.c
> > +++ b/src/mesa/drivers/dri/i965/blorp_clear.c
> > @@ -99,7 +99,7 @@ brw_blorp_params_get_clear_kernel(struct brw_context
> *brw,
> >
> >  void
> >  blorp_fast_clear(struct brw_context *brw, const struct brw_blorp_surf
> *surf,
> > -                 uint32_t level, uint32_t layer,
> > +                 uint32_t level, uint32_t layer, enum isl_format format,
> >                   uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1)
> >  {
> >     struct brw_blorp_params params;
> > @@ -119,7 +119,7 @@ blorp_fast_clear(struct brw_context *brw, const
> struct brw_blorp_surf *surf,
> >     brw_blorp_params_get_clear_kernel(brw, &params, true);
> >
> >     brw_blorp_surface_info_init(brw, &params.dst, surf, level, layer,
> > -                               surf->surf->format, true);
> > +                               format, true);
> >
> >     brw_blorp_exec(brw, &params);
> >  }
> > diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
> b/src/mesa/drivers/dri/i965/brw_blorp.c
> > index f4c2740..b504861 100644
> > --- a/src/mesa/drivers/dri/i965/brw_blorp.c
> > +++ b/src/mesa/drivers/dri/i965/brw_blorp.c
> > @@ -647,7 +647,9 @@ do_single_blorp_clear(struct brw_context *brw,
> struct gl_framebuffer *fb,
> >        DBG("%s (fast) to mt %p level %d layer %d\n", __FUNCTION__,
> >            irb->mt, irb->mt_level, irb->mt_layer);
> >
> > -      blorp_fast_clear(brw, &surf, level, layer, x0, y0, x1, y1);
> > +      blorp_fast_clear(brw, &surf, level, layer,
> > +                       brw->render_target_format[format],
> > +                       x0, y0, x1, y1);
> >
> >        /* Now that the fast clear has occurred, put the buffer in
> >         * INTEL_FAST_CLEAR_STATE_CLEAR so that we won't waste time doing
> > --
> > 2.5.0.400.gff86faf
> >
> > _______________________________________________
> > 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/20160825/ee11f6b4/attachment.html>


More information about the mesa-dev mailing list