[Xquartz-changes] [181] AppleSGLX/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Thu Feb 19 16:09:02 PST 2009
Revision: 181
http://trac.macosforge.org/projects/xquartz/changeset/181
Author: gstaplin at apple.com
Date: 2009-02-19 16:09:01 -0800 (Thu, 19 Feb 2009)
Log Message:
-----------
Update the Makefile target dependency so that apple_xgl_api_stereo.c
changes trigger a rebuild.
Update apple_xgl_api_stereo.c to implement glDrawBuffers slightly differently.
I realized that the user could specify multiple GL_BACK flags by accident
or perhaps on purpose. This skips all GL_BACK and appends GL_BACK_LEFT
and GL_BACK_RIGHT to the end of bufs, if we had a GL_BACK.
Modified Paths:
--------------
AppleSGLX/trunk/Makefile
AppleSGLX/trunk/apple_xgl_api_stereo.c
Modified: AppleSGLX/trunk/Makefile
===================================================================
--- 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
===================================================================
--- 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);
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/xquartz-changes/attachments/20090219/4f6c00f2/attachment.html>
More information about the Xquartz-changes
mailing list