[Mesa-dev] [PATCH v4 13/34] i965/blorp: Add a generic ISL-based surface state emit path

Chad Versace chad.versace at intel.com
Fri Jul 15 19:03:53 UTC 2016


On Thu 14 Jul 2016, Jason Ekstrand wrote:
> On Thu, Jul 14, 2016 at 2:26 PM, Chad Versace <chad.versace at intel.com>
> wrote:
> 
> > On Wed 13 Jul 2016, Jason Ekstrand wrote:
> > > Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> > > ---
> > >  src/mesa/drivers/dri/i965/brw_blorp.c | 157
> > ++++++++++++++++++++++++++++++++++
> > >  src/mesa/drivers/dri/i965/brw_blorp.h |   6 ++
> > >  2 files changed, 163 insertions(+)



> > > +   struct isl_view view = {
> > > +      .format = surface->brw_surfaceformat,
> > > +      .base_level = 0,
> > > +      .levels = 1,
> > > +      .base_array_layer = 0,
> > > +      .array_len = 1,
> > > +      .channel_select = {
> > > +         ISL_CHANNEL_SELECT_RED,
> > > +         ISL_CHANNEL_SELECT_GREEN,
> > > +         ISL_CHANNEL_SELECT_BLUE,
> > > +         ISL_CHANNEL_SELECT_ALPHA,
> > > +      },
> > > +      .usage = is_render_target ? ISL_SURF_USAGE_RENDER_TARGET_BIT :
> > > +                                  ISL_SURF_USAGE_TEXTURE_BIT,
> > > +   };
> >
> > Are you confident that blorp never requires ISL_SURF_USAGE_CUBE_MAP_BIT?
> >
> 
> Yes, very confident.  That's only required if you're going to use a cube
> sampler.  Blorp has no need for cube samplers.

Ok. That's what I thought too. Just wanted to confirm.

> 
> 
> >
> > > +
> > > +   uint32_t offset, tile_x, tile_y;
> > > +   offset = brw_blorp_compute_tile_offsets(surface, &tile_x, &tile_y);
> > > +
> > > +   uint32_t surf_offset;
> > > +   uint32_t *dw = brw_state_batch(brw, AUB_TRACE_SURFACE_STATE,
> > > +                                  ss_info.num_dwords * 4,
> > ss_info.ss_align,
> > > +                                  &surf_offset);
> > > +
> > > +   const uint32_t mocs = is_render_target ? ss_info.rb_mocs :
> > ss_info.tex_mocs;
> > > +
> > > +   isl_surf_fill_state(&brw->isl_dev, dw, .surf = &surf, .view = &view,
> > > +                       .address = surface->mt->bo->offset64 + offset,
> > > +                       .aux_surf = aux_surf, .aux_usage = aux_usage,
> > > +                       .aux_address = aux_offset,
> > > +                       .mocs = mocs, .clear_color = clear_color,
> > > +                       .x_offset_sa = tile_x, .y_offset_sa = tile_y);
> >
> > Whoa! Where did x_offset_sa and y_offset_sa come from? It's not on
> > master, and I didn't see it in any earlier patches.
> >

Yep, I see it now.

This patch is
Reviewed-by: Chad Versace <chad.versace at intel.com>


More information about the mesa-dev mailing list