diff options
author | Danylo Piliaiev <[email protected]> | 2019-11-22 18:05:14 +0200 |
---|---|---|
committer | Danylo Piliaiev <[email protected]> | 2019-11-25 12:22:37 +0200 |
commit | 29081c671f65b8ab0a1ec50dda47f58f2faf2468 (patch) | |
tree | 351680fb2f28c8a3c998cedc639cc34fa6782ea2 /src | |
parent | d6db858771ab72f607e43cd2cacf73b2f62fad30 (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.conf | 7 |
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. --> |