From f7af64cece110987079b43b1deaf18f7d73fa2ec Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sat, 21 Dec 2024 09:03:50 -0800 Subject: [PATCH] freedreno/a6xx: Add nolrzfc debug option Add option to disable lrz fast-clear. Signed-off-by: Rob Clark Part-of: --- src/gallium/drivers/freedreno/a6xx/fd6_resource.cc | 3 ++- src/gallium/drivers/freedreno/freedreno_screen.c | 1 + src/gallium/drivers/freedreno/freedreno_util.h | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_resource.cc b/src/gallium/drivers/freedreno/a6xx/fd6_resource.cc index fd46a8027a8..28c7dc649fa 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_resource.cc +++ b/src/gallium/drivers/freedreno/a6xx/fd6_resource.cc @@ -268,7 +268,8 @@ setup_lrz(struct fd_resource *rsc) * on A7XX (HW limitation) */ bool has_lrz_fc = screen->info->a6xx.enable_lrz_fast_clear && - lrz_fc_size <= fd_lrzfc_layout::FC_SIZE; + lrz_fc_size <= fd_lrzfc_layout::FC_SIZE && + !FD_DBG(NOLRZFC); /* Allocate a LRZ fast-clear buffer even if we aren't using FC, if the * hw is re-using this buffer for direction tracking diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 907da52c6d7..d7a0ced08f5 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -62,6 +62,7 @@ static const struct debug_named_value fd_debug_options[] = { {"sysmem", FD_DBG_SYSMEM, "Use sysmem only rendering (no tiling)"}, {"serialc", FD_DBG_SERIALC, "Disable asynchronous shader compile"}, {"shaderdb", FD_DBG_SHADERDB, "Enable shaderdb output"}, + {"nolrzfc", FD_DBG_NOLRZFC, "Disable LRZ fast-clear"}, {"flush", FD_DBG_FLUSH, "Force flush after every draw"}, {"inorder", FD_DBG_INORDER, "Disable reordering for draws/blits"}, {"bstat", FD_DBG_BSTAT, "Print batch stats at context destroy"}, diff --git a/src/gallium/drivers/freedreno/freedreno_util.h b/src/gallium/drivers/freedreno/freedreno_util.h index 683ea43c486..543e4dd7c5d 100644 --- a/src/gallium/drivers/freedreno/freedreno_util.h +++ b/src/gallium/drivers/freedreno/freedreno_util.h @@ -67,7 +67,7 @@ enum fd_debug_flag { FD_DBG_SERIALC = BITFIELD_BIT(10), FD_DBG_SHADERDB = BITFIELD_BIT(11), FD_DBG_FLUSH = BITFIELD_BIT(12), - /* BIT(13) */ + FD_DBG_NOLRZFC = BITFIELD_BIT(13), FD_DBG_INORDER = BITFIELD_BIT(14), FD_DBG_BSTAT = BITFIELD_BIT(15), FD_DBG_NOGROW = BITFIELD_BIT(16),