Modified: AppleSGLX/trunk/Makefile (180 => 181)
--- AppleSGLX/trunk/Makefile 2009-02-20 00:00:19 UTC (rev 180)
+++ AppleSGLX/trunk/Makefile 2009-02-20 00:09:01 UTC (rev 181)
@@ -39,7 +39,7 @@
apple_glx_drawable.o: apple_glx_drawable.h apple_glx_drawable.c apple_glx_pixmap.h apple_glx_pbuffer.h
$(COMPILE) apple_glx_drawable.c
-apple_xgl_api.o: apple_xgl_api.h apple_xgl_api.c
+apple_xgl_api.o: apple_xgl_api.h apple_xgl_api.c apple_xgl_api_stereo.c
$(COMPILE) apple_xgl_api.c
apple_xgl_api_read.o: apple_xgl_api_read.h apple_xgl_api_read.c apple_xgl_api.h
Modified: AppleSGLX/trunk/apple_xgl_api_stereo.c (180 => 181)
--- AppleSGLX/trunk/apple_xgl_api_stereo.c 2009-02-20 00:00:19 UTC (rev 180)
+++ AppleSGLX/trunk/apple_xgl_api_stereo.c 2009-02-20 00:09:01 UTC (rev 181)
@@ -20,19 +20,23 @@
void glDrawBuffers(GLsizei n, const GLenum *bufs) {
- GLenum newbuf[n + 1];
+ GLenum newbuf[n + 2];
GLsizei i, outi = 0;
- bool back_handled = false;
+ bool have_back = false;
for(i = 0; i < n; ++i) {
- if(!back_handled && GL_BACK == bufs[i]) {
- newbuf[outi++] = GL_BACK_LEFT;
- newbuf[outi++] = GL_BACK_RIGHT;
- back_handled = true;
+ if(GL_BACK == bufs[i]) {
+ have_back = true;
+ continue;
} else {
newbuf[outi++] = bufs[i];
}
}
+
+ if(have_back) {
+ newbuf[outi++] = GL_BACK_LEFT;
+ newbuf[outi++] = GL_BACK_RIGHT;
+ }
__gl_api.DrawBuffers(outi, newbuf);
}