diff options
author | Brian Paul <[email protected]> | 2013-04-23 13:18:41 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2013-04-23 21:09:17 -0600 |
commit | 71ee0030417c644342b6e2555463b5bc6ca38ed0 (patch) | |
tree | 9d93f2df4b42e62455461987e0b5abf1abb942df /docs | |
parent | f74da3e98807f788d3e830ef9f12e3ddfc99eac8 (diff) |
docs: document issue with Viewperf proe-05 test 6
Diffstat (limited to 'docs')
-rw-r--r-- | docs/viewperf.html | 30 |
1 files changed, 30 insertions, 0 deletions
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. </p> +<h2>Proe-05 test 6</h2> + +<p> +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. +</p> + +<p> +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. +</p> + +<p> +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. +</p> + + </div> </body> </html> |