From 44541e84e9b7e2a5993de01df183a4191bd86c13 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 2 Sep 2025 18:31:36 +0200 Subject: [PATCH] radv: move misc related drirc to radv_drirc::misc Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_instance.c | 26 ++++++++++++++++---------- src/amd/vulkan/radv_instance.h | 12 +++++++----- src/amd/vulkan/radv_physical_device.c | 4 ++-- src/amd/vulkan/radv_pipeline.c | 8 ++++---- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 691583b1a2c..2e5c52085a3 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -271,6 +271,21 @@ radv_init_dri_features_options(struct radv_instance *instance) drirc->features.vk_require_astc = driQueryOptionb(&drirc->options, "vk_require_astc"); } +static void +radv_init_dri_misc_options(struct radv_instance *instance) +{ + struct radv_drirc *drirc = &instance->drirc; + + drirc->misc.clear_lds = driQueryOptionb(&drirc->options, "radv_clear_lds"); + drirc->misc.override_vram_size = driQueryOptioni(&drirc->options, "override_vram_size"); + drirc->misc.override_graphics_shader_version = + driQueryOptioni(&drirc->options, "radv_override_graphics_shader_version"); + drirc->misc.override_compute_shader_version = + driQueryOptioni(&drirc->options, "radv_override_compute_shader_version"); + drirc->misc.override_ray_tracing_shader_version = + driQueryOptioni(&drirc->options, "radv_override_ray_tracing_shader_version"); +} + static void radv_init_dri_options(struct radv_instance *instance) { @@ -284,16 +299,7 @@ radv_init_dri_options(struct radv_instance *instance) radv_init_dri_debug_options(instance); radv_init_dri_performance_options(instance); radv_init_dri_features_options(instance); - - drirc->clear_lds = driQueryOptionb(&drirc->options, "radv_clear_lds"); - - drirc->override_graphics_shader_version = driQueryOptioni(&drirc->options, "radv_override_graphics_shader_version"); - drirc->override_compute_shader_version = driQueryOptioni(&drirc->options, "radv_override_compute_shader_version"); - drirc->override_ray_tracing_shader_version = - driQueryOptioni(&drirc->options, "radv_override_ray_tracing_shader_version"); - - drirc->override_vram_size = driQueryOptioni(&drirc->options, "override_vram_size"); - + radv_init_dri_misc_options(instance); } static const struct vk_instance_extension_table radv_instance_extensions_supported = { diff --git a/src/amd/vulkan/radv_instance.h b/src/amd/vulkan/radv_instance.h index adb931f9a8c..bb1d3baee13 100644 --- a/src/amd/vulkan/radv_instance.h +++ b/src/amd/vulkan/radv_instance.h @@ -76,11 +76,13 @@ struct radv_drirc { bool vk_require_etc2; } features; - bool clear_lds; - uint8_t override_graphics_shader_version; - uint8_t override_compute_shader_version; - uint8_t override_ray_tracing_shader_version; - int override_vram_size; + struct { + bool clear_lds; + int override_vram_size; + uint8_t override_compute_shader_version; + uint8_t override_graphics_shader_version; + uint8_t override_ray_tracing_shader_version; + } misc; }; struct radv_instance { diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index 76faa3a5d99..f7eefcb4dc9 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -209,7 +209,7 @@ radv_physical_device_init_cache_key(struct radv_physical_device *pdev) key->ptr_size = sizeof(void *); key->conformant_trunc_coord = pdev->info.conformant_trunc_coord; - key->clear_lds = instance->drirc.clear_lds; + key->clear_lds = instance->drirc.misc.clear_lds; key->cs_wave32 = pdev->cs_wave_size == 32; key->disable_aniso_single_level = instance->drirc.debug.disable_aniso_single_level && pdev->info.gfx_level < GFX8; key->disable_shrink_image_store = instance->drirc.debug.disable_shrink_image_store; @@ -329,7 +329,7 @@ static uint64_t radv_get_adjusted_vram_size(struct radv_physical_device *pdev) { const struct radv_instance *instance = radv_physical_device_instance(pdev); - int ov = instance->drirc.override_vram_size; + int ov = instance->drirc.misc.override_vram_size; if (ov >= 0) return MIN2((uint64_t)pdev->info.vram_size_kb * 1024, (uint64_t)ov << 20); return (uint64_t)pdev->info.vram_size_kb * 1024; diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index f0563f3780a..d7b4108a2ec 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -146,12 +146,12 @@ radv_pipeline_get_shader_key(const struct radv_device *device, const VkPipelineS key.indirect_bindable = 1; if (stage->stage & RADV_GRAPHICS_STAGE_BITS) { - key.version = instance->drirc.override_graphics_shader_version; + key.version = instance->drirc.misc.override_graphics_shader_version; } else if (stage->stage & RADV_RT_STAGE_BITS) { - key.version = instance->drirc.override_ray_tracing_shader_version; + key.version = instance->drirc.misc.override_ray_tracing_shader_version; } else { assert(stage->stage == VK_SHADER_STAGE_COMPUTE_BIT); - key.version = instance->drirc.override_compute_shader_version; + key.version = instance->drirc.misc.override_compute_shader_version; } vk_pipeline_robustness_state_fill(&device->vk, &rs, pNext, stage->pNext); @@ -703,7 +703,7 @@ radv_shader_should_clear_lds(const struct radv_device *device, const nir_shader return (shader->info.stage == MESA_SHADER_COMPUTE || shader->info.stage == MESA_SHADER_MESH || shader->info.stage == MESA_SHADER_TASK) && - shader->info.shared_size > 0 && instance->drirc.clear_lds; + shader->info.shared_size > 0 && instance->drirc.misc.clear_lds; } static uint32_t