Print this page
rev 54883 : JDK-8220154 Improve java2d rendering performance on macOS by using Metal framework

Split Close
Expand all
Collapse all
          --- old/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
          +++ new/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
↓ open down ↓ 47 lines elided ↑ open up ↑
  48   48  import sun.awt.image.SunVolatileImage;
  49   49  import sun.java2d.Disposer;
  50   50  import sun.java2d.DisposerRecord;
  51   51  import sun.java2d.Surface;
  52   52  import sun.java2d.SurfaceData;
  53   53  import sun.java2d.opengl.OGLContext.OGLContextCaps;
  54   54  import sun.java2d.pipe.hw.AccelSurface;
  55   55  import sun.java2d.pipe.hw.AccelTypedVolatileImage;
  56   56  import sun.java2d.pipe.hw.ContextCapabilities;
  57   57  import sun.lwawt.LWComponentPeer;
       58 +import sun.lwawt.macosx.CFRetainedResource;
  58   59  import sun.lwawt.macosx.CPlatformView;
  59   60  
  60   61  import static sun.java2d.opengl.OGLContext.OGLContextCaps.CAPS_DOUBLEBUFFERED;
  61   62  import static sun.java2d.opengl.OGLContext.OGLContextCaps.CAPS_EXT_FBOBJECT;
  62   63  import static sun.java2d.opengl.OGLSurfaceData.FBOBJECT;
  63   64  import static sun.java2d.opengl.OGLSurfaceData.TEXTURE;
  64   65  
  65   66  public final class CGLGraphicsConfig extends CGraphicsConfig
  66   67      implements OGLGraphicsConfig
  67   68  {
↓ open down ↓ 189 lines elided ↑ open up ↑
 257  258          String display = getDevice().getIDstring();
 258  259          return ("CGLGraphicsConfig[" + display + ", pixfmt=" + pixfmt + "]");
 259  260      }
 260  261  
 261  262      @Override
 262  263      public SurfaceData createSurfaceData(CPlatformView pView) {
 263  264          return CGLSurfaceData.createData(pView);
 264  265      }
 265  266  
 266  267      @Override
 267      -    public SurfaceData createSurfaceData(CGLLayer layer) {
 268      -        return CGLSurfaceData.createData(layer);
      268 +    public SurfaceData createSurfaceData(CFRetainedResource layer) {
      269 +        return CGLSurfaceData.createData((CGLLayer) layer);
 269  270      }
 270  271  
 271  272      @Override
 272  273      public Image createAcceleratedImage(Component target,
 273  274                                          int width, int height)
 274  275      {
 275  276          ColorModel model = getColorModel(Transparency.OPAQUE);
 276  277          WritableRaster wr = model.createCompatibleWritableRaster(width, height);
 277  278          return new OffScreenImage(target, model, wr,
 278  279                                    model.isAlphaPremultiplied());
↓ open down ↓ 131 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX