On Tue, Jul 12, 2016 at 11:50 AM, Chad Versace <chad.vers...@intel.com> wrote:
> On Sat 09 Jul 2016, Jason Ekstrand wrote: > > --- > > src/intel/isl/isl.c | 52 > +++++++++++++++++++++++++--------------------------- > > 1 file changed, 25 insertions(+), 27 deletions(-) > > > > diff --git a/src/intel/isl/isl.c b/src/intel/isl/isl.c > > index decba3d..6f57ac2 100644 > > --- a/src/intel/isl/isl.c > > +++ b/src/intel/isl/isl.c > > > > > bool > > @@ -1108,10 +1103,13 @@ isl_surf_init_s(const struct isl_device *dev, > > array_pitch_span, &image_align_sa, > > &phys_level0_sa, &phys_slice0_sa); > > > > - const uint32_t total_h_el = > > - isl_calc_total_height_el(dev, info, &tile_info, > > - phys_level0_sa.array_len, row_pitch, > > - array_pitch_el_rows); > > + uint32_t total_h_el = phys_level0_sa.array_len * array_pitch_el_rows; > > + > > Here... > > > + uint32_t pad_bytes; > > + isl_apply_surface_padding(dev, info, &tile_info, &total_h_el, > &pad_bytes); > > + > > + /* Be sloppy. Align any leftover padding to a row boundary. */ > > + total_h_el += isl_align_div_npot(pad_bytes, row_pitch); > > ...to here feels weird. isl_apply_surface_padding() applies some > padding, but not all of it. It expects the caller to apply additional > padding itself using pad_bytes. But isl_apply_surface_padding() has > already calculated pad_bytes, so why doesn't the function apply the > pad_bytes padding for the caller? > Keep reading. I think the correct thing would probably be to have it simply compute padding and make the caller do all the adding. --Jason > > > > > const uint32_t size = > > row_pitch * isl_align(total_h_el, tile_info.height); > > -- > > 2.5.0.400.gff86faf > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev