}
if (isl_drm_modifier_has_aux(isl_mod_info->modifier) &&
- !isl_format_supports_ccs_e(devinfo, plane_format.isl_format)) {
+ !anv_format_supports_ccs_e(devinfo, plane_format.isl_format)) {
return 0;
}
VkImageUsageFlags vk_usage,
const VkImageFormatListCreateInfo *fmt_list)
{
- if (!isl_format_supports_ccs_e(devinfo, format))
+ if (!anv_format_supports_ccs_e(devinfo, format))
return false;
/* For images created without MUTABLE_FORMAT_BIT set, we know that they will
}
bool
+anv_format_supports_ccs_e(const struct intel_device_info *devinfo,
+ 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(devinfo, format);
+}
+
+bool
anv_formats_ccs_e_compatible(const struct intel_device_info *devinfo,
VkImageCreateFlags create_flags,
VkFormat vk_format, VkImageTiling vk_tiling,
return anv_get_format_aspect(devinfo, vk_format, aspect, tiling).isl_format;
}
+bool anv_format_supports_ccs_e(const struct intel_device_info *devinfo,
+ const enum isl_format format);
+
bool anv_formats_ccs_e_compatible(const struct intel_device_info *devinfo,
VkImageCreateFlags create_flags,
VkFormat vk_format, VkImageTiling vk_tiling,