mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
anv: Enable YCRCB CMFs on Xe2+
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:
parent
381f4a658f
commit
c69f7904e3
3 changed files with 3 additions and 20 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue