Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / src / util / 00-mesa-defaults.conf
index 734161650b7d2a6782dba545f2d8713812bd3459..b3358104e89601ef44565f90317322da11583853 100644 (file)
@@ -34,7 +34,10 @@ TODO: document the other workarounds.
    <!ATTLIST device       driver CDATA #IMPLIED>
    <!ELEMENT application  (option+)>
    <!ATTLIST application  name CDATA #REQUIRED
-                          executable CDATA #REQUIRED>
+                          executable 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 -->
@@ -177,7 +180,19 @@ TODO: document the other workarounds.
             <option name="allow_higher_compat_version" value="true" />
         </application>
 
-        <application name="The Culling" executable="Victory">
+       <application name="Faster than Light (32-bit)" executable="FTL.x86">
+            <option name="allow_higher_compat_version" value="true" />
+        </application>
+
+       <application name="Faster than Light (64-bit)" executable="FTL.amd64">
+            <option name="allow_higher_compat_version" value="true" />
+        </application>
+
+        <application name="Final Fantasy VIII: Remastered" executable="FFVIII.exe">
+            <option name="allow_higher_compat_version" value="true" />
+        </application>
+
+       <application name="The Culling" executable="Victory">
             <option name="force_glsl_version" value="440" />
         </application>
 
@@ -250,7 +265,30 @@ TODO: document the other workarounds.
             <option name="glsl_zero_init" value="true"/>
         </application>
 
-        <!-- The GL thread whitelist is below, workarounds are above.
+        <application name="Curse of the Dead Gods" executable="Curse of the Dead Gods.exe">
+            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2598 -->
+            <option name="glsl_zero_init" value="true" />
+        </application>
+
+        <application name="GRID Autosport" executable="GridAutosport">
+            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 -->
+            <option name="force_integer_tex_nearest" value="true" />
+        </application>
+
+        <application name="DIRT: Showdown" executable="dirt.i386">
+            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 -->
+            <option name="force_integer_tex_nearest" value="true" />
+        </application>
+
+        <!-- Workarounds for SPECviewperf relying on invalid / non-conformant
+             OpenGL behavior. Older SPECviewperf versions might also need this.
+          -->
+        <application name="SPECviewperf13" executable="viewperf">
+            <option name="allow_glsl_extension_directive_midshader" value="true" />
+            <option name="allow_glsl_120_subset_in_110" value="true" />
+        </application>
+
+        <!-- The GL thread allowlist is below, workarounds are above.
              Keep it that way. -->
 
         <application name="Alien Isolation" executable="AlienIsolation">
@@ -387,8 +425,53 @@ TODO: document the other workarounds.
         <application name="Yuzu - Nintendo Switch Emulator" executable="yuzu">
             <option name="mesa_glthread" value="true"/>
         </application>
+        <application name="RPCS3" executable="rpcs3">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+        <application name="PCSX2" executable="PCSX2">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+
+        <application name="From The Depths" executable="From_The_Depths.x86_64">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+
+        <!-- #Minimum fps 136 ==> 144 -->
+        <application name="Plague Inc Evolved (32-bit)" executable="PlagueIncEvolved.x86">
+            <option name="mesa_glthread" value="true" />
+        </application>
+        <application name="Plague Inc Evolved (64-bit)" executable="PlagueIncEvolved.x86_64">
+            <option name="mesa_glthread" value="true" />
+        </application>
+
+        <!-- 10% fps increase -->
+        <application name="Beholder (32-bit)" executable="Beholder.x86">
+            <option name="mesa_glthread" value="true" />
+        </application>
+        <application name="Beholder (64-bit)" executable="Beholder.x86_64">
+            <option name="mesa_glthread" value="true" />
+        </application>
+
+        <!-- X3 games: 15% avg fps increase while flying in space -->
+        <application name="X3 Reunion" executable="X3R_main">
+            <option name="mesa_glthread" value="true" />
+        </application>
+        <application name="X3 Terran Conflict" executable="X3TR_main">
+            <option name="mesa_glthread" value="true" />
+        </application>
+        <application name="X3 Albion Prelude" executable="X3AP_main">
+            <option name="mesa_glthread" value="true" />
+        </application>
+
+        <!-- +30% avg fps -->
+        <application name="Borderlands: The Pre-Sequel" executable="BorderlandsPreSequel">
+            <option name="mesa_glthread" value="true" />
+        </application>
+        <application name="Transport Fever" executable="TransportFever">
+            <option name="mesa_glthread" value="true" />
+        </application>
 
-        <!-- Adaptive sync blacklist follows below: -->
+        <!-- Adaptive sync denylist follows below: -->
         <application name="gnome-shell" executable="gnome-shell">
             <option name="adaptive_sync" value="false" />
         </application>
@@ -428,6 +511,9 @@ TODO: document the other workarounds.
         <application name="compton" executable="compton">
             <option name="adaptive_sync" value="false" />
         </application>
+        <application name="picom" executable="picom">
+            <option name="adaptive_sync" value="false" />
+        </application>
         <application name="xfwm4" executable="xfwm4">
             <option name="adaptive_sync" value="false" />
         </application>
@@ -491,6 +577,7 @@ TODO: document the other workarounds.
 
         <application name="gfxbench" executable="testfw_app">
             <option name="vk_x11_override_min_image_count" value="2" />
+            <option name="vk_wsi_force_bgra8_unorm_first" value="true" />
         </application>
 
         <!-- Gallium Nine workarounds: -->
@@ -511,6 +598,12 @@ TODO: document the other workarounds.
         <application name="DOOM" executable="DOOMx64vk.exe">
             <option name="vk_x11_strict_image_count" value="true" />
         </application>
+
+        <!-- DOOM Doom Eternal happily creates a swapchain with 2 images for
+             IMMEDIATE. This fixes a 10% performance issue with RADV. -->
+        <application name="DOOMEternal" executable="DOOMEternalx64vk.exe">
+            <option name="vk_x11_ensure_min_image_count" value="true" />
+        </application>
     </device>
     <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
     <device driver="vmwgfx">
@@ -525,9 +618,6 @@ TODO: document the other workarounds.
         </application>
     </device>
     <device driver="radeonsi">
-        <application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
-            <option name="radeonsi_clear_db_cache_before_clear" value="true" />
-        </application>
         <application name="American Truck Simulator" executable="amtrucks">
             <option name="radeonsi_zerovram" value="true" />
         </application>
@@ -540,12 +630,6 @@ TODO: document the other workarounds.
         <application name="Rocket League" executable="RocketLeague">
             <option name="radeonsi_zerovram" value="true" />
         </application>
-        <application name="Civilization 6" executable="Civ6">
-            <option name="radeonsi_enable_nir" value="true"/>
-        </application>
-        <application name="Civilization 6" executable="Civ6Sub">
-            <option name="radeonsi_enable_nir" value="true"/>
-        </application>
         <application name="DiRT Rally" executable="DirtRally">
             <option name="radeonsi_prim_restart_tri_strips_only" value="true"/>
         </application>
@@ -553,6 +637,41 @@ TODO: document the other workarounds.
             <!-- Helps offscreen tests -->
             <option name="mesa_glthread" value="true"/>
         </application>
+        <!-- YoYo game engine workarounds -->
+        <application name="Monolith demo5" executable="runner" sha1="0c40d509a74e357f0280cb1bd882e9cd94b91bdf">
+            <option name="radeonsi_sync_compile" value="true" />
+            <option name="radeonsi_zerovram" value="true" />
+        </application>
+        <application name="Memoranda" executable="runner" sha1="aa13dec6af63c88f308ebb487693896434a4db56">
+            <option name="radeonsi_sync_compile" value="true" />
+        </application>
+        <application name="Undertale" executable="runner" sha1="dfa302e7ec78641d0696dbbc1a06fc29f34ff1ff">
+            <option name="radeonsi_sync_compile" value="true" />
+        </application>
+        <application name="Turmoil" executable="runner" sha1="cbbf757aaab289859f8dae191a7d63afc30643d9">
+            <option name="radeonsi_sync_compile" value="true" />
+        </application>
+        <application name="Peace, Death!" executable="runner" sha1="5b909f3d21799773370adf084f649848f098234e">
+            <option name="radeonsi_sync_compile" value="true" />
+        </application>
+        <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2647 -->
+        <application name="Kerbal Space Program" executable="KSP.x86_64">
+            <option name="radeonsi_no_infinite_interp" value="true" />
+        </application>
+        <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2686 -->
+        <application name="7 Days to Die" executable="7DaysToDie.x86_64">
+            <option name="radeonsi_zerovram" value="true" />
+        </application>
+        <application name="7 Days to Die" executable="7DaysToDie.x86">
+            <option name="radeonsi_zerovram" value="true" />
+        </application>
+        <application name="SPECviewperf13" executable="viewperf">
+            <option name="radeonsi_sync_compile" value="true" />
+            <option name="radeonsi_clamp_div_by_zero" value="true" />
+        </application>
+        <application name="Road Redemption" executable="RoadRedemption.x86_64">
+            <option name="radeonsi_clamp_div_by_zero" value="true" />
+        </application>
     </device>
     <device driver="virtio_gpu">
         <!-- Some Valve games do a final blit to a BRGA_sRGB surface. On a GLES
@@ -561,12 +680,19 @@ TODO: document the other workarounds.
         too dark. -->
         <application name="Half Life 2" executable="hl2_linux">
             <option name="gles_emulate_bgra" value="true" />
+            <option name="gles_apply_bgra_dest_swizzle" value="true"/>
         </application>
         <application name="Portal" executable="hl2_linux">
             <option name="gles_emulate_bgra" value="true" />
+            <option name="gles_apply_bgra_dest_swizzle" value="true"/>
+        </application>
+        <application name="Portal 2" executable="hl2_linux">
+            <option name="gles_emulate_bgra" value="true" />
+            <option name="gles_apply_bgra_dest_swizzle" value="true"/>
         </application>
         <application name="Left 4 Dead 2" executable="hl2_linux">
             <option name="gles_emulate_bgra" value="true" />
+            <option name="gles_apply_bgra_dest_swizzle" value="true"/>
         </application>
         <application name="Dota 2" executable="dota2">
             <option name="gles_emulate_bgra" value="true" />
@@ -580,4 +706,40 @@ TODO: document the other workarounds.
             <option name="gles_emulate_bgra" value="true" />
         </application>
     </device>
+    <device driver="i965">
+        <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor">
+            <option name="vs_position_always_invariant" value="true" />
+        </application>
+    </device>
+    <device driver="iris">
+        <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor">
+            <option name="vs_position_always_invariant" value="true" />
+        </application>
+    </device>
+    <device driver="radv">
+        <application name="Shadow Of The Tomb Raider" executable="ShadowOfTheTombRaider">
+            <option name="radv_report_llvm9_version_string" value="true" />
+       </application>
+
+       <application name="RAGE 2" executable="RAGE2.exe">
+            <option name="radv_enable_mrt_output_nan_fixup" value="true" />
+        </application>
+
+        <application name="Path of Exile (64-bit, Steam)" executable="PathOfExile_x64Steam.exe">
+            <option name="radv_no_dynamic_bounds" value="true" />
+        </application>
+        <application name="Path of Exile (32-bit, Steam)" executable="PathOfExileSteam.exe">
+            <option name="radv_no_dynamic_bounds" value="true" />
+        </application>
+        <application name="Path of Exile (64-bit)" executable="PathOfExile_x64.exe">
+            <option name="radv_no_dynamic_bounds" value="true" />
+        </application>
+        <application name="Path of Exile (32-bit)" executable="PathOfExile.exe">
+            <option name="radv_no_dynamic_bounds" value="true" />
+        </application>
+
+       <application name="World War Z" application_name_match="WWZ">
+            <option name="radv_override_uniform_offset_alignment" value="16" />
+        </application>
+    </device>
 </driconf>