Revision: 301 http://trac.macosforge.org/projects/xquartz/changeset/301 Author: gstaplin@apple.com Date: 2009-03-09 20:00:47 -0700 (Mon, 09 Mar 2009) Log Message: ----------- Enable the kCGLPFAMultisample bit when multisampling is requested. Modified Paths: -------------- AppleSGLX/trunk/apple_visual.c Modified: AppleSGLX/trunk/apple_visual.c =================================================================== --- AppleSGLX/trunk/apple_visual.c 2009-03-10 02:21:16 UTC (rev 300) +++ AppleSGLX/trunk/apple_visual.c 2009-03-10 03:00:47 UTC (rev 301) @@ -30,6 +30,7 @@ #include <stdbool.h> #include <stdio.h> #include <stdlib.h> +#include <assert.h> #include <GL/gl.h> #include <OpenGL/OpenGL.h> #include <OpenGL/CGLContext.h> @@ -37,10 +38,14 @@ #include "apple_cgl.h" #include "apple_visual.h" +enum { + MAX_ATTR = 60 +}; + /*mode is a __GlcontextModes*/ void apple_visual_create_pfobj(CGLPixelFormatObj *pfobj, const void *mode, bool *double_buffered, bool offscreen) { - CGLPixelFormatAttribute attr[60]; + CGLPixelFormatAttribute attr[MAX_ATTR]; const __GLcontextModes *c = mode; int numattr = 0; GLint vsref = 0; @@ -59,7 +64,7 @@ * do want the closest match for the color, depth, and accum. */ attr[numattr++] = kCGLPFAClosestPolicy; - + if(c->stereoMode) attr[numattr++] = kCGLPFAStereo; @@ -92,6 +97,7 @@ } if(c->sampleBuffers > 0) { + attr[numattr++] = kCGLPFAMultisample; attr[numattr++] = kCGLPFASampleBuffers; attr[numattr++] = c->sampleBuffers; attr[numattr++] = kCGLPFASamples; @@ -100,6 +106,8 @@ attr[numattr++] = 0; + assert(numattr < MAX_ATTR); + error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); if(error) {