Down with 32-bit offsets! Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
On Thu, Nov 29, 2018 at 2:24 AM Kenneth Graunke <kenn...@whitecape.org> wrote: > In the softpin world, surface state base address may be a fixed 64-bit > address (with no associated BO). It makes sense to store this in the > offset field. But it needs to be the full size. > > We also update the clear color address to be consistently uint64_t > everywhere so we can continue passing intel_miptree_get_clear_color > a pointer to the blorp_address's offset field without type mismatches. > --- > src/intel/blorp/blorp.h | 2 +- > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- > src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 2 +- > src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 2 +- > 4 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/src/intel/blorp/blorp.h b/src/intel/blorp/blorp.h > index ee343a4a6bb..1e22712602d 100644 > --- a/src/intel/blorp/blorp.h > +++ b/src/intel/blorp/blorp.h > @@ -91,8 +91,8 @@ void blorp_batch_finish(struct blorp_batch *batch); > > struct blorp_address { > void *buffer; > + uint64_t offset; > unsigned reloc_flags; > - uint32_t offset; > uint32_t mocs; > }; > > 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 4daa0e2add1..b067a174056 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > @@ -156,7 +156,7 @@ brw_emit_surface_state(struct brw_context *brw, > struct isl_surf *aux_surf = NULL; > uint64_t aux_offset = 0; > struct brw_bo *clear_bo = NULL; > - uint32_t clear_offset = 0; > + uint64_t clear_offset = 0; > > if (aux_usage != ISL_AUX_USAGE_NONE) { > aux_surf = &mt->aux_buf->surf; > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > index 8e50aabb3b4..a679ddf3e48 100644 > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c > @@ -3865,7 +3865,7 @@ intel_miptree_get_clear_color(const struct > gen_device_info *devinfo, > const struct intel_mipmap_tree *mt, > enum isl_format view_format, bool sampling, > struct brw_bo **clear_color_bo, > - uint32_t *clear_color_offset) > + uint64_t *clear_color_offset) > { > assert(mt->aux_buf); > > diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > index b0333655ad5..21beeded92a 100644 > --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h > @@ -714,7 +714,7 @@ intel_miptree_get_clear_color(const struct > gen_device_info *devinfo, > const struct intel_mipmap_tree *mt, > enum isl_format view_format, bool sampling, > struct brw_bo **clear_color_bo, > - uint32_t *clear_color_offset); > + uint64_t *clear_color_offset); > > > static inline int > -- > 2.19.1 > > _______________________________________________ > 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