radv: move misc related drirc to radv_drirc::misc

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37145>
This commit is contained in:
Samuel Pitoiset 2025-09-02 18:31:36 +02:00 committed by Marge Bot
parent 8e4d5743d2
commit 44541e84e9
4 changed files with 29 additions and 21 deletions

View file

@ -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 = {

View file

@ -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 {

View file

@ -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;

View file

@ -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