anv/image: Disable multi-layer CCS_E on TGL+
Anv doesn't do multi-layer fast-clear tracking, but TGL may add fast-clears to multiple layers. Disable CCS_E for image arrays on TGL+ until anv gets more clear color tracking abilities. With this change, anv+TGL now passes: * dEQP-VK.multiview.readback_implicit_clear.15_15_15_15 * dEQP-VK.multiview.readback_implicit_clear.8_1_1_8 * dEQP-VK.multiview.readback_implicit_clear.1_2_4_8_16_32 * dEQP-VK.multiview.renderpass2.readback_implicit_clear.15_15_15_15 * dEQP-VK.multiview.renderpass2.readback_implicit_clear.8_1_1_8 * dEQP-VK.multiview.renderpass2.readback_implicit_clear.1_2_4_8_16_32 v2. Mention HSD 14010672564. (Sagar) Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6528>
This commit is contained in:
parent
656d8edd9e
commit
e3101c96bb
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue