mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
intel/isl: Allow Ys tiling
Ys & Yf are both implemented in ISL now, we still have some Yf issues to investigate. Instead of disabling them in ISL, we disable them in the two drivers. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23620>
This commit is contained in:
parent
4ac46dbb46
commit
e956f6ad30
3 changed files with 15 additions and 9 deletions
|
|
@ -731,6 +731,10 @@ iris_resource_configure_main(const struct iris_screen *screen,
|
|||
tiling_flags = ISL_TILING_ANY_MASK;
|
||||
}
|
||||
|
||||
/* We don't support Yf or Ys tiling yet */
|
||||
tiling_flags &= ~ISL_TILING_STD_Y_MASK;
|
||||
assert(tiling_flags != 0);
|
||||
|
||||
isl_surf_usage_flags_t usage = 0;
|
||||
|
||||
if (res->mod_info && !isl_drm_modifier_has_aux(modifier))
|
||||
|
|
|
|||
|
|
@ -225,13 +225,15 @@ isl_gfx6_filter_tiling(const struct isl_device *dev,
|
|||
ISL_TILING_Y0_BIT;
|
||||
}
|
||||
|
||||
/* And... clear the Yf and Ys bits anyway because Anvil doesn't support
|
||||
* them yet.
|
||||
/* TODO: Investigate Yf failures (~5000 VK CTS failures at the time of this
|
||||
* writing).
|
||||
*/
|
||||
*flags &= ~ISL_TILING_SKL_Yf_BIT; /* FINISHME[SKL]: Support Yf */
|
||||
*flags &= ~ISL_TILING_SKL_Ys_BIT; /* FINISHME[SKL]: Support Ys */
|
||||
*flags &= ~ISL_TILING_ICL_Yf_BIT; /* FINISHME[ICL]: Support Yf */
|
||||
*flags &= ~ISL_TILING_ICL_Ys_BIT; /* FINISHME[ICL]: Support Ys */
|
||||
if (isl_format_is_compressed(info->format) ||
|
||||
info->samples > 1 ||
|
||||
info->dim == ISL_SURF_DIM_3D) {
|
||||
*flags &= ~ISL_TILING_SKL_Yf_BIT; /* FINISHME[SKL]: Support Yf */
|
||||
*flags &= ~ISL_TILING_ICL_Yf_BIT; /* FINISHME[ICL]: Support Yf */
|
||||
}
|
||||
|
||||
if (isl_surf_usage_is_depth(info->usage)) {
|
||||
/* Depth requires Y. */
|
||||
|
|
@ -309,9 +311,6 @@ isl_gfx6_filter_tiling(const struct isl_device *dev,
|
|||
*flags &= (ISL_TILING_LINEAR_BIT | ISL_TILING_X_BIT |
|
||||
ISL_TILING_Y0_BIT);
|
||||
} else if (ISL_GFX_VER(dev) >= 9) {
|
||||
/* Note we let Yf even though it was cleared above. This is just for
|
||||
* completeness.
|
||||
*/
|
||||
*flags &= (ISL_TILING_LINEAR_BIT | ISL_TILING_X_BIT |
|
||||
ISL_TILING_Y0_BIT |
|
||||
ISL_TILING_SKL_Yf_BIT | ISL_TILING_ICL_Yf_BIT);
|
||||
|
|
|
|||
|
|
@ -307,6 +307,9 @@ choose_isl_tiling_flags(const struct intel_device_info *devinfo,
|
|||
flags &= legacy_mask;
|
||||
}
|
||||
|
||||
/* We don't support Yf or Ys tiling yet */
|
||||
flags &= ~ISL_TILING_STD_Y_MASK;
|
||||
|
||||
assert(flags);
|
||||
|
||||
return flags;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue