class com.sun.prism.d3d.D3DResourceFactory extends com.sun.prism.impl.ps.BaseShaderFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.prism.d3d.D3DResourceFactory
  super_class: com.sun.prism.impl.ps.BaseShaderFactory
{
  private static final java.util.Map<com.sun.prism.Image, com.sun.prism.Texture> clampTexCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/prism/Image;Lcom/sun/prism/Texture;>;

  private static final java.util.Map<com.sun.prism.Image, com.sun.prism.Texture> repeatTexCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/prism/Image;Lcom/sun/prism/Texture;>;

  private static final java.util.Map<com.sun.prism.Image, com.sun.prism.Texture> mipmapTexCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/prism/Image;Lcom/sun/prism/Texture;>;

  private final com.sun.prism.d3d.D3DContext context;
    descriptor: Lcom/sun/prism/d3d/D3DContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxTextureSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.LinkedList<com.sun.prism.d3d.D3DResource$D3DRecord> records;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/LinkedList<Lcom/sun/prism/d3d/D3DResource$D3DRecord;>;

  static final int STATS_FREQUENCY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

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

  private com.sun.prism.d3d.D3DFrameStats frameStats;
    descriptor: Lcom/sun/prism/d3d/D3DFrameStats;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 64
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            putstatic com.sun.prism.d3d.D3DResourceFactory.clampTexCache:Ljava/util/Map;
         1: .line 65
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            putstatic com.sun.prism.d3d.D3DResourceFactory.repeatTexCache:Ljava/util/Map;
         2: .line 66
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            putstatic com.sun.prism.d3d.D3DResourceFactory.mipmapTexCache:Ljava/util/Map;
         3: .line 97
            getstatic com.sun.prism.impl.PrismSettings.prismStatFrequency:I
            putstatic com.sun.prism.d3d.D3DResourceFactory.STATS_FREQUENCY:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(long, com.sun.glass.ui.Screen);
    descriptor: (JLcom/sun/glass/ui/Screen;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // long pContext
        start local 3 // com.sun.glass.ui.Screen screen
         0: .line 79
            aload 0 /* this */
            getstatic com.sun.prism.d3d.D3DResourceFactory.clampTexCache:Ljava/util/Map;
            getstatic com.sun.prism.d3d.D3DResourceFactory.repeatTexCache:Ljava/util/Map;
            getstatic com.sun.prism.d3d.D3DResourceFactory.mipmapTexCache:Ljava/util/Map;
            invokespecial com.sun.prism.impl.ps.BaseShaderFactory.<init>:(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
         1: .line 75
            aload 0 /* this */
         2: .line 76
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield com.sun.prism.d3d.D3DResourceFactory.records:Ljava/util/LinkedList;
         3: .line 98
            aload 0 /* this */
            iconst_m1
            putfield com.sun.prism.d3d.D3DResourceFactory.nFrame:I
         4: .line 80
            aload 0 /* this */
            new com.sun.prism.d3d.D3DContext
            dup
            lload 1 /* pContext */
            aload 3 /* screen */
            aload 0 /* this */
            invokespecial com.sun.prism.d3d.D3DContext.<init>:(JLcom/sun/glass/ui/Screen;Lcom/sun/prism/d3d/D3DResourceFactory;)V
            putfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
         5: .line 81
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.initState:()V
         6: .line 82
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.computeMaxTextureSize:()I
            putfield com.sun.prism.d3d.D3DResourceFactory.maxTextureSize:I
         7: .line 84
            getstatic com.sun.prism.impl.PrismSettings.noClampToZero:Z
            ifeq 9
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 9
         8: .line 85
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "prism.noclamptozero not supported by D3D"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 87
      StackMap locals: com.sun.prism.d3d.D3DResourceFactory long com.sun.glass.ui.Screen
      StackMap stack:
            return
        end local 3 // com.sun.glass.ui.Screen screen
        end local 1 // long pContext
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0   10     1  pContext  J
            0   10     3    screen  Lcom/sun/glass/ui/Screen;
    MethodParameters:
          Name  Flags
      pContext  
      screen    

  com.sun.prism.d3d.D3DContext getContext();
    descriptor: ()Lcom/sun/prism/d3d/D3DContext;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 90
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            areturn
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;

  public com.sun.prism.impl.TextureResourcePool getTextureResourcePool();
    descriptor: ()Lcom/sun/prism/impl/TextureResourcePool;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 94
            getstatic com.sun.prism.d3d.D3DVramPool.instance:Lcom/sun/prism/d3d/D3DVramPool;
            areturn
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;

  private void displayPrismStatistics();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 102
            getstatic com.sun.prism.d3d.D3DResourceFactory.STATS_FREQUENCY:I
            ifle 6
         1: .line 103
            aload 0 /* this */
            dup
            getfield com.sun.prism.d3d.D3DResourceFactory.nFrame:I
            iconst_1
            iadd
            dup_x1
            putfield com.sun.prism.d3d.D3DResourceFactory.nFrame:I
            getstatic com.sun.prism.d3d.D3DResourceFactory.STATS_FREQUENCY:I
            if_icmpne 6
         2: .line 104
            aload 0 /* this */
            iconst_0
            putfield com.sun.prism.d3d.D3DResourceFactory.nFrame:I
         3: .line 105
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            iconst_1
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.frameStats:Lcom/sun/prism/d3d/D3DFrameStats;
            invokevirtual com.sun.prism.d3d.D3DContext.getFrameStats:(ZLcom/sun/prism/d3d/D3DFrameStats;)Lcom/sun/prism/d3d/D3DFrameStats;
            putfield com.sun.prism.d3d.D3DResourceFactory.frameStats:Lcom/sun/prism/d3d/D3DFrameStats;
         4: .line 106
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.frameStats:Lcom/sun/prism/d3d/D3DFrameStats;
            ifnull 6
         5: .line 107
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.frameStats:Lcom/sun/prism/d3d/D3DFrameStats;
            getstatic com.sun.prism.d3d.D3DResourceFactory.STATS_FREQUENCY:I
            invokevirtual com.sun.prism.d3d.D3DFrameStats.toDebugString:(I)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 111
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;

  public boolean isDeviceReady();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 115
            aload 0 /* this */
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.displayPrismStatistics:()V
         1: .line 116
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.testLostStateAndReset:()Z
            ireturn
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;

  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 120
            iload 0 /* val */
            iload 1 /* max */
            if_icmple 2
         1: .line 121
            iconst_0
            ireturn
         2: .line 123
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         3: .line 124
            goto 5
         4: .line 125
      StackMap locals: int
      StackMap stack:
            iload 2 /* i */
            iconst_2
            imul
            istore 2 /* i */
         5: .line 124
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iload 0 /* val */
            if_icmplt 4
         6: .line 127
            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   

  public boolean isCompatibleTexture(com.sun.prism.Texture);
    descriptor: (Lcom/sun/prism/Texture;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.Texture tex
         0: .line 132
            aload 1 /* tex */
            instanceof com.sun.prism.d3d.D3DTexture
            ireturn
        end local 1 // com.sun.prism.Texture tex
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    1     1   tex  Lcom/sun/prism/Texture;
    MethodParameters:
      Name  Flags
      tex   

  public com.sun.prism.d3d.D3DTexture createTexture(com.sun.prism.PixelFormat, com.sun.prism.Texture$Usage, com.sun.prism.Texture$WrapMode, int, int);
    descriptor: (Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;II)Lcom/sun/prism/d3d/D3DTexture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.PixelFormat format
        start local 2 // com.sun.prism.Texture$Usage usagehint
        start local 3 // com.sun.prism.Texture$WrapMode wrapMode
        start local 4 // int w
        start local 5 // int h
         0: .line 138
            aload 0 /* this */
            aload 1 /* format */
            aload 2 /* usagehint */
            aload 3 /* wrapMode */
            iload 4 /* w */
            iload 5 /* h */
            iconst_0
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.createTexture:(Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;IIZ)Lcom/sun/prism/d3d/D3DTexture;
            areturn
        end local 5 // int h
        end local 4 // int w
        end local 3 // com.sun.prism.Texture$WrapMode wrapMode
        end local 2 // com.sun.prism.Texture$Usage usagehint
        end local 1 // com.sun.prism.PixelFormat format
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    1     1     format  Lcom/sun/prism/PixelFormat;
            0    1     2  usagehint  Lcom/sun/prism/Texture$Usage;
            0    1     3   wrapMode  Lcom/sun/prism/Texture$WrapMode;
            0    1     4          w  I
            0    1     5          h  I
    MethodParameters:
           Name  Flags
      format     
      usagehint  
      wrapMode   
      w          
      h          

  public com.sun.prism.d3d.D3DTexture createTexture(com.sun.prism.PixelFormat, com.sun.prism.Texture$Usage, com.sun.prism.Texture$WrapMode, int, int, boolean);
    descriptor: (Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;IIZ)Lcom/sun/prism/d3d/D3DTexture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=16, args_size=7
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.PixelFormat format
        start local 2 // com.sun.prism.Texture$Usage usagehint
        start local 3 // com.sun.prism.Texture$WrapMode wrapMode
        start local 4 // int w
        start local 5 // int h
        start local 6 // boolean useMipmap
         0: .line 144
            aload 0 /* this */
            aload 1 /* format */
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.isFormatSupported:(Lcom/sun/prism/PixelFormat;)Z
            ifne 6
         1: .line 145
            new java.lang.UnsupportedOperationException
            dup
         2: .line 146
            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 147
            ldc " not supported on this device"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 146
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 145
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 150
      StackMap locals:
      StackMap stack:
            aload 1 /* format */
            getstatic com.sun.prism.PixelFormat.MULTI_YCbCr_420:Lcom/sun/prism/PixelFormat;
            if_acmpne 8
         7: .line 151
            new java.lang.UnsupportedOperationException
            dup
            ldc "MULTI_YCbCr_420 textures require a MediaFrame"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 155
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.impl.PrismSettings.forcePow2:Z
            ifeq 12
         9: .line 156
            iload 4 /* w */
            ldc 2147483647
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nextPowerOfTwo:(II)I
            istore 7 /* allocw */
        start local 7 // int allocw
        10: .line 157
            iload 5 /* h */
            ldc 2147483647
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nextPowerOfTwo:(II)I
            istore 8 /* alloch */
        start local 8 // int alloch
        11: .line 158
            goto 14
        end local 8 // int alloch
        end local 7 // int allocw
        12: .line 159
      StackMap locals:
      StackMap stack:
            iload 4 /* w */
            istore 7 /* allocw */
        start local 7 // int allocw
        13: .line 160
            iload 5 /* h */
            istore 8 /* alloch */
        start local 8 // int alloch
        14: .line 162
      StackMap locals: int int
      StackMap stack:
            getstatic com.sun.prism.d3d.D3DVramPool.instance:Lcom/sun/prism/d3d/D3DVramPool;
            astore 9 /* pool */
        start local 9 // com.sun.prism.d3d.D3DVramPool pool
        15: .line 163
            aload 9 /* pool */
            iload 7 /* allocw */
            iload 8 /* alloch */
            aload 1 /* format */
            invokevirtual com.sun.prism.d3d.D3DVramPool.estimateTextureSize:(IILcom/sun/prism/PixelFormat;)J
            lstore 10 /* size */
        start local 10 // long size
        16: .line 164
            aload 9 /* pool */
            lload 10 /* size */
            invokevirtual com.sun.prism.d3d.D3DVramPool.prepareForAllocation:(J)Z
            ifne 18
        17: .line 165
            aconst_null
            areturn
        18: .line 167
      StackMap locals: com.sun.prism.d3d.D3DVramPool long
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.getContextHandle:()J
        19: .line 168
            aload 1 /* format */
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            aload 2 /* usagehint */
            invokevirtual com.sun.prism.Texture$Usage.ordinal:()I
        20: .line 169
            iconst_0
            iload 7 /* allocw */
            iload 8 /* alloch */
            iconst_0
            iload 6 /* useMipmap */
        21: .line 167
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nCreateTexture:(JIIZIIIZ)J
            lstore 12 /* pResource */
        start local 12 // long pResource
        22: .line 170
            lload 12 /* pResource */
            lconst_0
            lcmp
            ifne 24
        23: .line 171
            aconst_null
            areturn
        24: .line 174
      StackMap locals: long
      StackMap stack:
            lload 12 /* pResource */
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nGetTextureWidth:(J)I
            istore 14 /* texw */
        start local 14 // int texw
        25: .line 175
            lload 12 /* pResource */
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nGetTextureHeight:(J)I
            istore 15 /* texh */
        start local 15 // int texh
        26: .line 176
            aload 3 /* wrapMode */
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_NOT_NEEDED:Lcom/sun/prism/Texture$WrapMode;
            if_acmpeq 28
            iload 4 /* w */
            iload 14 /* texw */
            if_icmplt 27
            iload 5 /* h */
            iload 15 /* texh */
            if_icmpge 28
        27: .line 177
      StackMap locals: int int
      StackMap stack:
            aload 3 /* wrapMode */
            invokevirtual com.sun.prism.Texture$WrapMode.simulatedVersion:()Lcom/sun/prism/Texture$WrapMode;
            astore 3 /* wrapMode */
        28: .line 179
      StackMap locals:
      StackMap stack:
            new com.sun.prism.d3d.D3DTexture
            dup
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            aload 1 /* format */
            aload 3 /* wrapMode */
            lload 12 /* pResource */
            iload 14 /* texw */
            iload 15 /* texh */
            iload 4 /* w */
            iload 5 /* h */
            iload 6 /* useMipmap */
            invokespecial com.sun.prism.d3d.D3DTexture.<init>:(Lcom/sun/prism/d3d/D3DContext;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;JIIIIZ)V
            areturn
        end local 15 // int texh
        end local 14 // int texw
        end local 12 // long pResource
        end local 10 // long size
        end local 9 // com.sun.prism.d3d.D3DVramPool pool
        end local 8 // int alloch
        end local 7 // int allocw
        end local 6 // boolean useMipmap
        end local 5 // int h
        end local 4 // int w
        end local 3 // com.sun.prism.Texture$WrapMode wrapMode
        end local 2 // com.sun.prism.Texture$Usage usagehint
        end local 1 // com.sun.prism.PixelFormat format
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0   29     1     format  Lcom/sun/prism/PixelFormat;
            0   29     2  usagehint  Lcom/sun/prism/Texture$Usage;
            0   29     3   wrapMode  Lcom/sun/prism/Texture$WrapMode;
            0   29     4          w  I
            0   29     5          h  I
            0   29     6  useMipmap  Z
           10   12     7     allocw  I
           13   29     7     allocw  I
           11   12     8     alloch  I
           14   29     8     alloch  I
           15   29     9       pool  Lcom/sun/prism/d3d/D3DVramPool;
           16   29    10       size  J
           22   29    12  pResource  J
           25   29    14       texw  I
           26   29    15       texh  I
    MethodParameters:
           Name  Flags
      format     
      usagehint  
      wrapMode   
      w          
      h          
      useMipmap  

  public com.sun.prism.Texture createTexture(com.sun.prism.MediaFrame);
    descriptor: (Lcom/sun/prism/MediaFrame;)Lcom/sun/prism/Texture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=16, args_size=2
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.MediaFrame frame
         0: .line 184
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.holdFrame:()V
         1: .line 186
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getWidth:()I
            istore 2 /* width */
        start local 2 // int width
         2: .line 187
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getHeight:()I
            istore 3 /* height */
        start local 3 // int height
         3: .line 188
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getEncodedWidth:()I
            istore 4 /* texWidth */
        start local 4 // int texWidth
         4: .line 189
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getEncodedHeight:()I
            istore 5 /* texHeight */
        start local 5 // int texHeight
         5: .line 190
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.getPixelFormat:()Lcom/sun/prism/PixelFormat;
            astore 6 /* texFormat */
        start local 6 // com.sun.prism.PixelFormat texFormat
         6: .line 192
            aload 6 /* texFormat */
            getstatic com.sun.prism.PixelFormat.MULTI_YCbCr_420:Lcom/sun/prism/PixelFormat;
            if_acmpne 27
         7: .line 194
            new com.sun.prism.MultiTexture
            dup
            aload 6 /* texFormat */
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
            iload 2 /* width */
            iload 3 /* height */
            invokespecial com.sun.prism.MultiTexture.<init>:(Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;II)V
            astore 7 /* tex */
        start local 7 // com.sun.prism.MultiTexture tex
         8: .line 198
            iconst_0
            istore 8 /* index */
        start local 8 // int index
         9: goto 24
        10: .line 199
      StackMap locals: com.sun.prism.d3d.D3DResourceFactory com.sun.prism.MediaFrame int int int int com.sun.prism.PixelFormat com.sun.prism.MultiTexture int
      StackMap stack:
            iload 4 /* texWidth */
            istore 9 /* subWidth */
        start local 9 // int subWidth
        11: .line 200
            iload 5 /* texHeight */
            istore 10 /* subHeight */
        start local 10 // int subHeight
        12: .line 202
            iload 8 /* index */
            iconst_2
            if_icmpeq 14
        13: .line 203
            iload 8 /* index */
            iconst_1
            if_icmpne 16
        14: .line 205
      StackMap locals: int int
      StackMap stack:
            iload 9 /* subWidth */
            iconst_2
            idiv
            istore 9 /* subWidth */
        15: .line 206
            iload 10 /* subHeight */
            iconst_2
            idiv
            istore 10 /* subHeight */
        16: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.sun.prism.PixelFormat.BYTE_ALPHA:Lcom/sun/prism/PixelFormat;
            getstatic com.sun.prism.Texture$Usage.DYNAMIC:Lcom/sun/prism/Texture$Usage;
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
        17: .line 210
            iload 9 /* subWidth */
            iload 10 /* subHeight */
        18: .line 209
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.createTexture:(Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;II)Lcom/sun/prism/d3d/D3DTexture;
            astore 11 /* subTex */
        start local 11 // com.sun.prism.d3d.D3DTexture subTex
        19: .line 211
            aload 11 /* subTex */
            ifnonnull 22
        20: .line 212
            aload 7 /* tex */
            invokevirtual com.sun.prism.MultiTexture.dispose:()V
        21: .line 213
            aconst_null
            areturn
        22: .line 215
      StackMap locals: com.sun.prism.d3d.D3DTexture
      StackMap stack:
            aload 7 /* tex */
            aload 11 /* subTex */
            iload 8 /* index */
            invokevirtual com.sun.prism.MultiTexture.setTexture:(Lcom/sun/prism/Texture;I)V
        end local 11 // com.sun.prism.d3d.D3DTexture subTex
        end local 10 // int subHeight
        end local 9 // int subWidth
        23: .line 198
            iinc 8 /* index */ 1
      StackMap locals:
      StackMap stack:
        24: iload 8 /* index */
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.planeCount:()I
            if_icmplt 10
        end local 8 // int index
        25: .line 218
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.releaseFrame:()V
        26: .line 219
            aload 7 /* tex */
            areturn
        end local 7 // com.sun.prism.MultiTexture tex
        27: .line 221
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.d3d.D3DVramPool.instance:Lcom/sun/prism/d3d/D3DVramPool;
            astore 7 /* pool */
        start local 7 // com.sun.prism.d3d.D3DVramPool pool
        28: .line 222
            aload 7 /* pool */
            iload 4 /* texWidth */
            iload 5 /* texHeight */
            aload 6 /* texFormat */
            invokevirtual com.sun.prism.d3d.D3DVramPool.estimateTextureSize:(IILcom/sun/prism/PixelFormat;)J
            lstore 8 /* size */
        start local 8 // long size
        29: .line 223
            aload 7 /* pool */
            lload 8 /* size */
            invokevirtual com.sun.prism.d3d.D3DVramPool.prepareForAllocation:(J)Z
            ifne 31
        30: .line 224
            aconst_null
            areturn
        31: .line 226
      StackMap locals: com.sun.prism.d3d.D3DVramPool long
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.getContextHandle:()J
        32: .line 227
            aload 6 /* texFormat */
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
            getstatic com.sun.prism.Texture$Usage.DYNAMIC:Lcom/sun/prism/Texture$Usage;
            invokevirtual com.sun.prism.Texture$Usage.ordinal:()I
        33: .line 228
            iconst_0
            iload 4 /* texWidth */
            iload 5 /* texHeight */
            iconst_0
            iconst_0
        34: .line 226
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nCreateTexture:(JIIZIIIZ)J
            lstore 10 /* pResource */
        start local 10 // long pResource
        35: .line 229
            lconst_0
            lload 10 /* pResource */
            lcmp
            ifne 37
        36: .line 230
            aconst_null
            areturn
        37: .line 233
      StackMap locals: long
      StackMap stack:
            lload 10 /* pResource */
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nGetTextureWidth:(J)I
            istore 12 /* physWidth */
        start local 12 // int physWidth
        38: .line 234
            lload 10 /* pResource */
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nGetTextureHeight:(J)I
            istore 13 /* physHeight */
        start local 13 // int physHeight
        39: .line 235
            iload 4 /* texWidth */
            iload 12 /* physWidth */
            if_icmplt 40
            iload 5 /* texHeight */
            iload 13 /* physHeight */
            if_icmpge 41
        40: .line 236
      StackMap locals: int int
      StackMap stack:
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE_SIMULATED:Lcom/sun/prism/Texture$WrapMode;
            goto 42
      StackMap locals:
      StackMap stack:
        41: getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
        42: .line 235
      StackMap locals:
      StackMap stack: com.sun.prism.Texture$WrapMode
            astore 14 /* wrapMode */
        start local 14 // com.sun.prism.Texture$WrapMode wrapMode
        43: .line 237
            new com.sun.prism.d3d.D3DTexture
            dup
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            aload 6 /* texFormat */
            aload 14 /* wrapMode */
            lload 10 /* pResource */
        44: .line 238
            iload 12 /* physWidth */
            iload 13 /* physHeight */
            iload 2 /* width */
            iload 3 /* height */
            iconst_0
        45: .line 237
            invokespecial com.sun.prism.d3d.D3DTexture.<init>:(Lcom/sun/prism/d3d/D3DContext;Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$WrapMode;JIIIIZ)V
            astore 15 /* tex */
        start local 15 // com.sun.prism.d3d.D3DTexture tex
        46: .line 239
            aload 1 /* frame */
            invokeinterface com.sun.prism.MediaFrame.releaseFrame:()V
        47: .line 240
            aload 15 /* tex */
            areturn
        end local 15 // com.sun.prism.d3d.D3DTexture tex
        end local 14 // com.sun.prism.Texture$WrapMode wrapMode
        end local 13 // int physHeight
        end local 12 // int physWidth
        end local 10 // long pResource
        end local 8 // long size
        end local 7 // com.sun.prism.d3d.D3DVramPool pool
        end local 6 // com.sun.prism.PixelFormat texFormat
        end local 5 // int texHeight
        end local 4 // int texWidth
        end local 3 // int height
        end local 2 // int width
        end local 1 // com.sun.prism.MediaFrame frame
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   48     0        this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0   48     1       frame  Lcom/sun/prism/MediaFrame;
            2   48     2       width  I
            3   48     3      height  I
            4   48     4    texWidth  I
            5   48     5   texHeight  I
            6   48     6   texFormat  Lcom/sun/prism/PixelFormat;
            8   27     7         tex  Lcom/sun/prism/MultiTexture;
            9   25     8       index  I
           11   23     9    subWidth  I
           12   23    10   subHeight  I
           19   23    11      subTex  Lcom/sun/prism/d3d/D3DTexture;
           28   48     7        pool  Lcom/sun/prism/d3d/D3DVramPool;
           29   48     8        size  J
           35   48    10   pResource  J
           38   48    12   physWidth  I
           39   48    13  physHeight  I
           43   48    14    wrapMode  Lcom/sun/prism/Texture$WrapMode;
           46   48    15         tex  Lcom/sun/prism/d3d/D3DTexture;
    MethodParameters:
       Name  Flags
      frame  

  public int getRTTWidth(int, com.sun.prism.Texture$WrapMode);
    descriptor: (ILcom/sun/prism/Texture$WrapMode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // int w
        start local 2 // com.sun.prism.Texture$WrapMode wrapMode
         0: .line 253
            iload 1 /* w */
            ireturn
        end local 2 // com.sun.prism.Texture$WrapMode wrapMode
        end local 1 // int w
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    1     1         w  I
            0    1     2  wrapMode  Lcom/sun/prism/Texture$WrapMode;
    MethodParameters:
          Name  Flags
      w         
      wrapMode  

  public int getRTTHeight(int, com.sun.prism.Texture$WrapMode);
    descriptor: (ILcom/sun/prism/Texture$WrapMode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // int h
        start local 2 // com.sun.prism.Texture$WrapMode wrapMode
         0: .line 265
            iload 1 /* h */
            ireturn
        end local 2 // com.sun.prism.Texture$WrapMode wrapMode
        end local 1 // int h
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    1     1         h  I
            0    1     2  wrapMode  Lcom/sun/prism/Texture$WrapMode;
    MethodParameters:
          Name  Flags
      h         
      wrapMode  

  public com.sun.prism.d3d.D3DRTTexture createRTTexture(int, int, com.sun.prism.Texture$WrapMode);
    descriptor: (IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/d3d/D3DRTTexture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // int width
        start local 2 // int height
        start local 3 // com.sun.prism.Texture$WrapMode wrapMode
         0: .line 270
            aload 0 /* this */
            iload 1 /* width */
            iload 2 /* height */
            aload 3 /* wrapMode */
            iconst_0
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;Z)Lcom/sun/prism/d3d/D3DRTTexture;
            areturn
        end local 3 // com.sun.prism.Texture$WrapMode wrapMode
        end local 2 // int height
        end local 1 // int width
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    1     1     width  I
            0    1     2    height  I
            0    1     3  wrapMode  Lcom/sun/prism/Texture$WrapMode;
    MethodParameters:
          Name  Flags
      width     
      height    
      wrapMode  

  public com.sun.prism.d3d.D3DRTTexture createRTTexture(int, int, com.sun.prism.Texture$WrapMode, boolean);
    descriptor: (IILcom/sun/prism/Texture$WrapMode;Z)Lcom/sun/prism/d3d/D3DRTTexture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=18, args_size=5
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // int width
        start local 2 // int height
        start local 3 // com.sun.prism.Texture$WrapMode wrapMode
        start local 4 // boolean msaa
         0: .line 275
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 2
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.isLost:()Z
            ifeq 2
         1: .line 276
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "RT Texture allocation while the device is lost"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 279
      StackMap locals:
      StackMap stack:
            iload 1 /* width */
            istore 5 /* createw */
        start local 5 // int createw
         3: .line 280
            iload 2 /* height */
            istore 6 /* createh */
        start local 6 // int createh
         4: .line 281
            iconst_0
            istore 7 /* cx */
        start local 7 // int cx
         5: .line 282
            iconst_0
            istore 8 /* cy */
        start local 8 // int cy
         6: .line 283
            getstatic com.sun.prism.impl.PrismSettings.forcePow2:Z
            ifeq 9
         7: .line 284
            iload 5 /* createw */
            ldc 2147483647
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nextPowerOfTwo:(II)I
            istore 5 /* createw */
         8: .line 285
            iload 6 /* createh */
            ldc 2147483647
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nextPowerOfTwo:(II)I
            istore 6 /* createh */
         9: .line 287
      StackMap locals: com.sun.prism.d3d.D3DResourceFactory int int com.sun.prism.Texture$WrapMode int int int int int
      StackMap stack:
            getstatic com.sun.prism.d3d.D3DVramPool.instance:Lcom/sun/prism/d3d/D3DVramPool;
            astore 9 /* pool */
        start local 9 // com.sun.prism.d3d.D3DVramPool pool
        10: .line 289
            iload 4 /* msaa */
            ifeq 17
        11: .line 290
            invokestatic com.sun.prism.d3d.D3DPipeline.getInstance:()Lcom/sun/prism/d3d/D3DPipeline;
            invokevirtual com.sun.prism.d3d.D3DPipeline.getMaxSamples:()I
            istore 11 /* maxSamples */
        start local 11 // int maxSamples
        12: .line 291
            iload 11 /* maxSamples */
            iconst_2
            if_icmpge 13
            iconst_0
            goto 15
      StackMap locals: com.sun.prism.d3d.D3DResourceFactory int int com.sun.prism.Texture$WrapMode int int int int int com.sun.prism.d3d.D3DVramPool top int
      StackMap stack:
        13: iload 11 /* maxSamples */
            iconst_4
            if_icmpge 14
            iconst_2
            goto 15
      StackMap locals:
      StackMap stack:
        14: iconst_4
      StackMap locals:
      StackMap stack: int
        15: istore 10 /* aaSamples */
        end local 11 // int maxSamples
        start local 10 // int aaSamples
        16: .line 292
            goto 18
        end local 10 // int aaSamples
        17: .line 293
      StackMap locals: com.sun.prism.d3d.D3DResourceFactory int int com.sun.prism.Texture$WrapMode int int int int int com.sun.prism.d3d.D3DVramPool
      StackMap stack:
            iconst_0
            istore 10 /* aaSamples */
        start local 10 // int aaSamples
        18: .line 296
      StackMap locals: int
      StackMap stack:
            aload 9 /* pool */
            iload 1 /* width */
            iload 2 /* height */
            iconst_0
            invokevirtual com.sun.prism.d3d.D3DVramPool.estimateRTTextureSize:(IIZ)J
            lstore 11 /* size */
        start local 11 // long size
        19: .line 297
            aload 9 /* pool */
            lload 11 /* size */
            invokevirtual com.sun.prism.d3d.D3DVramPool.prepareForAllocation:(J)Z
            ifne 21
        20: .line 298
            aconst_null
            areturn
        21: .line 301
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.getContextHandle:()J
        22: .line 302
            getstatic com.sun.prism.PixelFormat.INT_ARGB_PRE:Lcom/sun/prism/PixelFormat;
            invokevirtual com.sun.prism.PixelFormat.ordinal:()I
        23: .line 303
            getstatic com.sun.prism.Texture$Usage.DEFAULT:Lcom/sun/prism/Texture$Usage;
            invokevirtual com.sun.prism.Texture$Usage.ordinal:()I
        24: .line 304
            iconst_1
            iload 5 /* createw */
            iload 6 /* createh */
            iload 10 /* aaSamples */
            iconst_0
        25: .line 301
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nCreateTexture:(JIIZIIIZ)J
            lstore 13 /* pResource */
        start local 13 // long pResource
        26: .line 305
            lload 13 /* pResource */
            lconst_0
            lcmp
            ifne 28
        27: .line 306
            aconst_null
            areturn
        28: .line 309
      StackMap locals: long
      StackMap stack:
            lload 13 /* pResource */
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nGetTextureWidth:(J)I
            istore 15 /* texw */
        start local 15 // int texw
        29: .line 310
            lload 13 /* pResource */
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nGetTextureHeight:(J)I
            istore 16 /* texh */
        start local 16 // int texh
        30: .line 311
            new com.sun.prism.d3d.D3DRTTexture
            dup
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            aload 3 /* wrapMode */
            lload 13 /* pResource */
            iload 15 /* texw */
            iload 16 /* texh */
        31: .line 312
            iload 7 /* cx */
            iload 8 /* cy */
            iload 1 /* width */
            iload 2 /* height */
            iload 10 /* aaSamples */
        32: .line 311
            invokespecial com.sun.prism.d3d.D3DRTTexture.<init>:(Lcom/sun/prism/d3d/D3DContext;Lcom/sun/prism/Texture$WrapMode;JIIIIIII)V
            astore 17 /* rtt */
        start local 17 // com.sun.prism.d3d.D3DRTTexture rtt
        33: .line 316
            aload 17 /* rtt */
            invokevirtual com.sun.prism.d3d.D3DRTTexture.createGraphics:()Lcom/sun/prism/Graphics;
            invokeinterface com.sun.prism.Graphics.clear:()V
        34: .line 317
            aload 17 /* rtt */
            areturn
        end local 17 // com.sun.prism.d3d.D3DRTTexture rtt
        end local 16 // int texh
        end local 15 // int texw
        end local 13 // long pResource
        end local 11 // long size
        end local 10 // int aaSamples
        end local 9 // com.sun.prism.d3d.D3DVramPool pool
        end local 8 // int cy
        end local 7 // int cx
        end local 6 // int createh
        end local 5 // int createw
        end local 4 // boolean msaa
        end local 3 // com.sun.prism.Texture$WrapMode wrapMode
        end local 2 // int height
        end local 1 // int width
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0   35     1       width  I
            0   35     2      height  I
            0   35     3    wrapMode  Lcom/sun/prism/Texture$WrapMode;
            0   35     4        msaa  Z
            3   35     5     createw  I
            4   35     6     createh  I
            5   35     7          cx  I
            6   35     8          cy  I
           10   35     9        pool  Lcom/sun/prism/d3d/D3DVramPool;
           16   17    10   aaSamples  I
           18   35    10   aaSamples  I
           12   16    11  maxSamples  I
           19   35    11        size  J
           26   35    13   pResource  J
           29   35    15        texw  I
           30   35    16        texh  I
           33   35    17         rtt  Lcom/sun/prism/d3d/D3DRTTexture;
    MethodParameters:
          Name  Flags
      width     
      height    
      wrapMode  
      msaa      

  public com.sun.prism.Presentable createPresentable(com.sun.prism.PresentableState);
    descriptor: (Lcom/sun/prism/PresentableState;)Lcom/sun/prism/Presentable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.PresentableState pState
         0: .line 321
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 2
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.isLost:()Z
            ifeq 2
         1: .line 322
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "SwapChain allocation while the device is lost"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.getContextHandle:()J
         3: .line 326
            aload 1 /* pState */
            invokevirtual com.sun.prism.PresentableState.getNativeView:()J
         4: .line 327
            getstatic com.sun.prism.impl.PrismSettings.isVsyncEnabled:Z
         5: .line 325
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nCreateSwapChain:(JJZ)J
            lstore 2 /* pResource */
        start local 2 // long pResource
         6: .line 329
            lload 2 /* pResource */
            lconst_0
            lcmp
            ifeq 15
         7: .line 330
            aload 1 /* pState */
            invokevirtual com.sun.prism.PresentableState.getRenderWidth:()I
            istore 4 /* width */
        start local 4 // int width
         8: .line 331
            aload 1 /* pState */
            invokevirtual com.sun.prism.PresentableState.getRenderHeight:()I
            istore 5 /* height */
        start local 5 // int height
         9: .line 332
            aload 0 /* this */
            iload 4 /* width */
            iload 5 /* height */
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_NOT_NEEDED:Lcom/sun/prism/Texture$WrapMode;
            aload 1 /* pState */
            invokevirtual com.sun.prism.PresentableState.isMSAA:()Z
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;Z)Lcom/sun/prism/d3d/D3DRTTexture;
            astore 6 /* rtt */
        start local 6 // com.sun.prism.d3d.D3DRTTexture rtt
        10: .line 333
            getstatic com.sun.prism.impl.PrismSettings.dirtyOptsEnabled:Z
            ifeq 12
        11: .line 334
            aload 6 /* rtt */
            invokevirtual com.sun.prism.d3d.D3DRTTexture.contentsUseful:()V
        12: .line 337
      StackMap locals: com.sun.prism.d3d.D3DResourceFactory com.sun.prism.PresentableState long int int com.sun.prism.d3d.D3DRTTexture
      StackMap stack:
            aload 6 /* rtt */
            ifnull 14
        13: .line 338
            new com.sun.prism.d3d.D3DSwapChain
            dup
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            lload 2 /* pResource */
            aload 6 /* rtt */
            aload 1 /* pState */
            invokevirtual com.sun.prism.PresentableState.getRenderScaleX:()F
            aload 1 /* pState */
            invokevirtual com.sun.prism.PresentableState.getRenderScaleY:()F
            invokespecial com.sun.prism.d3d.D3DSwapChain.<init>:(Lcom/sun/prism/d3d/D3DContext;JLcom/sun/prism/d3d/D3DRTTexture;FF)V
            areturn
        14: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.getContextHandle:()J
            lload 2 /* pResource */
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nReleaseResource:(JJ)I
            pop
        end local 6 // com.sun.prism.d3d.D3DRTTexture rtt
        end local 5 // int height
        end local 4 // int width
        15: .line 343
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // long pResource
        end local 1 // com.sun.prism.PresentableState pState
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0   16     1     pState  Lcom/sun/prism/PresentableState;
            6   16     2  pResource  J
            8   15     4      width  I
            9   15     5     height  I
           10   15     6        rtt  Lcom/sun/prism/d3d/D3DRTTexture;
    MethodParameters:
        Name  Flags
      pState  

  private static java.nio.ByteBuffer getBuffer(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.io.InputStream is
         0: .line 348
            aload 0 /* is */
            ifnonnull 2
         1: .line 349
            new java.lang.RuntimeException
            dup
            ldc "InputStream must be non-null"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 352
      StackMap locals:
      StackMap stack:
            sipush 4096
            istore 1 /* len */
        start local 1 // int len
         3: .line 353
            iload 1 /* len */
            newarray 8
            astore 2 /* data */
        start local 2 // byte[] data
         4: .line 354
            new java.io.BufferedInputStream
            dup
            aload 0 /* is */
            iload 1 /* len */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 3 /* bis */
        start local 3 // java.io.BufferedInputStream bis
         5: .line 355
            iconst_0
            istore 4 /* offset */
        start local 4 // int offset
         6: .line 356
            iconst_m1
            istore 5 /* readBytes */
        start local 5 // int readBytes
         7: .line 357
            goto 14
         8: .line 358
      StackMap locals: java.io.InputStream int byte[] java.io.BufferedInputStream int int
      StackMap stack:
            iload 4 /* offset */
            iload 5 /* readBytes */
            iadd
            istore 4 /* offset */
         9: .line 359
            iload 1 /* len */
            iload 4 /* offset */
            isub
            ifne 14
        10: .line 361
            iload 1 /* len */
            iconst_2
            imul
            istore 1 /* len */
        11: .line 365
            iload 1 /* len */
            newarray 8
            astore 6 /* newdata */
        start local 6 // byte[] newdata
        12: .line 366
            aload 2 /* data */
            iconst_0
            aload 6 /* newdata */
            iconst_0
            aload 2 /* data */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 367
            aload 6 /* newdata */
            astore 2 /* data */
        end local 6 // byte[] newdata
        14: .line 357
      StackMap locals:
      StackMap stack:
            aload 3 /* bis */
            aload 2 /* data */
            iload 4 /* offset */
            iload 1 /* len */
            iload 4 /* offset */
            isub
            invokevirtual java.io.BufferedInputStream.read:([BII)I
            dup
            istore 5 /* readBytes */
            iconst_m1
            if_icmpne 8
        15: .line 370
            aload 3 /* bis */
            invokevirtual java.io.BufferedInputStream.close:()V
        16: .line 374
            iload 4 /* offset */
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            astore 6 /* buf */
        start local 6 // java.nio.ByteBuffer buf
        17: .line 375
            aload 6 /* buf */
            aload 2 /* data */
            iconst_0
            iload 4 /* offset */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        18: .line 376
            aload 6 /* buf */
        19: areturn
        end local 6 // java.nio.ByteBuffer buf
        end local 5 // int readBytes
        end local 4 // int offset
        end local 3 // java.io.BufferedInputStream bis
        end local 2 // byte[] data
        end local 1 // int len
        20: .line 377
      StackMap locals: java.io.InputStream
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        21: .line 378
            new java.lang.RuntimeException
            dup
            ldc "Error loading D3D shader object"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // java.io.InputStream is
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0         is  Ljava/io/InputStream;
            3   20     1        len  I
            4   20     2       data  [B
            5   20     3        bis  Ljava/io/BufferedInputStream;
            6   20     4     offset  I
            7   20     5  readBytes  I
           12   14     6    newdata  [B
           17   20     6        buf  Ljava/nio/ByteBuffer;
           21   22     1          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2    19      20  Class java.io.IOException
    MethodParameters:
      Name  Flags
      is    

  public com.sun.prism.ps.Shader createShader(java.io.InputStream, java.util.Map<java.lang.String, java.lang.Integer>, java.util.Map<java.lang.String, java.lang.Integer>, int, boolean, boolean);
    descriptor: (Ljava/io/InputStream;Ljava/util/Map;Ljava/util/Map;IZZ)Lcom/sun/prism/ps/Shader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // java.io.InputStream pixelShaderCode
        start local 2 // java.util.Map samplers
        start local 3 // java.util.Map params
        start local 4 // int maxTexCoordIndex
        start local 5 // boolean isPixcoordUsed
        start local 6 // boolean isPerVertexColorUsed
         0: .line 390
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.getContextHandle:()J
            aload 1 /* pixelShaderCode */
            invokestatic com.sun.prism.d3d.D3DResourceFactory.getBuffer:(Ljava/io/InputStream;)Ljava/nio/ByteBuffer;
         1: .line 391
            iload 4 /* maxTexCoordIndex */
            iload 5 /* isPixcoordUsed */
            iload 6 /* isPerVertexColorUsed */
         2: .line 389
            invokestatic com.sun.prism.d3d.D3DShader.init:(JLjava/nio/ByteBuffer;IZZ)J
            lstore 7 /* shaderHandle */
        start local 7 // long shaderHandle
         3: .line 393
            new com.sun.prism.d3d.D3DShader
            dup
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            lload 7 /* shaderHandle */
            aload 3 /* params */
            invokespecial com.sun.prism.d3d.D3DShader.<init>:(Lcom/sun/prism/d3d/D3DContext;JLjava/util/Map;)V
            areturn
        end local 7 // long shaderHandle
        end local 6 // boolean isPerVertexColorUsed
        end local 5 // boolean isPixcoordUsed
        end local 4 // int maxTexCoordIndex
        end local 3 // java.util.Map params
        end local 2 // java.util.Map samplers
        end local 1 // java.io.InputStream pixelShaderCode
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    4     1       pixelShaderCode  Ljava/io/InputStream;
            0    4     2              samplers  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
            0    4     3                params  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;
            0    4     4      maxTexCoordIndex  I
            0    4     5        isPixcoordUsed  Z
            0    4     6  isPerVertexColorUsed  Z
            3    4     7          shaderHandle  J
    Signature: (Ljava/io/InputStream;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Integer;>;IZZ)Lcom/sun/prism/ps/Shader;
    MethodParameters:
                      Name  Flags
      pixelShaderCode       
      samplers              
      params                
      maxTexCoordIndex      
      isPixcoordUsed        
      isPerVertexColorUsed  

  public com.sun.prism.ps.Shader createStockShader(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/prism/ps/Shader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // java.lang.String name
         0: .line 397
            aload 1 /* name */
            ifnonnull 2
         1: .line 398
            new java.lang.IllegalArgumentException
            dup
            ldc "Shader name must be non-null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 402
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokedynamic run(Ljava/lang/String;)Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/prism/d3d/D3DResourceFactory.lambda$0(Ljava/lang/String;)Ljava/io/InputStream; (6)
                  ()Ljava/io/InputStream;
         3: .line 401
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.io.InputStream
            astore 2 /* stream */
        start local 2 // java.io.InputStream stream
         4: .line 405
            new java.lang.StringBuilder
            dup
            ldc "com.sun.prism.shader."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_Loader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* klass */
        start local 3 // java.lang.Class klass
         5: .line 406
            aload 3 /* klass */
            ldc "loadShader"
         6: .line 407
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lcom/sun/prism/ps/ShaderFactory;
            aastore
            dup
            iconst_1
            ldc Ljava/io/InputStream;
            aastore
         7: .line 406
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* m */
        start local 4 // java.lang.reflect.Method m
         8: .line 408
            aload 4 /* m */
            aconst_null
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 2 /* stream */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.prism.ps.Shader
         9: areturn
        end local 4 // java.lang.reflect.Method m
        end local 3 // java.lang.Class klass
        end local 2 // java.io.InputStream stream
        10: .line 409
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
        11: .line 410
            aload 2 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
        12: .line 411
            new java.lang.InternalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error loading stock shader "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Throwable e
        end local 1 // java.lang.String name
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0   13     1    name  Ljava/lang/String;
            4   10     2  stream  Ljava/io/InputStream;
            5   10     3   klass  Ljava/lang/Class;
            8   10     4       m  Ljava/lang/reflect/Method;
           11   13     2       e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     9      10  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      name  final

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 417
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported yet."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;

  public boolean isFormatSupported(com.sun.prism.PixelFormat);
    descriptor: (Lcom/sun/prism/PixelFormat;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.PixelFormat format
         0: .line 422
            iconst_1
            ireturn
        end local 1 // com.sun.prism.PixelFormat format
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    1     1  format  Lcom/sun/prism/PixelFormat;
    MethodParameters:
        Name  Flags
      format  

  private int computeMaxTextureSize();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 426
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokevirtual com.sun.prism.d3d.D3DContext.getContextHandle:()J
            invokestatic com.sun.prism.d3d.D3DResourceFactory.nGetMaximumTextureSize:(J)I
            istore 1 /* size */
        start local 1 // int size
         1: .line 427
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 3
         2: .line 428
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Maximum supported texture size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* size */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 430
      StackMap locals: int
      StackMap stack:
            iload 1 /* size */
            getstatic com.sun.prism.impl.PrismSettings.maxTextureSize:I
            if_icmple 7
         4: .line 431
            getstatic com.sun.prism.impl.PrismSettings.maxTextureSize:I
            istore 1 /* size */
         5: .line 432
            getstatic com.sun.prism.impl.PrismSettings.verbose:Z
            ifeq 7
         6: .line 433
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Maximum texture size clamped to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* size */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 436
      StackMap locals:
      StackMap stack:
            iload 1 /* size */
            ireturn
        end local 1 // int size
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;
            1    8     1  size  I

  public int getMaximumTextureSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 440
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.maxTextureSize:I
            ireturn
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;

  protected void notifyReset();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 445
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.records:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.listIterator:()Ljava/util/ListIterator;
            astore 1 /* it */
        start local 1 // java.util.ListIterator it
         1: goto 6
         2: .line 446
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast com.sun.prism.d3d.D3DResource$D3DRecord
            astore 2 /* r */
        start local 2 // com.sun.prism.d3d.D3DResource$D3DRecord r
         3: .line 447
            aload 2 /* r */
            invokevirtual com.sun.prism.d3d.D3DResource$D3DRecord.isDefaultPool:()Z
            ifeq 6
         4: .line 448
            aload 2 /* r */
            invokevirtual com.sun.prism.d3d.D3DResource$D3DRecord.markDisposed:()V
         5: .line 449
            aload 1 /* it */
            invokeinterface java.util.ListIterator.remove:()V
        end local 2 // com.sun.prism.d3d.D3DResource$D3DRecord r
         6: .line 445
      StackMap locals:
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 2
        end local 1 // java.util.ListIterator it
         7: .line 452
            aload 0 /* this */
            invokespecial com.sun.prism.impl.ps.BaseShaderFactory.notifyReset:()V
         8: .line 453
            return
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;
            1    7     1    it  Ljava/util/ListIterator<Lcom/sun/prism/d3d/D3DResource$D3DRecord;>;
            3    6     2     r  Lcom/sun/prism/d3d/D3DResource$D3DRecord;

  protected void notifyReleased();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 457
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.records:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.listIterator:()Ljava/util/ListIterator;
            astore 1 /* it */
        start local 1 // java.util.ListIterator it
         1: goto 4
         2: .line 458
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast com.sun.prism.d3d.D3DResource$D3DRecord
            astore 2 /* r */
        start local 2 // com.sun.prism.d3d.D3DResource$D3DRecord r
         3: .line 459
            aload 2 /* r */
            invokevirtual com.sun.prism.d3d.D3DResource$D3DRecord.markDisposed:()V
        end local 2 // com.sun.prism.d3d.D3DResource$D3DRecord r
         4: .line 457
      StackMap locals:
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 2
        end local 1 // java.util.ListIterator it
         5: .line 461
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.records:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.clear:()V
         6: .line 462
            aload 0 /* this */
            invokespecial com.sun.prism.impl.ps.BaseShaderFactory.notifyReleased:()V
         7: .line 463
            return
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;
            1    5     1    it  Ljava/util/ListIterator<Lcom/sun/prism/d3d/D3DResource$D3DRecord;>;
            3    4     2     r  Lcom/sun/prism/d3d/D3DResource$D3DRecord;

  void addRecord(com.sun.prism.d3d.D3DResource$D3DRecord);
    descriptor: (Lcom/sun/prism/d3d/D3DResource$D3DRecord;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.d3d.D3DResource$D3DRecord record
         0: .line 466
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.records:Ljava/util/LinkedList;
            aload 1 /* record */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 467
            return
        end local 1 // com.sun.prism.d3d.D3DResource$D3DRecord record
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    2     1  record  Lcom/sun/prism/d3d/D3DResource$D3DRecord;
    MethodParameters:
        Name  Flags
      record  

  void removeRecord(com.sun.prism.d3d.D3DResource$D3DRecord);
    descriptor: (Lcom/sun/prism/d3d/D3DResource$D3DRecord;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.d3d.D3DResource$D3DRecord record
         0: .line 470
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.records:Ljava/util/LinkedList;
            aload 1 /* record */
            invokevirtual java.util.LinkedList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 471
            return
        end local 1 // com.sun.prism.d3d.D3DResource$D3DRecord record
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    2     1  record  Lcom/sun/prism/d3d/D3DResource$D3DRecord;
    MethodParameters:
        Name  Flags
      record  

  public com.sun.prism.PhongMaterial createPhongMaterial();
    descriptor: ()Lcom/sun/prism/PhongMaterial;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 474
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokestatic com.sun.prism.d3d.D3DPhongMaterial.create:(Lcom/sun/prism/d3d/D3DContext;)Lcom/sun/prism/d3d/D3DPhongMaterial;
            areturn
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;

  public com.sun.prism.MeshView createMeshView(com.sun.prism.Mesh);
    descriptor: (Lcom/sun/prism/Mesh;)Lcom/sun/prism/MeshView;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
        start local 1 // com.sun.prism.Mesh mesh
         0: .line 478
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            aload 1 /* mesh */
            checkcast com.sun.prism.d3d.D3DMesh
            invokestatic com.sun.prism.d3d.D3DMeshView.create:(Lcom/sun/prism/d3d/D3DContext;Lcom/sun/prism/d3d/D3DMesh;)Lcom/sun/prism/d3d/D3DMeshView;
            areturn
        end local 1 // com.sun.prism.Mesh mesh
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;
            0    1     1  mesh  Lcom/sun/prism/Mesh;
    MethodParameters:
      Name  Flags
      mesh  

  public com.sun.prism.Mesh createMesh();
    descriptor: ()Lcom/sun/prism/Mesh;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.d3d.D3DResourceFactory this
         0: .line 483
            aload 0 /* this */
            getfield com.sun.prism.d3d.D3DResourceFactory.context:Lcom/sun/prism/d3d/D3DContext;
            invokestatic com.sun.prism.d3d.D3DMesh.create:(Lcom/sun/prism/d3d/D3DContext;)Lcom/sun/prism/d3d/D3DMesh;
            areturn
        end local 0 // com.sun.prism.d3d.D3DResourceFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/d3d/D3DResourceFactory;

  static native long nGetContext(int);
    descriptor: (I)J
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
                Name  Flags
      adapterOrdinal  

  static native boolean nIsDefaultPool(long);
    descriptor: (J)Z
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      pResource  

  static native int nTestCooperativeLevel(long);
    descriptor: (J)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      pContext  

  static native int nResetDevice(long);
    descriptor: (J)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      pContext  

  static native long nCreateTexture(long, int, int, boolean, int, int, int, boolean);
    descriptor: (JIIZIIIZ)J
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      pContext   
      format     
      hint       
      isRTT      
      width      
      height     
      samples    
      useMipmap  

  static native long nCreateSwapChain(long, long, boolean);
    descriptor: (JJZ)J
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
                Name  Flags
      pContext        
      hwnd            
      isVsyncEnabled  

  static native int nReleaseResource(long, long);
    descriptor: (JJ)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      pContext  
      resource  

  static native int nGetMaximumTextureSize(long);
    descriptor: (J)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      pContext  

  static native int nGetTextureWidth(long);
    descriptor: (J)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      pResource  

  static native int nGetTextureHeight(long);
    descriptor: (J)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      pResource  

  static native int nReadPixelsI(long, long, long, java.nio.Buffer, int[], int, int);
    descriptor: (JJJLjava/nio/Buffer;[III)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
               Name  Flags
      pContext       
      pResource      
      length         
      pixels         
      arr            
      contentWidth   
      contentHeight  

  static native int nReadPixelsB(long, long, long, java.nio.Buffer, byte[], int, int);
    descriptor: (JJJLjava/nio/Buffer;[BII)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
               Name  Flags
      pContext       
      pResource      
      length         
      pixels         
      arr            
      contentWidth   
      contentHeight  

  static native int nUpdateTextureI(long, long, java.nio.IntBuffer, int[], int, int, int, int, int, int, int);
    descriptor: (JJLjava/nio/IntBuffer;[IIIIIIII)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
               Name  Flags
      contextHandle  
      pResource      
      buf            
      pixels         
      dstx           
      dsty           
      srcx           
      srcy           
      srcw           
      srch           
      srcscan        

  static native int nUpdateTextureF(long, long, java.nio.FloatBuffer, float[], int, int, int, int, int, int, int);
    descriptor: (JJLjava/nio/FloatBuffer;[FIIIIIII)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
               Name  Flags
      contextHandle  
      pResource      
      buf            
      pixels         
      dstx           
      dsty           
      srcx           
      srcy           
      srcw           
      srch           
      srcscan        

  static native int nUpdateTextureB(long, long, java.nio.ByteBuffer, byte[], int, int, int, int, int, int, int, int);
    descriptor: (JJLjava/nio/ByteBuffer;[BIIIIIIII)I
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
               Name  Flags
      contextHandle  
      pResource      
      buf            
      pixels         
      formatHint     
      dstx           
      dsty           
      srcx           
      srcy           
      srcw           
      srch           
      srcscan        

  static native long nGetDevice(long);
    descriptor: (J)J
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      pContext  

  static native long nGetNativeTextureObject(long);
    descriptor: (J)J
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      pResource  

  public com.sun.prism.Texture createTexture(com.sun.prism.PixelFormat, com.sun.prism.Texture$Usage, com.sun.prism.Texture$WrapMode, int, int, boolean);
    descriptor: (Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;IIZ)Lcom/sun/prism/Texture;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=7, locals=7, args_size=7
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            iload 4
            iload 5
            iload 6
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.createTexture:(Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;IIZ)Lcom/sun/prism/d3d/D3DTexture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.sun.prism.Texture createTexture(com.sun.prism.PixelFormat, com.sun.prism.Texture$Usage, com.sun.prism.Texture$WrapMode, int, int);
    descriptor: (Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;II)Lcom/sun/prism/Texture;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            iload 4
            iload 5
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.createTexture:(Lcom/sun/prism/PixelFormat;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;II)Lcom/sun/prism/d3d/D3DTexture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.sun.prism.RTTexture createRTTexture(int, int, com.sun.prism.Texture$WrapMode, boolean);
    descriptor: (IILcom/sun/prism/Texture$WrapMode;Z)Lcom/sun/prism/RTTexture;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            iload 1
            iload 2
            aload 3
            iload 4
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;Z)Lcom/sun/prism/d3d/D3DRTTexture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.sun.prism.RTTexture createRTTexture(int, int, com.sun.prism.Texture$WrapMode);
    descriptor: (IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/RTTexture;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            iload 1
            iload 2
            aload 3
            invokevirtual com.sun.prism.d3d.D3DResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/d3d/D3DRTTexture;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.io.InputStream lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
         0: .line 402
            ldc Lcom/sun/prism/d3d/D3DResourceFactory;
         1: .line 403
            new java.lang.StringBuilder
            dup
            ldc "hlsl/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".obj"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "D3DResourceFactory.java"
InnerClasses:
  public final Usage = com.sun.prism.Texture$Usage of com.sun.prism.Texture
  public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture
  D3DRecord = com.sun.prism.d3d.D3DResource$D3DRecord of com.sun.prism.d3d.D3DResource
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles