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

Reply via email to