class com.sun.prism.es2.ES2Context extends com.sun.prism.impl.ps.BaseShaderContext
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.prism.es2.ES2Context
  super_class: com.sun.prism.impl.ps.BaseShaderContext
{
  private static com.sun.javafx.geom.transform.GeneralTransform3D scratchTx;
    descriptor: Lcom/sun/javafx/geom/transform/GeneralTransform3D;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final com.sun.javafx.geom.transform.GeneralTransform3D flipTx;
    descriptor: Lcom/sun/javafx/geom/transform/GeneralTransform3D;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.sun.javafx.geom.transform.Affine3D scratchAffine3DTx;
    descriptor: Lcom/sun/javafx/geom/transform/Affine3D;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static float[] rawMatrix;
    descriptor: [F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private com.sun.javafx.geom.transform.GeneralTransform3D projViewTx;
    descriptor: Lcom/sun/javafx/geom/transform/GeneralTransform3D;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.transform.GeneralTransform3D worldTx;
    descriptor: Lcom/sun/javafx/geom/transform/GeneralTransform3D;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.Vec3d cameraPos;
    descriptor: Lcom/sun/javafx/geom/Vec3d;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.prism.RenderTarget currentTarget;
    descriptor: Lcom/sun/prism/RenderTarget;
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.prism.es2.GLContext glContext;
    descriptor: Lcom/sun/prism/es2/GLContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.prism.es2.GLDrawable dummyGLDrawable;
    descriptor: Lcom/sun/prism/es2/GLDrawable;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.prism.es2.GLPixelFormat pixelFormat;
    descriptor: Lcom/sun/prism/es2/GLPixelFormat;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.sun.prism.impl.ps.BaseShaderContext$State state;
    descriptor: Lcom/sun/prism/impl/ps/BaseShaderContext$State;
    flags: (0x0002) ACC_PRIVATE

  private int quadIndices;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.sun.prism.es2.GLDrawable currentDrawable;
    descriptor: Lcom/sun/prism/es2/GLDrawable;
    flags: (0x0002) ACC_PRIVATE

  private int indexBuffer;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int shaderProgram;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public static final int NUM_QUADS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 51
            new com.sun.javafx.geom.transform.GeneralTransform3D
            dup
            invokespecial com.sun.javafx.geom.transform.GeneralTransform3D.<init>:()V
            putstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
         1: .line 52
            new com.sun.javafx.geom.transform.GeneralTransform3D
            dup
            invokespecial com.sun.javafx.geom.transform.GeneralTransform3D.<init>:()V
            putstatic com.sun.prism.es2.ES2Context.flipTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
         2: .line 53
            new com.sun.javafx.geom.transform.Affine3D
            dup
            invokespecial com.sun.javafx.geom.transform.Affine3D.<init>:()V
            putstatic com.sun.prism.es2.ES2Context.scratchAffine3DTx:Lcom/sun/javafx/geom/transform/Affine3D;
         3: .line 55
            bipush 16
            newarray 6
            putstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
         4: .line 72
            getstatic com.sun.prism.impl.PrismSettings.superShader:Z
            ifeq 5
            sipush 4096
            goto 6
      StackMap locals:
      StackMap stack:
         5: sipush 256
      StackMap locals:
      StackMap stack: int
         6: putstatic com.sun.prism.es2.ES2Context.NUM_QUADS:I
         7: .line 544
            dconst_1
            ldc -1.0
            invokestatic com.sun.javafx.geom.transform.Affine2D.getScaleInstance:(DD)Lcom/sun/javafx/geom/transform/BaseTransform;
            astore 0 /* tx */
        start local 0 // com.sun.javafx.geom.transform.BaseTransform tx
         8: .line 545
            getstatic com.sun.prism.es2.ES2Context.flipTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.setIdentity:()Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
         9: .line 546
            getstatic com.sun.prism.es2.ES2Context.flipTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 0 /* tx */
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.mul:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
        end local 0 // com.sun.javafx.geom.transform.BaseTransform tx
        10: .line 547
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            8   10     0    tx  Lcom/sun/javafx/geom/transform/BaseTransform;

  void <init>(com.sun.glass.ui.Screen, com.sun.prism.ps.ShaderFactory);
    descriptor: (Lcom/sun/glass/ui/Screen;Lcom/sun/prism/ps/ShaderFactory;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.glass.ui.Screen screen
        start local 2 // com.sun.prism.ps.ShaderFactory factory
         0: .line 75
            aload 0 /* this */
            aload 1 /* screen */
            aload 2 /* factory */
            getstatic com.sun.prism.es2.ES2Context.NUM_QUADS:I
            invokespecial com.sun.prism.impl.ps.BaseShaderContext.<init>:(Lcom/sun/glass/ui/Screen;Lcom/sun/prism/ps/ShaderFactory;I)V
         1: .line 57
            aload 0 /* this */
            new com.sun.javafx.geom.transform.GeneralTransform3D
            dup
            invokespecial com.sun.javafx.geom.transform.GeneralTransform3D.<init>:()V
            putfield com.sun.prism.es2.ES2Context.projViewTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
         2: .line 58
            aload 0 /* this */
            new com.sun.javafx.geom.transform.GeneralTransform3D
            dup
            invokespecial com.sun.javafx.geom.transform.GeneralTransform3D.<init>:()V
            putfield com.sun.prism.es2.ES2Context.worldTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
         3: .line 59
            aload 0 /* this */
            new com.sun.javafx.geom.Vec3d
            dup
            invokespecial com.sun.javafx.geom.Vec3d.<init>:()V
            putfield com.sun.prism.es2.ES2Context.cameraPos:Lcom/sun/javafx/geom/Vec3d;
         4: .line 68
            aload 0 /* this */
            aconst_null
            putfield com.sun.prism.es2.ES2Context.currentDrawable:Lcom/sun/prism/es2/GLDrawable;
         5: .line 69
            aload 0 /* this */
            iconst_0
            putfield com.sun.prism.es2.ES2Context.indexBuffer:I
         6: .line 76
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            astore 3 /* glF */
        start local 3 // com.sun.prism.es2.GLFactory glF
         7: .line 81
            aload 0 /* this */
         8: .line 82
            aload 3 /* glF */
            aload 1 /* screen */
            invokevirtual com.sun.glass.ui.Screen.getNativeScreen:()J
         9: .line 83
            getstatic com.sun.prism.es2.ES2Pipeline.pixelFormatAttributes:Lcom/sun/prism/es2/GLPixelFormat$Attributes;
        10: .line 82
            invokevirtual com.sun.prism.es2.GLFactory.createGLPixelFormat:(JLcom/sun/prism/es2/GLPixelFormat$Attributes;)Lcom/sun/prism/es2/GLPixelFormat;
        11: .line 81
            putfield com.sun.prism.es2.ES2Context.pixelFormat:Lcom/sun/prism/es2/GLPixelFormat;
        12: .line 85
            aload 0 /* this */
            aload 3 /* glF */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.pixelFormat:Lcom/sun/prism/es2/GLPixelFormat;
            invokevirtual com.sun.prism.es2.GLFactory.createDummyGLDrawable:(Lcom/sun/prism/es2/GLPixelFormat;)Lcom/sun/prism/es2/GLDrawable;
            putfield com.sun.prism.es2.ES2Context.dummyGLDrawable:Lcom/sun/prism/es2/GLDrawable;
        13: .line 86
            aload 0 /* this */
            aload 3 /* glF */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.dummyGLDrawable:Lcom/sun/prism/es2/GLDrawable;
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.pixelFormat:Lcom/sun/prism/es2/GLPixelFormat;
        14: .line 87
            aload 3 /* glF */
            invokevirtual com.sun.prism.es2.GLFactory.getShareContext:()Lcom/sun/prism/es2/GLContext;
            getstatic com.sun.prism.impl.PrismSettings.isVsyncEnabled:Z
        15: .line 86
            invokevirtual com.sun.prism.es2.GLFactory.createGLContext:(Lcom/sun/prism/es2/GLDrawable;Lcom/sun/prism/es2/GLPixelFormat;Lcom/sun/prism/es2/GLContext;Z)Lcom/sun/prism/es2/GLContext;
            putfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
        16: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.dummyGLDrawable:Lcom/sun/prism/es2/GLDrawable;
            invokevirtual com.sun.prism.es2.ES2Context.makeCurrent:(Lcom/sun/prism/es2/GLDrawable;)V
        17: .line 90
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            invokevirtual com.sun.prism.es2.GLContext.enableVertexAttributes:()V
        18: .line 91
            aload 0 /* this */
            aload 0 /* this */
            getstatic com.sun.prism.es2.ES2Context.NUM_QUADS:I
            invokevirtual com.sun.prism.es2.ES2Context.genQuadsIndexBuffer:(I)I
            putfield com.sun.prism.es2.ES2Context.quadIndices:I
        19: .line 92
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.quadIndices:I
            invokevirtual com.sun.prism.es2.ES2Context.setIndexBuffer:(I)V
        20: .line 93
            aload 0 /* this */
            new com.sun.prism.impl.ps.BaseShaderContext$State
            dup
            invokespecial com.sun.prism.impl.ps.BaseShaderContext$State.<init>:()V
            putfield com.sun.prism.es2.ES2Context.state:Lcom/sun/prism/impl/ps/BaseShaderContext$State;
        21: .line 94
            return
        end local 3 // com.sun.prism.es2.GLFactory glF
        end local 2 // com.sun.prism.ps.ShaderFactory factory
        end local 1 // com.sun.glass.ui.Screen screen
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lcom/sun/prism/es2/ES2Context;
            0   22     1   screen  Lcom/sun/glass/ui/Screen;
            0   22     2  factory  Lcom/sun/prism/ps/ShaderFactory;
            7   22     3      glF  Lcom/sun/prism/es2/GLFactory;
    MethodParameters:
         Name  Flags
      screen   
      factory  

  static short[] getQuadIndices16bit(int);
    descriptor: (I)[S
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // int numQuads
         0: .line 97
            iload 0 /* numQuads */
            bipush 6
            imul
            newarray 9
            astore 1 /* data */
        start local 1 // short[] data
         1: .line 99
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 12
         3: .line 100
      StackMap locals: short[] int
      StackMap stack:
            iload 2 /* i */
            iconst_4
            imul
            istore 3 /* vtx */
        start local 3 // int vtx
         4: .line 101
            iload 2 /* i */
            bipush 6
            imul
            istore 4 /* idx */
        start local 4 // int idx
         5: .line 102
            aload 1 /* data */
            iload 4 /* idx */
            iconst_0
            iadd
            iload 3 /* vtx */
            iconst_0
            iadd
            i2s
            sastore
         6: .line 103
            aload 1 /* data */
            iload 4 /* idx */
            iconst_1
            iadd
            iload 3 /* vtx */
            iconst_1
            iadd
            i2s
            sastore
         7: .line 104
            aload 1 /* data */
            iload 4 /* idx */
            iconst_2
            iadd
            iload 3 /* vtx */
            iconst_2
            iadd
            i2s
            sastore
         8: .line 106
            aload 1 /* data */
            iload 4 /* idx */
            iconst_3
            iadd
            iload 3 /* vtx */
            iconst_2
            iadd
            i2s
            sastore
         9: .line 107
            aload 1 /* data */
            iload 4 /* idx */
            iconst_4
            iadd
            iload 3 /* vtx */
            iconst_1
            iadd
            i2s
            sastore
        10: .line 108
            aload 1 /* data */
            iload 4 /* idx */
            iconst_5
            iadd
            iload 3 /* vtx */
            iconst_3
            iadd
            i2s
            sastore
        end local 4 // int idx
        end local 3 // int vtx
        11: .line 99
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            iload 0 /* numQuads */
            if_icmpne 3
        end local 2 // int i
        13: .line 111
            aload 1 /* data */
            areturn
        end local 1 // short[] data
        end local 0 // int numQuads
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0  numQuads  I
            1   14     1      data  [S
            2   13     2         i  I
            4   11     3       vtx  I
            5   11     4       idx  I
    MethodParameters:
          Name  Flags
      numQuads  

  int genQuadsIndexBuffer(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // int numQuads
         0: .line 115
            iload 1 /* numQuads */
            bipush 6
            imul
            ldc 65536
            if_icmple 2
         1: .line 116
            new java.lang.IllegalArgumentException
            dup
            ldc "vertex indices overflow"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iload 1 /* numQuads */
            invokestatic com.sun.prism.es2.ES2Context.getQuadIndices16bit:(I)[S
            invokevirtual com.sun.prism.es2.GLContext.createIndexBuffer16:([S)I
            ireturn
        end local 1 // int numQuads
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/prism/es2/ES2Context;
            0    3     1  numQuads  I
    MethodParameters:
          Name  Flags
      numQuads  

  final void clearContext();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 122
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentDrawable:Lcom/sun/prism/es2/GLDrawable;
            ifnull 2
         1: .line 123
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentDrawable:Lcom/sun/prism/es2/GLDrawable;
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            invokevirtual com.sun.prism.es2.GLDrawable.swapBuffers:(Lcom/sun/prism/es2/GLContext;)Z
            pop
         2: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/prism/es2/ES2Context;

  final void setIndexBuffer(int);
    descriptor: (I)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // int ib
         0: .line 128
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.indexBuffer:I
            iload 1 /* ib */
            if_icmpeq 2
         1: .line 129
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            aload 0 /* this */
            iload 1 /* ib */
            dup_x1
            putfield com.sun.prism.es2.ES2Context.indexBuffer:I
            invokevirtual com.sun.prism.es2.GLContext.setIndexBuffer:(I)V
         2: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int ib
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/prism/es2/ES2Context;
            0    3     1    ib  I
    MethodParameters:
      Name  Flags
      ib    

  com.sun.prism.es2.GLContext getGLContext();
    descriptor: ()Lcom/sun/prism/es2/GLContext;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 134
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            areturn
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Context;

  com.sun.prism.es2.GLPixelFormat getPixelFormat();
    descriptor: ()Lcom/sun/prism/es2/GLPixelFormat;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 138
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.pixelFormat:Lcom/sun/prism/es2/GLPixelFormat;
            areturn
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Context;

  com.sun.prism.es2.ES2Shader getPhongShader(com.sun.prism.es2.ES2MeshView);
    descriptor: (Lcom/sun/prism/es2/ES2MeshView;)Lcom/sun/prism/es2/ES2Shader;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.prism.es2.ES2MeshView meshView
         0: .line 142
            aload 1 /* meshView */
            aload 0 /* this */
            invokestatic com.sun.prism.es2.ES2PhongShader.getShader:(Lcom/sun/prism/es2/ES2MeshView;Lcom/sun/prism/es2/ES2Context;)Lcom/sun/prism/es2/ES2Shader;
            areturn
        end local 1 // com.sun.prism.es2.ES2MeshView meshView
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/prism/es2/ES2Context;
            0    1     1  meshView  Lcom/sun/prism/es2/ES2MeshView;
    MethodParameters:
          Name  Flags
      meshView  

  void makeCurrent(com.sun.prism.es2.GLDrawable);
    descriptor: (Lcom/sun/prism/es2/GLDrawable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.prism.es2.GLDrawable drawable
         0: .line 146
            aload 1 /* drawable */
            ifnonnull 2
         1: .line 147
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.dummyGLDrawable:Lcom/sun/prism/es2/GLDrawable;
            astore 1 /* drawable */
         2: .line 149
      StackMap locals:
      StackMap stack:
            aload 1 /* drawable */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentDrawable:Lcom/sun/prism/es2/GLDrawable;
            if_acmpeq 6
         3: .line 150
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            aload 1 /* drawable */
            invokevirtual com.sun.prism.es2.GLContext.makeCurrent:(Lcom/sun/prism/es2/GLDrawable;)V
         4: .line 152
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.bindFBO:(I)V
         5: .line 153
            aload 0 /* this */
            aload 1 /* drawable */
            putfield com.sun.prism.es2.ES2Context.currentDrawable:Lcom/sun/prism/es2/GLDrawable;
         6: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.prism.es2.GLDrawable drawable
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/prism/es2/ES2Context;
            0    7     1  drawable  Lcom/sun/prism/es2/GLDrawable;
    MethodParameters:
          Name  Flags
      drawable  

  void forceRenderTarget(com.sun.prism.es2.ES2Graphics);
    descriptor: (Lcom/sun/prism/es2/ES2Graphics;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.prism.es2.ES2Graphics g
         0: .line 164
            aload 0 /* this */
            aload 1 /* g */
            invokevirtual com.sun.prism.es2.ES2Graphics.getRenderTarget:()Lcom/sun/prism/RenderTarget;
            aload 1 /* g */
            invokevirtual com.sun.prism.es2.ES2Graphics.getCameraNoClone:()Lcom/sun/javafx/sg/prism/NGCamera;
         1: .line 165
            aload 1 /* g */
            invokevirtual com.sun.prism.es2.ES2Graphics.isDepthTest:()Z
            ifeq 2
            aload 1 /* g */
            invokevirtual com.sun.prism.es2.ES2Graphics.isDepthBuffer:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.es2.ES2Graphics
      StackMap stack: com.sun.prism.es2.ES2Context com.sun.prism.RenderTarget com.sun.javafx.sg.prism.NGCamera
         2: iconst_0
         3: .line 164
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.es2.ES2Graphics
      StackMap stack: com.sun.prism.es2.ES2Context com.sun.prism.RenderTarget com.sun.javafx.sg.prism.NGCamera int
            invokevirtual com.sun.prism.es2.ES2Context.updateRenderTarget:(Lcom/sun/prism/RenderTarget;Lcom/sun/javafx/sg/prism/NGCamera;Z)Lcom/sun/prism/impl/ps/BaseShaderContext$State;
            pop
         4: .line 166
            return
        end local 1 // com.sun.prism.es2.ES2Graphics g
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/prism/es2/ES2Context;
            0    5     1     g  Lcom/sun/prism/es2/ES2Graphics;
    MethodParameters:
      Name  Flags
      g     

  int getShaderProgram();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 169
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.shaderProgram:I
            ireturn
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Context;

  void setShaderProgram(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // int progid
         0: .line 174
            aload 0 /* this */
            iload 1 /* progid */
            putfield com.sun.prism.es2.ES2Context.shaderProgram:I
         1: .line 175
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iload 1 /* progid */
            invokevirtual com.sun.prism.es2.GLContext.setShaderProgram:(I)V
         2: .line 176
            return
        end local 1 // int progid
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/prism/es2/ES2Context;
            0    3     1  progid  I
    MethodParameters:
        Name  Flags
      progid  

  void updateShaderProgram(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // int progid
         0: .line 181
            iload 1 /* progid */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.shaderProgram:I
            if_icmpeq 2
         1: .line 182
            aload 0 /* this */
            iload 1 /* progid */
            invokevirtual com.sun.prism.es2.ES2Context.setShaderProgram:(I)V
         2: .line 184
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int progid
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/prism/es2/ES2Context;
            0    3     1  progid  I
    MethodParameters:
        Name  Flags
      progid  

  protected void init();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 188
            aload 0 /* this */
            invokespecial com.sun.prism.impl.ps.BaseShaderContext.init:()V
         1: .line 189
            return
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/prism/es2/ES2Context;

  protected void releaseRenderTarget();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 193
            aload 0 /* this */
            aconst_null
            putfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
         1: .line 194
            aload 0 /* this */
            invokespecial com.sun.prism.impl.ps.BaseShaderContext.releaseRenderTarget:()V
         2: .line 195
            return
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/prism/es2/ES2Context;

  protected com.sun.prism.impl.ps.BaseShaderContext$State updateRenderTarget(com.sun.prism.RenderTarget, com.sun.javafx.sg.prism.NGCamera, boolean);
    descriptor: (Lcom/sun/prism/RenderTarget;Lcom/sun/javafx/sg/prism/NGCamera;Z)Lcom/sun/prism/impl/ps/BaseShaderContext$State;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=14, args_size=4
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.prism.RenderTarget target
        start local 2 // com.sun.javafx.sg.prism.NGCamera camera
        start local 3 // boolean depthTest
         0: .line 200
            aload 1 /* target */
            checkcast com.sun.prism.es2.ES2RenderTarget
            invokeinterface com.sun.prism.es2.ES2RenderTarget.getFboID:()I
            istore 4 /* fboID */
        start local 4 // int fboID
         1: .line 201
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iload 4 /* fboID */
            invokevirtual com.sun.prism.es2.GLContext.bindFBO:(I)V
         2: .line 203
            iconst_0
            istore 5 /* msaa */
        start local 5 // boolean msaa
         3: .line 204
            aload 1 /* target */
            instanceof com.sun.prism.es2.ES2RTTexture
            ifeq 8
         4: .line 206
            aload 1 /* target */
            checkcast com.sun.prism.es2.ES2RTTexture
            astore 6 /* rtTarget */
        start local 6 // com.sun.prism.es2.ES2RTTexture rtTarget
         5: .line 207
            aload 6 /* rtTarget */
            invokevirtual com.sun.prism.es2.ES2RTTexture.isMSAA:()Z
            istore 5 /* msaa */
         6: .line 208
            iload 3 /* depthTest */
            ifeq 8
         7: .line 209
            aload 6 /* rtTarget */
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2RTTexture.attachDepthBuffer:(Lcom/sun/prism/es2/ES2Context;)V
        end local 6 // com.sun.prism.es2.ES2RTTexture rtTarget
         8: .line 214
      StackMap locals: int int
      StackMap stack:
            aload 1 /* target */
            invokeinterface com.sun.prism.RenderTarget.getContentX:()I
            istore 6 /* x */
        start local 6 // int x
         9: .line 215
            aload 1 /* target */
            invokeinterface com.sun.prism.RenderTarget.getContentY:()I
            istore 7 /* y */
        start local 7 // int y
        10: .line 216
            aload 1 /* target */
            invokeinterface com.sun.prism.RenderTarget.getContentWidth:()I
            istore 8 /* w */
        start local 8 // int w
        11: .line 217
            aload 1 /* target */
            invokeinterface com.sun.prism.RenderTarget.getContentHeight:()I
            istore 9 /* h */
        start local 9 // int h
        12: .line 218
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iload 6 /* x */
            iload 7 /* y */
            iload 8 /* w */
            iload 9 /* h */
            iload 3 /* depthTest */
            invokevirtual com.sun.prism.es2.GLContext.updateViewportAndDepthTest:(IIIIZ)V
        13: .line 219
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iload 5 /* msaa */
            invokevirtual com.sun.prism.es2.GLContext.updateMSAAState:(Z)V
        14: .line 221
            aload 2 /* camera */
            instanceof com.sun.javafx.sg.prism.NGDefaultCamera
            ifeq 18
        15: .line 224
            aload 2 /* camera */
            checkcast com.sun.javafx.sg.prism.NGDefaultCamera
            iload 8 /* w */
            iload 9 /* h */
            invokevirtual com.sun.javafx.sg.prism.NGDefaultCamera.validate:(II)V
        16: .line 225
            aload 2 /* camera */
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.sg.prism.NGCamera.getProjViewTx:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            putstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
        17: .line 226
            goto 23
        18: .line 227
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.RenderTarget com.sun.javafx.sg.prism.NGCamera int int int int int int int
      StackMap stack:
            aload 2 /* camera */
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.sg.prism.NGCamera.getProjViewTx:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            putstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
        19: .line 230
            aload 2 /* camera */
            invokevirtual com.sun.javafx.sg.prism.NGCamera.getViewWidth:()D
            dstore 10 /* vw */
        start local 10 // double vw
        20: .line 231
            aload 2 /* camera */
            invokevirtual com.sun.javafx.sg.prism.NGCamera.getViewHeight:()D
            dstore 12 /* vh */
        start local 12 // double vh
        21: .line 232
            iload 8 /* w */
            i2d
            dload 10 /* vw */
            dcmpl
            ifne 22
            iload 9 /* h */
            i2d
            dload 12 /* vh */
            dcmpl
            ifeq 23
        22: .line 233
      StackMap locals: double double
      StackMap stack:
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            dload 10 /* vw */
            iload 8 /* w */
            i2d
            ddiv
            dload 12 /* vh */
            iload 9 /* h */
            i2d
            ddiv
            dconst_1
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.scale:(DDD)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
        end local 12 // double vh
        end local 10 // double vw
        23: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            instanceof com.sun.prism.es2.ES2RTTexture
            ifeq 27
        24: .line 239
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.projViewTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            getstatic com.sun.prism.es2.ES2Context.flipTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.set:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
        25: .line 240
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.projViewTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.mul:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
        26: .line 241
            goto 28
        27: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.projViewTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.set:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
        28: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* camera */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.cameraPos:Lcom/sun/javafx/geom/Vec3d;
            invokevirtual com.sun.javafx.sg.prism.NGCamera.getPositionInWorld:(Lcom/sun/javafx/geom/Vec3d;)Lcom/sun/javafx/geom/Vec3d;
            putfield com.sun.prism.es2.ES2Context.cameraPos:Lcom/sun/javafx/geom/Vec3d;
        29: .line 249
            aload 0 /* this */
            aload 1 /* target */
            putfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
        30: .line 250
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.state:Lcom/sun/prism/impl/ps/BaseShaderContext$State;
            areturn
        end local 9 // int h
        end local 8 // int w
        end local 7 // int y
        end local 6 // int x
        end local 5 // boolean msaa
        end local 4 // int fboID
        end local 3 // boolean depthTest
        end local 2 // com.sun.javafx.sg.prism.NGCamera camera
        end local 1 // com.sun.prism.RenderTarget target
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   31     0       this  Lcom/sun/prism/es2/ES2Context;
            0   31     1     target  Lcom/sun/prism/RenderTarget;
            0   31     2     camera  Lcom/sun/javafx/sg/prism/NGCamera;
            0   31     3  depthTest  Z
            1   31     4      fboID  I
            3   31     5       msaa  Z
            5    8     6   rtTarget  Lcom/sun/prism/es2/ES2RTTexture;
            9   31     6          x  I
           10   31     7          y  I
           11   31     8          w  I
           12   31     9          h  I
           20   23    10         vw  D
           21   23    12         vh  D
    MethodParameters:
           Name  Flags
      target     
      camera     
      depthTest  

  protected void updateTexture(int, com.sun.prism.Texture);
    descriptor: (ILcom/sun/prism/Texture;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // int texUnit
        start local 2 // com.sun.prism.Texture tex
         0: .line 255
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iload 1 /* texUnit */
            invokevirtual com.sun.prism.es2.GLContext.updateActiveTextureUnit:(I)V
         1: .line 257
            aload 2 /* tex */
            ifnonnull 4
         2: .line 258
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.updateBoundTexture:(I)V
         3: .line 259
            goto 8
         4: .line 260
      StackMap locals:
      StackMap stack:
            aload 2 /* tex */
            checkcast com.sun.prism.es2.ES2Texture
            astore 3 /* es2Tex */
        start local 3 // com.sun.prism.es2.ES2Texture es2Tex
         5: .line 261
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            aload 3 /* es2Tex */
            invokevirtual com.sun.prism.es2.ES2Texture.getNativeSourceHandle:()I
            invokevirtual com.sun.prism.es2.GLContext.updateBoundTexture:(I)V
         6: .line 262
            aload 3 /* es2Tex */
            invokevirtual com.sun.prism.es2.ES2Texture.updateWrapState:()V
         7: .line 263
            aload 3 /* es2Tex */
            invokevirtual com.sun.prism.es2.ES2Texture.updateFilterState:()V
        end local 3 // com.sun.prism.es2.ES2Texture es2Tex
         8: .line 265
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.prism.Texture tex
        end local 1 // int texUnit
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/prism/es2/ES2Context;
            0    9     1  texUnit  I
            0    9     2      tex  Lcom/sun/prism/Texture;
            5    8     3   es2Tex  Lcom/sun/prism/es2/ES2Texture;
    MethodParameters:
         Name  Flags
      texUnit  
      tex      

  protected void updateShaderTransform(com.sun.prism.ps.Shader, com.sun.javafx.geom.transform.BaseTransform);
    descriptor: (Lcom/sun/prism/ps/Shader;Lcom/sun/javafx/geom/transform/BaseTransform;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.prism.ps.Shader shader
        start local 2 // com.sun.javafx.geom.transform.BaseTransform xform
         0: .line 269
            aload 2 /* xform */
            ifnonnull 2
         1: .line 270
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            astore 2 /* xform */
         2: .line 273
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.projViewTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.set:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
         3: .line 274
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Context.getPerspectiveTransformNoClone:()Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            astore 3 /* perspectiveTransform */
        start local 3 // com.sun.javafx.geom.transform.GeneralTransform3D perspectiveTransform
         4: .line 275
            aload 3 /* perspectiveTransform */
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.isIdentity:()Z
            ifeq 7
         5: .line 276
            aload 0 /* this */
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.mul:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.prism.es2.ES2Context.updateRawMatrix:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
         6: .line 277
            goto 8
         7: .line 278
      StackMap locals: com.sun.javafx.geom.transform.GeneralTransform3D
      StackMap stack:
            aload 0 /* this */
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.mul:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 3 /* perspectiveTransform */
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.mul:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.prism.es2.ES2Context.updateRawMatrix:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
         8: .line 281
      StackMap locals:
      StackMap stack:
            aload 1 /* shader */
            checkcast com.sun.prism.es2.ES2Shader
            astore 4 /* es2shader */
        start local 4 // com.sun.prism.es2.ES2Shader es2shader
         9: .line 282
            aload 4 /* es2shader */
            ldc "mvpMatrix"
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            invokevirtual com.sun.prism.es2.ES2Shader.setMatrix:(Ljava/lang/String;[F)V
        10: .line 285
            aload 4 /* es2shader */
            invokevirtual com.sun.prism.es2.ES2Shader.isPixcoordUsed:()Z
            ifeq 20
        11: .line 293
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
            invokeinterface com.sun.prism.RenderTarget.getContentX:()I
            i2f
            fstore 5 /* xoff */
        start local 5 // float xoff
        12: .line 294
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
            invokeinterface com.sun.prism.RenderTarget.getContentY:()I
            i2f
            fstore 6 /* yoff */
        start local 6 // float yoff
        13: .line 296
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
            instanceof com.sun.prism.es2.ES2SwapChain
            ifeq 17
        14: .line 298
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
            invokeinterface com.sun.prism.RenderTarget.getPhysicalHeight:()I
            i2f
            fstore 7 /* yinv */
        start local 7 // float yinv
        15: .line 299
            fconst_1
            fstore 8 /* yflip */
        start local 8 // float yflip
        16: .line 300
            goto 19
        end local 8 // float yflip
        end local 7 // float yinv
        17: .line 302
      StackMap locals: com.sun.prism.es2.ES2Shader float float
      StackMap stack:
            fconst_0
            fstore 7 /* yinv */
        start local 7 // float yinv
        18: .line 303
            ldc -1.0
            fstore 8 /* yflip */
        start local 8 // float yflip
        19: .line 305
      StackMap locals: float float
      StackMap stack:
            aload 1 /* shader */
            ldc "jsl_pixCoordOffset"
            fload 5 /* xoff */
            fload 6 /* yoff */
            fload 7 /* yinv */
            fload 8 /* yflip */
            invokeinterface com.sun.prism.ps.Shader.setConstant:(Ljava/lang/String;FFFF)V
        end local 8 // float yflip
        end local 7 // float yinv
        end local 6 // float yoff
        end local 5 // float xoff
        20: .line 307
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.ps.Shader com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.transform.GeneralTransform3D com.sun.prism.es2.ES2Shader
      StackMap stack:
            return
        end local 4 // com.sun.prism.es2.ES2Shader es2shader
        end local 3 // com.sun.javafx.geom.transform.GeneralTransform3D perspectiveTransform
        end local 2 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 1 // com.sun.prism.ps.Shader shader
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   21     0                  this  Lcom/sun/prism/es2/ES2Context;
            0   21     1                shader  Lcom/sun/prism/ps/Shader;
            0   21     2                 xform  Lcom/sun/javafx/geom/transform/BaseTransform;
            4   21     3  perspectiveTransform  Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            9   21     4             es2shader  Lcom/sun/prism/es2/ES2Shader;
           12   20     5                  xoff  F
           13   20     6                  yoff  F
           15   17     7                  yinv  F
           18   20     7                  yinv  F
           16   17     8                 yflip  F
           19   20     8                 yflip  F
    MethodParameters:
        Name  Flags
      shader  
      xform   

  protected void updateWorldTransform(com.sun.javafx.geom.transform.BaseTransform);
    descriptor: (Lcom/sun/javafx/geom/transform/BaseTransform;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.javafx.geom.transform.BaseTransform xform
         0: .line 311
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.worldTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.setIdentity:()Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
         1: .line 312
            aload 1 /* xform */
            ifnull 3
            aload 1 /* xform */
            invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
            ifne 3
         2: .line 313
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.worldTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 1 /* xform */
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.mul:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
         3: .line 315
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/prism/es2/ES2Context;
            0    4     1  xform  Lcom/sun/javafx/geom/transform/BaseTransform;
    MethodParameters:
       Name  Flags
      xform  

  protected void updateClipRect(com.sun.javafx.geom.Rectangle);
    descriptor: (Lcom/sun/javafx/geom/Rectangle;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.javafx.geom.Rectangle clipRect
         0: .line 319
            aload 1 /* clipRect */
            ifnull 1
            aload 1 /* clipRect */
            invokevirtual com.sun.javafx.geom.Rectangle.isEmpty:()Z
            ifeq 3
         1: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.scissorTest:(ZIIII)V
         2: .line 321
            goto 15
         3: .line 327
      StackMap locals:
      StackMap stack:
            aload 1 /* clipRect */
            getfield com.sun.javafx.geom.Rectangle.width:I
            istore 2 /* w */
        start local 2 // int w
         4: .line 328
            aload 1 /* clipRect */
            getfield com.sun.javafx.geom.Rectangle.height:I
            istore 3 /* h */
        start local 3 // int h
         5: .line 329
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
            invokeinterface com.sun.prism.RenderTarget.getContentX:()I
            istore 4 /* x */
        start local 4 // int x
         6: .line 330
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
            invokeinterface com.sun.prism.RenderTarget.getContentY:()I
            istore 5 /* y */
        start local 5 // int y
         7: .line 331
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
            instanceof com.sun.prism.es2.ES2RTTexture
            ifeq 11
         8: .line 332
            iload 4 /* x */
            aload 1 /* clipRect */
            getfield com.sun.javafx.geom.Rectangle.x:I
            iadd
            istore 4 /* x */
         9: .line 333
            iload 5 /* y */
            aload 1 /* clipRect */
            getfield com.sun.javafx.geom.Rectangle.y:I
            iadd
            istore 5 /* y */
        10: .line 334
            goto 14
        11: .line 335
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.javafx.geom.Rectangle int int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.currentTarget:Lcom/sun/prism/RenderTarget;
            invokeinterface com.sun.prism.RenderTarget.getPhysicalHeight:()I
            istore 6 /* dsth */
        start local 6 // int dsth
        12: .line 336
            iload 4 /* x */
            aload 1 /* clipRect */
            getfield com.sun.javafx.geom.Rectangle.x:I
            iadd
            istore 4 /* x */
        13: .line 337
            iload 5 /* y */
            iload 6 /* dsth */
            aload 1 /* clipRect */
            getfield com.sun.javafx.geom.Rectangle.y:I
            iload 3 /* h */
            iadd
            isub
            iadd
            istore 5 /* y */
        end local 6 // int dsth
        14: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_1
            iload 4 /* x */
            iload 5 /* y */
            iload 2 /* w */
            iload 3 /* h */
            invokevirtual com.sun.prism.es2.GLContext.scissorTest:(ZIIII)V
        end local 5 // int y
        end local 4 // int x
        end local 3 // int h
        end local 2 // int w
        15: .line 341
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.javafx.geom.Rectangle
      StackMap stack:
            return
        end local 1 // com.sun.javafx.geom.Rectangle clipRect
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/sun/prism/es2/ES2Context;
            0   16     1  clipRect  Lcom/sun/javafx/geom/Rectangle;
            4   15     2         w  I
            5   15     3         h  I
            6   15     4         x  I
            7   15     5         y  I
           12   14     6      dsth  I
    MethodParameters:
          Name  Flags
      clipRect  

  protected void updateCompositeMode(com.sun.prism.CompositeMode);
    descriptor: (Lcom/sun/prism/CompositeMode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.prism.CompositeMode mode
         0: .line 345
            invokestatic com.sun.prism.es2.ES2Context.$SWITCH_TABLE$com$sun$prism$CompositeMode:()[I
            aload 1 /* mode */
            invokevirtual com.sun.prism.CompositeMode.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 1
                    2: 3
                    3: 5
                    4: 7
                    5: 9
              default: 11
          }
         1: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_0
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.blendFunc:(II)V
         2: .line 348
            goto 12
         3: .line 350
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_1
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.blendFunc:(II)V
         4: .line 351
            goto 12
         5: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_1
            bipush 7
            invokevirtual com.sun.prism.es2.GLContext.blendFunc:(II)V
         6: .line 354
            goto 12
         7: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_0
            bipush 7
            invokevirtual com.sun.prism.es2.GLContext.blendFunc:(II)V
         8: .line 357
            goto 12
         9: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iconst_1
            iconst_1
            invokevirtual com.sun.prism.es2.GLContext.blendFunc:(II)V
        10: .line 360
            goto 12
        11: .line 362
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized composite mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.prism.CompositeMode mode
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/sun/prism/es2/ES2Context;
            0   13     1  mode  Lcom/sun/prism/CompositeMode;
    MethodParameters:
      Name  Flags
      mode  

  public void setDeviceParametersFor2D();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 369
            aload 0 /* this */
            iconst_0
            putfield com.sun.prism.es2.ES2Context.indexBuffer:I
         1: .line 370
            aload 0 /* this */
            iconst_0
            putfield com.sun.prism.es2.ES2Context.shaderProgram:I
         2: .line 371
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            invokevirtual com.sun.prism.es2.GLContext.setDeviceParametersFor2D:()V
         3: .line 374
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            invokevirtual com.sun.prism.es2.GLContext.enableVertexAttributes:()V
         4: .line 375
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.quadIndices:I
            invokevirtual com.sun.prism.es2.ES2Context.setIndexBuffer:(I)V
         5: .line 376
            return
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/prism/es2/ES2Context;

  public void setDeviceParametersFor3D();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 381
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            invokevirtual com.sun.prism.es2.GLContext.disableVertexAttributes:()V
         1: .line 382
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            invokevirtual com.sun.prism.es2.GLContext.setDeviceParametersFor3D:()V
         2: .line 383
            return
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/prism/es2/ES2Context;

  long createES2Mesh();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 386
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            invokevirtual com.sun.prism.es2.GLContext.createES2Mesh:()J
            lreturn
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Context;

  void releaseES2Mesh(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
         0: .line 391
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            invokevirtual com.sun.prism.es2.GLContext.releaseES2Mesh:(J)V
         1: .line 392
            return
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
    MethodParameters:
              Name  Flags
      nativeHandle  

  boolean buildNativeGeometry(long, float[], int, short[], int);
    descriptor: (J[FI[SI)Z
    flags: (0x0000) 
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // float[] vertexBuffer
        start local 4 // int vertexBufferLength
        start local 5 // short[] indexBuffer
        start local 6 // int indexBufferLength
         0: .line 396
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            aload 3 /* vertexBuffer */
         1: .line 397
            iload 4 /* vertexBufferLength */
            aload 5 /* indexBuffer */
            iload 6 /* indexBufferLength */
         2: .line 396
            invokevirtual com.sun.prism.es2.GLContext.buildNativeGeometry:(J[FI[SI)Z
            ireturn
        end local 6 // int indexBufferLength
        end local 5 // short[] indexBuffer
        end local 4 // int vertexBufferLength
        end local 3 // float[] vertexBuffer
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lcom/sun/prism/es2/ES2Context;
            0    3     1        nativeHandle  J
            0    3     3        vertexBuffer  [F
            0    3     4  vertexBufferLength  I
            0    3     5         indexBuffer  [S
            0    3     6   indexBufferLength  I
    MethodParameters:
                    Name  Flags
      nativeHandle        
      vertexBuffer        
      vertexBufferLength  
      indexBuffer         
      indexBufferLength   

  boolean buildNativeGeometry(long, float[], int, int[], int);
    descriptor: (J[FI[II)Z
    flags: (0x0000) 
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // float[] vertexBuffer
        start local 4 // int vertexBufferLength
        start local 5 // int[] indexBuffer
        start local 6 // int indexBufferLength
         0: .line 402
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            aload 3 /* vertexBuffer */
         1: .line 403
            iload 4 /* vertexBufferLength */
            aload 5 /* indexBuffer */
            iload 6 /* indexBufferLength */
         2: .line 402
            invokevirtual com.sun.prism.es2.GLContext.buildNativeGeometry:(J[FI[II)Z
            ireturn
        end local 6 // int indexBufferLength
        end local 5 // int[] indexBuffer
        end local 4 // int vertexBufferLength
        end local 3 // float[] vertexBuffer
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lcom/sun/prism/es2/ES2Context;
            0    3     1        nativeHandle  J
            0    3     3        vertexBuffer  [F
            0    3     4  vertexBufferLength  I
            0    3     5         indexBuffer  [I
            0    3     6   indexBufferLength  I
    MethodParameters:
                    Name  Flags
      nativeHandle        
      vertexBuffer        
      vertexBufferLength  
      indexBuffer         
      indexBufferLength   

  long createES2PhongMaterial();
    descriptor: ()J
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Context this
         0: .line 407
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            invokevirtual com.sun.prism.es2.GLContext.createES2PhongMaterial:()J
            lreturn
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Context;

  void releaseES2PhongMaterial(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
         0: .line 412
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            invokevirtual com.sun.prism.es2.GLContext.releaseES2PhongMaterial:(J)V
         1: .line 413
            return
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
    MethodParameters:
              Name  Flags
      nativeHandle  

  void setSolidColor(long, float, float, float, float);
    descriptor: (JFFFF)V
    flags: (0x0000) 
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // float r
        start local 4 // float g
        start local 5 // float b
        start local 6 // float a
         0: .line 416
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            fload 3 /* r */
            fload 4 /* g */
            fload 5 /* b */
            fload 6 /* a */
            invokevirtual com.sun.prism.es2.GLContext.setSolidColor:(JFFFF)V
         1: .line 417
            return
        end local 6 // float a
        end local 5 // float b
        end local 4 // float g
        end local 3 // float r
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
            0    2     3             r  F
            0    2     4             g  F
            0    2     5             b  F
            0    2     6             a  F
    MethodParameters:
              Name  Flags
      nativeHandle  
      r             
      g             
      b             
      a             

  void setMap(long, int, int);
    descriptor: (JII)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // int mapType
        start local 4 // int texID
         0: .line 420
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            iload 3 /* mapType */
            iload 4 /* texID */
            invokevirtual com.sun.prism.es2.GLContext.setMap:(JII)V
         1: .line 421
            return
        end local 4 // int texID
        end local 3 // int mapType
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
            0    2     3       mapType  I
            0    2     4         texID  I
    MethodParameters:
              Name  Flags
      nativeHandle  
      mapType       
      texID         

  long createES2MeshView(com.sun.prism.es2.ES2Mesh);
    descriptor: (Lcom/sun/prism/es2/ES2Mesh;)J
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.prism.es2.ES2Mesh mesh
         0: .line 424
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            aload 1 /* mesh */
            invokevirtual com.sun.prism.es2.ES2Mesh.getNativeHandle:()J
            invokevirtual com.sun.prism.es2.GLContext.createES2MeshView:(J)J
            lreturn
        end local 1 // com.sun.prism.es2.ES2Mesh mesh
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Context;
            0    1     1  mesh  Lcom/sun/prism/es2/ES2Mesh;
    MethodParameters:
      Name  Flags
      mesh  

  void releaseES2MeshView(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
         0: .line 429
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            invokevirtual com.sun.prism.es2.GLContext.releaseES2MeshView:(J)V
         1: .line 430
            return
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
    MethodParameters:
              Name  Flags
      nativeHandle  

  void setCullingMode(long, int);
    descriptor: (JI)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // int cullingMode
         0: .line 434
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            iload 3 /* cullingMode */
            invokevirtual com.sun.prism.es2.GLContext.setCullingMode:(JI)V
         1: .line 435
            return
        end local 3 // int cullingMode
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
            0    2     3   cullingMode  I
    MethodParameters:
              Name  Flags
      nativeHandle  
      cullingMode   

  void setMaterial(long, com.sun.prism.Material);
    descriptor: (JLcom/sun/prism/Material;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // com.sun.prism.Material material
         0: .line 438
            aload 3 /* material */
            checkcast com.sun.prism.es2.ES2PhongMaterial
            astore 4 /* es2Material */
        start local 4 // com.sun.prism.es2.ES2PhongMaterial es2Material
         1: .line 440
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
         2: .line 441
            aload 4 /* es2Material */
            invokevirtual com.sun.prism.es2.ES2PhongMaterial.getNativeHandle:()J
         3: .line 440
            invokevirtual com.sun.prism.es2.GLContext.setMaterial:(JJ)V
         4: .line 442
            return
        end local 4 // com.sun.prism.es2.ES2PhongMaterial es2Material
        end local 3 // com.sun.prism.Material material
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/sun/prism/es2/ES2Context;
            0    5     1  nativeHandle  J
            0    5     3      material  Lcom/sun/prism/Material;
            1    5     4   es2Material  Lcom/sun/prism/es2/ES2PhongMaterial;
    MethodParameters:
              Name  Flags
      nativeHandle  
      material      

  void setWireframe(long, boolean);
    descriptor: (JZ)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // boolean wireframe
         0: .line 445
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            iload 3 /* wireframe */
            invokevirtual com.sun.prism.es2.GLContext.setWireframe:(JZ)V
         1: .line 446
            return
        end local 3 // boolean wireframe
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
            0    2     3     wireframe  Z
    MethodParameters:
              Name  Flags
      nativeHandle  
      wireframe     

  void setAmbientLight(long, float, float, float);
    descriptor: (JFFF)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // float r
        start local 4 // float g
        start local 5 // float b
         0: .line 449
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            fload 3 /* r */
            fload 4 /* g */
            fload 5 /* b */
            invokevirtual com.sun.prism.es2.GLContext.setAmbientLight:(JFFF)V
         1: .line 450
            return
        end local 5 // float b
        end local 4 // float g
        end local 3 // float r
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
            0    2     3             r  F
            0    2     4             g  F
            0    2     5             b  F
    MethodParameters:
              Name  Flags
      nativeHandle  
      r             
      g             
      b             

  void setPointLight(long, int, float, float, float, float, float, float, float);
    descriptor: (JIFFFFFFF)V
    flags: (0x0000) 
    Code:
      stack=11, locals=11, args_size=10
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // int index
        start local 4 // float x
        start local 5 // float y
        start local 6 // float z
        start local 7 // float r
        start local 8 // float g
        start local 9 // float b
        start local 10 // float w
         0: .line 453
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            iload 3 /* index */
            fload 4 /* x */
            fload 5 /* y */
            fload 6 /* z */
            fload 7 /* r */
            fload 8 /* g */
            fload 9 /* b */
            fload 10 /* w */
            invokevirtual com.sun.prism.es2.GLContext.setPointLight:(JIFFFFFFF)V
         1: .line 454
            return
        end local 10 // float w
        end local 9 // float b
        end local 8 // float g
        end local 7 // float r
        end local 6 // float z
        end local 5 // float y
        end local 4 // float x
        end local 3 // int index
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/prism/es2/ES2Context;
            0    2     1  nativeHandle  J
            0    2     3         index  I
            0    2     4             x  F
            0    2     5             y  F
            0    2     6             z  F
            0    2     7             r  F
            0    2     8             g  F
            0    2     9             b  F
            0    2    10             w  F
    MethodParameters:
              Name  Flags
      nativeHandle  
      index         
      x             
      y             
      z             
      r             
      g             
      b             
      w             

  public void blit(com.sun.prism.RTTexture, com.sun.prism.RTTexture, int, int, int, int, int, int, int, int);
    descriptor: (Lcom/sun/prism/RTTexture;Lcom/sun/prism/RTTexture;IIIIIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=13, args_size=11
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.prism.RTTexture srcRTT
        start local 2 // com.sun.prism.RTTexture dstRTT
        start local 3 // int srcX0
        start local 4 // int srcY0
        start local 5 // int srcX1
        start local 6 // int srcY1
        start local 7 // int dstX0
        start local 8 // int dstY0
        start local 9 // int dstX1
        start local 10 // int dstY1
         0: .line 462
            aload 2 /* dstRTT */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* dstRTT */
            checkcast com.sun.prism.es2.ES2RTTexture
            invokevirtual com.sun.prism.es2.ES2RTTexture.getFboID:()I
      StackMap locals:
      StackMap stack: int
         2: istore 11 /* dstFboID */
        start local 11 // int dstFboID
         3: .line 463
            aload 1 /* srcRTT */
            checkcast com.sun.prism.es2.ES2RTTexture
            invokevirtual com.sun.prism.es2.ES2RTTexture.getFboID:()I
            istore 12 /* srcFboID */
        start local 12 // int srcFboID
         4: .line 464
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            iload 12 /* srcFboID */
            iload 11 /* dstFboID */
         5: .line 465
            iload 3 /* srcX0 */
            iload 4 /* srcY0 */
            iload 5 /* srcX1 */
            iload 6 /* srcY1 */
         6: .line 466
            iload 7 /* dstX0 */
            iload 8 /* dstY0 */
            iload 9 /* dstX1 */
            iload 10 /* dstY1 */
         7: .line 464
            invokevirtual com.sun.prism.es2.GLContext.blitFBO:(IIIIIIIIII)V
         8: .line 467
            return
        end local 12 // int srcFboID
        end local 11 // int dstFboID
        end local 10 // int dstY1
        end local 9 // int dstX1
        end local 8 // int dstY0
        end local 7 // int dstX0
        end local 6 // int srcY1
        end local 5 // int srcX1
        end local 4 // int srcY0
        end local 3 // int srcX0
        end local 2 // com.sun.prism.RTTexture dstRTT
        end local 1 // com.sun.prism.RTTexture srcRTT
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/sun/prism/es2/ES2Context;
            0    9     1    srcRTT  Lcom/sun/prism/RTTexture;
            0    9     2    dstRTT  Lcom/sun/prism/RTTexture;
            0    9     3     srcX0  I
            0    9     4     srcY0  I
            0    9     5     srcX1  I
            0    9     6     srcY1  I
            0    9     7     dstX0  I
            0    9     8     dstY0  I
            0    9     9     dstX1  I
            0    9    10     dstY1  I
            3    9    11  dstFboID  I
            4    9    12  srcFboID  I
    MethodParameters:
        Name  Flags
      srcRTT  
      dstRTT  
      srcX0   
      srcY0   
      srcX1   
      srcY1   
      dstX0   
      dstY0   
      dstX1   
      dstY1   

  void renderMeshView(long, com.sun.prism.Graphics, com.sun.prism.es2.ES2MeshView);
    descriptor: (JLcom/sun/prism/Graphics;Lcom/sun/prism/es2/ES2MeshView;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // long nativeHandle
        start local 3 // com.sun.prism.Graphics g
        start local 4 // com.sun.prism.es2.ES2MeshView meshView
         0: .line 471
            aload 0 /* this */
            aload 4 /* meshView */
            invokevirtual com.sun.prism.es2.ES2Context.getPhongShader:(Lcom/sun/prism/es2/ES2MeshView;)Lcom/sun/prism/es2/ES2Shader;
            astore 5 /* shader */
        start local 5 // com.sun.prism.es2.ES2Shader shader
         1: .line 472
            aload 0 /* this */
            aload 5 /* shader */
            invokevirtual com.sun.prism.es2.ES2Shader.getProgramObject:()I
            invokevirtual com.sun.prism.es2.ES2Context.setShaderProgram:(I)V
         2: .line 475
            aload 3 /* g */
            invokeinterface com.sun.prism.Graphics.getPixelScaleFactorX:()F
            fstore 6 /* pixelScaleFactorX */
        start local 6 // float pixelScaleFactorX
         3: .line 476
            aload 3 /* g */
            invokeinterface com.sun.prism.Graphics.getPixelScaleFactorY:()F
            fstore 7 /* pixelScaleFactorY */
        start local 7 // float pixelScaleFactorY
         4: .line 477
            fload 6 /* pixelScaleFactorX */
            f2d
            dconst_1
            dcmpl
            ifne 5
            fload 7 /* pixelScaleFactorY */
            f2d
            dconst_1
            dcmpl
            ifeq 9
         5: .line 478
      StackMap locals: com.sun.prism.es2.ES2Shader float float
      StackMap stack:
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.projViewTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.set:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            putstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
         6: .line 479
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            fload 6 /* pixelScaleFactorX */
            f2d
            fload 7 /* pixelScaleFactorY */
            f2d
            dconst_1
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.scale:(DDD)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
         7: .line 480
            aload 0 /* this */
            getstatic com.sun.prism.es2.ES2Context.scratchTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.prism.es2.ES2Context.updateRawMatrix:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
         8: .line 481
            goto 10
         9: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.projViewTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.prism.es2.ES2Context.updateRawMatrix:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
        10: .line 484
      StackMap locals:
      StackMap stack:
            aload 5 /* shader */
            ldc "viewProjectionMatrix"
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            invokevirtual com.sun.prism.es2.ES2Shader.setMatrix:(Ljava/lang/String;[F)V
        11: .line 485
            aload 5 /* shader */
            ldc "camPos"
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.cameraPos:Lcom/sun/javafx/geom/Vec3d;
            getfield com.sun.javafx.geom.Vec3d.x:D
            d2f
        12: .line 486
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.cameraPos:Lcom/sun/javafx/geom/Vec3d;
            getfield com.sun.javafx.geom.Vec3d.y:D
            d2f
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.cameraPos:Lcom/sun/javafx/geom/Vec3d;
            getfield com.sun.javafx.geom.Vec3d.z:D
            d2f
        13: .line 485
            invokevirtual com.sun.prism.es2.ES2Shader.setConstant:(Ljava/lang/String;FFF)V
        14: .line 490
            aload 3 /* g */
            invokeinterface com.sun.prism.Graphics.getTransformNoClone:()Lcom/sun/javafx/geom/transform/BaseTransform;
            astore 8 /* xform */
        start local 8 // com.sun.javafx.geom.transform.BaseTransform xform
        15: .line 491
            fload 6 /* pixelScaleFactorX */
            f2d
            dconst_1
            dcmpl
            ifne 16
            fload 7 /* pixelScaleFactorY */
            f2d
            dconst_1
            dcmpl
            ifeq 21
        16: .line 492
      StackMap locals: com.sun.javafx.geom.transform.BaseTransform
      StackMap stack:
            getstatic com.sun.prism.es2.ES2Context.scratchAffine3DTx:Lcom/sun/javafx/geom/transform/Affine3D;
            invokevirtual com.sun.javafx.geom.transform.Affine3D.setToIdentity:()V
        17: .line 493
            getstatic com.sun.prism.es2.ES2Context.scratchAffine3DTx:Lcom/sun/javafx/geom/transform/Affine3D;
            dconst_1
            fload 6 /* pixelScaleFactorX */
            f2d
            ddiv
            dconst_1
            fload 7 /* pixelScaleFactorY */
            f2d
            ddiv
            invokevirtual com.sun.javafx.geom.transform.Affine3D.scale:(DD)V
        18: .line 494
            getstatic com.sun.prism.es2.ES2Context.scratchAffine3DTx:Lcom/sun/javafx/geom/transform/Affine3D;
            aload 8 /* xform */
            invokevirtual com.sun.javafx.geom.transform.Affine3D.concatenate:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        19: .line 495
            aload 0 /* this */
            getstatic com.sun.prism.es2.ES2Context.scratchAffine3DTx:Lcom/sun/javafx/geom/transform/Affine3D;
            invokevirtual com.sun.prism.es2.ES2Context.updateWorldTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        20: .line 496
            goto 22
        21: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* xform */
            invokevirtual com.sun.prism.es2.ES2Context.updateWorldTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        22: .line 499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.worldTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.prism.es2.ES2Context.updateRawMatrix:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
        23: .line 501
            aload 5 /* shader */
            ldc "worldMatrix"
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            invokevirtual com.sun.prism.es2.ES2Shader.setMatrix:(Ljava/lang/String;[F)V
        24: .line 504
            aload 5 /* shader */
            aload 4 /* meshView */
            aload 0 /* this */
            invokestatic com.sun.prism.es2.ES2PhongShader.setShaderParamaters:(Lcom/sun/prism/es2/ES2Shader;Lcom/sun/prism/es2/ES2MeshView;Lcom/sun/prism/es2/ES2Context;)V
        25: .line 506
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            lload 1 /* nativeHandle */
            invokevirtual com.sun.prism.es2.GLContext.renderMeshView:(J)V
        26: .line 507
            return
        end local 8 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 7 // float pixelScaleFactorY
        end local 6 // float pixelScaleFactorX
        end local 5 // com.sun.prism.es2.ES2Shader shader
        end local 4 // com.sun.prism.es2.ES2MeshView meshView
        end local 3 // com.sun.prism.Graphics g
        end local 1 // long nativeHandle
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   27     0               this  Lcom/sun/prism/es2/ES2Context;
            0   27     1       nativeHandle  J
            0   27     3                  g  Lcom/sun/prism/Graphics;
            0   27     4           meshView  Lcom/sun/prism/es2/ES2MeshView;
            1   27     5             shader  Lcom/sun/prism/es2/ES2Shader;
            3   27     6  pixelScaleFactorX  F
            4   27     7  pixelScaleFactorY  F
           15   27     8              xform  Lcom/sun/javafx/geom/transform/BaseTransform;
    MethodParameters:
              Name  Flags
      nativeHandle  
      g             
      meshView      

  protected void renderQuads(float[], byte[], int);
    descriptor: ([F[BI)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // float[] coordArray
        start local 2 // byte[] colorArray
        start local 3 // int numVertices
         0: .line 511
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Context.glContext:Lcom/sun/prism/es2/GLContext;
            aload 1 /* coordArray */
            aload 2 /* colorArray */
            iload 3 /* numVertices */
            invokevirtual com.sun.prism.es2.GLContext.drawIndexedQuads:([F[BI)V
         1: .line 512
            return
        end local 3 // int numVertices
        end local 2 // byte[] colorArray
        end local 1 // float[] coordArray
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/prism/es2/ES2Context;
            0    2     1   coordArray  [F
            0    2     2   colorArray  [B
            0    2     3  numVertices  I
    MethodParameters:
             Name  Flags
      coordArray   
      colorArray   
      numVertices  

  void printRawMatrix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // java.lang.String mesg
         0: .line 515
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 1 /* mesg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " = "
            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
         1: .line 516
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 517
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iload 2 /* i */
            faload
            invokestatic java.lang.String.valueOf:(F)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iload 2 /* i */
            iconst_4
            iadd
            faload
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
         4: .line 518
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iload 2 /* i */
            bipush 8
            iadd
            faload
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iload 2 /* i */
            bipush 12
            iadd
            faload
            invokevirtual java.lang.StringBuilder.append:(F)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 517
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 516
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iconst_4
            if_icmplt 3
        end local 2 // int i
         8: .line 520
            return
        end local 1 // java.lang.String mesg
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/prism/es2/ES2Context;
            0    9     1  mesg  Ljava/lang/String;
            2    8     2     i  I
    MethodParameters:
      Name  Flags
      mesg  

  private void updateRawMatrix(com.sun.javafx.geom.transform.GeneralTransform3D);
    descriptor: (Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context this
        start local 1 // com.sun.javafx.geom.transform.GeneralTransform3D src
         0: .line 525
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iconst_0
            aload 1 /* src */
            iconst_0
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         1: .line 526
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iconst_1
            aload 1 /* src */
            iconst_4
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         2: .line 527
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iconst_2
            aload 1 /* src */
            bipush 8
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         3: .line 528
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iconst_3
            aload 1 /* src */
            bipush 12
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         4: .line 529
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iconst_4
            aload 1 /* src */
            iconst_1
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         5: .line 530
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            iconst_5
            aload 1 /* src */
            iconst_5
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         6: .line 531
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 6
            aload 1 /* src */
            bipush 9
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         7: .line 532
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 7
            aload 1 /* src */
            bipush 13
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         8: .line 533
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 8
            aload 1 /* src */
            iconst_2
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
         9: .line 534
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 9
            aload 1 /* src */
            bipush 6
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
        10: .line 535
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 10
            aload 1 /* src */
            bipush 10
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
        11: .line 536
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 11
            aload 1 /* src */
            bipush 14
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
        12: .line 537
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 12
            aload 1 /* src */
            iconst_3
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
        13: .line 538
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 13
            aload 1 /* src */
            bipush 7
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
        14: .line 539
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 14
            aload 1 /* src */
            bipush 11
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
        15: .line 540
            getstatic com.sun.prism.es2.ES2Context.rawMatrix:[F
            bipush 15
            aload 1 /* src */
            bipush 15
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.get:(I)D
            d2f
            fastore
        16: .line 541
            return
        end local 1 // com.sun.javafx.geom.transform.GeneralTransform3D src
        end local 0 // com.sun.prism.es2.ES2Context this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/sun/prism/es2/ES2Context;
            0   17     1   src  Lcom/sun/javafx/geom/transform/GeneralTransform3D;
    MethodParameters:
      Name  Flags
      src   

  static int[] $SWITCH_TABLE$com$sun$prism$CompositeMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 48
            getstatic com.sun.prism.es2.ES2Context.$SWITCH_TABLE$com$sun$prism$CompositeMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.prism.CompositeMode.values:()[Lcom/sun/prism/CompositeMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.prism.CompositeMode.ADD:Lcom/sun/prism/CompositeMode;
            invokevirtual com.sun.prism.CompositeMode.ordinal:()I
            iconst_5
            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.CompositeMode.CLEAR:Lcom/sun/prism/CompositeMode;
            invokevirtual com.sun.prism.CompositeMode.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.sun.prism.CompositeMode.DST_OUT:Lcom/sun/prism/CompositeMode;
            invokevirtual com.sun.prism.CompositeMode.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.sun.prism.CompositeMode.SRC:Lcom/sun/prism/CompositeMode;
            invokevirtual com.sun.prism.CompositeMode.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.sun.prism.CompositeMode.SRC_OVER:Lcom/sun/prism/CompositeMode;
            invokevirtual com.sun.prism.CompositeMode.ordinal:()I
            iconst_3
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic com.sun.prism.es2.ES2Context.$SWITCH_TABLE$com$sun$prism$CompositeMode:[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
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "ES2Context.java"
InnerClasses:
  Attributes = com.sun.prism.es2.GLPixelFormat$Attributes of com.sun.prism.es2.GLPixelFormat
  public State = com.sun.prism.impl.ps.BaseShaderContext$State of com.sun.prism.impl.ps.BaseShaderContext