anv: Enable YCRCB CMFs on Xe2+
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Allow the CCS_E aux-usage for YUV formats on Xe2+.

Reviewed-by: Iván Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39628>
This commit is contained in:
Nanley Chery 2024-11-12 10:13:50 -05:00 committed by Marge Bot
parent 381f4a658f
commit c69f7904e3
3 changed files with 3 additions and 20 deletions

View file

@ -1033,9 +1033,8 @@ anv_get_image_format_features2(const struct anv_physical_device *physical_device
}
}
if (isl_drm_modifier_has_aux(isl_mod_info->modifier) &&
!anv_format_supports_ccs_e(physical_device,
plane_format.isl_format)) {
if (isl_mod_info->supports_render_compression &&
!isl_format_supports_ccs_e(devinfo, plane_format.isl_format)) {
return 0;
}

View file

@ -453,7 +453,7 @@ formats_ccs_e_compatible(const struct anv_physical_device *physical_device,
{
const struct intel_device_info *devinfo = &physical_device->info;
if (!anv_format_supports_ccs_e(physical_device, format))
if (!isl_format_supports_ccs_e(devinfo, format))
return false;
/* For images created without MUTABLE_FORMAT_BIT set, we know that they will
@ -481,19 +481,6 @@ formats_ccs_e_compatible(const struct anv_physical_device *physical_device,
return true;
}
bool
anv_format_supports_ccs_e(const struct anv_physical_device *physical_device,
const enum isl_format format)
{
/* CCS_E for YCRCB_NORMAL and YCRCB_SWAP_UV is not currently supported by
* ANV so leave it disabled for now.
*/
if (isl_format_is_yuv(format))
return false;
return isl_format_supports_ccs_e(&physical_device->info, format);
}
bool
anv_formats_ccs_e_compatible(const struct anv_physical_device *physical_device,
VkImageCreateFlags create_flags,

View file

@ -5557,9 +5557,6 @@ anv_get_vbo_format(const struct anv_physical_device *device, VkFormat vk_format)
return format != NULL ? format->planes[0].vbo_format : ISL_FORMAT_UNSUPPORTED;
}
bool anv_format_supports_ccs_e(const struct anv_physical_device *device,
const enum isl_format format);
bool anv_formats_ccs_e_compatible(const struct anv_physical_device *device,
VkImageCreateFlags create_flags,
VkFormat vk_format, VkImageTiling vk_tiling,