public class com.sun.glass.ui.monocle.AcceleratedScreen
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.glass.ui.monocle.AcceleratedScreen
super_class: java.lang.Object
{
private static long glesLibraryHandle;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long eglLibraryHandle;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean initialized;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private long eglSurface;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long eglContext;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long eglDisplay;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long nativeWindow;
descriptor: J
flags: (0x0002) ACC_PRIVATE
protected static final com.sun.glass.ui.monocle.LinuxSystem ls;
descriptor: Lcom/sun/glass/ui/monocle/LinuxSystem;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private com.sun.glass.ui.monocle.EGL egl;
descriptor: Lcom/sun/glass/ui/monocle/EGL;
flags: (0x0002) ACC_PRIVATE
long[] eglConfigs;
descriptor: [J
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic com.sun.glass.ui.monocle.AcceleratedScreen.initialized:Z
1: invokestatic com.sun.glass.ui.monocle.LinuxSystem.getLinuxSystem:()Lcom/sun/glass/ui/monocle/LinuxSystem;
putstatic com.sun.glass.ui.monocle.AcceleratedScreen.ls:Lcom/sun/glass/ui/monocle/LinuxSystem;
return
LocalVariableTable:
Start End Slot Name Signature
protected long platformGetNativeDisplay();
descriptor: ()J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
protected long platformGetNativeWindow();
descriptor: ()J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
void <init>(int[]);
descriptor: ([I)V
flags: (0x0000)
Code:
stack=9, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
newarray 11
putfield com.sun.glass.ui.monocle.AcceleratedScreen.eglConfigs:[J
2: aload 0
invokestatic com.sun.glass.ui.monocle.EGL.getEGL:()Lcom/sun/glass/ui/monocle/EGL;
putfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
3: aload 0
invokevirtual com.sun.glass.ui.monocle.AcceleratedScreen.initPlatformLibraries:()Z
pop
4: iconst_1
newarray 10
astore 2
start local 2 5: iconst_1
newarray 10
astore 3
start local 3 6: aload 0
invokevirtual com.sun.glass.ui.monocle.AcceleratedScreen.platformGetNativeDisplay:()J
lstore 4
start local 4 7: aload 0
invokevirtual com.sun.glass.ui.monocle.AcceleratedScreen.platformGetNativeWindow:()J
lstore 6
start local 6 8: lload 4
ldc -1
lcmp
ifne 10
9: new com.sun.glass.ui.monocle.GLException
dup
iconst_0
ldc "Could not get native display"
invokespecial com.sun.glass.ui.monocle.GLException.<init>:(ILjava/lang/String;)V
athrow
10: StackMap locals: com.sun.glass.ui.monocle.AcceleratedScreen int[] int[] int[] long long
StackMap stack:
lload 6
ldc -1
lcmp
ifne 12
11: new com.sun.glass.ui.monocle.GLException
dup
iconst_0
ldc "Could not get native window"
invokespecial com.sun.glass.ui.monocle.GLException.<init>:(ILjava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
13: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
lload 4
invokevirtual com.sun.glass.ui.monocle.EGL.eglGetDisplay:(J)J
14: putfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
15: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
lconst_0
lcmp
ifne 19
16: new com.sun.glass.ui.monocle.GLException
dup
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
invokevirtual com.sun.glass.ui.monocle.EGL.eglGetError:()I
17: ldc "Could not get EGL display"
18: invokespecial com.sun.glass.ui.monocle.GLException.<init>:(ILjava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
aload 2
aload 3
invokevirtual com.sun.glass.ui.monocle.EGL.eglInitialize:(J[I[I)Z
ifne 23
20: new com.sun.glass.ui.monocle.GLException
dup
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
invokevirtual com.sun.glass.ui.monocle.EGL.eglGetError:()I
21: ldc "Error initializing EGL"
22: invokespecial com.sun.glass.ui.monocle.GLException.<init>:(ILjava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
sipush 12448
invokevirtual com.sun.glass.ui.monocle.EGL.eglBindAPI:(I)Z
ifne 27
24: new com.sun.glass.ui.monocle.GLException
dup
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
invokevirtual com.sun.glass.ui.monocle.EGL.eglGetError:()I
25: ldc "Error binding OPENGL API"
26: invokespecial com.sun.glass.ui.monocle.GLException.<init>:(ILjava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
iconst_1
newarray 10
astore 8
start local 8 28: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
aload 1
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglConfigs:[J
29: iconst_1
aload 8
30: invokevirtual com.sun.glass.ui.monocle.EGL.eglChooseConfig:(J[I[JI[I)Z
31: ifne 35
32: new com.sun.glass.ui.monocle.GLException
dup
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
invokevirtual com.sun.glass.ui.monocle.EGL.eglGetError:()I
33: ldc "Error choosing EGL config"
34: invokespecial com.sun.glass.ui.monocle.GLException.<init>:(ILjava/lang/String;)V
athrow
35: StackMap locals: int[]
StackMap stack:
aload 0
36: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglConfigs:[J
iconst_0
laload
37: lload 6
aconst_null
38: invokevirtual com.sun.glass.ui.monocle.EGL.eglCreateWindowSurface:(JJJ[I)J
39: putfield com.sun.glass.ui.monocle.AcceleratedScreen.eglSurface:J
40: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglSurface:J
lconst_0
lcmp
ifne 44
41: new com.sun.glass.ui.monocle.GLException
dup
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
invokevirtual com.sun.glass.ui.monocle.EGL.eglGetError:()I
42: ldc "Could not get EGL surface"
43: invokespecial com.sun.glass.ui.monocle.GLException.<init>:(ILjava/lang/String;)V
athrow
44: StackMap locals:
StackMap stack:
iconst_0
newarray 10
astore 9
start local 9 45: aload 0
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglConfigs:[J
iconst_0
laload
46: lconst_0
aload 9
47: invokevirtual com.sun.glass.ui.monocle.EGL.eglCreateContext:(JJJ[I)J
putfield com.sun.glass.ui.monocle.AcceleratedScreen.eglContext:J
48: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglContext:J
lconst_0
lcmp
ifne 52
49: new com.sun.glass.ui.monocle.GLException
dup
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
invokevirtual com.sun.glass.ui.monocle.EGL.eglGetError:()I
50: ldc "Could not get EGL context"
51: invokespecial com.sun.glass.ui.monocle.GLException.<init>:(ILjava/lang/String;)V
athrow
52: StackMap locals: int[]
StackMap stack:
return
end local 9 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
0 53 1 attributes [I
5 53 2 major [I
6 53 3 minor [I
7 53 4 nativeDisplay J
8 53 6 nativeWindow J
28 53 8 configCount [I
45 53 9 emptyAttrArray [I
Exceptions:
throws com.sun.glass.ui.monocle.GLException, java.lang.UnsatisfiedLinkError
MethodParameters:
Name Flags
attributes
private void createSurface();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual com.sun.glass.ui.monocle.AcceleratedScreen.platformGetNativeWindow:()J
putfield com.sun.glass.ui.monocle.AcceleratedScreen.nativeWindow:J
1: aload 0
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglConfigs:[J
iconst_0
laload
2: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.nativeWindow:J
aconst_null
3: invokevirtual com.sun.glass.ui.monocle.EGL._eglCreateWindowSurface:(JJJ[I)J
putfield com.sun.glass.ui.monocle.AcceleratedScreen.eglSurface:J
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
public void enableRendering(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 5
1: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglSurface:J
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglSurface:J
2: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglContext:J
3: invokevirtual com.sun.glass.ui.monocle.EGL.eglMakeCurrent:(JJJJ)Z
pop
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
lconst_0
lconst_0
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglContext:J
invokevirtual com.sun.glass.ui.monocle.EGL.eglMakeCurrent:(JJJJ)Z
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
0 7 1 flag Z
MethodParameters:
Name Flags
flag
boolean initPlatformLibraries();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic com.sun.glass.ui.monocle.AcceleratedScreen.initialized:Z
ifne 12
1: getstatic com.sun.glass.ui.monocle.AcceleratedScreen.ls:Lcom/sun/glass/ui/monocle/LinuxSystem;
ldc "libGLESv2.so"
2: sipush 257
3: invokevirtual com.sun.glass.ui.monocle.LinuxSystem.dlopen:(Ljava/lang/String;I)J
putstatic com.sun.glass.ui.monocle.AcceleratedScreen.glesLibraryHandle:J
4: getstatic com.sun.glass.ui.monocle.AcceleratedScreen.glesLibraryHandle:J
lconst_0
lcmp
ifne 6
5: new java.lang.UnsatisfiedLinkError
dup
ldc "Error loading libGLESv2.so"
invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
getstatic com.sun.glass.ui.monocle.AcceleratedScreen.ls:Lcom/sun/glass/ui/monocle/LinuxSystem;
ldc "libEGL.so"
7: sipush 257
8: invokevirtual com.sun.glass.ui.monocle.LinuxSystem.dlopen:(Ljava/lang/String;I)J
putstatic com.sun.glass.ui.monocle.AcceleratedScreen.eglLibraryHandle:J
9: getstatic com.sun.glass.ui.monocle.AcceleratedScreen.eglLibraryHandle:J
lconst_0
lcmp
ifne 11
10: new java.lang.UnsatisfiedLinkError
dup
ldc "Error loading libEGL.so"
invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
iconst_1
putstatic com.sun.glass.ui.monocle.AcceleratedScreen.initialized:Z
12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
Exceptions:
throws java.lang.UnsatisfiedLinkError
public long getGLHandle();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.sun.glass.ui.monocle.AcceleratedScreen.glesLibraryHandle:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
protected long getEGLHandle();
descriptor: ()J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.sun.glass.ui.monocle.AcceleratedScreen.eglLibraryHandle:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
public boolean swapBuffers();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: getstatic com.sun.glass.ui.monocle.NativeScreen.framebufferSwapLock:Ljava/lang/Object;
dup
astore 2
monitorenter
2: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglSurface:J
invokevirtual com.sun.glass.ui.monocle.EGL.eglSwapBuffers:(JJ)Z
istore 1
3: iload 1
ifne 6
4: aload 0
invokevirtual com.sun.glass.ui.monocle.AcceleratedScreen.createSurface:()V
5: aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.egl:Lcom/sun/glass/ui/monocle/EGL;
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglDisplay:J
aload 0
getfield com.sun.glass.ui.monocle.AcceleratedScreen.eglSurface:J
invokevirtual com.sun.glass.ui.monocle.EGL.eglSwapBuffers:(JJ)Z
istore 1
6: StackMap locals: int java.lang.Object
StackMap stack:
aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/glass/ui/monocle/AcceleratedScreen;
1 11 1 result Z
Exception table:
from to target type
2 7 8 any
8 9 8 any
}
SourceFile: "AcceleratedScreen.java"