[Mesa-dev] [PATCH 17/21] intel/isl: Don't compute image tiling data for Yf/Ys tiling

Pohjolainen, Topi topi.pohjolainen at gmail.com
Thu Mar 1 08:39:06 UTC 2018


On Thu, Feb 22, 2018 at 11:06:57PM -0800, Jason Ekstrand wrote:
> ---
>  src/intel/isl/isl_storage_image.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/src/intel/isl/isl_storage_image.c b/src/intel/isl/isl_storage_image.c
> index 0ae79a2..b0556c7 100644
> --- a/src/intel/isl/isl_storage_image.c
> +++ b/src/intel/isl/isl_storage_image.c
> @@ -233,6 +233,17 @@ isl_surf_fill_image_param(const struct isl_device *dev,
>                         view->base_array_layer;
>     }
>  
> +   if (isl_tiling_is_std_y(surf->tiling)) {
> +      /* The shader code for doing manual tiling calculations doesn't support
> +       * Yf or Ys tiling.  Fortunately, we never need it on gen9 where Yf and
> +       * Ys were added.
> +       */
> +      assert(ISL_DEV_GEN(dev) >= 9);
> +      assert(isl_has_matching_typed_storage_image_format(dev->info,
> +                                                         view->format));
> +      return;
> +   }
> +

Ah, this was really straight-forward afterall -
isl_has_matching_typed_storage_image_format() controls if manual tiling is
needed and it specifically bails out for gen >= 9. This patch is:

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

>     uint32_t tile_z_el, phys_array_layer;
>     isl_surf_get_image_offset_el(surf, view->base_level,
>                                  surf->dim == ISL_SURF_DIM_3D ?
> -- 
> 2.5.0.400.gff86faf
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list