From e9b633619c1ff87475c5c597e86f4515a7bc3549 Mon Sep 17 00:00:00 2001 From: "Zhang, Jianxun" Date: Mon, 1 Aug 2022 13:50:24 -0700 Subject: [PATCH] intel/genxml: Add RENDER_SURFACE_STATE for xe2 The indirect BO of clear color is also removed along with clear value address and its enabling. Other delta in struct RENDER_SURFACE_STATE are deferred to their functional enabling changes. Signed-off-by: Zhang, Jianxun Signed-off-by: Jordan Justen Signed-off-by: Rohan Garg Reviewed-by: Sagar Ghuge Part-of: --- src/intel/genxml/gen20.xml | 104 ++++++++++++++++++++++++++++++ src/intel/isl/isl_surface_state.c | 14 ++-- 2 files changed, 114 insertions(+), 4 deletions(-) diff --git a/src/intel/genxml/gen20.xml b/src/intel/genxml/gen20.xml index 0e3a796dbe1..944bf8fc98b 100644 --- a/src/intel/genxml/gen20.xml +++ b/src/intel/genxml/gen20.xml @@ -2,6 +2,7 @@ + @@ -151,6 +152,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/intel/isl/isl_surface_state.c b/src/intel/isl/isl_surface_state.c index deac7fcf185..eb3eafdba00 100644 --- a/src/intel/isl/isl_surface_state.c +++ b/src/intel/isl/isl_surface_state.c @@ -78,7 +78,13 @@ static const uint32_t isl_encode_multisample_layout[] = { }; #endif -#if GFX_VER >= 12 +#if GFX_VER >= 20 +static const uint32_t isl_encode_aux_mode[] = { + [ISL_AUX_USAGE_NONE] = AUX_NONE, + [ISL_AUX_USAGE_MC] = AUX_NONE, + [ISL_AUX_USAGE_MCS_CCS] = AUX_MCS, +}; +#elif GFX_VER >= 12 static const uint32_t isl_encode_aux_mode[] = { [ISL_AUX_USAGE_NONE] = AUX_NONE, [ISL_AUX_USAGE_MC] = AUX_NONE, @@ -664,7 +670,7 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state, isl_get_render_compression_format(info->surf->format); } #endif -#if GFX_VER >= 12 +#if GFX_VER == 12 s.MemoryCompressionEnable = info->aux_usage == ISL_AUX_USAGE_MC; /* The Tiger Lake PRM for RENDER_SURFACE_STATE::DecompressInL3 says: @@ -790,11 +796,11 @@ isl_genX(surf_fill_state_s)(const struct isl_device *dev, void *state, if (isl_aux_usage_has_fast_clears(info->aux_usage)) { if (info->use_clear_address) { -#if GFX_VER >= 10 +#if GFX_VER > 10 && GFX_VER < 20 s.ClearValueAddressEnable = true; s.ClearValueAddress = info->clear_address; #else - unreachable("Gfx9 and earlier do not support indirect clear colors"); + unreachable("Only Gfx11 and Gfx12 support indirect clear colors"); #endif }