util: add a separate file for ANV drirc

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41731>
This commit is contained in:
Samuel Pitoiset 2026-05-21 16:08:38 +02:00 committed by Marge Bot
parent 85ac866f5e
commit fc7da599fa
3 changed files with 237 additions and 230 deletions

View file

@ -0,0 +1,233 @@
<?xml version="1.0"?>
<driconf>
<device driver="anv">
<application name="Aperture Desk Job" executable="deskjob">
<option name="anv_assume_full_subgroups" value="32" />
</application>
<application name="A Plague Tale : Requiem" executable="APlagueTaleRequiem_x64.exe">
<option name="intel_storage_cache_policy_wt" value="true" />
</application>
<application name="Breaking Limit" executable="GPUScoreVulkan">
<option name="anv_assume_full_subgroups_with_barrier" value="true" />
</application>
<application name="Detroit: Become Human" executable="DetroitBecomeHuman.exe">
<option name="anv_assume_full_subgroups" value="32" />
</application>
<application name="DOOMEternal" executable="DOOMEternalx64vk.exe">
<option name="anv_assume_full_subgroups" value="32" />
<option name="fp64_workaround_enabled" value="true" />
</application>
<application name="Drive Beyond Horizons" executable="DriveBeyondHorizons.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Farming Simulator 2022" executable="FarmingSimulator2022Game.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="The Last Of Us Part I" executable="tlou-i.exe">
<option name="anv_large_workgroup_non_coherent_image_workaround" value="true" />
</application>
<application name="The Last Of Us Part II Remastered" executable="tlou-ii.exe">
<option name="anv_large_workgroup_non_coherent_image_workaround" value="true" />
</application>
<application name="RESIDENT EVIL 2" executable="re2.exe">
<option name="anv_assume_full_subgroups_with_shared_memory" value="true" />
</application>
<application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Batman™: Arkham Knight" executable="BatmanAK.exe">
<option name="anv_sample_mask_out_opengl_behaviour" value="true"/>
</application>
<application name="Company of Heroes 3" executable="RelicCoH3.exe">
<option name="limit_trig_input_range" value="true"/>
</application>
<application name="Rise of the Tomb Raider" executable="RiseOfTheTombRaider">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Rise of the Tomb Raider" executable="ROTTR.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Sky: Children of the Light" executable="Sky.exe">
<option name="vk_lower_terminate_to_discard" value="true" />
</application>
<application name="Monster Hunter Wilds" executable="MonsterHunterWilds.exe">
<option name="anv_disable_link_time_optimization" value="true" />
</application>
<application name="NieR Replicant ver.1.22474487139" executable="NieR Replicant ver.1.22474487139.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="NieR:Automata" executable="NieRAutomata.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Valheim" executable="valheim.x86_64">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Cyberpunk 2077" executable="Cyberpunk2077.exe">
<!--
Cyberpunk 2077 uses a watchdog thread to terminate
the process in case the render thread hasn't responded within 2 minutes.
This option speeds up shader compilation.
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9241
-->
<option name="shader_spilling_rate" value="15" />
</application>
<application name="Elden Ring" executable="eldenring.exe">
<option name="fake_sparse" value="true" />
</application>
<application name="Armored Core 6" executable="armoredcore6.exe">
<option name="fake_sparse" value="true" />
</application>
<engine engine_name_match="vkd3d|DXVK">
<option name="anv_force_filter_addr_rounding" value="true" />
<option name="anv_promote_cbv_to_push_buffers" value="true" />
</engine>
<!-- Needed to avoid XeSS code paths. -->
<application name="Marvel's Spider-Man Remastered" executable="Spider-Man.exe">
<option name="force_vk_vendor" value="-1" />
<option name="shader_spilling_rate" value="0" />
</application>
<application name="Hitman 3" executable="hitman3.exe">
<option name="force_vk_vendor" value="-1"/>
</application>
<application name="Hogwarts Legacy" executable="HogwartsLegacy.exe">
<option name="force_vk_vendor" value="-1" />
<option name="intel_storage_cache_policy_wt" value="true" />
</application>
<application name="DEATH STRANDING" executable="ds.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Diablo IV" executable="Diablo IV.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Faaast Penguin" executable="FaaastPenguinClient.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Satisfactory Steam" executable="FactoryGameSteam-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Satisfactory EGS" executable="FactoryGameEGS-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Space Engineers 2" executable="SpaceEngineers2.exe">
<option name="intel_storage_cache_policy_wt" value="true" />
</application>
<application name="Dying Light 2" executable="DyingLightGame_x64_rwdi.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Witcher3" executable="witcher3.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Baldur's Gate 3" executable="bg3.exe">
<option name="anv_disable_fcv" value="true" />
</application>
<application name="Baldur's Gate 3" executable="bg3">
<option name="anv_brw_disable_subgroup_size_control" value="true" />
</application>
<application name="The Finals" executable="Discovery.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Palworld2" executable="Palworld-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Red Dead Redemption 2" executable="RDR2.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Shadow of the Tomb Raider" executable="SOTTR.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Silent Hill 2" executable="SHProto-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Marvel Rivals" executable="Marvel-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Bellwright" executable="BellwrightGame-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="A Game About Digging A Hole" executable="DiggingGame.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Jusant" executable="ASC-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1"/>
</application>
<application name="DIRT 5" executable="DIRT5.exe">
<option name="fp64_workaround_enabled" value="true" />
</application>
<application name="X4 Foundations" executable="X4">
<option name="anv_upper_bound_descriptor_pool_sampler" value="true" />
</application>
<application name="Total War: WARHAMMER III" executable="TotalWarhammer3">
<option name="anv_fake_nonlocal_memory" value="true" />
<option name="anv_enable_opt_divergent_atomics" value="1" />
</application>
<application name="Total War: WARHAMMER III" executable="Warhammer3.exe">
<option name="anv_enable_opt_divergent_atomics" value="1" />
</application>
<application name="The Elder Scrolls IV: Oblivion Remastered" executable="OblivionRemastered-Win.exe">
<option name="anv_enable_opt_divergent_atomics" value="1" />
</application>
<application name="Call of Duty: Black Ops III" executable="BlackOps3.exe">
<option name="anv_enable_opt_divergent_atomics" value="1" />
</application>
<application name="Horizon Forbidden West" executable="HorizonForbiddenWest.exe">
<!-- Missing barrier between clear/init shader & write
shader.
-->
<option name="anv_barrier_post_untyped_clear_shader" value="true" />
</application>
<application name="Blender" executable="blender">
<!-- Virtual shadow mapping page tagging in compute shaders
benefits from divergent atomics fusion, while fragment
shaders doing the atomic raster step in general have worse
performance with this optimization turned on. -->
<option name="anv_enable_opt_divergent_atomics_compute_only" value="1" />
</application>
<!-- Source2 games seem confused by the CCS-only memory type being
restricted to images, so allow it for buffers. More details on
the issue:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/11520 -->
<engine engine_name_match="Source2">
<option name="anv_enable_buffer_comp" value="true" />
</engine>
<!-- Many DX12 games get a speedup by enabling buffer compression. -->
<engine engine_name_match="vkd3d">
<option name="anv_enable_buffer_comp" value="true" />
</engine>
<engine engine_name_match="GTK">
<option name="anv_disable_drm_ccs_modifiers" value="true" />
</engine>
<engine engine_name_match="GTK" engine_versions="16777216:16859138">
<option name="vk_wsi_disable_unordered_submits" value="true" />
</engine>
<!--
Disable 16-bit feature on zink and angle so that GLES mediump doesn't
lower to our inefficent 16-bit shader support. No need to do so for
ANGLE, since it uses RelaxedPrecision decorations, which the intel
compiler ignores.
-->
<engine engine_name_match="mesa zink">
<option name="no_16bit" value="true" />
</engine>
<!-- Disable FCV optimization for Unreal Engine 5.1 workloads. -->
<engine engine_name_match="UnrealEngine5.1">
<option name="anv_disable_fcv" value="true" />
<option name="anv_assume_full_subgroups" value="16" />
</engine>
<!-- We trust vkd3d to not disable compression all the time. -->
<engine engine_name_match="vkd3d">
<option name="compression_control_enabled" value="true" />
<option name="anv_enable_fully_covered" value="true" />
</engine>
<engine engine_name_match="ANGLE">
<option name="custom_border_colors_without_format" value="true" />
</engine>
<!-- Only use binding table entries for render targets. -->
<engine engine_name_match="vkd3d">
<option name="anv_state_cache_perf_fix" value="true" />
</engine>
<application name="Split Fiction" executable="SplitFiction.exe">
<!-- Problematic shader: dxil:2b33f0608c02f754 (TODO: there could be others) -->
<option name="anv_fs_sampler_undef_derivatives_workaround" value="true" />
</application>
</device>
</driconf>

