Review request for MACOSX_PORT-766: Create offscreen CALayer surface

Dmitry Cherepanov dmitry.cherepanov at oracle.com
Mon Dec 12 09:41:07 PST 2011


Hi Mike, Phil,

Here's a fix for the following task - 
http://java.net/jira/browse/MACOSX_PORT-766

The purpose of the fix is to create purely off-screen CALayer surface 
that isn't tied to an NSView or NSWindow (needs to be done before 
proceeding with MACOSX_PORT-539).

Webrev - http://cr.openjdk.java.net/~dcherepanov/macosx-port-766.0/

Some brief notes regarding the changes:

 - the fix disables the initial implementation for the CALayer-based 
rendering (pushed as a part of 
http://java.net/jira/browse/MACOSX_PORT-77) as this implementation tries 
to reuse the existing CGLWindowSurfaceData class (to implement 
intermediate buffer) and it automatically becomes tied to a NSView/NSWindow.

 - the new approach introduces new CGLLayerSurfaceData class - this type 
of surface serves as an intermediate buffer between the flusher thread 
and the AppKit thread. And the new CGLLayerSurfaceData class allows us 
to have the implementation of the CGLLayer class independent from the 
CGLWindowSurfaceData class.

Could you please take a look at this? Thanks in advance for any review.

Thanks,
Dmitry


More information about the macosx-port-dev mailing list