summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-11-22 01:37:02 -0800
committerKenneth Graunke <[email protected]>2019-11-27 18:48:04 +0000
commit51cc380894b6c541ac3383336389242cf3f9fd67 (patch)
tree1e2ad3e1df20badadbe902b35f1a83f2e31165a7 /src/util
parent9b577f2a887968483b88b629673d3f9904a179ff (diff)
drirc: Set vs_position_always_invariant for Shadow of Mordor on Intel
When drawing the main character in Shadow of Mordor, the game appears to draw Talion with one vertex shader, and the Wraith with another. If the compiler optimizes those in different ways which lead to slight imprecisions, then the resulting positions may not line up, leading to Z-fighting occurring as the game decides which of the two are in front. brw_nir_opt_peephole_ffma looks at usages of multiply adds across the entire shader, and may make different decisions between the two, leading to such imprecisions and Z-fighting. This started happening recently after a NIR change to eliminate unnecessary MOVs (7025dbe7), but that change simply exposed the existing problem. Improves performance on Skylake GT4e by 1.22945% +/- 0.398672% (n=3), likely due to the fixed rendering. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1985 Fixes: 7025dbe794b ("nir: Skip emitting no-op movs from the builder.") Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/util')
-rw-r--r--src/util/00-mesa-defaults.conf10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
index 734161650b7..de1ef3d7131 100644
--- a/src/util/00-mesa-defaults.conf
+++ b/src/util/00-mesa-defaults.conf
@@ -580,4 +580,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>