diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 2716d3c4545..21bfef2b9ae 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -251,8 +251,7 @@ radv_init_dri_debug_options(struct radv_instance *instance) if (driQueryOptionb(&drirc->options, "radv_disable_dcc")) instance->debug_flags |= RADV_DEBUG_NO_DCC; - if (driQueryOptionb(&drirc->options, "radv_rt_wave64")) - instance->perftest_flags |= RADV_PERFTEST_RT_WAVE_64; + drirc->debug.rt_wave64 = driQueryOptionb(&drirc->options, "radv_rt_wave64"); } static void @@ -310,6 +309,12 @@ radv_init_dri_options(struct radv_instance *instance) radv_init_dri_misc_options(instance); } +bool +radv_is_rt_wave64_enabled(const struct radv_instance *instance) +{ + return instance->perftest_flags & RADV_PERFTEST_RT_WAVE_64 || instance->drirc.debug.rt_wave64; +} + static const struct vk_instance_extension_table radv_instance_extensions_supported = { .KHR_device_group_creation = true, .KHR_external_fence_capabilities = true, diff --git a/src/amd/vulkan/radv_instance.h b/src/amd/vulkan/radv_instance.h index 9e9685a3e45..5914a9cbd40 100644 --- a/src/amd/vulkan/radv_instance.h +++ b/src/amd/vulkan/radv_instance.h @@ -59,6 +59,7 @@ struct radv_drirc { bool zero_vram; bool wait_for_vm_map_updates; bool no_implicit_varying_subgroup_size; + bool rt_wave64; char *app_layer; int override_uniform_offset_alignment; } debug; @@ -110,4 +111,6 @@ const char *radv_get_debug_option_name(int id); const char *radv_get_perftest_option_name(int id); +bool radv_is_rt_wave64_enabled(const struct radv_instance *instance); + #endif /* RADV_INSTANCE_H */ diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index a1c7fc73ac1..702cd19eb32 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -2436,7 +2436,7 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm if (instance->perftest_flags & RADV_PERFTEST_RT_WAVE_32 || pdev->info.gfx_level < GFX11) pdev->rt_wave_size = 32; - if (instance->perftest_flags & RADV_PERFTEST_RT_WAVE_64) + if (radv_is_rt_wave64_enabled(instance)) pdev->rt_wave_size = 64; }