Print this page
Added gradle and cmake project

Split Close
Expand all
Collapse all
          --- old/src/java.desktop/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java
          +++ new/src/java.desktop/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java
↓ open down ↓ 19 lines elided ↑ open up ↑
  20   20   *
  21   21   * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22   22   * or visit www.oracle.com if you need additional information or have any
  23   23   * questions.
  24   24   */
  25   25  
  26   26  package sun.java2d;
  27   27  
  28   28  import sun.awt.image.SunVolatileImage;
  29   29  import sun.awt.image.VolatileSurfaceManager;
       30 +import sun.java2d.macos.MacOSFlags;
       31 +import sun.java2d.metal.MTLVolatileSurfaceManager;
  30   32  import sun.java2d.opengl.CGLVolatileSurfaceManager;
  31   33  
  32   34  /**
  33   35   * This is a factory class with static methods for creating a
  34   36   * platform-specific instance of a particular SurfaceManager.  Each platform
  35   37   * (Windows, Unix, etc.) has its own specialized SurfaceManagerFactory.
  36   38   */
  37   39  public class MacosxSurfaceManagerFactory extends SurfaceManagerFactory {
  38   40  
  39   41      /**
↓ open down ↓ 2 lines elided ↑ open up ↑
  42   44       * as a way for the caller to pass pipeline-specific context data to
  43   45       * the VolatileSurfaceManager (such as a backbuffer handle, for example).
  44   46       *
  45   47       * For Mac OS X, this method returns either an CGL-specific
  46   48       * VolatileSurfaceManager based on the GraphicsConfiguration
  47   49       * under which the SunVolatileImage was created.
  48   50       */
  49   51      public VolatileSurfaceManager createVolatileManager(SunVolatileImage vImg,
  50   52                                                          Object context)
  51   53      {
  52      -        return new CGLVolatileSurfaceManager(vImg, context);
       54 +        return MacOSFlags.isMetalEnabled() ? new MTLVolatileSurfaceManager(vImg, context) :
       55 +                new CGLVolatileSurfaceManager(vImg, context);
  53   56      }
  54   57  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX