summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDanylo Piliaiev <[email protected]>2019-11-22 18:05:14 +0200
committerDanylo Piliaiev <[email protected]>2019-11-25 12:22:37 +0200
commit29081c671f65b8ab0a1ec50dda47f58f2faf2468 (patch)
tree351680fb2f28c8a3c998cedc639cc34fa6782ea2 /src
parentd6db858771ab72f607e43cd2cacf73b2f62fad30 (diff)
drirc: Add glsl_zero_init workaround for GpuTest
GiMark benchmark from GpuTest has such code in VS: out vec4 lightDir0; out vec4 lightDir1; ... lightDir0.xyz = lp0 - vVertex.xyz; lightDir1.xyz = lp1 - vVertex.xyz; In FS: float distSqr = dot(lightDir0, lightDir0); So due to the usage of uninitialized .w channel in the dot product, distSqr may become undefined which results in many black dots in the test on Iris. In https://www.geeks3d.com/forums/index.php/topic,6242.0.html developer stated that this benchmark most likely won't be updated. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1919 Signed-off-by: Danylo Piliaiev <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/util/00-mesa-defaults.conf7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
index ba343ec5ffb..734161650b7 100644
--- a/src/util/00-mesa-defaults.conf
+++ b/src/util/00-mesa-defaults.conf
@@ -243,6 +243,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. -->