Demos (master): shader-interp: don't rely on gl_FragCoord.w

Brian Paul brianp at kemper.freedesktop.org
Thu Mar 24 16:17:11 UTC 2011


Module: Demos
Branch: master
Commit: d50fbc7d348e0137fa49ded7cae76ead79e9f521
URL:    http://cgit.freedesktop.org/mesa/demos/commit/?id=d50fbc7d348e0137fa49ded7cae76ead79e9f521

Author: Brian Paul <brianp at vmware.com>
Date:   Thu Mar 24 08:47:54 2011 -0600

shader-interp: don't rely on gl_FragCoord.w

---

 src/tests/shader-interp.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/tests/shader-interp.c b/src/tests/shader-interp.c
index 9e33f51..8ac049a 100644
--- a/src/tests/shader-interp.c
+++ b/src/tests/shader-interp.c
@@ -152,17 +152,19 @@ Init(void)
 
    /**
     * Perspective interpolation, converted to linear interpolation
+    * (put window position W in texcoord.w)
     */
    static const char *VertShaderText2 =
       "void main() {\n"
       "   vec4 pos = ftransform();\n"
       "   gl_TexCoord[0] = gl_MultiTexCoord0 * pos.w; \n"
+      "   gl_TexCoord[0].w = pos.w; \n"
       "   gl_Position = pos;\n"
       "}\n";
 
    static const char *FragShaderText2 =
       "void main() {\n"
-      "   float gray = gl_TexCoord[0].y * gl_FragCoord.w; \n"
+      "   float gray = gl_TexCoord[0].y / gl_TexCoord[0].w; \n"
       "   gl_FragColor = vec4(gray); \n"
       "}\n";
 




More information about the mesa-commit mailing list