modules/graphics/src/main/java/com/sun/prism/es2/IOSGLFactory.java

Print this page




  41     };
  42 
  43     @Override
  44     GLGPUInfo[] getPreQualificationFilter() {
  45         return preQualificationFilter;
  46     }
  47 
  48     @Override
  49     GLGPUInfo[] getBlackList() {
  50         return blackList;
  51     }
  52 
  53     @Override
  54     GLContext createGLContext(long nativeCtxInfo) {
  55         return new IOSGLContext(nativeCtxInfo);
  56     }
  57 
  58     @Override
  59     GLContext createGLContext(GLDrawable drawable, GLPixelFormat pixelFormat,
  60         GLContext shareCtx, boolean vSyncRequest) {
  61         return new IOSGLContext(drawable, pixelFormat, shareCtx, vSyncRequest);








  62     }
  63 
  64     @Override
  65     GLDrawable createDummyGLDrawable(GLPixelFormat pixelFormat) {
  66         return new IOSGLDrawable(pixelFormat);
  67     }
  68 
  69     @Override
  70     GLDrawable createGLDrawable(long nativeWindow, GLPixelFormat pixelFormat) {
  71         return new IOSGLDrawable(nativeWindow, pixelFormat);
  72     }
  73 
  74     @Override
  75     GLPixelFormat createGLPixelFormat(long nativeScreen, Attributes attributes) {
  76         return new IOSGLPixelFormat(nativeScreen, attributes);
  77     }
  78 
  79     @Override
  80     boolean initialize(Class psClass, Attributes attrs) {
  81 


 105     }
 106 
 107     @Override
 108     int getAdapterCount() {
 109         return nGetAdapterCount();
 110     }
 111 
 112     @Override
 113     int getAdapterOrdinal(long nativeScreen) {
 114         return nGetAdapterOrdinal(nativeScreen);
 115     }
 116 
 117     @Override
 118     void updateDeviceDetails(HashMap deviceDetails) {
 119            deviceDetails.put("shareContextPtr", getShareContext().getNativeHandle());
 120     }
 121 
 122     // JIRA: RT-21739
 123     // This is a temporary mechanism to work well with Glass on iOS due
 124     // to the CALayer work. Need to be removed in the early future for 3.0
 125     @Override
 126     void updateDeviceDetails(HashMap deviceDetails, GLContext glContext) {
 127         deviceDetails.put("contextPtr", glContext.getNativeHandle());
 128     }
 129 }


  41     };
  42 
  43     @Override
  44     GLGPUInfo[] getPreQualificationFilter() {
  45         return preQualificationFilter;
  46     }
  47 
  48     @Override
  49     GLGPUInfo[] getBlackList() {
  50         return blackList;
  51     }
  52 
  53     @Override
  54     GLContext createGLContext(long nativeCtxInfo) {
  55         return new IOSGLContext(nativeCtxInfo);
  56     }
  57 
  58     @Override
  59     GLContext createGLContext(GLDrawable drawable, GLPixelFormat pixelFormat,
  60         GLContext shareCtx, boolean vSyncRequest) {
  61         GLContext prismCtx = new IOSGLContext(drawable, pixelFormat, shareCtx, vSyncRequest);
  62 
  63         // JIRA: RT-21739
  64         // TODO: This is a temporary mechanism to work well with Glass on Mac due
  65         // to the CALayer work. Need to be removed in the early future for 3.0
  66         HashMap devDetails = (HashMap) ES2Pipeline.getInstance().getDeviceDetails();
  67         updateDeviceDetails(devDetails, prismCtx);
  68 
  69         return prismCtx;
  70     }
  71 
  72     @Override
  73     GLDrawable createDummyGLDrawable(GLPixelFormat pixelFormat) {
  74         return new IOSGLDrawable(pixelFormat);
  75     }
  76 
  77     @Override
  78     GLDrawable createGLDrawable(long nativeWindow, GLPixelFormat pixelFormat) {
  79         return new IOSGLDrawable(nativeWindow, pixelFormat);
  80     }
  81 
  82     @Override
  83     GLPixelFormat createGLPixelFormat(long nativeScreen, Attributes attributes) {
  84         return new IOSGLPixelFormat(nativeScreen, attributes);
  85     }
  86 
  87     @Override
  88     boolean initialize(Class psClass, Attributes attrs) {
  89 


 113     }
 114 
 115     @Override
 116     int getAdapterCount() {
 117         return nGetAdapterCount();
 118     }
 119 
 120     @Override
 121     int getAdapterOrdinal(long nativeScreen) {
 122         return nGetAdapterOrdinal(nativeScreen);
 123     }
 124 
 125     @Override
 126     void updateDeviceDetails(HashMap deviceDetails) {
 127            deviceDetails.put("shareContextPtr", getShareContext().getNativeHandle());
 128     }
 129 
 130     // JIRA: RT-21739
 131     // This is a temporary mechanism to work well with Glass on iOS due
 132     // to the CALayer work. Need to be removed in the early future for 3.0
 133     private void updateDeviceDetails(HashMap deviceDetails, GLContext glContext) {

 134         deviceDetails.put("contextPtr", glContext.getNativeHandle());
 135     }
 136 }