v3d: compute appropriate VPM memory configuration for geometry shader workloads
[mesa.git] / src / util / 00-mesa-defaults.conf
index a927dcc5b4c788ec9c9334f2e4ab9ce8c84d3a3c..ffec877082398d1e08cb011898da2dd2f455fef5 100644 (file)
@@ -30,11 +30,20 @@ TODO: document the other workarounds.
 
 <!DOCTYPE driconf [
    <!ELEMENT driconf      (device+)>
-   <!ELEMENT device       (application+)>
+   <!ELEMENT device       (application | engine)+>
    <!ATTLIST device       driver CDATA #IMPLIED>
    <!ELEMENT application  (option+)>
    <!ATTLIST application  name CDATA #REQUIRED
                           executable CDATA #REQUIRED>
+   <!ELEMENT engine       (option+)>
+
+   <!-- engine_name_match: A regexp matching the engine name -->
+   <!-- engine_version: A list of version in range format
+             (version 1 to 4 and version 7 to 8 : "1:4,7:8") -->
+
+   <!ATTLIST engine       engine_name_match CDATA #REQUIRED
+                          engine_versions CDATA #REQUIRED>
+
    <!ELEMENT option       EMPTY>
    <!ATTLIST option       name CDATA #REQUIRED
                           value CDATA #REQUIRED>
@@ -47,11 +56,13 @@ TODO: document the other workarounds.
         <application name="Unigine Sanctuary" executable="Sanctuary">
             <option name="force_glsl_extensions_warn" value="true" />
             <option name="disable_blend_func_extended" value="true" />
+            <option name="disable_arb_gpu_shader5" value="true" />
         </application>
 
         <application name="Unigine Tropics" executable="Tropics">
             <option name="force_glsl_extensions_warn" value="true" />
             <option name="disable_blend_func_extended" value="true" />
+            <option name="disable_arb_gpu_shader5" value="true" />
         </application>
 
         <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
@@ -166,7 +177,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>
 
@@ -232,6 +255,13 @@ TODO: document the other workarounds.
             <option name="force_compat_profile" value="true" />
         </application>
 
+        <application name="GpuTest" executable="GpuTest">
+            <!-- GiMark benchmark from GpuTest does not initialize .w channel of
+                 lightDir0 and lightDir1 varyings in the vertex shader while
+                 uses it in the fragment shader. -->
+            <option name="glsl_zero_init" value="true"/>
+        </application>
+
         <!-- The GL thread whitelist is below, workarounds are above.
              Keep it that way. -->
 
@@ -351,6 +381,25 @@ TODO: document the other workarounds.
             <option name="mesa_glthread" value="true"/>
         </application>
 
+        <!-- roughly 30% increase in fps -->
+        <application name="7 Days To Die (64-bit)" executable="7DaysToDie.x86_64">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+        <application name="7 Days To Die (32-bit)" executable="7DaysToDie.x86">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+
+        <!-- Emulator tends to have a high CPU load for GPU emulation, so separating the driver overhead yield an improvement. -->
+        <application name="Dolphin Emulator" executable="dolphin-emu">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+        <application name="Citra - Nintendo 3DS Emulator" executable="citra-qt">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+        <application name="Yuzu - Nintendo Switch Emulator" executable="yuzu">
+            <option name="mesa_glthread" value="true"/>
+        </application>
+
         <!-- Adaptive sync blacklist follows below: -->
         <application name="gnome-shell" executable="gnome-shell">
             <option name="adaptive_sync" value="false" />
@@ -460,6 +509,20 @@ TODO: document the other workarounds.
         <application name="Rayman Legends" executable="Rayman Legends.exe">
             <option name="dynamic_texture_workaround" value="true" />
         </application>
+
+        <!-- Vulkan workarounds: -->
+
+        <!-- Works around the game not starting (does not deal with
+             the implementation returning more images than the minimum
+             specified by the application. -->
+        <engine engine_name_match="UnrealEngine4.*" engine_versions="0:23">
+            <option name="vk_x11_strict_image_count" value="true" />
+        </engine>
+
+        <!-- DOOM crashes at startup without this workaround if the adaptative sync mode is enabled. -->
+        <application name="DOOM" executable="DOOMx64vk.exe">
+            <option name="vk_x11_strict_image_count" value="true" />
+        </application>
     </device>
     <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
     <device driver="vmwgfx">
@@ -486,6 +549,9 @@ TODO: document the other workarounds.
         <application name="No Mans Sky" executable="NMS.exe">
             <option name="radeonsi_zerovram" value="true" />
         </application>
+        <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>
@@ -495,6 +561,10 @@ TODO: document the other workarounds.
         <application name="DiRT Rally" executable="DirtRally">
             <option name="radeonsi_prim_restart_tri_strips_only" value="true"/>
         </application>
+        <application name="Gfx Bench" executable="gfxbench_gl">
+            <!-- Helps offscreen tests -->
+            <option name="mesa_glthread" value="true"/>
+        </application>
     </device>
     <device driver="virtio_gpu">
         <!-- Some Valve games do a final blit to a BRGA_sRGB surface. On a GLES
@@ -522,4 +592,14 @@ 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>
 </driconf>