From: Friedrich Vock Date: Sun, 11 Jun 2023 13:47:50 +0000 (+0200) Subject: radv: Add driconf to force wave64 for RT X-Git-Tag: upstream/23.3.3~7163 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=496ea57d418f8d44da8b66567e4b32a2e7ce967b;p=platform%2Fupstream%2Fmesa.git radv: Add driconf to force wave64 for RT ...and enable it for Hellblade: Senua's Sacrifice. Reviewed-by: Konstantin Seurer Part-of: --- diff --git a/src/amd/vulkan/radv_instance.c b/src/amd/vulkan/radv_instance.c index 1204a80..5c97955 100644 --- a/src/amd/vulkan/radv_instance.c +++ b/src/amd/vulkan/radv_instance.c @@ -146,6 +146,7 @@ static const driOptionDescription radv_dri_options[] = { DRI_CONF_RADV_TEX_NON_UNIFORM(false) DRI_CONF_RADV_RT(false) DRI_CONF_RADV_FLUSH_BEFORE_TIMESTAMP_WRITE(false) + DRI_CONF_RADV_RT_WAVE64(false) DRI_CONF_RADV_APP_LAYER() DRI_CONF_SECTION_END }; @@ -207,6 +208,8 @@ radv_init_dri_options(struct radv_instance *instance) instance->flush_before_timestamp_write = driQueryOptionb(&instance->dri_options, "radv_flush_before_timestamp_write"); + + instance->force_rt_wave64 = driQueryOptionb(&instance->dri_options, "radv_rt_wave64"); } static const struct vk_instance_extension_table radv_instance_extensions_supported = { diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index afe8755..fce403e 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -2061,7 +2061,7 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm * problematic) */ if (!(device->instance->perftest_flags & RADV_PERFTEST_RT_WAVE_64) && - device->rad_info.gfx_level < GFX11) + !(device->instance->force_rt_wave64) && device->rad_info.gfx_level < GFX11) device->rt_wave_size = 32; } diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index c7ed6b3..01b7a09 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -416,6 +416,7 @@ struct radv_instance { bool enable_unified_heap_on_apu; bool tex_non_uniform; bool flush_before_timestamp_write; + bool force_rt_wave64; char *app_layer; }; diff --git a/src/util/00-radv-defaults.conf b/src/util/00-radv-defaults.conf index f127955..7ff99aa 100644 --- a/src/util/00-radv-defaults.conf +++ b/src/util/00-radv-defaults.conf @@ -156,6 +156,12 @@ Application bugs worked around in this file: