From a177788f6adafe65ec4ad247e4079ab5e70ace96 Mon Sep 17 00:00:00 2001 From: Mark Collins Date: Mon, 6 Jan 2025 18:09:48 +0000 Subject: [PATCH] tu/lrz: Check for TU_DEBUG(nolrz) late Currently the `nolrz` TU_DEBUG options are only checked during device creation and image creation, respectively. This means that if the options are enabled after the device/image is created, LRZ will still be used. Similarly, if the options are disabled after the device/image is created, LRZ will still be disabled. This change moves the checks to the point where the LRZ is actually used, allowing for runtime toggling of LRZ. Signed-off-by: Mark Collins Part-of: --- src/freedreno/vulkan/tu_device.cc | 2 +- src/freedreno/vulkan/tu_lrz.cc | 2 +- src/freedreno/vulkan/tu_util.cc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/freedreno/vulkan/tu_device.cc b/src/freedreno/vulkan/tu_device.cc index 582a8805e0e..7b18dcf24f9 100644 --- a/src/freedreno/vulkan/tu_device.cc +++ b/src/freedreno/vulkan/tu_device.cc @@ -2742,7 +2742,7 @@ tu_CreateDevice(VkPhysicalDevice physicalDevice, physical_device->info->a6xx.has_z24uint_s8uint && (!border_color_without_format || physical_device->instance->disable_d24s8_border_color_workaround); - device->use_lrz = !TU_DEBUG(NOLRZ); + device->use_lrz = !TU_DEBUG_ENV(NOLRZ); tu_gpu_tracepoint_config_variable(); diff --git a/src/freedreno/vulkan/tu_lrz.cc b/src/freedreno/vulkan/tu_lrz.cc index dc7a757db14..877762e9483 100644 --- a/src/freedreno/vulkan/tu_lrz.cc +++ b/src/freedreno/vulkan/tu_lrz.cc @@ -309,7 +309,7 @@ tu_lrz_begin_renderpass(struct tu_cmd_buffer *cmd) /* Track LRZ valid state */ tu_lrz_begin_resumed_renderpass(cmd); - if (!cmd->state.lrz.valid) { + if (!cmd->state.lrz.valid || TU_DEBUG(NOLRZ)) { tu6_write_lrz_cntl(cmd, &cmd->cs, {}); tu6_emit_lrz_buffer(&cmd->cs, NULL); } diff --git a/src/freedreno/vulkan/tu_util.cc b/src/freedreno/vulkan/tu_util.cc index d53da68e42b..86ec45f9519 100644 --- a/src/freedreno/vulkan/tu_util.cc +++ b/src/freedreno/vulkan/tu_util.cc @@ -57,7 +57,7 @@ static const struct debug_control tu_debug_options[] = { */ const uint32_t tu_runtime_debug_flags = TU_DEBUG_NIR | TU_DEBUG_NOBIN | TU_DEBUG_SYSMEM | TU_DEBUG_GMEM | - TU_DEBUG_FORCEBIN | TU_DEBUG_LAYOUT | TU_DEBUG_NOLRZFC | + TU_DEBUG_FORCEBIN | TU_DEBUG_LAYOUT | TU_DEBUG_NOLRZ | TU_DEBUG_NOLRZFC | TU_DEBUG_PERF | TU_DEBUG_FLUSHALL | TU_DEBUG_SYNCDRAW | TU_DEBUG_RAST_ORDER | TU_DEBUG_UNALIGNED_STORE | TU_DEBUG_LOG_SKIP_GMEM_OPS | TU_DEBUG_3D_LOAD | TU_DEBUG_FDM |