[Mesa-dev] [PATCH v2 23/32] intel/isl: Allow Yf and Ys tiling
Nanley Chery
nanleychery at gmail.com
Wed Jan 16 17:59:23 UTC 2019
On Fri, Oct 12, 2018 at 01:46:53PM -0500, Jason Ekstrand wrote:
> They are both implemented in ISL now. Instead of disabling them in ISL,
> we disable them in the two dirvers.
"drivers" is misspelled.
>
> Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> ---
> src/intel/isl/isl_gen7.c | 8 --------
> src/intel/vulkan/anv_image.c | 3 +++
> src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 5 +++++
> 3 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/src/intel/isl/isl_gen7.c b/src/intel/isl/isl_gen7.c
> index fe420e4fbd8..51958f7e2d5 100644
> --- a/src/intel/isl/isl_gen7.c
> +++ b/src/intel/isl/isl_gen7.c
> @@ -206,14 +206,6 @@ isl_gen6_filter_tiling(const struct isl_device *dev,
> *flags &= ~ISL_TILING_GEN10_Ys_BIT;
> }
>
> - /* And... clear the Yf and Ys bits anyway because Anvil doesn't support
> - * them yet.
> - */
> - *flags &= ~ISL_TILING_GEN9_Yf_BIT; /* FINISHME[SKL]: Support Yf */
> - *flags &= ~ISL_TILING_GEN9_Ys_BIT; /* FINISHME[SKL]: Support Ys */
> - *flags &= ~ISL_TILING_GEN10_Yf_BIT; /* FINISHME[SKL]: Support Yf */
> - *flags &= ~ISL_TILING_GEN10_Ys_BIT; /* FINISHME[SKL]: Support Ys */
> -
> if (isl_surf_usage_is_depth(info->usage)) {
> /* Depth requires Y. */
> *flags &= ISL_TILING_ANY_Y_MASK;
> diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
> index 388f9410564..82ce43ef2b9 100644
> --- a/src/intel/vulkan/anv_image.c
> +++ b/src/intel/vulkan/anv_image.c
> @@ -120,6 +120,9 @@ choose_isl_tiling_flags(const struct anv_image_create_info *anv_info,
> if (isl_mod_info)
> flags &= 1 << isl_mod_info->tiling;
>
> + /* We don't support Yf or Ys tiling yet */
> + flags &= ISL_TILING_STD_Y_MASK;
This is missing a bitwise complement.
> +
> assert(flags);
>
> return flags;
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> index 36d080129fa..cfeb4d67d29 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> @@ -573,6 +573,11 @@ make_surface(struct brw_context *brw, GLenum target, mesa_format format,
> num_samples, width0, height0, depth0,
> first_level, last_level, mt);
>
> + /* We don't support Yf or Ys in i965 yet because we use the blitter too
> + * much and it can't handle them.
> + */
Didn't we stop using the blitter on newer platforms?
> + tiling_flags &= ~ISL_TILING_STD_Y_MASK;
> +
Could we move this to miptree_create()? There's another instance of the
requested set of tiling flags being modified there.
-Nanley
> struct isl_surf_init_info init_info = {
> .dim = get_isl_surf_dim(target),
> .format = translate_tex_format(brw, format, false),
> --
> 2.19.1
>
> _______________________________________________
> 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