<div class="gmail_quote">On Mon, Aug 16, 2010 at 2:46 PM, Luca Barbieri <span dir="ltr">&lt;<a href="mailto:luca@luca-barbieri.com" target="_blank">luca@luca-barbieri.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">


If OpenGL 2 is not supported, GLEW doesn&#39;t set the pointer for the<br>
GL2 syntax function, leading to a segfault.<br>
---<br>
 tests/general/stencil-twoside.c |   30 ++++++++++++++++++++----------<br>
 1 files changed, 20 insertions(+), 10 deletions(-)<br>
<br>
diff --git a/tests/general/stencil-twoside.c b/tests/general/stencil-twoside.c<br>
index a85f338..d32dde0 100644<br>
--- a/tests/general/stencil-twoside.c<br>
+++ b/tests/general/stencil-twoside.c<br>
@@ -80,12 +80,14 @@ piglit_display(void)<br>
        if (use20syntax) {<br>
                glStencilFuncSeparate(GL_FRONT, GL_ALWAYS, 0, ~0);<br>
                glStencilFuncSeparate(GL_BACK, GL_ALWAYS, 0, ~0);<br>
+               glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR);<br>
+               glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_DECR);<br>
        }<br>
        else {<br>
                glStencilFuncSeparateATI(GL_ALWAYS, GL_ALWAYS, 0, ~0);<br>
+               glStencilOpSeparateATI(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR);<br>
+               glStencilOpSeparateATI(GL_BACK, GL_KEEP, GL_KEEP, GL_DECR);<br>
        }<br>
-       glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR);<br>
-       glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_DECR);<br>
<br>
        glColor3f(0.9, 0.9, 0.9);<br>
        for (i = 0 ; i &lt; (max_stencil + 5) ; i++) {<br>
@@ -102,12 +104,14 @@ piglit_display(void)<br>
        if (use20syntax) {<br>
                glStencilFuncSeparate(GL_FRONT, GL_ALWAYS, 0, ~0);<br>
                glStencilFuncSeparate(GL_BACK, GL_ALWAYS, 0, ~0);<br>
+               glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);<br>
+               glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);<br>
        }<br>
        else {<br>
                glStencilFuncSeparateATI(GL_ALWAYS, GL_ALWAYS, 0, ~0);<br>
+               glStencilOpSeparateATI(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);<br>
+               glStencilOpSeparateATI(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);<br>
        }<br>
-       glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);<br>
-       glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);<br>
<br>
        glColor3f(0.9, 0.9, 0.9);<br>
        for (i = 0 ; i &lt; (max_stencil + 5) ; i++) {<br>
@@ -124,12 +128,14 @@ piglit_display(void)<br>
        if (use20syntax) {<br>
                glStencilFuncSeparate(GL_FRONT, GL_NEVER, 0, ~0);<br>
                glStencilFuncSeparate(GL_BACK, GL_ALWAYS, 0, ~0);<br>
+               glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);<br>
+               glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);<br>
        }<br>
        else {<br>
                glStencilFuncSeparateATI(GL_NEVER, GL_ALWAYS, 0, ~0);<br>
+               glStencilOpSeparateATI(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);<br>
+               glStencilOpSeparateATI(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);<br>
        }<br>
-       glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_DECR);<br>
-       glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR);<br>
<br>
        glColor3f(0.9, 0.9, 0.9);<br>
        for (i = 0 ; i &lt; (max_stencil + 5) ; i++) {<br>
@@ -148,12 +154,14 @@ piglit_display(void)<br>
        if (use20syntax) {<br>
                glStencilFuncSeparate(GL_FRONT, GL_ALWAYS, 0, ~0);<br>
                glStencilFuncSeparate(GL_BACK, GL_ALWAYS, 0, ~0);<br>
+               glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR);<br>
+               glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_DECR);<br>
        }<br>
        else {<br>
                glStencilFuncSeparateATI(GL_ALWAYS, GL_ALWAYS, 0, ~0);<br>
+               glStencilOpSeparateATI(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR);<br>
+               glStencilOpSeparateATI(GL_BACK, GL_KEEP, GL_KEEP, GL_DECR);<br>
        }<br>
-       glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_INCR);<br>
-       glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_DECR);<br>
<br>
        glColor3f(0.9, 0.9, 0.9);<br>
        for (i = 0 ; i &lt; (max_stencil + 5) ; i++) {<br>
@@ -172,12 +180,14 @@ piglit_display(void)<br>
                if (use20syntax) {<br>
                        glStencilFuncSeparate(GL_FRONT, GL_ALWAYS, 0, ~0);<br>
                        glStencilFuncSeparate(GL_BACK, GL_ALWAYS, 0, ~0);<br>
+                       glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_KEEP);<br>
+                       glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR_WRAP);<br>
                }<br>
                else {<br>
                        glStencilFuncSeparateATI(GL_ALWAYS, GL_ALWAYS, 0, ~0);<br>
+                       glStencilOpSeparateATI(GL_FRONT, GL_KEEP, GL_KEEP, GL_KEEP);<br>
+                       glStencilOpSeparateATI(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR_WRAP);<br>
                }<br>
-               glStencilOpSeparate(GL_FRONT, GL_KEEP, GL_KEEP, GL_KEEP);<br>
-               glStencilOpSeparate(GL_BACK, GL_KEEP, GL_KEEP, GL_INCR_WRAP);<br>
<br>
                glColor3f(0.9, 0.9, 0.9);<br>
                for (i = 0 ; i &lt; (max_stencil + 5) ; i++) {<br>
<font color="#888888">--<br>
1.7.0.4</font><br></blockquote></div><br>Nice catch. Pushed, thanks.<br><br>Marek<br>