public class com.sun.prism.es2.ES2Pipeline extends com.sun.prism.GraphicsPipeline
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.prism.es2.ES2Pipeline
  super_class: com.sun.prism.GraphicsPipeline
{
  public static final com.sun.prism.es2.GLFactory glFactory;
    descriptor: Lcom/sun/prism/es2/GLFactory;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final com.sun.prism.es2.GLPixelFormat$Attributes pixelFormatAttributes;
    descriptor: Lcom/sun/prism/es2/GLPixelFormat$Attributes;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final boolean msaa;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final boolean npotSupported;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final boolean supports3D;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static boolean es2Enabled;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean isEglfb;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.Thread creator;
    descriptor: Ljava/lang/Thread;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final com.sun.prism.es2.ES2Pipeline theInstance;
    descriptor: Lcom/sun/prism/es2/ES2Pipeline;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static com.sun.prism.es2.ES2ResourceFactory[] factories;
    descriptor: [Lcom/sun/prism/es2/ES2ResourceFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  com.sun.prism.es2.ES2ResourceFactory _default;
    descriptor: Lcom/sun/prism/es2/ES2ResourceFactory;
    flags: (0x0000) 

  private static volatile int[] $SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderModel;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 43
            new com.sun.prism.es2.GLPixelFormat$Attributes
            dup
            invokespecial com.sun.prism.es2.GLPixelFormat$Attributes.<init>:()V
            putstatic com.sun.prism.es2.ES2Pipeline.pixelFormatAttributes:Lcom/sun/prism/es2/GLPixelFormat$Attributes;
         1: .line 48
            iconst_0
            putstatic com.sun.prism.es2.ES2Pipeline.isEglfb:Z
         2: .line 51
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/prism/es2/ES2Pipeline.lambda$0()Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         3: .line 77
            invokestatic com.sun.prism.es2.GLFactory.getFactory:()Lcom/sun/prism/es2/GLFactory;
            putstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
         4: .line 79
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putstatic com.sun.prism.es2.ES2Pipeline.creator:Ljava/lang/Thread;
         5: .line 81
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            ifnull 10
         6: .line 82
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            ldc Lcom/sun/prism/impl/PrismSettings;
         7: .line 83
            getstatic com.sun.prism.es2.ES2Pipeline.pixelFormatAttributes:Lcom/sun/prism/es2/GLPixelFormat$Attributes;
         8: .line 82
            invokevirtual com.sun.prism.es2.GLFactory.initialize:(Ljava/lang/Class;Lcom/sun/prism/es2/GLPixelFormat$Attributes;)Z
            putstatic com.sun.prism.es2.ES2Pipeline.es2Enabled:Z
         9: .line 84
            goto 11
        10: .line 85
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic com.sun.prism.es2.ES2Pipeline.es2Enabled:Z
        11: .line 88
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.es2.ES2Pipeline.es2Enabled:Z
            ifeq 20
        12: .line 89
            new com.sun.prism.es2.ES2Pipeline
            dup
            invokespecial com.sun.prism.es2.ES2Pipeline.<init>:()V
            putstatic com.sun.prism.es2.ES2Pipeline.theInstance:Lcom/sun/prism/es2/ES2Pipeline;
        13: .line 90
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            invokevirtual com.sun.prism.es2.GLFactory.getAdapterCount:()I
            anewarray com.sun.prism.es2.ES2ResourceFactory
            putstatic com.sun.prism.es2.ES2Pipeline.factories:[Lcom/sun/prism/es2/ES2ResourceFactory;
        14: .line 91
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            ldc "GL_ARB_multisample"
            invokevirtual com.sun.prism.es2.GLFactory.isGLExtensionSupported:(Ljava/lang/String;)Z
            putstatic com.sun.prism.es2.ES2Pipeline.msaa:Z
        15: .line 92
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            invokevirtual com.sun.prism.es2.GLFactory.isNPOTSupported:()Z
            putstatic com.sun.prism.es2.ES2Pipeline.npotSupported:Z
        16: .line 95
            getstatic com.sun.prism.es2.ES2Pipeline.npotSupported:Z
            ifne 17
            invokestatic com.sun.javafx.PlatformUtil.isIOS:()Z
            ifne 17
            iconst_0
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: putstatic com.sun.prism.es2.ES2Pipeline.supports3D:Z
        19: .line 96
            goto 24
        20: .line 97
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic com.sun.prism.es2.ES2Pipeline.theInstance:Lcom/sun/prism/es2/ES2Pipeline;
        21: .line 98
            iconst_0
            putstatic com.sun.prism.es2.ES2Pipeline.msaa:Z
        22: .line 99
            iconst_0
            putstatic com.sun.prism.es2.ES2Pipeline.npotSupported:Z
        23: .line 100
            iconst_0
            putstatic com.sun.prism.es2.ES2Pipeline.supports3D:Z
        24: .line 106
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Pipeline this
         0: .line 39
            aload 0 /* this */
            invokespecial com.sun.prism.GraphicsPipeline.<init>:()V
            return
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Pipeline;

  public static com.sun.prism.es2.ES2Pipeline getInstance();
    descriptor: ()Lcom/sun/prism/es2/ES2Pipeline;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 109
            getstatic com.sun.prism.es2.ES2Pipeline.theInstance:Lcom/sun/prism/es2/ES2Pipeline;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean init();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.prism.es2.ES2Pipeline this
         0: .line 114
            getstatic com.sun.prism.es2.ES2Pipeline.es2Enabled:Z
            ifeq 10
         1: .line 115
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* devDetails */
        start local 1 // java.util.HashMap devDetails
         2: .line 116
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            aload 1 /* devDetails */
            invokevirtual com.sun.prism.es2.GLFactory.updateDeviceDetails:(Ljava/util/HashMap;)V
         3: .line 117
            aload 0 /* this */
            aload 1 /* devDetails */
            invokevirtual com.sun.prism.es2.ES2Pipeline.setDeviceDetails:(Ljava/util/Map;)V
         4: .line 118
            getstatic com.sun.prism.impl.PrismSettings.forceGPU:Z
            ifne 12
         5: .line 119
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            invokevirtual com.sun.prism.es2.GLFactory.isGLGPUQualify:()Z
            putstatic com.sun.prism.es2.ES2Pipeline.es2Enabled:Z
         6: .line 120
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 12
         7: .line 121
            getstatic com.sun.prism.es2.ES2Pipeline.es2Enabled:Z
            ifne 12
         8: .line 122
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Failed Graphics Hardware Qualifier check.\nSystem GPU doesn't meet the es2 pipe requirement"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 1 // java.util.HashMap devDetails
         9: .line 127
            goto 12
      StackMap locals:
      StackMap stack:
        10: getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 12
        11: .line 128
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Failed to initialize ES2 backend: "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 130
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.es2.ES2Pipeline.es2Enabled:Z
            ireturn
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Lcom/sun/prism/es2/ES2Pipeline;
            2    9     1  devDetails  Ljava/util/HashMap;

  private static com.sun.prism.es2.ES2ResourceFactory getES2ResourceFactory(int, com.sun.glass.ui.Screen);
    descriptor: (ILcom/sun/glass/ui/Screen;)Lcom/sun/prism/es2/ES2ResourceFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int adapterOrdinal
        start local 1 // com.sun.glass.ui.Screen screen
         0: .line 135
            getstatic com.sun.prism.es2.ES2Pipeline.factories:[Lcom/sun/prism/es2/ES2ResourceFactory;
            iload 0 /* adapterOrdinal */
            aaload
            astore 2 /* factory */
        start local 2 // com.sun.prism.es2.ES2ResourceFactory factory
         1: .line 136
            aload 2 /* factory */
            ifnonnull 4
            aload 1 /* screen */
            ifnull 4
         2: .line 137
            new com.sun.prism.es2.ES2ResourceFactory
            dup
            aload 1 /* screen */
            invokespecial com.sun.prism.es2.ES2ResourceFactory.<init>:(Lcom/sun/glass/ui/Screen;)V
            astore 2 /* factory */
         3: .line 138
            getstatic com.sun.prism.es2.ES2Pipeline.factories:[Lcom/sun/prism/es2/ES2ResourceFactory;
            iload 0 /* adapterOrdinal */
            aload 2 /* factory */
            aastore
         4: .line 140
      StackMap locals: com.sun.prism.es2.ES2ResourceFactory
      StackMap stack:
            aload 2 /* factory */
            areturn
        end local 2 // com.sun.prism.es2.ES2ResourceFactory factory
        end local 1 // com.sun.glass.ui.Screen screen
        end local 0 // int adapterOrdinal
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0  adapterOrdinal  I
            0    5     1          screen  Lcom/sun/glass/ui/Screen;
            1    5     2         factory  Lcom/sun/prism/es2/ES2ResourceFactory;
    MethodParameters:
                Name  Flags
      adapterOrdinal  
      screen          

  private static com.sun.glass.ui.Screen getScreenForAdapter(java.util.List<com.sun.glass.ui.Screen>, int);
    descriptor: (Ljava/util/List;I)Lcom/sun/glass/ui/Screen;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.List screens
        start local 1 // int adapterOrdinal
         0: .line 147
            aload 0 /* screens */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.util.List int top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.glass.ui.Screen
            astore 2 /* screen */
        start local 2 // com.sun.glass.ui.Screen screen
         2: .line 148
            aload 2 /* screen */
            invokevirtual com.sun.glass.ui.Screen.getAdapterOrdinal:()I
            iload 1 /* adapterOrdinal */
            if_icmpne 4
         3: .line 149
            aload 2 /* screen */
            areturn
        end local 2 // com.sun.glass.ui.Screen screen
         4: .line 147
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 152
            invokestatic com.sun.glass.ui.Screen.getMainScreen:()Lcom/sun/glass/ui/Screen;
            areturn
        end local 1 // int adapterOrdinal
        end local 0 // java.util.List screens
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0         screens  Ljava/util/List<Lcom/sun/glass/ui/Screen;>;
            0    6     1  adapterOrdinal  I
            2    4     2          screen  Lcom/sun/glass/ui/Screen;
    Signature: (Ljava/util/List<Lcom/sun/glass/ui/Screen;>;I)Lcom/sun/glass/ui/Screen;
    MethodParameters:
                Name  Flags
      screens         
      adapterOrdinal  

  public int getAdapterOrdinal(com.sun.glass.ui.Screen);
    descriptor: (Lcom/sun/glass/ui/Screen;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Pipeline this
        start local 1 // com.sun.glass.ui.Screen screen
         0: .line 157
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            aload 1 /* screen */
            invokevirtual com.sun.glass.ui.Screen.getNativeScreen:()J
            invokevirtual com.sun.prism.es2.GLFactory.getAdapterOrdinal:(J)I
            ireturn
        end local 1 // com.sun.glass.ui.Screen screen
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/prism/es2/ES2Pipeline;
            0    1     1  screen  Lcom/sun/glass/ui/Screen;
    MethodParameters:
        Name  Flags
      screen  

  private static com.sun.prism.es2.ES2ResourceFactory findDefaultResourceFactory(java.util.List<com.sun.glass.ui.Screen>);
    descriptor: (Ljava/util/List;)Lcom/sun/prism/es2/ES2ResourceFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.List screens
         0: .line 161
            iconst_0
            istore 1 /* adapter */
        start local 1 // int adapter
         1: getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            invokevirtual com.sun.prism.es2.GLFactory.getAdapterCount:()I
            istore 2 /* n */
        start local 2 // int n
         2: goto 12
         3: .line 163
      StackMap locals: int int
      StackMap stack:
            iload 1 /* adapter */
            aload 0 /* screens */
            iload 1 /* adapter */
            invokestatic com.sun.prism.es2.ES2Pipeline.getScreenForAdapter:(Ljava/util/List;I)Lcom/sun/glass/ui/Screen;
            invokestatic com.sun.prism.es2.ES2Pipeline.getES2ResourceFactory:(ILcom/sun/glass/ui/Screen;)Lcom/sun/prism/es2/ES2ResourceFactory;
         4: .line 162
            astore 3 /* rf */
        start local 3 // com.sun.prism.es2.ES2ResourceFactory rf
         5: .line 165
            aload 3 /* rf */
            ifnull 9
         6: .line 166
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 8
         7: .line 167
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            iload 1 /* adapter */
            invokevirtual com.sun.prism.es2.GLFactory.printDriverInformation:(I)V
         8: .line 169
      StackMap locals: com.sun.prism.es2.ES2ResourceFactory
      StackMap stack:
            aload 3 /* rf */
            areturn
         9: .line 171
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.impl.PrismSettings.disableBadDriverWarning:Z
            ifne 11
        10: .line 172
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "disableBadDriverWarning is unsupported on prism-es2"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // com.sun.prism.es2.ES2ResourceFactory rf
        11: .line 161
      StackMap locals:
      StackMap stack:
            iinc 1 /* adapter */ 1
      StackMap locals:
      StackMap stack:
        12: iload 1 /* adapter */
            iload 2 /* n */
            if_icmpne 3
        end local 2 // int n
        end local 1 // int adapter
        13: .line 177
            aconst_null
            areturn
        end local 0 // java.util.List screens
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  screens  Ljava/util/List<Lcom/sun/glass/ui/Screen;>;
            1   13     1  adapter  I
            2   13     2        n  I
            5   11     3       rf  Lcom/sun/prism/es2/ES2ResourceFactory;
    Signature: (Ljava/util/List<Lcom/sun/glass/ui/Screen;>;)Lcom/sun/prism/es2/ES2ResourceFactory;
    MethodParameters:
         Name  Flags
      screens  

  public com.sun.prism.ResourceFactory getDefaultResourceFactory(java.util.List<com.sun.glass.ui.Screen>);
    descriptor: (Ljava/util/List;)Lcom/sun/prism/ResourceFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Pipeline this
        start local 1 // java.util.List screens
         0: .line 183
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Pipeline._default:Lcom/sun/prism/es2/ES2ResourceFactory;
            ifnonnull 2
         1: .line 184
            aload 0 /* this */
            aload 1 /* screens */
            invokestatic com.sun.prism.es2.ES2Pipeline.findDefaultResourceFactory:(Ljava/util/List;)Lcom/sun/prism/es2/ES2ResourceFactory;
            putfield com.sun.prism.es2.ES2Pipeline._default:Lcom/sun/prism/es2/ES2ResourceFactory;
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Pipeline._default:Lcom/sun/prism/es2/ES2ResourceFactory;
            areturn
        end local 1 // java.util.List screens
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/prism/es2/ES2Pipeline;
            0    3     1  screens  Ljava/util/List<Lcom/sun/glass/ui/Screen;>;
    Signature: (Ljava/util/List<Lcom/sun/glass/ui/Screen;>;)Lcom/sun/prism/ResourceFactory;
    MethodParameters:
         Name  Flags
      screens  

  public com.sun.prism.ResourceFactory getResourceFactory(com.sun.glass.ui.Screen);
    descriptor: (Lcom/sun/glass/ui/Screen;)Lcom/sun/prism/ResourceFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Pipeline this
        start local 1 // com.sun.glass.ui.Screen screen
         0: .line 191
            aload 1 /* screen */
            invokevirtual com.sun.glass.ui.Screen.getAdapterOrdinal:()I
            aload 1 /* screen */
            invokestatic com.sun.prism.es2.ES2Pipeline.getES2ResourceFactory:(ILcom/sun/glass/ui/Screen;)Lcom/sun/prism/es2/ES2ResourceFactory;
            areturn
        end local 1 // com.sun.glass.ui.Screen screen
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/prism/es2/ES2Pipeline;
            0    1     1  screen  Lcom/sun/glass/ui/Screen;
    MethodParameters:
        Name  Flags
      screen  

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Pipeline this
         0: .line 196
            getstatic com.sun.prism.es2.ES2Pipeline.creator:Ljava/lang/Thread;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpeq 6
         1: .line 197
            new java.lang.IllegalStateException
            dup
         2: .line 198
            new java.lang.StringBuilder
            dup
            ldc "This operation is not permitted on the current thread ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 199
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 198
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 197
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 201
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.es2.ES2Pipeline.isEglfb:Z
            ifeq 8
         7: .line 202
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Pipeline._default:Lcom/sun/prism/es2/ES2ResourceFactory;
            invokevirtual com.sun.prism.es2.ES2ResourceFactory.dispose:()V
         8: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial com.sun.prism.GraphicsPipeline.dispose:()V
         9: .line 205
            return
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/prism/es2/ES2Pipeline;

  public boolean is3DSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Pipeline this
         0: .line 209
            getstatic com.sun.prism.es2.ES2Pipeline.supports3D:Z
            ireturn
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Pipeline;

  public final boolean isMSAASupported();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Pipeline this
         0: .line 214
            getstatic com.sun.prism.es2.ES2Pipeline.msaa:Z
            ireturn
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Pipeline;

  public boolean isVsyncSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Pipeline this
         0: .line 219
            iconst_1
            ireturn
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Pipeline;

  public boolean supportsShaderType(com.sun.prism.GraphicsPipeline$ShaderType);
    descriptor: (Lcom/sun/prism/GraphicsPipeline$ShaderType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Pipeline this
        start local 1 // com.sun.prism.GraphicsPipeline$ShaderType type
         0: .line 224
            invokestatic com.sun.prism.es2.ES2Pipeline.$SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderType:()[I
            aload 1 /* type */
            invokevirtual com.sun.prism.GraphicsPipeline$ShaderType.ordinal:()I
            iaload
            tableswitch { // 2 - 2
                    2: 1
              default: 2
          }
         1: .line 226
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 228
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // com.sun.prism.GraphicsPipeline$ShaderType type
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/prism/es2/ES2Pipeline;
            0    3     1  type  Lcom/sun/prism/GraphicsPipeline$ShaderType;
    MethodParameters:
      Name  Flags
      type  

  public boolean supportsShaderModel(com.sun.prism.GraphicsPipeline$ShaderModel);
    descriptor: (Lcom/sun/prism/GraphicsPipeline$ShaderModel;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Pipeline this
        start local 1 // com.sun.prism.GraphicsPipeline$ShaderModel model
         0: .line 234
            invokestatic com.sun.prism.es2.ES2Pipeline.$SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderModel:()[I
            aload 1 /* model */
            invokevirtual com.sun.prism.GraphicsPipeline$ShaderModel.ordinal:()I
            iaload
            tableswitch { // 1 - 1
                    1: 1
              default: 2
          }
         1: .line 236
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 238
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // com.sun.prism.GraphicsPipeline$ShaderModel model
        end local 0 // com.sun.prism.es2.ES2Pipeline this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/prism/es2/ES2Pipeline;
            0    3     1  model  Lcom/sun/prism/GraphicsPipeline$ShaderModel;
    MethodParameters:
       Name  Flags
      model  

  static int[] $SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 39
            getstatic com.sun.prism.es2.ES2Pipeline.$SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.prism.GraphicsPipeline$ShaderType.values:()[Lcom/sun/prism/GraphicsPipeline$ShaderType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.prism.GraphicsPipeline$ShaderType.GLSL:Lcom/sun/prism/GraphicsPipeline$ShaderType;
            invokevirtual com.sun.prism.GraphicsPipeline$ShaderType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.prism.GraphicsPipeline$ShaderType.HLSL:Lcom/sun/prism/GraphicsPipeline$ShaderType;
            invokevirtual com.sun.prism.GraphicsPipeline$ShaderType.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            dup
            putstatic com.sun.prism.es2.ES2Pipeline.$SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderModel();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 39
            getstatic com.sun.prism.es2.ES2Pipeline.$SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderModel:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.prism.GraphicsPipeline$ShaderModel.values:()[Lcom/sun/prism/GraphicsPipeline$ShaderModel;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.prism.GraphicsPipeline$ShaderModel.SM3:Lcom/sun/prism/GraphicsPipeline$ShaderModel;
            invokevirtual com.sun.prism.GraphicsPipeline$ShaderModel.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            dup
            putstatic com.sun.prism.es2.ES2Pipeline.$SWITCH_TABLE$com$sun$prism$GraphicsPipeline$ShaderModel:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError

  private static java.lang.Void lambda$0();
    descriptor: ()Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 52
            ldc "prism_es2"
            astore 0 /* libName */
        start local 0 // java.lang.String libName
         1: .line 54
            invokestatic com.sun.javafx.PlatformUtil.getEmbeddedType:()Ljava/lang/String;
            astore 1 /* eglType */
        start local 1 // java.lang.String eglType
         2: .line 55
            ldc "eglfb"
            aload 1 /* eglType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 56
            iconst_1
            putstatic com.sun.prism.es2.ES2Pipeline.isEglfb:Z
         4: .line 57
            ldc "prism_es2_eglfb"
            astore 0 /* libName */
         5: .line 58
            goto 12
         6: .line 59
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            ldc "monocle"
            aload 1 /* eglType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 60
            iconst_1
            putstatic com.sun.prism.es2.ES2Pipeline.isEglfb:Z
         8: .line 61
            ldc "prism_es2_monocle"
            astore 0 /* libName */
         9: .line 62
            goto 12
        10: .line 63
      StackMap locals:
      StackMap stack:
            ldc "eglx11"
            aload 1 /* eglType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 64
            ldc "prism_es2_eglx11"
            astore 0 /* libName */
        12: .line 66
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 14
        13: .line 67
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Loading ES2 native library ... "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* libName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 69
      StackMap locals:
      StackMap stack:
            aload 0 /* libName */
            invokestatic com.sun.glass.utils.NativeLibLoader.loadLibrary:(Ljava/lang/String;)V
        15: .line 70
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 17
        16: .line 71
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "\tsucceeded."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 73
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String eglType
        end local 0 // java.lang.String libName
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            1   18     0  libName  Ljava/lang/String;
            2   18     1  eglType  Ljava/lang/String;
}
SourceFile: "ES2Pipeline.java"
InnerClasses:
  public final ShaderModel = com.sun.prism.GraphicsPipeline$ShaderModel of com.sun.prism.GraphicsPipeline
  public final ShaderType = com.sun.prism.GraphicsPipeline$ShaderType of com.sun.prism.GraphicsPipeline
  Attributes = com.sun.prism.es2.GLPixelFormat$Attributes of com.sun.prism.es2.GLPixelFormat
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles