On 2016-11-16 11:25:32, Jason Ekstrand wrote: > On Tue, Nov 15, 2016 at 5:35 PM, Ben Widawsky > <benjamin.widaw...@intel.com> wrote: > > From: Ben Widawsky <b...@bwidawsk.net> > > When 1 BO is used for aux data, it needs to point to the correct offset, > which will not be the BOs offset but instead an offset from the BOs > offset. Since today there are always multiple BOs for aux, this doesn't > actually change anything. > > Cc: Jason Ekstrand <ja...@jlekstrand.net> > Signed-off-by: Ben Widawsky <b...@bwidawsk.net> > --- > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 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 4c2d11d..0cf9181 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > @@ -152,10 +152,11 @@ brw_emit_surface_state(struct brw_context *brw, > if (mt->mcs_buf) { > assert(mt->mcs_buf->offset == 0); > aux_bo = mt->mcs_buf->bo; > - aux_offset = mt->mcs_buf->bo->offset64; > + aux_offset = mt->mcs_buf->bo->offset64 + mt->mcs_buf->offset; > } else { > aux_bo = mt->hiz_buf->aux_base.bo; > - aux_offset = mt->hiz_buf->aux_base.bo->offset64; > + aux_offset = mt->hiz_buf->aux_base.bo->offset64 + > + mt->hiz_buf->mt->offset; > > Ugh... hiz is messed up... Sadly, hiz_buf->mt may not always exist so we > can't add it unconditionally here. Yes, that's stupid.
Could mt->hiz_buf->aux_base.offset be used instead? By the way, my patches made both intel_mipmap_tree::mcs_buf and intel_mipmap_tree::hiz_buf be of type intel_miptree_aux_buffer. There was no intel_miptree_hiz_buffer struct. I had added 'struct intel_mipmap_tree *mt' to intel_miptree_aux_buffer to cover the gen6 hiz case, but otherwise that field would be NULL. Then we could drop the intel_miptree_hiz_buffer type and treat the mcs and hiz buffers more uniformly as 'aux buffers'. (Both being of type intel_miptree_aux_buffer.) Then again, isl will change all of this entirely... -Jordan _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev