From 8c689e9bcb2cfc1894fdcfe5252c4103e1a2aca0 Mon Sep 17 00:00:00 2001 From: Casey Bowman Date: Thu, 11 Jun 2026 20:12:41 -0700 Subject: [PATCH] anv: Add option to disable HiZ via drirc Allows per-app disabling of HiZ if a case arises where HiZ is significantly slowing down a workload. This option should not be the resulting fix for when such cases arise, but can serve as a temporary band-aid while a proper solution is fleshed out. Signed-off-by: Casey Bowman Reviewed-by: Nanley Chery Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/vulkan/anv_drirc_gen.py | 3 +++ src/intel/vulkan/anv_image.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/intel/vulkan/anv_drirc_gen.py b/src/intel/vulkan/anv_drirc_gen.py index 3b31a2dc18a..b73cceba9f8 100644 --- a/src/intel/vulkan/anv_drirc_gen.py +++ b/src/intel/vulkan/anv_drirc_gen.py @@ -116,6 +116,9 @@ def declare_options(android_version): B("anv_write_lookup_maps_unconditionally", False, "Unconditionally write lookup maps for BLAS update operation", c_name="write_lookup_maps_unconditionally"), + B("anv_disable_hiz", False, + "Disable HiZ (equivalent to INTEL_DEBUG=nohiz). Should only be used as a temporary solution", + c_name="disable_hiz"), # Workaround command emission B("anv_barrier_post_untyped_clear_shader", False, diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index 9fbf48b61e1..23122425d14 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -305,6 +305,11 @@ anv_image_choose_isl_surf_usage(struct anv_physical_device *device, switch (aspect) { case VK_IMAGE_ASPECT_DEPTH_BIT: isl_usage |= ISL_SURF_USAGE_DEPTH_BIT; + if (device->instance->drirc.debug.disable_hiz) { + anv_perf_warn(VK_LOG_OBJS(&device->vk.base), + "Disabling aux: HiZ disabled via drirc"); + isl_usage |= ISL_SURF_USAGE_DISABLE_AUX_BIT; + } break; case VK_IMAGE_ASPECT_STENCIL_BIT: isl_usage |= ISL_SURF_USAGE_STENCIL_BIT;