mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-21 13:18:09 +02:00
It's now allowed in Vulkan.
Fixes: e47d584fed ("radv: re-introduce DGC+multiview support and enable it for vkd3d-proton only")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41395>
333 lines
15 KiB
XML
333 lines
15 KiB
XML
<?xml version="1.0" standalone="yes"?>
|
|
<!--
|
|
|
|
============================================
|
|
Application bugs worked around in this file:
|
|
============================================
|
|
|
|
-->
|
|
|
|
<!DOCTYPE driconf [
|
|
<!ELEMENT driconf (device+)>
|
|
<!ELEMENT device (application | engine)+>
|
|
<!ATTLIST device driver CDATA #IMPLIED
|
|
device CDATA #IMPLIED>
|
|
<!ELEMENT application (option+)>
|
|
<!ATTLIST application name CDATA #REQUIRED
|
|
executable CDATA #IMPLIED
|
|
executable_regexp CDATA #IMPLIED
|
|
sha1 CDATA #IMPLIED
|
|
application_name_match CDATA #IMPLIED
|
|
application_versions CDATA #IMPLIED>
|
|
<!ELEMENT engine (option+)>
|
|
|
|
<!-- engine_name_match: A regexp matching the engine name -->
|
|
<!-- engine_versions: A version in range format
|
|
(version 1 to 4 : "1:4") -->
|
|
|
|
<!ATTLIST engine engine_name_match CDATA #REQUIRED
|
|
engine_versions CDATA #IMPLIED>
|
|
|
|
<!ELEMENT option EMPTY>
|
|
<!ATTLIST option name CDATA #REQUIRED
|
|
value CDATA #REQUIRED>
|
|
]>
|
|
|
|
<!-- NOTE: `executable` shouldn't be used for shader based drirc workarounds
|
|
because they aren't applied when replaying with Fossilize for precompilation. -->
|
|
<driconf>
|
|
<device driver="radv">
|
|
<!-- Engine workarounds -->
|
|
<engine engine_name_match="vkd3d">
|
|
<option name="radv_zero_vram" value="true" />
|
|
<option name="radv_disable_aniso_single_level" value="true" />
|
|
<option name="radv_disable_trunc_coord" value="true" />
|
|
<option name="radv_cooperative_matrix2_nv" value="true" />
|
|
</engine>
|
|
|
|
<engine engine_name_match="DXVK">
|
|
<option name="radv_disable_aniso_single_level" value="true" />
|
|
<option name="radv_disable_trunc_coord" value="true" />
|
|
</engine>
|
|
|
|
<engine engine_name_match="mesa zink">
|
|
<option name="radv_disable_aniso_single_level" value="true" />
|
|
</engine>
|
|
|
|
<engine engine_name_match="Quantic Dream Engine">
|
|
<option name="radv_zero_vram" value="true" />
|
|
<option name="radv_disable_tc_compat_htile_general" value="true" />
|
|
<option name="radv_app_layer" value="quanticdream" />
|
|
</engine>
|
|
|
|
<engine engine_name_match="^UnrealEngine"> <!-- UE4/5 Vulkan RHI -->
|
|
<option name="radv_flush_before_query_copy" value="true" />
|
|
<option name="radv_flush_before_timestamp_write" value="true" />
|
|
<option name="radv_zero_vram" value="true" />
|
|
</engine>
|
|
|
|
<engine engine_name_match="DXVK_NvRemix">
|
|
<option name="radv_tex_non_uniform" value="true" />
|
|
</engine>
|
|
|
|
<!-- VK_MAKE_VERSION() encode for 4.0.0 to 4.20.2 -->
|
|
<engine engine_name_match="GTK" engine_versions="16777216:16859138">
|
|
<option name="vk_wsi_disable_unordered_submits" value="true" />
|
|
</engine>
|
|
|
|
<!-- Game workarounds -->
|
|
<application name="Shadow Of The Tomb Raider (Native)" application_name_match="ShadowOfTheTomb">
|
|
<option name="radv_report_llvm9_version_string" value="true" />
|
|
<option name="radv_invariant_geom" value="true" />
|
|
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="Shadow Of The Tomb Raider (DX11/DX12)" application_name_match="SOTTR.exe">
|
|
<!-- DXVK and vkd3d-proton both enable invariant position but it's
|
|
disabled for SotTR because it breaks NV more than it helps -->
|
|
<option name="radv_invariant_geom" value="true" />
|
|
<option name="radv_split_fma" value="true" />
|
|
</application>
|
|
|
|
<application name="RAGE 2" application_name_match="Rage 2">
|
|
<option name="radv_enable_mrt_output_nan_fixup" value="true" />
|
|
<option name="radv_app_layer" value="rage2" />
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="The Surge 2" application_name_match="Fledge">
|
|
<option name="radv_disable_shrink_image_store" value="true" />
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="World War Z (and World War Z: Aftermath)" application_name_match="WWZ|wwz">
|
|
<option name="radv_override_uniform_offset_alignment" value="16" />
|
|
<option name="radv_disable_shrink_image_store" value="true" />
|
|
<option name="radv_invariant_geom" value="true" />
|
|
</application>
|
|
|
|
<application name="DOOM VFR" application_name_match="DOOM_VFR">
|
|
<option name="radv_no_dynamic_bounds" value="true" />
|
|
</application>
|
|
|
|
<application name="DOOM Eternal" application_name_match="DOOMEternal">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="Indiana Jones: The Great Circle" application_name_match="TheGreatCircle">
|
|
<option name="radv_zero_vram" value="true" />
|
|
<option name="radv_disable_dcc_stores" value="true" />
|
|
<option name="radv_invariant_geom" value="true" />
|
|
<option name="radv_emulate_rt" value="true" />
|
|
<option name="radv_enable_float16_gfx8" value="true" />
|
|
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="DOOM (2016)" application_name_match="DOOM$">
|
|
<option name="radv_disable_dcc" value="true" />
|
|
<option name="radv_invariant_geom" value="true" />
|
|
</application>
|
|
|
|
<application name="DOOM: The Dark Ages" application_name_match="DOOMTheDarkAges">
|
|
<option name="radv_zero_vram" value="true" />
|
|
<option name="radv_disable_dcc_stores" value="true" />
|
|
<option name="radv_no_implicit_varying_subgroup_size" value="true" />
|
|
</application>
|
|
|
|
<application name="Wolfenstein II" application_name_match="Wolfenstein II The New Colossus">
|
|
<option name="radv_disable_dcc" value="true" />
|
|
</application>
|
|
|
|
<application name="Grid Autosport" application_name_match="GRIDAutosport_avx.exe">
|
|
<option name="radv_disable_sinking_load_input_fs" value="true" />
|
|
</application>
|
|
|
|
<application name="Grid Autosport" application_name_match="GRIDAutosport.exe">
|
|
<option name="radv_disable_sinking_load_input_fs" value="true" />
|
|
</application>
|
|
|
|
<application name="Hammerting" application_name_match="TDTD">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="RDR2" application_name_match="Red Dead Redemption 2">
|
|
<option name="radv_enable_unified_heap_on_apu" value="true" />
|
|
|
|
<!-- Hide resizable (only when detected) and report a carveout of
|
|
256MiB to workaround bad VRAM memory management. -->
|
|
<option name="radv_hide_rebar_on_dgpu" value="true" />
|
|
|
|
<option name="radv_zero_vram" value="true" />
|
|
<!-- Disable DCC for mips to workaround rendering issues because
|
|
the game aliases two images incorrectly. -->
|
|
<option name="radv_disable_dcc_mips" value="true" />
|
|
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="Metro Exodus (Linux native)" application_name_match="metroexodus">
|
|
<option name="radv_app_layer" value="metroexodus" />
|
|
</application>
|
|
|
|
<application name="Hellblade: Senua's Sacrifice" application_name_match="HellbladeGame-Win64-Shipping.exe">
|
|
<!-- RT shaders in Hellblade: Senua's Sacrifice cause misrenders because they assume full subgroups.
|
|
This is only guaranteed with wave64, so force wave64 on for this game. -->
|
|
<option name="radv_rt_wave64" value="true" />
|
|
</application>
|
|
|
|
<application name="War Thunder" application_name_match="WarThunder">
|
|
<option name="radv_invariant_geom" value="true"/>
|
|
</application>
|
|
|
|
<!-- Crysis 2/3 remastered are DX11 games that use Vulkan interop for RT
|
|
and the app/engine (nvpro-sample) seems too generic to apply the
|
|
drirc entry for. The executable name works just fine but that means
|
|
no pre-compilation for the RT shaders. -->
|
|
<application name="Crysis 2 Remastered" executable="Crysis2Remastered.exe">
|
|
<option name="radv_ssbo_non_uniform" value="true" />
|
|
</application>
|
|
|
|
<application name="Crysis 3 Remastered" executable="Crysis3Remastered.exe">
|
|
<option name="radv_ssbo_non_uniform" value="true" />
|
|
</application>
|
|
|
|
<application name="Persona 3 Reload" application_name_match="P3R.exe">
|
|
<option name="radv_disable_ngg_gs" value="true" />
|
|
</application>
|
|
|
|
<application name="WWE 2k23" application_name_match="WWE2K23_x64.exe">
|
|
<option name="radv_disable_dcc" value="true" />
|
|
</application>
|
|
|
|
<application name="GPUScore: Breaking Limit" application_name_match="GPUScoreVulkan">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="DiRT4" application_name_match="dirt4.exe">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="Strange Brigade (DX12)" application_name_match="StrangeBrigade_DX12.exe">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="Strange Brigade (VK)" application_name_match="Strange">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
|
|
<!-- To fix a hazard with present after write. -->
|
|
<option name="radv_app_layer" value="strange_brigade" />
|
|
</application>
|
|
|
|
<application name="Sniper Elite 5 (DX12)" application_name_match="sniper5_dx12.exe">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="Sniper Elite 5 (VK)" application_name_match="Sniper5">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="Counter Strike 2" application_name_match="csgo">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="Forza Horizon 5" application_name_match="ForzaHorizon5.exe">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
<!-- Force waiting for VM MAP updates at allocation time to
|
|
workaround an use-before-alloc which causes GPU hangs. -->
|
|
<option name="radv_wait_for_vm_map_updates" value="true" />
|
|
</application>
|
|
|
|
<application name="Far Cry 2" application_name_match="FarCry2.exe">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="DiRT Rally 2.0" application_name_match="dirtrally2.exe">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="Valheim" application_name_match="Valheim">
|
|
<!-- The full WA hurts performance too much, use the partial one
|
|
that seems fine overall. -->
|
|
<option name="radv_gfx12_hiz_wa" value="partial" />
|
|
</application>
|
|
|
|
<application name="The Last of Us Part I" application_name_match="tlou-i.exe">
|
|
<!-- TLOU1 is much faster with 2D swizzle modes for 3D storage images. -->
|
|
<option name="radv_prefer_2d_swizzle_for_3d_storage" value="true" />
|
|
</application>
|
|
|
|
<!-- OpenGL Game workarounds (zink) -->
|
|
<application name="Black Geyser: Couriers of Darkness" executable="BlackGeyser.x86_64">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2686 -->
|
|
<application name="7 Days to Die" executable="7DaysToDie.x86_64">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
<application name="7 Days to Die" executable="7DaysToDie.x86">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<!-- This applies to all apps having "runner" as their executable, but that's OK.
|
|
Apps where this workaround is needed:
|
|
- Monolith demo5
|
|
-->
|
|
<application name="any runner executable" executable="runner">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="American Truck Simulator" executable="amtrucks">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="Counter-Strike Global Offensive" executable="csgo_linux64">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="Exanima" executable="Exanima.exe">
|
|
<option name="radv_zero_vram" value="true"/>
|
|
</application>
|
|
|
|
<application name="Rocket League" executable="RocketLeague">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
<application name="Crystal Project" executable="Crystal Project.bin.x86_64">
|
|
<option name="radv_zero_vram" value="true" />
|
|
</application>
|
|
|
|
<application name="Enshrouded" executable="enshrouded.exe">
|
|
<option name="radv_zero_vram" value="true"/>
|
|
</application>
|
|
|
|
<application name="No Man's Sky" application_name_match="No Man's Sky">
|
|
<option name="radv_app_layer" value="no_mans_sky" />
|
|
</application>
|
|
</device>
|
|
</driconf>
|