On Sat 11 Jun 2016, Jason Ekstrand wrote: > --- > src/intel/isl/isl.h | 3 +++ > src/intel/isl/isl_surface_state.c | 9 +++++++++ > 2 files changed, 12 insertions(+) > > diff --git a/src/intel/isl/isl.h b/src/intel/isl/isl.h > index a987482..4dd4a2f 100644 > --- a/src/intel/isl/isl.h > +++ b/src/intel/isl/isl.h > @@ -844,6 +844,9 @@ struct isl_surf_fill_state_info { > * Valid values depend on hardware generation. > */ > union isl_color_value clear_color; > + > + /* Intra-tile offset */ > + uint16_t x_offset, y_offset; > }; > > struct isl_buffer_fill_state_info { > diff --git a/src/intel/isl/isl_surface_state.c > b/src/intel/isl/isl_surface_state.c > index 9bfc55f..65e4b8e 100644 > --- a/src/intel/isl/isl_surface_state.c > +++ b/src/intel/isl/isl_surface_state.c > @@ -401,6 +401,15 @@ isl_genX(surf_fill_state_s)(const struct isl_device > *dev, void *state, > s.MOCS = info->mocs; > #endif > > +#if GEN_GEN > 4 || GEN_IS_G4X > + const unsigned x_div = 4; > + const unsigned y_div = GEN_GEN >= 8 ? 4 : 2; > + assert(info->x_offset % x_div == 0); > + assert(info->y_offset % y_div == 0); > + s.XOffset = info->x_offset / x_div; > + s.YOffset = info->y_offset / y_div; > +#endif
Perhaps add... #else assert(info->x_offset == 0); assert(info->y_offset == 0); #endif Or maybe not. You've thought about it more than I have. Either way, patch 39 is Reviewed-by: Chad Versace <chad.vers...@intel.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev