diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index e56d3cfb034..1324d97d654 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -455,6 +455,19 @@ add_aux_surface_if_supported(struct anv_device *device, return VK_SUCCESS; } + if (device->info.gen >= 12 && image->array_size > 1) { + /* HSD 14010672564: On TGL, if a block of fragment shader outputs + * match the surface's clear color, the HW may convert them to + * fast-clears. Anv only does clear color tracking for the first + * slice unfortunately. Disable CCS until anv gains more clear color + * tracking abilities. + */ + anv_perf_warn(device, image, + "HW may put fast-clear blocks on more slices than SW " + "currently tracks. Not allocating a CCS buffer."); + return VK_SUCCESS; + } + if (unlikely(INTEL_DEBUG & DEBUG_NO_RBC)) return VK_SUCCESS;