*/
+#include "glproc.hpp"
+
#include <stdlib.h>
#include <iostream>
+#include <dlfcn.h>
+
#include <Cocoa/Cocoa.h>
#include "glws.hpp"
NSWindow *window;
NSOpenGLContext *currentContext;
- CocoaDrawable(const Visual *vis, int w, int h) :
- Drawable(vis, w, h),
+ CocoaDrawable(const Visual *vis, int w, int h, bool pbuffer) :
+ Drawable(vis, w, h, pbuffer),
currentContext(nil)
{
NSOpenGLPixelFormat *pixelFormat = static_cast<const CocoaVisual *>(visual)->pixelFormat;
void
init(void) {
+ // Prevent glproc to load system's OpenGL, so that we can trace glretrace.
+ _libGlHandle = dlopen("OpenGL", RTLD_LOCAL | RTLD_NOW | RTLD_FIRST);
+
[NSApplication sharedApplication];
autoreleasePool = [[NSAutoreleasePool alloc] init];
return NULL;
#endif
}
+
+ // Use Apple software rendering for debugging purposes.
+ if (0) {
+ attribs.add(NSOpenGLPFARendererID, 0x00020200); // kCGLRendererGenericID
+ }
+
attribs.end();
NSOpenGLPixelFormat *pixelFormat = [[NSOpenGLPixelFormat alloc]
}
Drawable *
-createDrawable(const Visual *visual, int width, int height)
+createDrawable(const Visual *visual, int width, int height, bool pbuffer)
{
- return new CocoaDrawable(visual, width, height);
+ return new CocoaDrawable(visual, width, height, pbuffer);
}
Context *