anv: selectively enable FCV optimization for DG2

Enabling FCV on MTL breaks a number of games and benchmarks. Let's
disable it for now till we can root cause the issue.

Closes: #9987
Fixes: 26c2c9 ('anv: enable FCV for Gen12.5')
Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25863>
This commit is contained in:
Rohan Garg 2023-10-23 12:02:32 +02:00 committed by Marge Bot
parent 25a232238f
commit 3bf1b7deba
2 changed files with 10 additions and 3 deletions

View file

@ -830,7 +830,7 @@ add_aux_surface_if_supported(struct anv_device *device,
if (intel_needs_workaround(device->info, 1607794140)) {
/* FCV is permanently enabled on this HW. */
image->planes[plane].aux_usage = ISL_AUX_USAGE_FCV_CCS_E;
} else if (device->info->verx10 == 125) {
} else if (intel_device_info_is_dg2(device->info)) {
/* FCV is enabled via 3DSTATE_3D_MODE. We'd expect plain CCS_E to
* perform better because it allows for non-zero fast clear colors,
* but we've run into regressions in several benchmarks (F1 22 and

View file

@ -155,8 +155,15 @@ genX(emit_slice_hashing_state)(struct anv_device *device,
mode.CrossSliceHashingMode = (util_bitcount(ppipe_mask) > 1 ?
hashing32x32 : NormalMode);
mode.CrossSliceHashingModeMask = -1;
mode.FastClearOptimizationEnable = true;
mode.FastClearOptimizationEnableMask = true;
/* TODO: Figure out FCV support for other platforms
* Testing indicates that FCV is broken on MTL, but works fine on DG2.
* Let's disable FCV on MTL for now till we figure out what's wrong.
*
* Ref: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9987
*/
mode.FastClearOptimizationEnable = intel_device_info_is_dg2(device->info);
mode.FastClearOptimizationEnableMask =
intel_device_info_is_dg2(device->info);
}
#endif
}