From 232c0f64891e2f9853726c36485b566b23b22cf4 Mon Sep 17 00:00:00 2001 From: Plamena Manolova Date: Thu, 14 Mar 2019 22:28:20 +0200 Subject: [PATCH] isl: Set ClearColorConversionEnable. The ClearColorConversionEnable bit needs to be set for GEN11 when inderect clear colors are used. Signed-off-by: Plamena Manolova Reviewed-by: Rafael Antognolli Reviewed-by: Nanley Chery --- src/intel/isl/isl_surface_state.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index cf31b36..4887ded 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -618,6 +618,27 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state, unreachable("Gen9 and earlier do not support indirect clear colors"); #endif } + +#if GEN_GEN == 11 + /* + * From BXML > GT > Shared Functions > vol5c Shared Functions > + * [Structure] RENDER_SURFACE_STATE [BDW+] > ClearColorConversionEnable: + * + * Project: Gen11 + * + * "Enables Pixel backend hw to convert clear values into native format + * and write back to clear address, so that display and sampler can use + * the converted value for resolving fast cleared RTs." + * + * Summary: + * Clear color conversion must be enabled if the clear color is stored + * indirectly and fast color clears are enabled. + */ + if (info->use_clear_address) { + s.ClearColorConversionEnable = true; + } +#endif + #if GEN_GEN >= 9 if (!info->use_clear_address) { s.RedClearColor = info->clear_color.u32[0]; -- 2.7.4