diff options
author | Sven Gothel <[email protected]> | 2013-04-04 05:34:57 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2013-04-04 05:34:57 +0200 |
commit | 68526d3f9432ea9c80e444146fc99b4ae1352d50 (patch) | |
tree | 79c72ef4b84332ffe05252ebb556bf86e46688b2 /src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m | |
parent | 15e20956fc6a700c12b54342b6e1320a150ce039 (diff) |
OSX/CALayer Threading Part4: Stream all JAWT Root CALayer Operations on OSX Main-Thread
Previous code created, set and unset the root CALayer on the current thread,
which lead to a very delayed destruction of the root CALayer w/.
With Java7 this lead to a possible resource starvation in certain situations,
since Java7 uses an CAOpenGLLayer.
Similar w/ f354fb204d8973453c538dda78a2c82c87be61dc,
creation, set and unset is operated on main-thread.
Diffstat (limited to 'src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m')
-rw-r--r-- | src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m b/src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m index 35c9b6a7f..6738364a7 100644 --- a/src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m +++ b/src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m @@ -67,29 +67,29 @@ extern GLboolean glIsVertexArray (GLuint array); - (id)initWithFormat:(NSOpenGLPixelFormat *)format shareContext:(NSOpenGLContext *)share { - DBG_PRINT("MyNSOpenGLContext.initWithFormat.0: format %p, share %p\n", format, share); + DBG_PRINT("MyNSOpenGLContext::initWithFormat.0: format %p, share %p\n", format, share); MyNSOpenGLContext * o = [super initWithFormat:format shareContext:share]; - DBG_PRINT("MyNSOpenGLContext.initWithFormat.X: new %p\n", o); + DBG_PRINT("MyNSOpenGLContext::initWithFormat.X: new %p\n", o); return o; } - (void)setView:(NSView *)view { - DBG_PRINT("MyNSOpenGLContext.setView: this.0 %p, view %p\n", self, view); + DBG_PRINT("MyNSOpenGLContext::setView: this.0 %p, view %p\n", self, view); // NSLog(@"MyNSOpenGLContext::setView: %@",[NSThread callStackSymbols]); if(NULL != view) { [super setView:view]; } else { [self clearDrawable]; } - DBG_PRINT("MyNSOpenGLContext.setView.X\n"); + DBG_PRINT("MyNSOpenGLContext::setView.X\n"); } - (void)update { - DBG_PRINT("MyNSOpenGLContext.update: this.0 %p, view %p\n", self, [self view]); + DBG_PRINT("MyNSOpenGLContext::update: this.0 %p, view %p\n", self, [self view]); [super update]; - DBG_PRINT("MyNSOpenGLContext.update.X\n"); + DBG_PRINT("MyNSOpenGLContext::update.X\n"); } #ifdef DBG_LIFECYCLE @@ -132,20 +132,20 @@ extern GLboolean glIsVertexArray (GLuint array); // NSLog(@"MyNSOpenGLContext::dealloc: %@",[NSThread callStackSymbols]); [self clearDrawable]; - DBG_PRINT("MyNSOpenGLContext.dealloc.1 %d\n", CGLRETAINCOUNT(cglCtx)); + DBG_PRINT("MyNSOpenGLContext::dealloc.1 %d\n", CGLRETAINCOUNT(cglCtx)); if( NULL != cglCtx ) { CGLRetainContext( cglCtx ); - DBG_PRINT("MyNSOpenGLContext.dealloc.2 %d\n", CGLRETAINCOUNT(cglCtx)); + DBG_PRINT("MyNSOpenGLContext::dealloc.2 %d\n", CGLRETAINCOUNT(cglCtx)); } [super dealloc]; - DBG_PRINT("MyNSOpenGLContext.dealloc.3 %d\n", CGLRETAINCOUNT(cglCtx)); + DBG_PRINT("MyNSOpenGLContext::dealloc.3 %d\n", CGLRETAINCOUNT(cglCtx)); if( NULL != cglCtx ) { CGLReleaseContext( cglCtx ); - DBG_PRINT("MyNSOpenGLContext.dealloc.4 %d\n", CGLRETAINCOUNT(cglCtx)); + DBG_PRINT("MyNSOpenGLContext::dealloc.4 %d\n", CGLRETAINCOUNT(cglCtx)); CGLDestroyContext( cglCtx ); - DBG_PRINT("MyNSOpenGLContext.dealloc.5 %d\n", CGLRETAINCOUNT(cglCtx)); + DBG_PRINT("MyNSOpenGLContext::dealloc.5 %d\n", CGLRETAINCOUNT(cglCtx)); } - DBG_PRINT("MyNSOpenGLContext.dealloc.X\n"); + DBG_PRINT("MyNSOpenGLContext::dealloc.X\n"); } @end |