From 8aa735e856559705d6b28ceae59c47588e05a64b Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 25 May 2021 14:09:15 +0200 Subject: [PATCH] radv: add few new drirc options Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/radv_device.c | 16 ++++++++++++++++ src/util/driconf.h | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 0f36f06..83a2e5d 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -885,8 +885,20 @@ radv_handle_per_app_options(struct radv_instance *instance, const VkApplicationI instance->absolute_depth_bias = driQueryOptionb(&instance->dri_options, "radv_absolute_depth_bias"); + instance->disable_tc_compat_htile_in_general = + driQueryOptionb(&instance->dri_options, "radv_disable_tc_compat_htile_general"); + if (driQueryOptionb(&instance->dri_options, "radv_no_dynamic_bounds")) instance->debug_flags |= RADV_DEBUG_NO_DYNAMIC_BOUNDS; + + if (driQueryOptionb(&instance->dri_options, "radv_zero_vram")) + instance->debug_flags |= RADV_DEBUG_ZERO_VRAM; + + if (driQueryOptionb(&instance->dri_options, "radv_lower_discard_to_demote")) + instance->debug_flags |= RADV_DEBUG_DISCARD_TO_DEMOTE; + + if (driQueryOptionb(&instance->dri_options, "radv_invariant_geom")) + instance->debug_flags |= RADV_DEBUG_INVARIANT_GEOM; } // clang-format off @@ -907,6 +919,10 @@ static const driOptionDescription radv_dri_options[] = { DRI_CONF_SECTION_DEBUG DRI_CONF_OVERRIDE_VRAM_SIZE() DRI_CONF_VK_WSI_FORCE_BGRA8_UNORM_FIRST(false) + DRI_CONF_RADV_ZERO_VRAM(false) + DRI_CONF_RADV_LOWER_DISCARD_TO_DEMOTE(false) + DRI_CONF_RADV_INVARIANT_GEOM(false) + DRI_CONF_RADV_DISABLE_TC_COMPAT_HTILE_GENERAL(false) DRI_CONF_SECTION_END }; // clang-format on diff --git a/src/util/driconf.h b/src/util/driconf.h index 66a6116..248ab2d 100644 --- a/src/util/driconf.h +++ b/src/util/driconf.h @@ -489,4 +489,20 @@ DRI_CONF_OPT_I(radv_override_uniform_offset_alignment, def, 0, 128, \ "Override the minUniformBufferOffsetAlignment exposed to the application. (0 = default)") +#define DRI_CONF_RADV_ZERO_VRAM(def) \ + DRI_CONF_OPT_B(radv_zero_vram, def, \ + "Initialize to zero all VRAM allocations") + +#define DRI_CONF_RADV_LOWER_DISCARD_TO_DEMOTE(def) \ + DRI_CONF_OPT_B(radv_lower_discard_to_demote, def, \ + "Lower discard instructions to demote") + +#define DRI_CONF_RADV_INVARIANT_GEOM(def) \ + DRI_CONF_OPT_B(radv_invariant_geom, def, \ + "Mark geometry-affecting outputs as invariant") + +#define DRI_CONF_RADV_DISABLE_TC_COMPAT_HTILE_GENERAL(def) \ + DRI_CONF_OPT_B(radv_disable_tc_compat_htile_general, def, \ + "Disable TC-compat HTILE in GENERAL layout") + #endif -- 2.7.4