src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java
branchmetal-prototype-branch
changeset 57416 e153174dba06
parent 57196 a95707a39ff5
equal deleted inserted replaced
57400:978ffc56771f 57416:e153174dba06
    34 import java.awt.Window;
    34 import java.awt.Window;
    35 import java.awt.geom.Rectangle2D;
    35 import java.awt.geom.Rectangle2D;
    36 import java.util.Objects;
    36 import java.util.Objects;
    37 
    37 
    38 import sun.java2d.SunGraphicsEnvironment;
    38 import sun.java2d.SunGraphicsEnvironment;
       
    39 import sun.java2d.macos.MacOSFlags;
       
    40 import sun.java2d.metal.MTLGraphicsConfig;
    39 import sun.java2d.opengl.CGLGraphicsConfig;
    41 import sun.java2d.opengl.CGLGraphicsConfig;
    40 import sun.java2d.metal.MetalGraphicsConfig;
       
    41 
    42 
    42 public final class CGraphicsDevice extends GraphicsDevice
    43 public final class CGraphicsDevice extends GraphicsDevice
    43         implements DisplayChangedListener {
    44         implements DisplayChangedListener {
    44 
    45 
    45     /**
    46     /**
    59     // Save/restore DisplayMode for the Full Screen mode
    60     // Save/restore DisplayMode for the Full Screen mode
    60     private DisplayMode originalMode;
    61     private DisplayMode originalMode;
    61 
    62 
    62     public CGraphicsDevice(final int displayID) {
    63     public CGraphicsDevice(final int displayID) {
    63         this.displayID = displayID;
    64         this.displayID = displayID;
    64 
    65         config = MacOSFlags.isMetalEnabled() ?
    65         if (isMetalSystemProperty()) {
    66                 MTLGraphicsConfig.getConfig(this, displayID, 0) :
    66             config = MetalGraphicsConfig.getConfig(this, displayID, 0);
    67                 CGLGraphicsConfig.getConfig(this, displayID, 0);
    67             System.out.println("Created MetalGraphicsConfig");
       
    68         } else {
       
    69             config = CGLGraphicsConfig.getConfig(this, displayID, 0);
       
    70         }
       
    71     }
       
    72 
       
    73     private boolean isMetalSystemProperty() {
       
    74            String str = System.getProperty("sun.java2d.metal");
       
    75            
       
    76            if (str != null) {
       
    77                System.out.println("Property : sun.java2d.metal=" + str);
       
    78                if (str.equals("true")) {
       
    79                 return true;    
       
    80                }
       
    81          }
       
    82          return false;
       
    83     }
    68     }
    84 
    69 
    85     /**
    70     /**
    86      * Return a list of all configurations.
    71      * Return a list of all configurations.
    87      */
    72      */