class com.sun.prism.es2.ES2Texture<T extends com.sun.prism.es2.ES2TextureData> extends com.sun.prism.impl.BaseTexture<com.sun.prism.es2.ES2TextureResource<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.prism.es2.ES2Texture
  super_class: com.sun.prism.impl.BaseTexture
{
  final com.sun.prism.es2.ES2Context context;
    descriptor: Lcom/sun/prism/es2/ES2Context;
    flags: (0x0010) ACC_FINAL

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

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

  void <init>(com.sun.prism.es2.ES2Context, com.sun.prism.es2.ES2TextureResource<T>, com.sun.prism.PixelFormat, com.sun.prism.Texture$WrapMode, int, int, int, int, int, int, );
    descriptor: (Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/es2/ES2TextureResource;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIIIIIZ)V
    flags: (0x0000) 
    Code:
      stack=11, locals=12, args_size=12
        start local 0 // com.sun.prism.es2.ES2Texture this
        start local 1 // com.sun.prism.es2.ES2Context context
        start local 2 // com.sun.prism.es2.ES2TextureResource resource
        start local 3 // com.sun.prism.PixelFormat format
        start local 4 // com.sun.prism.Texture$WrapMode wrapMode
        start local 5 // int physicalWidth
        start local 6 // int physicalHeight
        start local 7 // int contentX
        start local 8 // int contentY
        start local 9 // int contentWidth
        start local 10 // int contentHeight
        start local 11 // boolean useMipmap
         0: .line 52
            aload 0 /* this */
            aload 2 /* resource */
            aload 3 /* format */
            aload 4 /* wrapMode */
         1: .line 53
            iload 5 /* physicalWidth */
            iload 6 /* physicalHeight */
         2: .line 54
            iload 7 /* contentX */
            iload 8 /* contentY */
            iload 9 /* contentWidth */
            iload 10 /* contentHeight */
            iload 11 /* useMipmap */
            invokespecial com.sun.prism.impl.BaseTexture.<init>:(Lcom/sun/prism/impl/ManagedResource;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIIIIIZ)V
         3: .line 55
            aload 0 /* this */
            aload 1 /* context */
            putfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
         4: .line 56
            return
        end local 11 // boolean useMipmap
        end local 10 // int contentHeight
        end local 9 // int contentWidth
        end local 8 // int contentY
        end local 7 // int contentX
        end local 6 // int physicalHeight
        end local 5 // int physicalWidth
        end local 4 // com.sun.prism.Texture$WrapMode wrapMode
        end local 3 // com.sun.prism.PixelFormat format
        end local 2 // com.sun.prism.es2.ES2TextureResource resource
        end local 1 // com.sun.prism.es2.ES2Context context
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lcom/sun/prism/es2/ES2Texture<TT;>;
            0    5     1         context  Lcom/sun/prism/es2/ES2Context;
            0    5     2        resource  Lcom/sun/prism/es2/ES2TextureResource<TT;>;
            0    5     3          format  Lcom/sun/prism/PixelFormat;
            0    5     4        wrapMode  Lcom/sun/prism/Texture$WrapMode;
            0    5     5   physicalWidth  I
            0    5     6  physicalHeight  I
            0    5     7        contentX  I
            0    5     8        contentY  I
            0    5     9    contentWidth  I
            0    5    10   contentHeight  I
            0    5    11       useMipmap  Z
    Signature: (Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/es2/ES2TextureResource<TT;>;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIIIIIZ)V
    MethodParameters:
                Name  Flags
      context         
      resource        
      format          
      wrapMode        
      physicalWidth   
      physicalHeight  
      contentX        
      contentY        
      contentWidth    
      contentHeight   
      useMipmap       

  void <init>(com.sun.prism.es2.ES2Context, com.sun.prism.es2.ES2TextureResource<T>, com.sun.prism.PixelFormat, com.sun.prism.Texture$WrapMode, int, int, int, int, int, int, int, int, );
    descriptor: (Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/es2/ES2TextureResource;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIIIIIIIZ)V
    flags: (0x0000) 
    Code:
      stack=13, locals=14, args_size=14
        start local 0 // com.sun.prism.es2.ES2Texture this
        start local 1 // com.sun.prism.es2.ES2Context context
        start local 2 // com.sun.prism.es2.ES2TextureResource resource
        start local 3 // com.sun.prism.PixelFormat format
        start local 4 // com.sun.prism.Texture$WrapMode wrapMode
        start local 5 // int physicalWidth
        start local 6 // int physicalHeight
        start local 7 // int contentX
        start local 8 // int contentY
        start local 9 // int contentWidth
        start local 10 // int contentHeight
        start local 11 // int maxContentWidth
        start local 12 // int maxContentHeight
        start local 13 // boolean useMipmap
         0: .line 64
            aload 0 /* this */
            aload 2 /* resource */
            aload 3 /* format */
            aload 4 /* wrapMode */
         1: .line 65
            iload 5 /* physicalWidth */
            iload 6 /* physicalHeight */
         2: .line 66
            iload 7 /* contentX */
            iload 8 /* contentY */
            iload 9 /* contentWidth */
            iload 10 /* contentHeight */
         3: .line 67
            iload 11 /* maxContentWidth */
            iload 12 /* maxContentHeight */
            iload 13 /* useMipmap */
            invokespecial com.sun.prism.impl.BaseTexture.<init>:(Lcom/sun/prism/impl/ManagedResource;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIIIIIIIZ)V
         4: .line 68
            aload 0 /* this */
            aload 1 /* context */
            putfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
         5: .line 69
            return
        end local 13 // boolean useMipmap
        end local 12 // int maxContentHeight
        end local 11 // int maxContentWidth
        end local 10 // int contentHeight
        end local 9 // int contentWidth
        end local 8 // int contentY
        end local 7 // int contentX
        end local 6 // int physicalHeight
        end local 5 // int physicalWidth
        end local 4 // com.sun.prism.Texture$WrapMode wrapMode
        end local 3 // com.sun.prism.PixelFormat format
        end local 2 // com.sun.prism.es2.ES2TextureResource resource
        end local 1 // com.sun.prism.es2.ES2Context context
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lcom/sun/prism/es2/ES2Texture<TT;>;
            0    6     1           context  Lcom/sun/prism/es2/ES2Context;
            0    6     2          resource  Lcom/sun/prism/es2/ES2TextureResource<TT;>;
            0    6     3            format  Lcom/sun/prism/PixelFormat;
            0    6     4          wrapMode  Lcom/sun/prism/Texture$WrapMode;
            0    6     5     physicalWidth  I
            0    6     6    physicalHeight  I
            0    6     7          contentX  I
            0    6     8          contentY  I
            0    6     9      contentWidth  I
            0    6    10     contentHeight  I
            0    6    11   maxContentWidth  I
            0    6    12  maxContentHeight  I
            0    6    13         useMipmap  Z
    Signature: (Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/es2/ES2TextureResource<TT;>;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIIIIIIIZ)V
    MethodParameters:
                  Name  Flags
      context           
      resource          
      format            
      wrapMode          
      physicalWidth     
      physicalHeight    
      contentX          
      contentY          
      contentWidth      
      contentHeight     
      maxContentWidth   
      maxContentHeight  
      useMipmap         

  private void <init>(com.sun.prism.es2.ES2Texture, com.sun.prism.Texture$WrapMode);
    descriptor: (Lcom/sun/prism/es2/ES2Texture;Lcom/sun/prism/Texture$WrapMode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.prism.es2.ES2Texture this
        start local 1 // com.sun.prism.es2.ES2Texture sharedTex
        start local 2 // com.sun.prism.Texture$WrapMode newMode
         0: .line 74
            aload 0 /* this */
            aload 1 /* sharedTex */
            aload 2 /* newMode */
            iconst_0
            invokespecial com.sun.prism.impl.BaseTexture.<init>:(Lcom/sun/prism/impl/BaseTexture;Lcom/sun/prism/Texture$WrapMode;Z)V
         1: .line 75
            aload 0 /* this */
            aload 1 /* sharedTex */
            getfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
            putfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
         2: .line 76
            return
        end local 2 // com.sun.prism.Texture$WrapMode newMode
        end local 1 // com.sun.prism.es2.ES2Texture sharedTex
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/sun/prism/es2/ES2Texture<TT;>;
            0    3     1  sharedTex  Lcom/sun/prism/es2/ES2Texture;
            0    3     2    newMode  Lcom/sun/prism/Texture$WrapMode;
    MethodParameters:
           Name  Flags
      sharedTex  
      newMode    

  protected com.sun.prism.Texture createSharedTexture(com.sun.prism.Texture$WrapMode);
    descriptor: (Lcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/Texture;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.prism.es2.ES2Texture this
        start local 1 // com.sun.prism.Texture$WrapMode newMode
         0: .line 80
            new com.sun.prism.es2.ES2Texture
            dup
            aload 0 /* this */
            aload 1 /* newMode */
            invokespecial com.sun.prism.es2.ES2Texture.<init>:(Lcom/sun/prism/es2/ES2Texture;Lcom/sun/prism/Texture$WrapMode;)V
            areturn
        end local 1 // com.sun.prism.Texture$WrapMode newMode
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/sun/prism/es2/ES2Texture<TT;>;
            0    1     1  newMode  Lcom/sun/prism/Texture$WrapMode;
    MethodParameters:
         Name  Flags
      newMode  

  static int nextPowerOfTwo(int, int);
    descriptor: (II)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // int val
        start local 1 // int max
         0: .line 89
            iload 0 /* val */
            iload 1 /* max */
            if_icmple 2
         1: .line 90
            iconst_0
            ireturn
         2: .line 92
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         3: .line 93
            goto 5
         4: .line 94
      StackMap locals: int
      StackMap stack:
            iload 2 /* i */
            iconst_2
            imul
            istore 2 /* i */
         5: .line 93
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 0 /* val */
            if_icmplt 4
         6: .line 96
            iload 2 /* i */
            ireturn
        end local 2 // int i
        end local 1 // int max
        end local 0 // int val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   val  I
            0    7     1   max  I
            3    7     2     i  I
    MethodParameters:
      Name  Flags
      val   
      max   

  static com.sun.prism.es2.ES2Texture create(com.sun.prism.es2.ES2Context, com.sun.prism.PixelFormat, com.sun.prism.Texture$WrapMode, int, int, boolean);
    descriptor: (Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIZ)Lcom/sun/prism/es2/ES2Texture;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=15, locals=21, args_size=6
        start local 0 // com.sun.prism.es2.ES2Context context
        start local 1 // com.sun.prism.PixelFormat format
        start local 2 // com.sun.prism.Texture$WrapMode wrapMode
        start local 3 // int w
        start local 4 // int h
        start local 5 // boolean useMipmap
         0: .line 101
            aload 0 /* context */
            invokevirtual com.sun.prism.es2.ES2Context.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
            aload 1 /* format */
            invokeinterface com.sun.prism.ResourceFactory.isFormatSupported:(Lcom/sun/prism/PixelFormat;)Z
            ifne 6
         1: .line 102
            new java.lang.UnsupportedOperationException
            dup
         2: .line 103
            new java.lang.StringBuilder
            dup
            ldc "Pixel format "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* format */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 104
            ldc " not supported on this device"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 103
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 102
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 107
      StackMap locals:
      StackMap stack:
            aload 1 /* format */
            getstatic com.sun.prism.PixelFormat.MULTI_YCbCr_420:Lcom/sun/prism/PixelFormat;
            if_acmpne 8
         7: .line 108
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Format requires multitexturing: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* format */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            invokevirtual com.sun.prism.es2.ES2Context.getGLContext:()Lcom/sun/prism/es2/GLContext;
            astore 6 /* glCtx */
        start local 6 // com.sun.prism.es2.GLContext glCtx
         9: .line 130
            invokestatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$Texture$WrapMode:()[I
            aload 2 /* wrapMode */
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            iaload
            tableswitch { // 1 - 7
                    1: 17
                    2: 10
                    3: 13
                    4: 13
                    5: 18
                    6: 18
                    7: 18
              default: 19
          }
        10: .line 132
      StackMap locals: com.sun.prism.es2.GLContext
      StackMap stack:
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.canClampToZero:()Z
            ifne 19
        11: .line 133
            aload 2 /* wrapMode */
            invokevirtual com.sun.prism.Texture$WrapMode.simulatedVersion:()Lcom/sun/prism/Texture$WrapMode;
            astore 2 /* wrapMode */
        12: .line 135
            goto 19
        13: .line 138
      StackMap locals:
      StackMap stack:
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.canCreateNonPowTwoTextures:()Z
            ifne 19
        14: .line 139
            iload 3 /* w */
            iload 3 /* w */
            iconst_1
            isub
            iand
            ifne 15
            iload 4 /* h */
            iload 4 /* h */
            iconst_1
            isub
            iand
            ifeq 19
        15: .line 141
      StackMap locals:
      StackMap stack:
            aload 2 /* wrapMode */
            invokevirtual com.sun.prism.Texture$WrapMode.simulatedVersion:()Lcom/sun/prism/Texture$WrapMode;
            astore 2 /* wrapMode */
        16: .line 143
            goto 19
        17: .line 145
      StackMap locals:
      StackMap stack:
            goto 19
        18: .line 149
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot request simulated wrap mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* wrapMode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 151
      StackMap locals:
      StackMap stack:
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getMaxTextureSize:()I
            istore 7 /* maxSize */
        start local 7 // int maxSize
        20: .line 153
            iload 3 /* w */
            istore 10 /* contentW */
        start local 10 // int contentW
        21: .line 154
            iload 4 /* h */
            istore 11 /* contentH */
        start local 11 // int contentH
        22: .line 156
            invokestatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$Texture$WrapMode:()[I
            aload 2 /* wrapMode */
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            iaload
            tableswitch { // 1 - 7
                    1: 35
                    2: 35
                    3: 35
                    4: 35
                    5: 23
                    6: 28
                    7: 28
              default: 35
          }
        23: .line 158
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.PixelFormat com.sun.prism.Texture$WrapMode int int int com.sun.prism.es2.GLContext int top top int int
      StackMap stack:
            iconst_1
            istore 8 /* contentX */
        start local 8 // int contentX
        24: .line 159
            iconst_1
            istore 9 /* contentY */
        start local 9 // int contentY
        25: .line 160
            iload 10 /* contentW */
            iconst_2
            iadd
            istore 12 /* texWidth */
        start local 12 // int texWidth
        26: .line 161
            iload 11 /* contentH */
            iconst_2
            iadd
            istore 13 /* texHeight */
        start local 13 // int texHeight
        27: .line 162
            goto 39
        end local 13 // int texHeight
        end local 12 // int texWidth
        end local 9 // int contentY
        end local 8 // int contentX
        28: .line 165
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* contentX */
        start local 8 // int contentX
        29: .line 166
            iconst_0
            istore 9 /* contentY */
        start local 9 // int contentY
        30: .line 167
            iload 10 /* contentW */
            istore 12 /* texWidth */
        start local 12 // int texWidth
        31: .line 168
            iload 11 /* contentH */
            istore 13 /* texHeight */
        start local 13 // int texHeight
        32: .line 169
            iload 3 /* w */
            iload 3 /* w */
            iconst_1
            isub
            iand
            ifeq 33
            iinc 12 /* texWidth */ 1
        33: .line 170
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.PixelFormat com.sun.prism.Texture$WrapMode int int int com.sun.prism.es2.GLContext int int int int int int int
      StackMap stack:
            iload 4 /* h */
            iload 4 /* h */
            iconst_1
            isub
            iand
            ifeq 39
            iinc 13 /* texHeight */ 1
        34: .line 171
            goto 39
        end local 13 // int texHeight
        end local 12 // int texWidth
        end local 9 // int contentY
        end local 8 // int contentX
        35: .line 177
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.PixelFormat com.sun.prism.Texture$WrapMode int int int com.sun.prism.es2.GLContext int top top int int
      StackMap stack:
            iconst_0
            istore 8 /* contentX */
        start local 8 // int contentX
        36: .line 178
            iconst_0
            istore 9 /* contentY */
        start local 9 // int contentY
        37: .line 179
            iload 10 /* contentW */
            istore 12 /* texWidth */
        start local 12 // int texWidth
        38: .line 180
            iload 11 /* contentH */
            istore 13 /* texHeight */
        start local 13 // int texHeight
        39: .line 184
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.PixelFormat com.sun.prism.Texture$WrapMode int int int com.sun.prism.es2.GLContext int int int int int int int
      StackMap stack:
            iload 12 /* texWidth */
            iload 7 /* maxSize */
            if_icmpgt 40
            iload 13 /* texHeight */
            iload 7 /* maxSize */
            if_icmple 46
        40: .line 185
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
        41: .line 186
            new java.lang.StringBuilder
            dup
            ldc "Requested texture dimensions ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* w */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* h */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        42: .line 187
            ldc "require dimensions ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 12 /* texWidth */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "x"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 13 /* texHeight */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        43: .line 188
            ldc "that exceed maximum texture size ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* maxSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        44: .line 186
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        45: .line 185
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 191
      StackMap locals:
      StackMap stack:
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.canCreateNonPowTwoTextures:()Z
            ifne 49
        47: .line 192
            iload 12 /* texWidth */
            iload 7 /* maxSize */
            invokestatic com.sun.prism.es2.ES2Texture.nextPowerOfTwo:(II)I
            istore 12 /* texWidth */
        48: .line 193
            iload 13 /* texHeight */
            iload 7 /* maxSize */
            invokestatic com.sun.prism.es2.ES2Texture.nextPowerOfTwo:(II)I
            istore 13 /* texHeight */
        49: .line 196
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.es2.ES2VramPool.instance:Lcom/sun/prism/es2/ES2VramPool;
            astore 14 /* pool */
        start local 14 // com.sun.prism.es2.ES2VramPool pool
        50: .line 197
            aload 14 /* pool */
            iload 12 /* texWidth */
            iload 13 /* texHeight */
            aload 1 /* format */
            invokevirtual com.sun.prism.es2.ES2VramPool.estimateTextureSize:(IILcom/sun/prism/PixelFormat;)J
            lstore 15 /* size */
        start local 15 // long size
        51: .line 198
            aload 14 /* pool */
            lload 15 /* size */
            invokevirtual com.sun.prism.es2.ES2VramPool.prepareForAllocation:(J)Z
            ifne 53
        52: .line 199
            aconst_null
            areturn
        53: .line 203
      StackMap locals: com.sun.prism.es2.ES2VramPool long
      StackMap stack:
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:()I
            istore 17 /* savedTex */
        start local 17 // int savedTex
        54: .line 205
            new com.sun.prism.es2.ES2TextureData
            dup
            aload 0 /* context */
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.genAndBindTexture:()I
        55: .line 206
            iload 12 /* texWidth */
            iload 13 /* texHeight */
            lload 15 /* size */
        56: .line 205
            invokespecial com.sun.prism.es2.ES2TextureData.<init>:(Lcom/sun/prism/es2/ES2Context;IIIJ)V
        57: .line 204
            astore 18 /* texData */
        start local 18 // com.sun.prism.es2.ES2TextureData texData
        58: .line 207
            new com.sun.prism.es2.ES2TextureResource
            dup
            aload 18 /* texData */
            invokespecial com.sun.prism.es2.ES2TextureResource.<init>:(Lcom/sun/prism/es2/ES2TextureData;)V
            astore 19 /* texRes */
        start local 19 // com.sun.prism.es2.ES2TextureResource texRes
        59: .line 209
            aload 6 /* glCtx */
            bipush 50
            aconst_null
            aload 1 /* format */
        60: .line 210
            iload 12 /* texWidth */
            iload 13 /* texHeight */
        61: .line 211
            iload 8 /* contentX */
            iload 9 /* contentY */
        62: .line 212
            iconst_0
            iconst_0
            iload 10 /* contentW */
            iload 11 /* contentH */
            iconst_0
            iconst_1
            iload 5 /* useMipmap */
        63: .line 209
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
            istore 20 /* result */
        start local 20 // boolean result
        64: .line 213
            aload 6 /* glCtx */
            bipush 53
            iload 5 /* useMipmap */
            invokevirtual com.sun.prism.es2.GLContext.texParamsMinMax:(IZ)V
        65: .line 216
            aload 6 /* glCtx */
            iload 17 /* savedTex */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
        66: .line 218
            iload 20 /* result */
            ifne 68
        67: .line 219
            aconst_null
            areturn
        68: .line 221
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.PixelFormat com.sun.prism.Texture$WrapMode int int int com.sun.prism.es2.GLContext int int int int int int int com.sun.prism.es2.ES2VramPool long int com.sun.prism.es2.ES2TextureData com.sun.prism.es2.ES2TextureResource int
      StackMap stack:
            new com.sun.prism.es2.ES2Texture
            dup
            aload 0 /* context */
            aload 19 /* texRes */
            aload 1 /* format */
            aload 2 /* wrapMode */
        69: .line 222
            iload 12 /* texWidth */
            iload 13 /* texHeight */
        70: .line 223
            iload 8 /* contentX */
            iload 9 /* contentY */
        71: .line 224
            iload 10 /* contentW */
            iload 11 /* contentH */
            iload 5 /* useMipmap */
        72: .line 221
            invokespecial com.sun.prism.es2.ES2Texture.<init>:(Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/es2/ES2TextureResource;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIIIIIZ)V
            areturn
        end local 20 // boolean result
        end local 19 // com.sun.prism.es2.ES2TextureResource texRes
        end local 18 // com.sun.prism.es2.ES2TextureData texData
        end local 17 // int savedTex
        end local 15 // long size
        end local 14 // com.sun.prism.es2.ES2VramPool pool
        end local 13 // int texHeight
        end local 12 // int texWidth
        end local 11 // int contentH
        end local 10 // int contentW
        end local 9 // int contentY
        end local 8 // int contentX
        end local 7 // int maxSize
        end local 6 // com.sun.prism.es2.GLContext glCtx
        end local 5 // boolean useMipmap
        end local 4 // int h
        end local 3 // int w
        end local 2 // com.sun.prism.Texture$WrapMode wrapMode
        end local 1 // com.sun.prism.PixelFormat format
        end local 0 // com.sun.prism.es2.ES2Context context
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   73     0    context  Lcom/sun/prism/es2/ES2Context;
            0   73     1     format  Lcom/sun/prism/PixelFormat;
            0   73     2   wrapMode  Lcom/sun/prism/Texture$WrapMode;
            0   73     3          w  I
            0   73     4          h  I
            0   73     5  useMipmap  Z
            9   73     6      glCtx  Lcom/sun/prism/es2/GLContext;
           20   73     7    maxSize  I
           24   28     8   contentX  I
           29   35     8   contentX  I
           36   73     8   contentX  I
           25   28     9   contentY  I
           30   35     9   contentY  I
           37   73     9   contentY  I
           21   73    10   contentW  I
           22   73    11   contentH  I
           26   28    12   texWidth  I
           31   35    12   texWidth  I
           38   73    12   texWidth  I
           27   28    13  texHeight  I
           32   35    13  texHeight  I
           39   73    13  texHeight  I
           50   73    14       pool  Lcom/sun/prism/es2/ES2VramPool;
           51   73    15       size  J
           54   73    17   savedTex  I
           58   73    18    texData  Lcom/sun/prism/es2/ES2TextureData;
           59   73    19     texRes  Lcom/sun/prism/es2/ES2TextureResource;
           64   73    20     result  Z
    MethodParameters:
           Name  Flags
      context    
      format     
      wrapMode   
      w          
      h          
      useMipmap  

  public static com.sun.prism.Texture create(com.sun.prism.es2.ES2Context, com.sun.prism.MediaFrame);
    descriptor: (Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/MediaFrame;)Lcom/sun/prism/Texture;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=13, locals=16, args_size=2
        start local 0 // com.sun.prism.es2.ES2Context context
        start local 1 // com.sun.prism.MediaFrame frame
         0: .line 229
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.holdFrame:()V
         1: .line 233
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getPixelFormat:()Lcom/sun/prism/PixelFormat;
            astore 4 /* format */
        start local 4 // com.sun.prism.PixelFormat format
         2: .line 235
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getPixelFormat:()Lcom/sun/prism/PixelFormat;
            getstatic com.sun.prism.PixelFormat.MULTI_YCbCr_420:Lcom/sun/prism/PixelFormat;
            if_acmpne 27
         3: .line 237
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getEncodedWidth:()I
            istore 5 /* width */
        start local 5 // int width
         4: .line 238
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getEncodedHeight:()I
            istore 6 /* height */
        start local 6 // int height
         5: .line 239
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.planeCount:()I
            istore 7 /* planeCount */
        start local 7 // int planeCount
         6: .line 242
            new com.sun.prism.MultiTexture
            dup
            aload 4 /* format */
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
         7: .line 243
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getWidth:()I
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getHeight:()I
         8: .line 242
            invokespecial com.sun.prism.MultiTexture.<init>:(Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;II)V
            astore 8 /* tex */
        start local 8 // com.sun.prism.MultiTexture tex
         9: .line 247
            iconst_0
            istore 9 /* index */
        start local 9 // int index
        10: goto 24
        11: .line 248
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.MediaFrame top top com.sun.prism.PixelFormat int int int com.sun.prism.MultiTexture int
      StackMap stack:
            iload 5 /* width */
            istore 10 /* subWidth */
        start local 10 // int subWidth
        12: .line 249
            iload 6 /* height */
            istore 11 /* subHeight */
        start local 11 // int subHeight
        13: .line 251
            iload 9 /* index */
            iconst_2
            if_icmpeq 15
        14: .line 252
            iload 9 /* index */
            iconst_1
            if_icmpne 17
        15: .line 253
      StackMap locals: int int
      StackMap stack:
            iload 10 /* subWidth */
            iconst_2
            idiv
            istore 10 /* subWidth */
        16: .line 254
            iload 11 /* subHeight */
            iconst_2
            idiv
            istore 11 /* subHeight */
        17: .line 259
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getstatic com.sun.prism.PixelFormat.BYTE_ALPHA:Lcom/sun/prism/PixelFormat;
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
        18: .line 260
            iload 10 /* subWidth */
            iload 11 /* subHeight */
            iconst_0
        19: .line 259
            invokestatic com.sun.prism.es2.ES2Texture.create:(Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIZ)Lcom/sun/prism/es2/ES2Texture;
        20: .line 258
            astore 12 /* subTex */
        start local 12 // com.sun.prism.es2.ES2Texture subTex
        21: .line 261
            aload 12 /* subTex */
            ifnull 23
        22: .line 262
            aload 8 /* tex */
            aload 12 /* subTex */
            iload 9 /* index */
            invokevirtual com.sun.prism.MultiTexture.setTexture:(Lcom/sun/prism/Texture;I)V
        end local 12 // com.sun.prism.es2.ES2Texture subTex
        end local 11 // int subHeight
        end local 10 // int subWidth
        23: .line 247
      StackMap locals:
      StackMap stack:
            iinc 9 /* index */ 1
      StackMap locals:
      StackMap stack:
        24: iload 9 /* index */
            iload 7 /* planeCount */
            if_icmplt 11
        end local 9 // int index
        25: .line 266
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.releaseFrame:()V
        26: .line 267
            aload 8 /* tex */
            areturn
        end local 8 // com.sun.prism.MultiTexture tex
        end local 7 // int planeCount
        end local 6 // int height
        end local 5 // int width
        27: .line 271
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.MediaFrame top top com.sun.prism.PixelFormat
      StackMap stack:
            aload 0 /* context */
            invokevirtual com.sun.prism.es2.ES2Context.getGLContext:()Lcom/sun/prism/es2/GLContext;
            astore 6 /* glCtx */
        start local 6 // com.sun.prism.es2.GLContext glCtx
        28: .line 272
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getMaxTextureSize:()I
            istore 7 /* maxSize */
        start local 7 // int maxSize
        29: .line 276
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getEncodedHeight:()I
            istore 5 /* encodedHeight */
        start local 5 // int encodedHeight
        30: .line 277
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getEncodedWidth:()I
            istore 2 /* texWidth */
        start local 2 // int texWidth
        31: .line 278
            iload 5 /* encodedHeight */
            istore 3 /* texHeight */
        start local 3 // int texHeight
        32: .line 280
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getPixelFormat:()Lcom/sun/prism/PixelFormat;
            astore 4 /* format */
        33: .line 283
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.canCreateNonPowTwoTextures:()Z
            ifne 36
        34: .line 284
            iload 2 /* texWidth */
            iload 7 /* maxSize */
            invokestatic com.sun.prism.es2.ES2Texture.nextPowerOfTwo:(II)I
            istore 2 /* texWidth */
        35: .line 285
            iload 3 /* texHeight */
            iload 7 /* maxSize */
            invokestatic com.sun.prism.es2.ES2Texture.nextPowerOfTwo:(II)I
            istore 3 /* texHeight */
        36: .line 288
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.MediaFrame int int com.sun.prism.PixelFormat int com.sun.prism.es2.GLContext int
      StackMap stack:
            getstatic com.sun.prism.es2.ES2VramPool.instance:Lcom/sun/prism/es2/ES2VramPool;
            astore 8 /* pool */
        start local 8 // com.sun.prism.es2.ES2VramPool pool
        37: .line 289
            aload 8 /* pool */
            iload 2 /* texWidth */
            iload 3 /* texHeight */
            aload 4 /* format */
            invokevirtual com.sun.prism.es2.ES2VramPool.estimateTextureSize:(IILcom/sun/prism/PixelFormat;)J
            lstore 9 /* size */
        start local 9 // long size
        38: .line 290
            aload 8 /* pool */
            lload 9 /* size */
            invokevirtual com.sun.prism.es2.ES2VramPool.prepareForAllocation:(J)Z
            ifne 40
        39: .line 291
            aconst_null
            areturn
        40: .line 295
      StackMap locals: com.sun.prism.es2.ES2VramPool long
      StackMap stack:
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:()I
            istore 11 /* savedTex */
        start local 11 // int savedTex
        41: .line 298
            new com.sun.prism.es2.ES2TextureData
            dup
            aload 0 /* context */
            aload 6 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.genAndBindTexture:()I
        42: .line 299
            iload 2 /* texWidth */
            iload 3 /* texHeight */
            lload 9 /* size */
        43: .line 298
            invokespecial com.sun.prism.es2.ES2TextureData.<init>:(Lcom/sun/prism/es2/ES2Context;IIIJ)V
        44: .line 297
            astore 12 /* texData */
        start local 12 // com.sun.prism.es2.ES2TextureData texData
        45: .line 300
            new com.sun.prism.es2.ES2TextureResource
            dup
            aload 12 /* texData */
            invokespecial com.sun.prism.es2.ES2TextureResource.<init>:(Lcom/sun/prism/es2/ES2TextureData;)V
            astore 13 /* texRes */
        start local 13 // com.sun.prism.es2.ES2TextureResource texRes
        46: .line 302
            aload 0 /* context */
            invokevirtual com.sun.prism.es2.ES2Context.getGLContext:()Lcom/sun/prism/es2/GLContext;
            bipush 50
        47: .line 303
            aload 1 /* frame */
            iload 2 /* texWidth */
            iload 3 /* texHeight */
            iconst_1
        48: .line 302
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILcom/sun/prism/MediaFrame;IIZ)Z
            istore 14 /* result */
        start local 14 // boolean result
        49: .line 305
            aload 6 /* glCtx */
            bipush 53
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.texParamsMinMax:(IZ)V
        50: .line 308
            aload 6 /* glCtx */
            iload 11 /* savedTex */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
        51: .line 310
            aconst_null
            astore 15 /* tex */
        start local 15 // com.sun.prism.es2.ES2Texture tex
        52: .line 311
            iload 14 /* result */
            ifeq 57
        53: .line 312
            new com.sun.prism.es2.ES2Texture
            dup
            aload 0 /* context */
            aload 13 /* texRes */
            aload 4 /* format */
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
        54: .line 313
            iload 2 /* texWidth */
            iload 3 /* texHeight */
        55: .line 314
            iconst_0
            iconst_0
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getWidth:()I
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getHeight:()I
            iconst_0
        56: .line 312
            invokespecial com.sun.prism.es2.ES2Texture.<init>:(Lcom/sun/prism/es2/ES2Context;Lcom/sun/prism/es2/ES2TextureResource;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;IIIIIIZ)V
            astore 15 /* tex */
        57: .line 316
      StackMap locals: com.sun.prism.es2.ES2Context com.sun.prism.MediaFrame int int com.sun.prism.PixelFormat int com.sun.prism.es2.GLContext int com.sun.prism.es2.ES2VramPool long int com.sun.prism.es2.ES2TextureData com.sun.prism.es2.ES2TextureResource int com.sun.prism.es2.ES2Texture
      StackMap stack:
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.releaseFrame:()V
        58: .line 317
            aload 15 /* tex */
            areturn
        end local 15 // com.sun.prism.es2.ES2Texture tex
        end local 14 // boolean result
        end local 13 // com.sun.prism.es2.ES2TextureResource texRes
        end local 12 // com.sun.prism.es2.ES2TextureData texData
        end local 11 // int savedTex
        end local 9 // long size
        end local 8 // com.sun.prism.es2.ES2VramPool pool
        end local 7 // int maxSize
        end local 6 // com.sun.prism.es2.GLContext glCtx
        end local 5 // int encodedHeight
        end local 4 // com.sun.prism.PixelFormat format
        end local 3 // int texHeight
        end local 2 // int texWidth
        end local 1 // com.sun.prism.MediaFrame frame
        end local 0 // com.sun.prism.es2.ES2Context context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   59     0        context  Lcom/sun/prism/es2/ES2Context;
            0   59     1          frame  Lcom/sun/prism/MediaFrame;
           31   59     2       texWidth  I
           32   59     3      texHeight  I
            2   59     4         format  Lcom/sun/prism/PixelFormat;
            4   27     5          width  I
            5   27     6         height  I
            6   27     7     planeCount  I
            9   27     8            tex  Lcom/sun/prism/MultiTexture;
           10   25     9          index  I
           12   23    10       subWidth  I
           13   23    11      subHeight  I
           21   23    12         subTex  Lcom/sun/prism/es2/ES2Texture;
           30   59     5  encodedHeight  I
           28   59     6          glCtx  Lcom/sun/prism/es2/GLContext;
           29   59     7        maxSize  I
           37   59     8           pool  Lcom/sun/prism/es2/ES2VramPool;
           38   59     9           size  J
           41   59    11       savedTex  I
           45   59    12        texData  Lcom/sun/prism/es2/ES2TextureData;
           46   59    13         texRes  Lcom/sun/prism/es2/ES2TextureResource;
           49   59    14         result  Z
           52   59    15            tex  Lcom/sun/prism/es2/ES2Texture;
    MethodParameters:
         Name  Flags
      context  
      frame    

  private static boolean uploadPixels(com.sun.prism.es2.GLContext, int, java.nio.Buffer, com.sun.prism.PixelFormat, int, int, int, int, int, int, int, int, int, boolean, boolean);
    descriptor: (Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=11, locals=26, args_size=15
        start local 0 // com.sun.prism.es2.GLContext glCtx
        start local 1 // int target
        start local 2 // java.nio.Buffer pixels
        start local 3 // com.sun.prism.PixelFormat format
        start local 4 // int texw
        start local 5 // int texh
        start local 6 // int dstx
        start local 7 // int dsty
        start local 8 // int srcx
        start local 9 // int srcy
        start local 10 // int srcw
        start local 11 // int srch
        start local 12 // int srcscan
        start local 13 // boolean create
        start local 14 // boolean useMipmap
         0: .line 324
            iconst_1
            istore 15 /* alignment */
        start local 15 // int alignment
         1: .line 328
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            invokevirtual com.sun.prism.es2.GLFactory.isGL2:()Z
            istore 19 /* isGL2 */
        start local 19 // boolean isGL2
         2: .line 330
            invokestatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$PixelFormat:()[I
            aload 3 /* format */
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 3
                    2: 3
                    3: 16
                    4: 22
                    5: 26
                    6: 42
                    7: 37
                    8: 30
              default: 42
          }
         3: .line 333
      StackMap locals: com.sun.prism.es2.GLContext int java.nio.Buffer com.sun.prism.PixelFormat int int int int int int int int int int int int top top top int
      StackMap stack:
            iconst_4
            istore 15 /* alignment */
         4: .line 334
            bipush 40
            istore 16 /* internalFormat */
        start local 16 // int internalFormat
         5: .line 337
            bipush 41
            istore 17 /* pixelFormat */
        start local 17 // int pixelFormat
         6: .line 338
            iload 19 /* isGL2 */
            ifne 14
         7: .line 340
            invokestatic com.sun.javafx.PlatformUtil.isIOS:()Z
            ifne 12
         8: .line 343
            getstatic com.sun.prism.es2.ES2Pipeline.glFactory:Lcom/sun/prism/es2/GLFactory;
            ldc "GL_EXT_texture_format_BGRA8888"
            invokevirtual com.sun.prism.es2.GLFactory.isGLExtensionSupported:(Ljava/lang/String;)Z
            ifeq 11
         9: .line 345
            bipush 41
            dup
            istore 17 /* pixelFormat */
            istore 16 /* internalFormat */
        10: .line 346
            goto 12
        11: .line 347
      StackMap locals: com.sun.prism.es2.GLContext int java.nio.Buffer com.sun.prism.PixelFormat int int int int int int int int int int int int int int top int
      StackMap stack:
            bipush 40
            istore 17 /* pixelFormat */
        12: .line 350
      StackMap locals:
      StackMap stack:
            bipush 21
            istore 18 /* pixelType */
        start local 18 // int pixelType
        13: .line 351
            goto 43
        end local 18 // int pixelType
        14: .line 352
      StackMap locals:
      StackMap stack:
            bipush 22
            istore 18 /* pixelType */
        start local 18 // int pixelType
        15: .line 354
            goto 43
        end local 18 // int pixelType
        end local 17 // int pixelFormat
        end local 16 // int internalFormat
        16: .line 364
      StackMap locals: com.sun.prism.es2.GLContext int java.nio.Buffer com.sun.prism.PixelFormat int int int int int int int int int int int int top top top int
      StackMap stack:
            iload 19 /* isGL2 */
            ifeq 17
            bipush 40
            goto 18
      StackMap locals:
      StackMap stack:
        17: bipush 42
      StackMap locals:
      StackMap stack: int
        18: istore 16 /* internalFormat */
        start local 16 // int internalFormat
        19: .line 365
            bipush 42
            istore 17 /* pixelFormat */
        start local 17 // int pixelFormat
        20: .line 366
            bipush 21
            istore 18 /* pixelType */
        start local 18 // int pixelType
        21: .line 367
            goto 43
        end local 18 // int pixelType
        end local 17 // int pixelFormat
        end local 16 // int internalFormat
        22: .line 369
      StackMap locals:
      StackMap stack:
            bipush 43
            istore 16 /* internalFormat */
        start local 16 // int internalFormat
        23: .line 370
            bipush 43
            istore 17 /* pixelFormat */
        start local 17 // int pixelFormat
        24: .line 371
            bipush 21
            istore 18 /* pixelType */
        start local 18 // int pixelType
        25: .line 372
            goto 43
        end local 18 // int pixelType
        end local 17 // int pixelFormat
        end local 16 // int internalFormat
        26: .line 374
      StackMap locals:
      StackMap stack:
            bipush 44
            istore 16 /* internalFormat */
        start local 16 // int internalFormat
        27: .line 375
            bipush 44
            istore 17 /* pixelFormat */
        start local 17 // int pixelFormat
        28: .line 376
            bipush 21
            istore 18 /* pixelType */
        start local 18 // int pixelType
        29: .line 377
            goto 43
        end local 18 // int pixelType
        end local 17 // int pixelFormat
        end local 16 // int internalFormat
        30: .line 379
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 15 /* alignment */
        31: .line 384
            iload 19 /* isGL2 */
            ifeq 32
            bipush 45
            goto 33
      StackMap locals:
      StackMap stack:
        32: bipush 40
      StackMap locals:
      StackMap stack: int
        33: istore 16 /* internalFormat */
        start local 16 // int internalFormat
        34: .line 385
            bipush 40
            istore 17 /* pixelFormat */
        start local 17 // int pixelFormat
        35: .line 386
            bipush 20
            istore 18 /* pixelType */
        start local 18 // int pixelType
        36: .line 387
            goto 43
        end local 18 // int pixelType
        end local 17 // int pixelFormat
        end local 16 // int internalFormat
        37: .line 390
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 15 /* alignment */
        38: .line 391
            bipush 42
            istore 16 /* internalFormat */
        start local 16 // int internalFormat
        39: .line 392
            bipush 46
            istore 17 /* pixelFormat */
        start local 17 // int pixelFormat
        40: .line 393
            bipush 24
            istore 18 /* pixelType */
        start local 18 // int pixelType
        41: .line 394
            goto 43
        end local 18 // int pixelType
        end local 17 // int pixelFormat
        end local 16 // int internalFormat
        42: .line 397
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Image format not supported: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* format */
            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
        start local 16 // int internalFormat
        start local 17 // int pixelFormat
        start local 18 // int pixelType
        43: .line 400
      StackMap locals: com.sun.prism.es2.GLContext int java.nio.Buffer com.sun.prism.PixelFormat int int int int int int int int int int int int int int int int
      StackMap stack:
            iload 19 /* isGL2 */
            ifne 47
            iload 16 /* internalFormat */
            iload 17 /* pixelFormat */
            if_icmpeq 47
            invokestatic com.sun.javafx.PlatformUtil.isIOS:()Z
            ifne 47
        44: .line 401
            new java.lang.InternalError
            dup
        45: .line 402
            ldc "On ES 2.0 device, internalFormat must match pixelFormat"
        46: .line 401
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 405
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 20 /* result */
        start local 20 // boolean result
        48: .line 406
            iload 13 /* create */
            ifeq 77
        49: .line 412
            aload 0 /* glCtx */
            bipush 60
            iconst_1
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        50: .line 413
            aload 3 /* format */
            getstatic com.sun.prism.PixelFormat.FLOAT_XYZW:Lcom/sun/prism/PixelFormat;
            if_acmpne 56
            iload 16 /* internalFormat */
            bipush 40
            if_icmpne 56
        51: .line 418
            aload 0 /* glCtx */
            iload 1 /* target */
            iconst_0
            bipush 40
        52: .line 419
            iload 4 /* texw */
            iload 5 /* texh */
            iconst_0
        53: .line 420
            iload 17 /* pixelFormat */
            iload 18 /* pixelType */
            aconst_null
            iload 14 /* useMipmap */
        54: .line 418
            invokevirtual com.sun.prism.es2.GLContext.texImage2D:(IIIIIIIILjava/nio/Buffer;Z)Z
            istore 20 /* result */
        55: .line 421
            goto 77
        56: .line 431
      StackMap locals: int
      StackMap stack:
            iload 19 /* isGL2 */
            ifeq 61
        57: .line 432
            bipush 44
            istore 21 /* initPixelFormat */
        start local 21 // int initPixelFormat
        58: .line 433
            bipush 21
            istore 22 /* initPixelType */
        start local 22 // int initPixelType
        59: .line 434
            iconst_1
            istore 23 /* initBytesPerPixel */
        start local 23 // int initBytesPerPixel
        60: .line 435
            goto 64
        end local 23 // int initBytesPerPixel
        end local 22 // int initPixelType
        end local 21 // int initPixelFormat
        61: .line 436
      StackMap locals:
      StackMap stack:
            iload 17 /* pixelFormat */
            istore 21 /* initPixelFormat */
        start local 21 // int initPixelFormat
        62: .line 437
            iload 18 /* pixelType */
            istore 22 /* initPixelType */
        start local 22 // int initPixelType
        63: .line 438
            aload 3 /* format */
            invokevirtual com.sun.prism.PixelFormat.getBytesPerPixelUnit:()I
            istore 23 /* initBytesPerPixel */
        start local 23 // int initBytesPerPixel
        64: .line 440
      StackMap locals: int int int
      StackMap stack:
            aconst_null
            astore 24 /* initBuf */
        start local 24 // java.nio.Buffer initBuf
        65: .line 441
            iload 10 /* srcw */
            iload 4 /* texw */
            if_icmpne 66
            iload 11 /* srch */
            iload 5 /* texh */
            if_icmpeq 68
        66: .line 454
      StackMap locals: java.nio.Buffer
      StackMap stack:
            iload 4 /* texw */
            iload 5 /* texh */
            imul
            iload 23 /* initBytesPerPixel */
            imul
            istore 25 /* initSize */
        start local 25 // int initSize
        67: .line 455
            iload 25 /* initSize */
            invokestatic com.sun.prism.impl.BufferUtil.newByteBuffer:(I)Ljava/nio/ByteBuffer;
            astore 24 /* initBuf */
        end local 25 // int initSize
        68: .line 457
      StackMap locals:
      StackMap stack:
            iload 19 /* isGL2 */
            ifeq 73
        69: .line 459
            aload 0 /* glCtx */
            bipush 61
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        70: .line 460
            aload 0 /* glCtx */
            bipush 62
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        71: .line 461
            aload 0 /* glCtx */
            bipush 63
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        72: .line 462
            aload 0 /* glCtx */
            bipush 60
            iload 15 /* alignment */
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        73: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* glCtx */
            iload 1 /* target */
            iconst_0
            iload 16 /* internalFormat */
        74: .line 465
            iload 4 /* texw */
            iload 5 /* texh */
            iconst_0
        75: .line 466
            iload 21 /* initPixelFormat */
            iload 22 /* initPixelType */
            aload 24 /* initBuf */
            iload 14 /* useMipmap */
        76: .line 464
            invokevirtual com.sun.prism.es2.GLContext.texImage2D:(IIIIIIIILjava/nio/Buffer;Z)Z
            istore 20 /* result */
        end local 24 // java.nio.Buffer initBuf
        end local 23 // int initBytesPerPixel
        end local 22 // int initPixelType
        end local 21 // int initPixelFormat
        77: .line 469
      StackMap locals: com.sun.prism.es2.GLContext int java.nio.Buffer com.sun.prism.PixelFormat int int int int int int int int int int int int int int int int int
      StackMap stack:
            aload 2 /* pixels */
            ifnull 103
        78: .line 477
            iload 12 /* srcscan */
            aload 3 /* format */
            invokevirtual com.sun.prism.PixelFormat.getBytesPerPixelUnit:()I
            idiv
            istore 21 /* rowLength */
        start local 21 // int rowLength
        79: .line 479
            iload 19 /* isGL2 */
            ifne 88
        80: .line 480
            iload 8 /* srcx */
            ifne 81
            iload 9 /* srcy */
            ifne 81
            iload 10 /* srcw */
            iload 21 /* rowLength */
            if_icmpeq 88
        81: .line 482
      StackMap locals: int
      StackMap stack:
            aload 2 /* pixels */
            aload 3 /* format */
        82: .line 483
            iload 8 /* srcx */
            iload 9 /* srcy */
            iload 10 /* srcw */
            iload 11 /* srch */
        83: .line 484
            iload 12 /* srcscan */
        84: .line 482
            invokestatic com.sun.prism.Image.createPackedBuffer:(Ljava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIII)Ljava/nio/Buffer;
            astore 2 /* pixels */
        85: .line 485
            iconst_0
            dup
            istore 9 /* srcy */
            istore 8 /* srcx */
        86: .line 486
            iload 10 /* srcw */
            istore 12 /* srcscan */
        87: .line 487
            iload 12 /* srcscan */
            aload 3 /* format */
            invokevirtual com.sun.prism.PixelFormat.getBytesPerPixelUnit:()I
            idiv
            istore 21 /* rowLength */
        88: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* glCtx */
            bipush 60
            iload 15 /* alignment */
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        89: .line 491
            iload 19 /* isGL2 */
            ifeq 94
        90: .line 492
            iload 10 /* srcw */
            iload 21 /* rowLength */
            if_icmpne 93
        91: .line 493
            aload 0 /* glCtx */
            bipush 61
            iconst_0
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        92: .line 494
            goto 94
        93: .line 495
      StackMap locals:
      StackMap stack:
            aload 0 /* glCtx */
            bipush 61
            iload 21 /* rowLength */
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        94: .line 499
      StackMap locals:
      StackMap stack:
            aload 2 /* pixels */
            invokevirtual java.nio.Buffer.position:()I
            istore 22 /* pos */
        start local 22 // int pos
        95: .line 501
            aload 2 /* pixels */
            invokestatic com.sun.prism.es2.ES2Texture.getBufferElementSizeLog:(Ljava/nio/Buffer;)I
            istore 23 /* bufferElementSizeLog */
        start local 23 // int bufferElementSizeLog
        96: .line 502
            aload 3 /* format */
            invokevirtual com.sun.prism.PixelFormat.getBytesPerPixelUnit:()I
            iload 23 /* bufferElementSizeLog */
            ishr
            istore 24 /* elementsInPixel */
        start local 24 // int elementsInPixel
        97: .line 503
            aload 2 /* pixels */
            iload 8 /* srcx */
            iload 24 /* elementsInPixel */
            imul
            iload 9 /* srcy */
            iload 12 /* srcscan */
            iload 23 /* bufferElementSizeLog */
            ishr
            imul
            iadd
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        98: .line 505
            aload 0 /* glCtx */
            iload 1 /* target */
            iconst_0
        99: .line 506
            iload 6 /* dstx */
            iload 7 /* dsty */
            iload 10 /* srcw */
            iload 11 /* srch */
       100: .line 507
            iload 17 /* pixelFormat */
            iload 18 /* pixelType */
            aload 2 /* pixels */
       101: .line 505
            invokevirtual com.sun.prism.es2.GLContext.texSubImage2D:(IIIIIIIILjava/nio/Buffer;)V
       102: .line 508
            aload 2 /* pixels */
            iload 22 /* pos */
            invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
            pop
        end local 24 // int elementsInPixel
        end local 23 // int bufferElementSizeLog
        end local 22 // int pos
        end local 21 // int rowLength
       103: .line 510
      StackMap locals:
      StackMap stack:
            iload 20 /* result */
            ireturn
        end local 20 // boolean result
        end local 19 // boolean isGL2
        end local 18 // int pixelType
        end local 17 // int pixelFormat
        end local 16 // int internalFormat
        end local 15 // int alignment
        end local 14 // boolean useMipmap
        end local 13 // boolean create
        end local 12 // int srcscan
        end local 11 // int srch
        end local 10 // int srcw
        end local 9 // int srcy
        end local 8 // int srcx
        end local 7 // int dsty
        end local 6 // int dstx
        end local 5 // int texh
        end local 4 // int texw
        end local 3 // com.sun.prism.PixelFormat format
        end local 2 // java.nio.Buffer pixels
        end local 1 // int target
        end local 0 // com.sun.prism.es2.GLContext glCtx
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0  104     0                 glCtx  Lcom/sun/prism/es2/GLContext;
            0  104     1                target  I
            0  104     2                pixels  Ljava/nio/Buffer;
            0  104     3                format  Lcom/sun/prism/PixelFormat;
            0  104     4                  texw  I
            0  104     5                  texh  I
            0  104     6                  dstx  I
            0  104     7                  dsty  I
            0  104     8                  srcx  I
            0  104     9                  srcy  I
            0  104    10                  srcw  I
            0  104    11                  srch  I
            0  104    12               srcscan  I
            0  104    13                create  Z
            0  104    14             useMipmap  Z
            1  104    15             alignment  I
            5   16    16        internalFormat  I
           19   22    16        internalFormat  I
           23   26    16        internalFormat  I
           27   30    16        internalFormat  I
           34   37    16        internalFormat  I
           39   42    16        internalFormat  I
           43  104    16        internalFormat  I
            6   16    17           pixelFormat  I
           20   22    17           pixelFormat  I
           24   26    17           pixelFormat  I
           28   30    17           pixelFormat  I
           35   37    17           pixelFormat  I
           40   42    17           pixelFormat  I
           43  104    17           pixelFormat  I
           13   14    18             pixelType  I
           15   16    18             pixelType  I
           21   22    18             pixelType  I
           25   26    18             pixelType  I
           29   30    18             pixelType  I
           36   37    18             pixelType  I
           41   42    18             pixelType  I
           43  104    18             pixelType  I
            2  104    19                 isGL2  Z
           48  104    20                result  Z
           58   61    21       initPixelFormat  I
           62   77    21       initPixelFormat  I
           59   61    22         initPixelType  I
           63   77    22         initPixelType  I
           60   61    23     initBytesPerPixel  I
           64   77    23     initBytesPerPixel  I
           65   77    24               initBuf  Ljava/nio/Buffer;
           67   68    25              initSize  I
           79  103    21             rowLength  I
           95  103    22                   pos  I
           96  103    23  bufferElementSizeLog  I
           97  103    24       elementsInPixel  I
    MethodParameters:
           Name  Flags
      glCtx      
      target     
      pixels     
      format     
      texw       
      texh       
      dstx       
      dsty       
      srcx       
      srcy       
      srcw       
      srch       
      srcscan    
      create     
      useMipmap  

  private static boolean uploadPixels(com.sun.prism.es2.GLContext, int, com.sun.prism.MediaFrame, int, int, boolean);
    descriptor: (Lcom/sun/prism/es2/GLContext;ILcom/sun/prism/MediaFrame;IIZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=11, locals=17, args_size=6
        start local 0 // com.sun.prism.es2.GLContext glCtx
        start local 1 // int target
        start local 2 // com.sun.prism.MediaFrame frame
        start local 3 // int texw
        start local 4 // int texh
        start local 5 // boolean create
         0: .line 515
            aload 2 /* frame */
            invokeinterface com.sun.prism.MediaFrame.holdFrame:()V
         1: .line 517
            iconst_1
            istore 6 /* alignment */
        start local 6 // int alignment
         2: .line 521
            aload 2 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getEncodedWidth:()I
            istore 10 /* srcw */
        start local 10 // int srcw
         3: .line 522
            aload 2 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getEncodedHeight:()I
            istore 11 /* srch */
        start local 11 // int srch
         4: .line 523
            iload 11 /* srch */
            istore 12 /* adjHeight */
        start local 12 // int adjHeight
         5: .line 524
            aload 2 /* frame */
            iconst_0
            invokeinterface com.sun.prism.MediaFrame.getBufferForPlane:(I)Ljava/nio/ByteBuffer;
            astore 13 /* pixels */
        start local 13 // java.nio.ByteBuffer pixels
         6: .line 526
            invokestatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$PixelFormat:()[I
            aload 2 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getPixelFormat:()Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            iaload
            tableswitch { // 1 - 7
                    1: 7
                    2: 20
                    3: 20
                    4: 20
                    5: 20
                    6: 20
                    7: 15
              default: 20
          }
         7: .line 528
      StackMap locals: com.sun.prism.es2.GLContext int com.sun.prism.MediaFrame int int int int top top top int int int java.nio.ByteBuffer
      StackMap stack:
            iconst_4
            istore 6 /* alignment */
         8: .line 529
            bipush 40
            istore 7 /* internalFormat */
        start local 7 // int internalFormat
         9: .line 530
            bipush 41
            istore 8 /* pixelFormat */
        start local 8 // int pixelFormat
        10: .line 531
            aload 13 /* pixels */
            invokevirtual java.nio.ByteBuffer.order:()Ljava/nio/ByteOrder;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            if_acmpne 13
        11: .line 532
            bipush 22
            istore 9 /* pixelType */
        start local 9 // int pixelType
        12: .line 533
            goto 24
        end local 9 // int pixelType
        13: .line 534
      StackMap locals: com.sun.prism.es2.GLContext int com.sun.prism.MediaFrame int int int int int int top int int int java.nio.ByteBuffer
      StackMap stack:
            bipush 23
            istore 9 /* pixelType */
        start local 9 // int pixelType
        14: .line 536
            goto 24
        end local 9 // int pixelType
        end local 8 // int pixelFormat
        end local 7 // int internalFormat
        15: .line 539
      StackMap locals: com.sun.prism.es2.GLContext int com.sun.prism.MediaFrame int int int int top top top int int int java.nio.ByteBuffer
      StackMap stack:
            iconst_2
            istore 6 /* alignment */
        16: .line 540
            bipush 42
            istore 7 /* internalFormat */
        start local 7 // int internalFormat
        17: .line 541
            bipush 46
            istore 8 /* pixelFormat */
        start local 8 // int pixelFormat
        18: .line 542
            bipush 24
            istore 9 /* pixelType */
        start local 9 // int pixelType
        19: .line 543
            goto 24
        end local 9 // int pixelType
        end local 8 // int pixelFormat
        end local 7 // int internalFormat
        20: .line 546
      StackMap locals:
      StackMap stack:
            aload 2 /* frame */
            invokeinterface com.sun.prism.MediaFrame.releaseFrame:()V
        21: .line 547
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid video image format "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 548
            aload 2 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getPixelFormat:()Lcom/sun/prism/PixelFormat;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 547
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // int internalFormat
        start local 8 // int pixelFormat
        start local 9 // int pixelType
        24: .line 551
      StackMap locals: com.sun.prism.es2.GLContext int com.sun.prism.MediaFrame int int int int int int int int int int java.nio.ByteBuffer
      StackMap stack:
            iconst_1
            istore 14 /* result */
        start local 14 // boolean result
        25: .line 552
            iload 5 /* create */
            ifeq 35
        26: .line 553
            aload 0 /* glCtx */
            bipush 60
            iconst_1
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        27: .line 554
            aconst_null
            astore 15 /* initBuf */
        start local 15 // java.nio.Buffer initBuf
        28: .line 555
            iload 10 /* srcw */
            iload 3 /* texw */
            if_icmpne 29
            iload 12 /* adjHeight */
            iload 4 /* texh */
            if_icmpeq 31
        29: .line 556
      StackMap locals: int java.nio.Buffer
      StackMap stack:
            iload 3 /* texw */
            iload 4 /* texh */
            imul
            istore 16 /* initSize */
        start local 16 // int initSize
        30: .line 557
            iload 16 /* initSize */
            invokestatic com.sun.prism.impl.BufferUtil.newByteBuffer:(I)Ljava/nio/ByteBuffer;
            astore 15 /* initBuf */
        end local 16 // int initSize
        31: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* glCtx */
            iload 1 /* target */
            iconst_0
            iload 7 /* internalFormat */
        32: .line 560
            iload 3 /* texw */
            iload 4 /* texh */
            iconst_0
        33: .line 561
            bipush 44
            bipush 21
            aload 15 /* initBuf */
            iconst_0
        34: .line 559
            invokevirtual com.sun.prism.es2.GLContext.texImage2D:(IIIIIIIILjava/nio/Buffer;Z)Z
            istore 14 /* result */
        end local 15 // java.nio.Buffer initBuf
        35: .line 564
      StackMap locals:
      StackMap stack:
            aload 13 /* pixels */
            ifnull 44
        36: .line 565
            aload 0 /* glCtx */
            bipush 60
            iload 6 /* alignment */
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        37: .line 566
            aload 0 /* glCtx */
            bipush 61
        38: .line 567
            aload 2 /* frame */
            iconst_0
            invokeinterface com.sun.prism.MediaFrame.strideForPlane:(I)I
            iload 6 /* alignment */
            idiv
        39: .line 566
            invokevirtual com.sun.prism.es2.GLContext.pixelStorei:(II)V
        40: .line 568
            aload 0 /* glCtx */
            iload 1 /* target */
            iconst_0
        41: .line 569
            iconst_0
            iconst_0
            iload 10 /* srcw */
            aload 2 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getHeight:()I
        42: .line 570
            iload 8 /* pixelFormat */
            iload 9 /* pixelType */
            aload 13 /* pixels */
        43: .line 568
            invokevirtual com.sun.prism.es2.GLContext.texSubImage2D:(IIIIIIIILjava/nio/Buffer;)V
        44: .line 572
      StackMap locals:
      StackMap stack:
            aload 2 /* frame */
            invokeinterface com.sun.prism.MediaFrame.releaseFrame:()V
        45: .line 573
            iload 14 /* result */
            ireturn
        end local 14 // boolean result
        end local 13 // java.nio.ByteBuffer pixels
        end local 12 // int adjHeight
        end local 11 // int srch
        end local 10 // int srcw
        end local 9 // int pixelType
        end local 8 // int pixelFormat
        end local 7 // int internalFormat
        end local 6 // int alignment
        end local 5 // boolean create
        end local 4 // int texh
        end local 3 // int texw
        end local 2 // com.sun.prism.MediaFrame frame
        end local 1 // int target
        end local 0 // com.sun.prism.es2.GLContext glCtx
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   46     0           glCtx  Lcom/sun/prism/es2/GLContext;
            0   46     1          target  I
            0   46     2           frame  Lcom/sun/prism/MediaFrame;
            0   46     3            texw  I
            0   46     4            texh  I
            0   46     5          create  Z
            2   46     6       alignment  I
            9   15     7  internalFormat  I
           17   20     7  internalFormat  I
           24   46     7  internalFormat  I
           10   15     8     pixelFormat  I
           18   20     8     pixelFormat  I
           24   46     8     pixelFormat  I
           12   13     9       pixelType  I
           14   15     9       pixelType  I
           19   20     9       pixelType  I
           24   46     9       pixelType  I
            3   46    10            srcw  I
            4   46    11            srch  I
            5   46    12       adjHeight  I
            6   46    13          pixels  Ljava/nio/ByteBuffer;
           25   46    14          result  Z
           28   35    15         initBuf  Ljava/nio/Buffer;
           30   31    16        initSize  I
    MethodParameters:
        Name  Flags
      glCtx   
      target  
      frame   
      texw    
      texh    
      create  

  public static int getBufferElementSizeLog(java.nio.Buffer);
    descriptor: (Ljava/nio/Buffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.nio.Buffer b
         0: .line 577
            aload 0 /* b */
            instanceof java.nio.ByteBuffer
            ifeq 2
         1: .line 578
            iconst_0
            ireturn
         2: .line 579
      StackMap locals:
      StackMap stack:
            aload 0 /* b */
            instanceof java.nio.IntBuffer
            ifne 3
            aload 0 /* b */
            instanceof java.nio.FloatBuffer
            ifeq 4
         3: .line 580
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         4: .line 582
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported Buffer type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* b */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            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
        end local 0 // java.nio.Buffer b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     b  Ljava/nio/Buffer;
    MethodParameters:
      Name  Flags
      b     

  void updateWrapState();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.sun.prism.es2.ES2Texture this
         0: .line 587
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getWrapMode:()Lcom/sun/prism/Texture$WrapMode;
            astore 1 /* cWrapMode */
        start local 1 // com.sun.prism.Texture$WrapMode cWrapMode
         1: .line 592
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.resource:Lcom/sun/prism/impl/ManagedResource;
            checkcast com.sun.prism.es2.ES2TextureResource
            invokevirtual com.sun.prism.es2.ES2TextureResource.getResource:()Ljava/lang/Object;
            checkcast com.sun.prism.es2.ES2TextureData
            astore 2 /* texData */
        start local 2 // com.sun.prism.es2.ES2TextureData texData
         2: .line 593
            aload 2 /* texData */
            invokevirtual com.sun.prism.es2.ES2TextureData.getWrapMode:()Lcom/sun/prism/Texture$WrapMode;
            aload 1 /* cWrapMode */
            if_acmpeq 12
         3: .line 594
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
            invokevirtual com.sun.prism.es2.ES2Context.getGLContext:()Lcom/sun/prism/es2/GLContext;
            astore 3 /* glCtx */
        start local 3 // com.sun.prism.es2.GLContext glCtx
         4: .line 595
            aload 3 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:()I
            istore 4 /* savedTex */
        start local 4 // int savedTex
         5: .line 596
            aload 2 /* texData */
            invokevirtual com.sun.prism.es2.ES2TextureData.getTexID:()I
            istore 5 /* texID */
        start local 5 // int texID
         6: .line 597
            iload 4 /* savedTex */
            iload 5 /* texID */
            if_icmpeq 8
         7: .line 598
            aload 3 /* glCtx */
            iload 5 /* texID */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
         8: .line 600
      StackMap locals: com.sun.prism.es2.ES2Texture com.sun.prism.Texture$WrapMode com.sun.prism.es2.ES2TextureData com.sun.prism.es2.GLContext int int
      StackMap stack:
            aload 3 /* glCtx */
            iload 5 /* texID */
            aload 1 /* cWrapMode */
            invokevirtual com.sun.prism.es2.GLContext.updateWrapState:(ILcom/sun/prism/Texture$WrapMode;)V
         9: .line 601
            iload 4 /* savedTex */
            iload 5 /* texID */
            if_icmpeq 11
        10: .line 602
            aload 3 /* glCtx */
            iload 4 /* savedTex */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
        11: .line 604
      StackMap locals:
      StackMap stack:
            aload 2 /* texData */
            aload 1 /* cWrapMode */
            invokevirtual com.sun.prism.es2.ES2TextureData.setWrapMode:(Lcom/sun/prism/Texture$WrapMode;)V
        end local 5 // int texID
        end local 4 // int savedTex
        end local 3 // com.sun.prism.es2.GLContext glCtx
        12: .line 606
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.prism.es2.ES2TextureData texData
        end local 1 // com.sun.prism.Texture$WrapMode cWrapMode
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lcom/sun/prism/es2/ES2Texture<TT;>;
            1   13     1  cWrapMode  Lcom/sun/prism/Texture$WrapMode;
            2   13     2    texData  Lcom/sun/prism/es2/ES2TextureData;
            4   12     3      glCtx  Lcom/sun/prism/es2/GLContext;
            5   12     4   savedTex  I
            6   12     5      texID  I

  void updateFilterState();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // com.sun.prism.es2.ES2Texture this
         0: .line 609
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getLinearFiltering:()Z
            istore 1 /* cLFM */
        start local 1 // boolean cLFM
         1: .line 614
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.resource:Lcom/sun/prism/impl/ManagedResource;
            checkcast com.sun.prism.es2.ES2TextureResource
            invokevirtual com.sun.prism.es2.ES2TextureResource.getResource:()Ljava/lang/Object;
            checkcast com.sun.prism.es2.ES2TextureData
            astore 2 /* texData */
        start local 2 // com.sun.prism.es2.ES2TextureData texData
         2: .line 615
            aload 2 /* texData */
            invokevirtual com.sun.prism.es2.ES2TextureData.isFiltered:()Z
            iload 1 /* cLFM */
            if_icmpeq 12
         3: .line 616
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
            invokevirtual com.sun.prism.es2.ES2Context.getGLContext:()Lcom/sun/prism/es2/GLContext;
            astore 3 /* glCtx */
        start local 3 // com.sun.prism.es2.GLContext glCtx
         4: .line 617
            aload 3 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:()I
            istore 4 /* savedTex */
        start local 4 // int savedTex
         5: .line 618
            aload 2 /* texData */
            invokevirtual com.sun.prism.es2.ES2TextureData.getTexID:()I
            istore 5 /* texID */
        start local 5 // int texID
         6: .line 619
            iload 4 /* savedTex */
            iload 5 /* texID */
            if_icmpeq 8
         7: .line 620
            aload 3 /* glCtx */
            iload 5 /* texID */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
         8: .line 622
      StackMap locals: com.sun.prism.es2.ES2Texture int com.sun.prism.es2.ES2TextureData com.sun.prism.es2.GLContext int int
      StackMap stack:
            aload 3 /* glCtx */
            iload 5 /* texID */
            iload 1 /* cLFM */
            invokevirtual com.sun.prism.es2.GLContext.updateFilterState:(IZ)V
         9: .line 623
            iload 4 /* savedTex */
            iload 5 /* texID */
            if_icmpeq 11
        10: .line 624
            aload 3 /* glCtx */
            iload 4 /* savedTex */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
        11: .line 626
      StackMap locals:
      StackMap stack:
            aload 2 /* texData */
            iload 1 /* cLFM */
            invokevirtual com.sun.prism.es2.ES2TextureData.setFiltered:(Z)V
        end local 5 // int texID
        end local 4 // int savedTex
        end local 3 // com.sun.prism.es2.GLContext glCtx
        12: .line 628
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.prism.es2.ES2TextureData texData
        end local 1 // boolean cLFM
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/sun/prism/es2/ES2Texture<TT;>;
            1   13     1      cLFM  Z
            2   13     2   texData  Lcom/sun/prism/es2/ES2TextureData;
            4   12     3     glCtx  Lcom/sun/prism/es2/GLContext;
            5   12     4  savedTex  I
            6   12     5     texID  I

  public int getNativeSourceHandle();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.es2.ES2Texture this
         0: .line 631
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.resource:Lcom/sun/prism/impl/ManagedResource;
            checkcast com.sun.prism.es2.ES2TextureResource
            invokevirtual com.sun.prism.es2.ES2TextureResource.getResource:()Ljava/lang/Object;
            checkcast com.sun.prism.es2.ES2TextureData
            invokevirtual com.sun.prism.es2.ES2TextureData.getTexID:()I
            ireturn
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/es2/ES2Texture<TT;>;

  public void update(java.nio.Buffer, com.sun.prism.PixelFormat, int, int, int, int, int, int, int, boolean);
    descriptor: (Ljava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=15, locals=25, args_size=11
        start local 0 // com.sun.prism.es2.ES2Texture this
        start local 1 // java.nio.Buffer pixels
        start local 2 // com.sun.prism.PixelFormat format
        start local 3 // int dstx
        start local 4 // int dsty
        start local 5 // int srcx
        start local 6 // int srcy
        start local 7 // int srcw
        start local 8 // int srch
        start local 9 // int srcscan
        start local 10 // boolean skipFlush
         0: .line 640
            aload 0 /* this */
            aload 1 /* pixels */
            aload 2 /* format */
         1: .line 641
            iload 3 /* dstx */
            iload 4 /* dsty */
            iload 5 /* srcx */
            iload 6 /* srcy */
            iload 7 /* srcw */
            iload 8 /* srch */
            iload 9 /* srcscan */
         2: .line 640
            invokevirtual com.sun.prism.es2.ES2Texture.checkUpdateParams:(Ljava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIII)V
         3: .line 643
            iload 10 /* skipFlush */
            ifne 5
         4: .line 644
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
            invokevirtual com.sun.prism.es2.ES2Context.flushVertexBuffer:()V
         5: .line 647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getNativeSourceHandle:()I
            istore 11 /* texID */
        start local 11 // int texID
         6: .line 648
            iload 11 /* texID */
            ifeq 97
         7: .line 649
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
            invokevirtual com.sun.prism.es2.ES2Context.getGLContext:()Lcom/sun/prism/es2/GLContext;
            astore 12 /* glCtx */
        start local 12 // com.sun.prism.es2.GLContext glCtx
         8: .line 651
            aload 12 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getActiveTextureUnit:()I
            istore 13 /* savedUnit */
        start local 13 // int savedUnit
         9: .line 652
            aload 12 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:()I
            istore 14 /* savedTex */
        start local 14 // int savedTex
        10: .line 653
            iconst_0
            istore 15 /* alreadyBound */
        start local 15 // boolean alreadyBound
        11: .line 654
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        12: goto 19
        13: .line 655
      StackMap locals: com.sun.prism.es2.ES2Texture java.nio.Buffer com.sun.prism.PixelFormat int int int int int int int int int com.sun.prism.es2.GLContext int int int int
      StackMap stack:
            aload 12 /* glCtx */
            iload 16 /* i */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:(I)I
            iload 11 /* texID */
            if_icmpne 18
        14: .line 656
            iconst_1
            istore 15 /* alreadyBound */
        15: .line 657
            iload 13 /* savedUnit */
            iload 16 /* i */
            if_icmpeq 20
        16: .line 658
            aload 12 /* glCtx */
            iload 16 /* i */
            invokevirtual com.sun.prism.es2.GLContext.setActiveTextureUnit:(I)V
        17: .line 660
            goto 20
        18: .line 654
      StackMap locals:
      StackMap stack:
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 16 /* i */
            iconst_2
            if_icmplt 13
        end local 16 // int i
        20: .line 663
      StackMap locals:
      StackMap stack:
            iload 15 /* alreadyBound */
            ifne 22
        21: .line 664
            aload 12 /* glCtx */
            iload 11 /* texID */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
        22: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getContentX:()I
            istore 16 /* contentX */
        start local 16 // int contentX
        23: .line 668
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getContentY:()I
            istore 17 /* contentY */
        start local 17 // int contentY
        24: .line 669
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getContentWidth:()I
            istore 18 /* contentW */
        start local 18 // int contentW
        25: .line 670
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getContentHeight:()I
            istore 19 /* contentH */
        start local 19 // int contentH
        26: .line 671
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getPhysicalWidth:()I
            istore 20 /* texWidth */
        start local 20 // int texWidth
        27: .line 672
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getPhysicalHeight:()I
            istore 21 /* texHeight */
        start local 21 // int texHeight
        28: .line 673
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getUseMipmap:()Z
            istore 22 /* useMipmap */
        start local 22 // boolean useMipmap
        29: .line 674
            aload 12 /* glCtx */
            bipush 50
        30: .line 675
            aload 1 /* pixels */
            aload 2 /* format */
        31: .line 676
            iload 20 /* texWidth */
            iload 21 /* texHeight */
        32: .line 677
            iload 16 /* contentX */
            iload 3 /* dstx */
            iadd
            iload 17 /* contentY */
            iload 4 /* dsty */
            iadd
        33: .line 678
            iload 5 /* srcx */
            iload 6 /* srcy */
            iload 7 /* srcw */
            iload 8 /* srch */
            iload 9 /* srcscan */
            iconst_0
            iload 22 /* useMipmap */
        34: .line 674
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
            pop
        35: .line 680
            invokestatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$Texture$WrapMode:()[I
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getWrapMode:()Lcom/sun/prism/Texture$WrapMode;
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            iaload
            tableswitch { // 3 - 7
                    3: 36
                    4: 65
                    5: 93
                    6: 37
                    7: 66
              default: 93
          }
        36: .line 682
      StackMap locals: com.sun.prism.es2.ES2Texture java.nio.Buffer com.sun.prism.PixelFormat int int int int int int int int int com.sun.prism.es2.GLContext int int int int int int int int int int
      StackMap stack:
            goto 93
        37: .line 684
      StackMap locals:
      StackMap stack:
            iload 18 /* contentW */
            iload 20 /* texWidth */
            if_icmpge 38
            iload 3 /* dstx */
            iload 7 /* srcw */
            iadd
            iload 18 /* contentW */
            if_icmpne 38
            iconst_1
            goto 39
      StackMap locals:
      StackMap stack:
        38: iconst_0
      StackMap locals:
      StackMap stack: int
        39: istore 23 /* copyR */
        start local 23 // boolean copyR
        40: .line 685
            iload 19 /* contentH */
            iload 21 /* texHeight */
            if_icmpge 41
            iload 4 /* dsty */
            iload 8 /* srch */
            iadd
            iload 19 /* contentH */
            if_icmpne 41
            iconst_1
            goto 42
      StackMap locals: int
      StackMap stack:
        41: iconst_0
      StackMap locals:
      StackMap stack: int
        42: istore 24 /* copyL */
        start local 24 // boolean copyL
        43: .line 687
            iload 23 /* copyR */
            ifeq 50
        44: .line 688
            aload 12 /* glCtx */
            bipush 50
        45: .line 689
            aload 1 /* pixels */
            aload 2 /* format */
        46: .line 690
            iload 20 /* texWidth */
            iload 21 /* texHeight */
        47: .line 691
            iload 16 /* contentX */
            iload 18 /* contentW */
            iadd
            iload 17 /* contentY */
            iload 4 /* dsty */
            iadd
        48: .line 692
            iload 5 /* srcx */
            iload 7 /* srcw */
            iadd
            iconst_1
            isub
            iload 6 /* srcy */
            iconst_1
            iload 8 /* srch */
            iload 9 /* srcscan */
            iconst_0
            iload 22 /* useMipmap */
        49: .line 688
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
            pop
        50: .line 695
      StackMap locals: int
      StackMap stack:
            iload 24 /* copyL */
            ifeq 93
        51: .line 696
            aload 12 /* glCtx */
            bipush 50
        52: .line 697
            aload 1 /* pixels */
            aload 2 /* format */
        53: .line 698
            iload 20 /* texWidth */
            iload 21 /* texHeight */
        54: .line 699
            iload 16 /* contentX */
            iload 3 /* dstx */
            iadd
            iload 17 /* contentY */
            iload 19 /* contentH */
            iadd
        55: .line 700
            iload 5 /* srcx */
            iload 6 /* srcy */
            iload 8 /* srch */
            iadd
            iconst_1
            isub
            iload 7 /* srcw */
            iconst_1
            iload 9 /* srcscan */
            iconst_0
            iload 22 /* useMipmap */
        56: .line 696
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
            pop
        57: .line 702
            iload 23 /* copyR */
            ifeq 93
        58: .line 703
            aload 12 /* glCtx */
            bipush 50
        59: .line 704
            aload 1 /* pixels */
            aload 2 /* format */
        60: .line 705
            iload 20 /* texWidth */
            iload 21 /* texHeight */
        61: .line 706
            iload 16 /* contentX */
            iload 18 /* contentW */
            iadd
            iload 17 /* contentY */
            iload 19 /* contentH */
            iadd
        62: .line 707
            iload 5 /* srcx */
            iload 7 /* srcw */
            iadd
            iconst_1
            isub
            iload 6 /* srcy */
            iload 8 /* srch */
            iadd
            iconst_1
            isub
            iconst_1
            iconst_1
            iload 9 /* srcscan */
            iconst_0
            iload 22 /* useMipmap */
        63: .line 703
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
            pop
        64: .line 710
            goto 93
        end local 24 // boolean copyL
        end local 23 // boolean copyR
        65: .line 713
      StackMap locals:
      StackMap stack:
            goto 93
        66: .line 715
      StackMap locals:
      StackMap stack:
            iload 18 /* contentW */
            iload 20 /* texWidth */
            if_icmpge 67
            iload 3 /* dstx */
            ifne 67
            iconst_1
            goto 68
      StackMap locals:
      StackMap stack:
        67: iconst_0
      StackMap locals:
      StackMap stack: int
        68: istore 23 /* repeatL */
        start local 23 // boolean repeatL
        69: .line 716
            iload 19 /* contentH */
            iload 21 /* texHeight */
            if_icmpge 70
            iload 4 /* dsty */
            ifne 70
            iconst_1
            goto 71
      StackMap locals: int
      StackMap stack:
        70: iconst_0
      StackMap locals:
      StackMap stack: int
        71: istore 24 /* repeatT */
        start local 24 // boolean repeatT
        72: .line 718
            iload 23 /* repeatL */
            ifeq 79
        73: .line 719
            aload 12 /* glCtx */
            bipush 50
        74: .line 720
            aload 1 /* pixels */
            aload 2 /* format */
        75: .line 721
            iload 20 /* texWidth */
            iload 21 /* texHeight */
        76: .line 722
            iload 16 /* contentX */
            iload 18 /* contentW */
            iadd
            iload 17 /* contentY */
            iload 4 /* dsty */
            iadd
        77: .line 723
            iload 5 /* srcx */
            iload 6 /* srcy */
            iconst_1
            iload 8 /* srch */
            iload 9 /* srcscan */
            iconst_0
            iload 22 /* useMipmap */
        78: .line 719
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
            pop
        79: .line 726
      StackMap locals: int
      StackMap stack:
            iload 24 /* repeatT */
            ifeq 93
        80: .line 727
            aload 12 /* glCtx */
            bipush 50
        81: .line 728
            aload 1 /* pixels */
            aload 2 /* format */
        82: .line 729
            iload 20 /* texWidth */
            iload 21 /* texHeight */
        83: .line 730
            iload 16 /* contentX */
            iload 3 /* dstx */
            iadd
            iload 17 /* contentY */
            iload 19 /* contentH */
            iadd
        84: .line 731
            iload 5 /* srcx */
            iload 6 /* srcy */
            iload 7 /* srcw */
            iconst_1
            iload 9 /* srcscan */
            iconst_0
            iload 22 /* useMipmap */
        85: .line 727
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
            pop
        86: .line 733
            iload 23 /* repeatL */
            ifeq 93
        87: .line 734
            aload 12 /* glCtx */
            bipush 50
        88: .line 735
            aload 1 /* pixels */
            aload 2 /* format */
        89: .line 736
            iload 20 /* texWidth */
            iload 21 /* texHeight */
        90: .line 737
            iload 16 /* contentX */
            iload 18 /* contentW */
            iadd
            iload 17 /* contentY */
            iload 19 /* contentH */
            iadd
        91: .line 738
            iload 5 /* srcx */
            iload 6 /* srcy */
            iconst_1
            iconst_1
            iload 9 /* srcscan */
            iconst_0
            iload 22 /* useMipmap */
        92: .line 734
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILjava/nio/Buffer;Lcom/sun/prism/PixelFormat;IIIIIIIIIZZ)Z
            pop
        end local 24 // boolean repeatT
        end local 23 // boolean repeatL
        93: .line 746
      StackMap locals:
      StackMap stack:
            iload 13 /* savedUnit */
            aload 12 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getActiveTextureUnit:()I
            if_icmpeq 95
        94: .line 747
            aload 12 /* glCtx */
            iload 13 /* savedUnit */
            invokevirtual com.sun.prism.es2.GLContext.setActiveTextureUnit:(I)V
        95: .line 749
      StackMap locals:
      StackMap stack:
            iload 14 /* savedTex */
            aload 12 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:()I
            if_icmpeq 97
        96: .line 750
            aload 12 /* glCtx */
            iload 14 /* savedTex */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
        end local 22 // boolean useMipmap
        end local 21 // int texHeight
        end local 20 // int texWidth
        end local 19 // int contentH
        end local 18 // int contentW
        end local 17 // int contentY
        end local 16 // int contentX
        end local 15 // boolean alreadyBound
        end local 14 // int savedTex
        end local 13 // int savedUnit
        end local 12 // com.sun.prism.es2.GLContext glCtx
        97: .line 753
      StackMap locals: com.sun.prism.es2.ES2Texture java.nio.Buffer com.sun.prism.PixelFormat int int int int int int int int int
      StackMap stack:
            return
        end local 11 // int texID
        end local 10 // boolean skipFlush
        end local 9 // int srcscan
        end local 8 // int srch
        end local 7 // int srcw
        end local 6 // int srcy
        end local 5 // int srcx
        end local 4 // int dsty
        end local 3 // int dstx
        end local 2 // com.sun.prism.PixelFormat format
        end local 1 // java.nio.Buffer pixels
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   98     0          this  Lcom/sun/prism/es2/ES2Texture<TT;>;
            0   98     1        pixels  Ljava/nio/Buffer;
            0   98     2        format  Lcom/sun/prism/PixelFormat;
            0   98     3          dstx  I
            0   98     4          dsty  I
            0   98     5          srcx  I
            0   98     6          srcy  I
            0   98     7          srcw  I
            0   98     8          srch  I
            0   98     9       srcscan  I
            0   98    10     skipFlush  Z
            6   98    11         texID  I
            8   97    12         glCtx  Lcom/sun/prism/es2/GLContext;
            9   97    13     savedUnit  I
           10   97    14      savedTex  I
           11   97    15  alreadyBound  Z
           12   20    16             i  I
           23   97    16      contentX  I
           24   97    17      contentY  I
           25   97    18      contentW  I
           26   97    19      contentH  I
           27   97    20      texWidth  I
           28   97    21     texHeight  I
           29   97    22     useMipmap  Z
           40   65    23         copyR  Z
           43   65    24         copyL  Z
           69   93    23       repeatL  Z
           72   93    24       repeatT  Z
    MethodParameters:
           Name  Flags
      pixels     
      format     
      dstx       
      dsty       
      srcx       
      srcy       
      srcw       
      srch       
      srcscan    
      skipFlush  

  public void update(com.sun.prism.MediaFrame, boolean);
    descriptor: (Lcom/sun/prism/MediaFrame;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.sun.prism.es2.ES2Texture this
        start local 1 // com.sun.prism.MediaFrame frame
        start local 2 // boolean skipFlush
         0: .line 756
            iload 2 /* skipFlush */
            ifne 2
         1: .line 757
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
            invokevirtual com.sun.prism.es2.ES2Context.flushVertexBuffer:()V
         2: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getNativeSourceHandle:()I
            istore 3 /* texID */
        start local 3 // int texID
         3: .line 761
            iload 3 /* texID */
            ifeq 28
         4: .line 762
            aload 0 /* this */
            getfield com.sun.prism.es2.ES2Texture.context:Lcom/sun/prism/es2/ES2Context;
            invokevirtual com.sun.prism.es2.ES2Context.getGLContext:()Lcom/sun/prism/es2/GLContext;
            astore 4 /* glCtx */
        start local 4 // com.sun.prism.es2.GLContext glCtx
         5: .line 764
            aload 4 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getActiveTextureUnit:()I
            istore 5 /* savedUnit */
        start local 5 // int savedUnit
         6: .line 765
            aload 4 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:()I
            istore 6 /* savedTex */
        start local 6 // int savedTex
         7: .line 766
            iconst_0
            istore 7 /* alreadyBound */
        start local 7 // boolean alreadyBound
         8: .line 767
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         9: goto 16
        10: .line 768
      StackMap locals: com.sun.prism.es2.ES2Texture com.sun.prism.MediaFrame int int com.sun.prism.es2.GLContext int int int int
      StackMap stack:
            aload 4 /* glCtx */
            iload 8 /* i */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:(I)I
            iload 3 /* texID */
            if_icmpne 15
        11: .line 769
            iconst_1
            istore 7 /* alreadyBound */
        12: .line 770
            iload 5 /* savedUnit */
            iload 8 /* i */
            if_icmpeq 17
        13: .line 771
            aload 4 /* glCtx */
            iload 8 /* i */
            invokevirtual com.sun.prism.es2.GLContext.setActiveTextureUnit:(I)V
        14: .line 773
            goto 17
        15: .line 767
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            iconst_2
            if_icmplt 10
        end local 8 // int i
        17: .line 776
      StackMap locals:
      StackMap stack:
            iload 7 /* alreadyBound */
            ifne 19
        18: .line 777
            aload 4 /* glCtx */
            iload 3 /* texID */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
        19: .line 780
      StackMap locals:
      StackMap stack:
            aload 4 /* glCtx */
            bipush 50
        20: .line 781
            aload 1 /* frame */
        21: .line 782
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getPhysicalWidth:()I
            aload 0 /* this */
            invokevirtual com.sun.prism.es2.ES2Texture.getPhysicalHeight:()I
        22: .line 783
            iconst_0
        23: .line 780
            invokestatic com.sun.prism.es2.ES2Texture.uploadPixels:(Lcom/sun/prism/es2/GLContext;ILcom/sun/prism/MediaFrame;IIZ)Z
            pop
        24: .line 786
            iload 5 /* savedUnit */
            aload 4 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getActiveTextureUnit:()I
            if_icmpeq 26
        25: .line 787
            aload 4 /* glCtx */
            iload 5 /* savedUnit */
            invokevirtual com.sun.prism.es2.GLContext.setActiveTextureUnit:(I)V
        26: .line 789
      StackMap locals:
      StackMap stack:
            iload 6 /* savedTex */
            aload 4 /* glCtx */
            invokevirtual com.sun.prism.es2.GLContext.getBoundTexture:()I
            if_icmpeq 28
        27: .line 790
            aload 4 /* glCtx */
            iload 6 /* savedTex */
            invokevirtual com.sun.prism.es2.GLContext.setBoundTexture:(I)V
        end local 7 // boolean alreadyBound
        end local 6 // int savedTex
        end local 5 // int savedUnit
        end local 4 // com.sun.prism.es2.GLContext glCtx
        28: .line 793
      StackMap locals: com.sun.prism.es2.ES2Texture com.sun.prism.MediaFrame int int
      StackMap stack:
            return
        end local 3 // int texID
        end local 2 // boolean skipFlush
        end local 1 // com.sun.prism.MediaFrame frame
        end local 0 // com.sun.prism.es2.ES2Texture this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   29     0          this  Lcom/sun/prism/es2/ES2Texture<TT;>;
            0   29     1         frame  Lcom/sun/prism/MediaFrame;
            0   29     2     skipFlush  Z
            3   29     3         texID  I
            5   28     4         glCtx  Lcom/sun/prism/es2/GLContext;
            6   28     5     savedUnit  I
            7   28     6      savedTex  I
            8   28     7  alreadyBound  Z
            9   17     8             i  I
    MethodParameters:
           Name  Flags
      frame      
      skipFlush  

  static int[] $SWITCH_TABLE$com$sun$prism$Texture$WrapMode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$Texture$WrapMode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.prism.Texture$WrapMode.values:()[Lcom/sun/prism/Texture$WrapMode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_NOT_NEEDED:Lcom/sun/prism/Texture$WrapMode;
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE_SIMULATED:Lcom/sun/prism/Texture$WrapMode;
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            bipush 6
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_ZERO:Lcom/sun/prism/Texture$WrapMode;
            invokevirtual com.sun.prism.Texture$WrapMode.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.Texture$WrapMode.CLAMP_TO_ZERO_SIMULATED:Lcom/sun/prism/Texture$WrapMode;
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            iconst_5
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.sun.prism.Texture$WrapMode.REPEAT:Lcom/sun/prism/Texture$WrapMode;
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            iconst_4
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.sun.prism.Texture$WrapMode.REPEAT_SIMULATED:Lcom/sun/prism/Texture$WrapMode;
            invokevirtual com.sun.prism.Texture$WrapMode.ordinal:()I
            bipush 7
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            dup
            putstatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$Texture$WrapMode:[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
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$com$sun$prism$PixelFormat();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 43
            getstatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$PixelFormat:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.prism.PixelFormat.values:()[Lcom/sun/prism/PixelFormat;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.prism.PixelFormat.BYTE_ALPHA:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.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.PixelFormat.BYTE_APPLE_422:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            bipush 7
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.sun.prism.PixelFormat.BYTE_BGRA_PRE:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.sun.prism.PixelFormat.BYTE_GRAY:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.sun.prism.PixelFormat.BYTE_RGB:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            iconst_3
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.sun.prism.PixelFormat.FLOAT_XYZW:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            bipush 8
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.sun.prism.PixelFormat.INT_ARGB_PRE:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            iconst_1
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.sun.prism.PixelFormat.MULTI_YCbCr_420:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            bipush 6
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            dup
            putstatic com.sun.prism.es2.ES2Texture.$SWITCH_TABLE$com$sun$prism$PixelFormat:[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
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
}
Signature: <T:Lcom/sun/prism/es2/ES2TextureData;>Lcom/sun/prism/impl/BaseTexture<Lcom/sun/prism/es2/ES2TextureResource<TT;>;>;
SourceFile: "ES2Texture.java"
InnerClasses:
  public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture