[Xquartz-changes] [301] AppleSGLX/trunk/apple_visual.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Mar 9 20:00:52 PDT 2009
Revision: 301
http://trac.macosforge.org/projects/xquartz/changeset/301
Author: gstaplin at 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) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/xquartz-changes/attachments/20090309/9e0c70e4/attachment.html>
More information about the Xquartz-changes
mailing list