From: Brian Paul Date: Tue, 23 Apr 2013 19:18:41 +0000 (-0600) Subject: docs: document issue with Viewperf proe-05 test 6 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=71ee0030417c644342b6e2555463b5bc6ca38ed0;p=mesa.git docs: document issue with Viewperf proe-05 test 6 --- diff --git a/docs/viewperf.html b/docs/viewperf.html index 3bbe1978ab8..23c6028d229 100644 --- a/docs/viewperf.html +++ b/docs/viewperf.html @@ -232,6 +232,36 @@ glClear is called so clearing the depth buffer would be a no-op anyway.

+

Proe-05 test 6

+ +

+This test draws an engine model with a two-pass algorithm. +The first pass is drawn with polygon stipple enabled. +The second pass is drawn without polygon stipple but with blending +and GL_DEPTH_FUNC=GL_LEQUAL. +If either of the two passes happen to use a software fallback of some +sort, the Z values of fragments may be different between the two passes. +This leads to incorrect rendering. +

+ +

+For example, the VMware SVGA gallium driver uses a special semi-fallback path +for drawing with polygon stipple. +Since the two passes are rendered with different vertex transformation +implementations, the rendering doesn't appear as expected. +Setting the SVGA_FORCE_SWTNL environment variable to 1 will force the +driver to use the software vertex path all the time and clears up this issue. +

+ +

+According to the OpenGL invariance rules, there's no guarantee that +the pixels produced by these two rendering states will match. +To achieve invariance, both passes should enable polygon stipple and +blending with appropriate patterns/modes to ensure the same fragments +are produced in both passes. +

+ +