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 <danylo.piliaiev@globallogic.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -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. -->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user