From 00df55cdc9d14839bd77bbf5007a6683cfeca12a Mon Sep 17 00:00:00 2001 From: Dongwon Kim Date: Thu, 27 Jun 2019 09:54:35 -0700 Subject: [PATCH] i965: disable repacking for compression for applicable gen set bit15 (Disable Repacking for Compression) of CACHE_MODE_0 register if the gen attribute, 'disable_ccs_repack' is set. Signed-off-by: Dongwon Kim Reviewed-by: Anuj Phogat --- src/mesa/drivers/dri/i965/brw_defines.h | 1 + src/mesa/drivers/dri/i965/brw_state_upload.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index f0096e996b5..60052ee6f5f 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -1576,6 +1576,7 @@ enum brw_pixel_shader_coverage_mask_mode { # define GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC (1 << 1) # define GEN8_HIZ_PMA_MASK_BITS \ REG_MASK(GEN8_HIZ_NP_PMA_FIX_ENABLE | GEN8_HIZ_NP_EARLY_Z_FAILS_DISABLE) +# define GEN11_DISABLE_REPACKING_FOR_COMPRESSION (1 << 15) #define GEN7_GT_MODE 0x7008 # define GEN9_SUBSLICE_HASHING_8x8 (0 << 8) diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index c41d9551a1e..041bf159d5a 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -115,6 +115,15 @@ brw_upload_initial_gpu_state(struct brw_context *brw) REG_MASK(GEN11_STATE_CACHE_REDIRECT_TO_CS_SECTION_ENABLE)); } + /* hardware specification recommends disabling repacking for + * the compatibility with decompression mechanism in display controller. + */ + if (devinfo->disable_ccs_repack) { + brw_load_register_imm32(brw, GEN7_CACHE_MODE_0, + GEN11_DISABLE_REPACKING_FOR_COMPRESSION | + REG_MASK(GEN11_DISABLE_REPACKING_FOR_COMPRESSION)); + } + if (devinfo->gen == 10 || devinfo->gen == 11) { /* From gen10 workaround table in h/w specs: * -- 2.30.2