summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2011-10-13 03:33:28 +0200
committerSven Gothel <[email protected]>2011-10-13 03:33:28 +0200
commit946c98fd196802755e9e13a9c5db75650a564466 (patch)
treec3aa9b62a1cea7e3a2dc8c306decbbbe273f3b4c /make
parent22f8e786219166019688ff2eea6ff9570c117544 (diff)
JOGL/OSX: Properly utilize NSOpenGLContext update() via ContextUpdater, which only holds the 'update' state now.
Avoid calling updater() for every makeCurrent(), but if view's frame has changed only. This solves the pixel flickering experienced on OSX. - GLContextImpl:update() -> drawableUpdatedNotify() w/ comments - ContextUpdater holds context, view, old view frame and the update state. It doesn't issue NSOpenGLContext update() by itself, but allows querying and clearing the update flag. - MacOSXOnscreenCGLContext impl drawableUpdatedNotify() - register via ContextUpdater, and use it if available.
Diffstat (limited to 'make')
-rw-r--r--make/stub_includes/opengl/macosx-window-system.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/make/stub_includes/opengl/macosx-window-system.h b/make/stub_includes/opengl/macosx-window-system.h
index 18cf6c719..8e6d5ba2d 100644
--- a/make/stub_includes/opengl/macosx-window-system.h
+++ b/make/stub_includes/opengl/macosx-window-system.h
@@ -36,6 +36,7 @@ void updateContext(void* nsContext);
void copyContext(void* destContext, void* srcContext, int mask);
void* updateContextRegister(void* nsContext, void* nsView);
+Bool updateContextNeedsUpdate(void* updater);
void updateContextUnregister(void* updater);
void* createPBuffer(int renderTarget, int internalFormat, int width, int height);