View file

@ -977,236 +977,6 @@ TODO: document the other workarounds.
<option name="no_16bit" value="true" />
</engine>
</device>
<device driver="anv">
<application name="Aperture Desk Job" executable="deskjob">
<option name="anv_assume_full_subgroups" value="32" />
</application>
<application name="A Plague Tale : Requiem" executable="APlagueTaleRequiem_x64.exe">
<option name="intel_storage_cache_policy_wt" value="true" />
</application>
<application name="Breaking Limit" executable="GPUScoreVulkan">
<option name="anv_assume_full_subgroups_with_barrier" value="true" />
</application>
<application name="Detroit: Become Human" executable="DetroitBecomeHuman.exe">
<option name="anv_assume_full_subgroups" value="32" />
</application>
<application name="DOOMEternal" executable="DOOMEternalx64vk.exe">
<option name="anv_assume_full_subgroups" value="32" />
<option name="fp64_workaround_enabled" value="true" />
</application>
<application name="Drive Beyond Horizons" executable="DriveBeyondHorizons.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Farming Simulator 2022" executable="FarmingSimulator2022Game.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="The Last Of Us Part I" executable="tlou-i.exe">
<option name="anv_large_workgroup_non_coherent_image_workaround" value="true" />
</application>
<application name="The Last Of Us Part II Remastered" executable="tlou-ii.exe">
<option name="anv_large_workgroup_non_coherent_image_workaround" value="true" />
</application>
<application name="RESIDENT EVIL 2" executable="re2.exe">
<option name="anv_assume_full_subgroups_with_shared_memory" value="true" />
</application>
<application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Batman™: Arkham Knight" executable="BatmanAK.exe">
<option name="anv_sample_mask_out_opengl_behaviour" value="true"/>
</application>
<application name="Company of Heroes 3" executable="RelicCoH3.exe">
<option name="limit_trig_input_range" value="true"/>
</application>
<application name="Rise of the Tomb Raider" executable="RiseOfTheTombRaider">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Rise of the Tomb Raider" executable="ROTTR.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Sky: Children of the Light" executable="Sky.exe">
<option name="vk_lower_terminate_to_discard" value="true" />
</application>
<application name="Monster Hunter Wilds" executable="MonsterHunterWilds.exe">
<option name="anv_disable_link_time_optimization" value="true" />
</application>
<application name="NieR Replicant ver.1.22474487139" executable="NieR Replicant ver.1.22474487139.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="NieR:Automata" executable="NieRAutomata.exe">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Valheim" executable="valheim.x86_64">
<option name="limit_trig_input_range" value="true" />
</application>
<application name="Cyberpunk 2077" executable="Cyberpunk2077.exe">
<!--
Cyberpunk 2077 uses a watchdog thread to terminate
the process in case the render thread hasn't responded within 2 minutes.
This option speeds up shader compilation.
See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9241
-->
<option name="shader_spilling_rate" value="15" />
</application>
<application name="Elden Ring" executable="eldenring.exe">
<option name="fake_sparse" value="true" />
</application>
<application name="Armored Core 6" executable="armoredcore6.exe">
<option name="fake_sparse" value="true" />
</application>
<engine engine_name_match="vkd3d|DXVK">
<option name="anv_force_filter_addr_rounding" value="true" />
<option name="anv_promote_cbv_to_push_buffers" value="true" />
</engine>
<!-- Needed to avoid XeSS code paths. -->
<application name="Marvel's Spider-Man Remastered" executable="Spider-Man.exe">
<option name="force_vk_vendor" value="-1" />
<option name="shader_spilling_rate" value="0" />
</application>
<application name="Hitman 3" executable="hitman3.exe">
<option name="force_vk_vendor" value="-1"/>
</application>
<application name="Hogwarts Legacy" executable="HogwartsLegacy.exe">
<option name="force_vk_vendor" value="-1" />
<option name="intel_storage_cache_policy_wt" value="true" />
</application>
<application name="DEATH STRANDING" executable="ds.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Diablo IV" executable="Diablo IV.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Faaast Penguin" executable="FaaastPenguinClient.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Satisfactory Steam" executable="FactoryGameSteam-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Satisfactory EGS" executable="FactoryGameEGS-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Space Engineers 2" executable="SpaceEngineers2.exe">
<option name="intel_storage_cache_policy_wt" value="true" />
</application>
<application name="Dying Light 2" executable="DyingLightGame_x64_rwdi.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Witcher3" executable="witcher3.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Baldur's Gate 3" executable="bg3.exe">
<option name="anv_disable_fcv" value="true" />
</application>
<application name="Baldur's Gate 3" executable="bg3">
<option name="anv_brw_disable_subgroup_size_control" value="true" />
</application>
<application name="The Finals" executable="Discovery.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Palworld2" executable="Palworld-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Red Dead Redemption 2" executable="RDR2.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Shadow of the Tomb Raider" executable="SOTTR.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Silent Hill 2" executable="SHProto-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Marvel Rivals" executable="Marvel-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Bellwright" executable="BellwrightGame-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="A Game About Digging A Hole" executable="DiggingGame.exe">
<option name="force_vk_vendor" value="-1" />
</application>
<application name="Jusant" executable="ASC-Win64-Shipping.exe">
<option name="force_vk_vendor" value="-1"/>
</application>
<application name="DIRT 5" executable="DIRT5.exe">
<option name="fp64_workaround_enabled" value="true" />
</application>
<application name="X4 Foundations" executable="X4">
<option name="anv_upper_bound_descriptor_pool_sampler" value="true" />
</application>
<application name="Total War: WARHAMMER III" executable="TotalWarhammer3">
<option name="anv_fake_nonlocal_memory" value="true" />
<option name="anv_enable_opt_divergent_atomics" value="1" />
</application>
<application name="Total War: WARHAMMER III" executable="Warhammer3.exe">
<option name="anv_enable_opt_divergent_atomics" value="1" />
</application>
<application name="The Elder Scrolls IV: Oblivion Remastered" executable="OblivionRemastered-Win.exe">
<option name="anv_enable_opt_divergent_atomics" value="1" />
</application>
<application name="Call of Duty: Black Ops III" executable="BlackOps3.exe">
<option name="anv_enable_opt_divergent_atomics" value="1" />
</application>
<application name="Horizon Forbidden West" executable="HorizonForbiddenWest.exe">
<!-- Missing barrier between clear/init shader & write
shader.
-->
<option name="anv_barrier_post_untyped_clear_shader" value="true" />
</application>
<application name="Blender" executable="blender">
<!-- Virtual shadow mapping page tagging in compute shaders
benefits from divergent atomics fusion, while fragment
shaders doing the atomic raster step in general have worse
performance with this optimization turned on. -->
<option name="anv_enable_opt_divergent_atomics_compute_only" value="1" />
</application>
<!-- Source2 games seem confused by the CCS-only memory type being
restricted to images, so allow it for buffers. More details on
the issue:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/11520 -->
<engine engine_name_match="Source2">
<option name="anv_enable_buffer_comp" value="true" />
</engine>
<!-- Many DX12 games get a speedup by enabling buffer compression. -->
<engine engine_name_match="vkd3d">
<option name="anv_enable_buffer_comp" value="true" />
</engine>
<engine engine_name_match="GTK">
<option name="anv_disable_drm_ccs_modifiers" value="true" />
</engine>
<engine engine_name_match="GTK" engine_versions="16777216:16859138">
<option name="vk_wsi_disable_unordered_submits" value="true" />
</engine>
<!--
Disable 16-bit feature on zink and angle so that GLES mediump doesn't
lower to our inefficent 16-bit shader support. No need to do so for
ANGLE, since it uses RelaxedPrecision decorations, which the intel
compiler ignores.
-->
<engine engine_name_match="mesa zink">
<option name="no_16bit" value="true" />
</engine>
<!-- Disable FCV optimization for Unreal Engine 5.1 workloads. -->
<engine engine_name_match="UnrealEngine5.1">
<option name="anv_disable_fcv" value="true" />
<option name="anv_assume_full_subgroups" value="16" />
</engine>
<!-- We trust vkd3d to not disable compression all the time. -->
<engine engine_name_match="vkd3d">
<option name="compression_control_enabled" value="true" />
<option name="anv_enable_fully_covered" value="true" />
</engine>
<engine engine_name_match="ANGLE">
<option name="custom_border_colors_without_format" value="true" />
</engine>
<!-- Only use binding table entries for render targets. -->
<engine engine_name_match="vkd3d">
<option name="anv_state_cache_perf_fix" value="true" />
</engine>
<application name="Split Fiction" executable="SplitFiction.exe">
<!-- Problematic shader: dxil:2b33f0608c02f754 (TODO: there could be others) -->
<option name="anv_fs_sampler_undef_derivatives_workaround" value="true" />
</application>
</device>
<device driver="dzn">
<application name="DOOMEternal" executable="DOOMEternalx64vk.exe">
<option name="dzn_enable_8bit_loads_stores" value="true" />

View file

@ -217,6 +217,10 @@ if with_amd_vk
files_drirc += files('00-radv-defaults.conf')
endif
if with_intel_vk
files_drirc += files('00-anv-defaults.conf')
endif
if with_freedreno_vk
files_drirc += files('00-turnip-defaults.conf')
endif