spv.imageLoadStoreLod.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 148

                              Capability Shader
                              Capability Int64
                              Capability ImageCubeArray
                              Capability SparseResidency
                              Capability Image1D
                              Capability ImageReadWriteLodAMD
                              Capability Int64ImageEXT
                              Extension  "SPV_AMD_shader_image_load_store_lod"
                              Extension  "SPV_EXT_shader_image_int64"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 77
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_AMD_shader_image_load_store_lod"
                              SourceExtension  "GL_ARB_gpu_shader_int64"
                              SourceExtension  "GL_EXT_shader_image_int64"
                              Name 4  "main"
                              Name 9  "f4"
                              Name 14  "i1D"
                              Name 24  "i2D"
                              Name 34  "i3D"
                              Name 46  "iiCube"
                              Name 53  "ii1DArray"
                              Name 60  "ui2DArray"
                              Name 64  "u4"
                              Name 65  "ResType"
                              Name 71  "uiCubeArray"
                              Name 77  "fragColor"
                              Name 86  "Buf"
                              MemberName 86(Buf) 0  "i64v4"
                              MemberName 86(Buf) 1  "u64v4"
                              Name 88  ""
                              Name 92  "i64i1D"
                              Name 102  "i64i2D"
                              Name 111  "i64i3D"
                              Name 120  "u64iCube"
                              Name 127  "u64i1DArray"
                              Name 133  "u64i2DArray"
                              Name 136  "ResType"
                              Name 142  "u64iCubeArray"
                              Decorate 14(i1D) DescriptorSet 0
                              Decorate 14(i1D) Binding 0
                              Decorate 24(i2D) DescriptorSet 0
                              Decorate 24(i2D) Binding 1
                              Decorate 34(i3D) DescriptorSet 0
                              Decorate 34(i3D) Binding 2
                              Decorate 46(iiCube) DescriptorSet 0
                              Decorate 46(iiCube) Binding 3
                              Decorate 53(ii1DArray) DescriptorSet 0
                              Decorate 53(ii1DArray) Binding 4
                              Decorate 60(ui2DArray) DescriptorSet 0
                              Decorate 60(ui2DArray) Binding 5
                              Decorate 71(uiCubeArray) DescriptorSet 0
                              Decorate 71(uiCubeArray) Binding 6
                              Decorate 77(fragColor) Location 0
                              MemberDecorate 86(Buf) 0 Offset 0
                              MemberDecorate 86(Buf) 1 Offset 32
                              Decorate 86(Buf) BufferBlock
                              Decorate 88 DescriptorSet 0
                              Decorate 88 Binding 14
                              Decorate 92(i64i1D) DescriptorSet 0
                              Decorate 92(i64i1D) Binding 7
                              Decorate 102(i64i2D) DescriptorSet 0
                              Decorate 102(i64i2D) Binding 8
                              Decorate 111(i64i3D) DescriptorSet 0
                              Decorate 111(i64i3D) Binding 9
                              Decorate 120(u64iCube) DescriptorSet 0
                              Decorate 120(u64iCube) Binding 10
                              Decorate 127(u64i1DArray) DescriptorSet 0
                              Decorate 127(u64i1DArray) Binding 11
                              Decorate 133(u64i2DArray) DescriptorSet 0
                              Decorate 133(u64i2DArray) Binding 12
                              Decorate 142(u64iCubeArray) DescriptorSet 0
                              Decorate 142(u64iCubeArray) Binding 13
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
              10:    6(float) Constant 0
              11:    7(fvec4) ConstantComposite 10 10 10 10
              12:             TypeImage 6(float) 1D nonsampled format:Rgba32f
              13:             TypePointer UniformConstant 12
         14(i1D):     13(ptr) Variable UniformConstant
              16:             TypeInt 32 1
              17:     16(int) Constant 1
              18:     16(int) Constant 3
              22:             TypeImage 6(float) 2D nonsampled format:Rgba32f
              23:             TypePointer UniformConstant 22
         24(i2D):     23(ptr) Variable UniformConstant
              26:             TypeVector 16(int) 2
              27:     16(int) Constant 2
              28:   26(ivec2) ConstantComposite 27 18
              32:             TypeImage 6(float) 3D nonsampled format:Rgba32f
              33:             TypePointer UniformConstant 32
         34(i3D):     33(ptr) Variable UniformConstant
              36:             TypeVector 16(int) 3
              37:     16(int) Constant 4
              38:     16(int) Constant 5
              39:     16(int) Constant 6
              40:   36(ivec3) ConstantComposite 37 38 39
              44:             TypeImage 16(int) Cube nonsampled format:Rgba32i
              45:             TypePointer UniformConstant 44
      46(iiCube):     45(ptr) Variable UniformConstant
              49:             TypeVector 16(int) 4
              51:             TypeImage 16(int) 1D array nonsampled format:Rgba32i
              52:             TypePointer UniformConstant 51
   53(ii1DArray):     52(ptr) Variable UniformConstant
              57:             TypeInt 32 0
              58:             TypeImage 57(int) 2D array nonsampled format:Rgba32ui
              59:             TypePointer UniformConstant 58
   60(ui2DArray):     59(ptr) Variable UniformConstant
              62:             TypeVector 57(int) 4
              63:             TypePointer Function 62(ivec4)
     65(ResType):             TypeStruct 16(int) 62(ivec4)
              69:             TypeImage 57(int) Cube array nonsampled format:Rgba32ui
              70:             TypePointer UniformConstant 69
 71(uiCubeArray):     70(ptr) Variable UniformConstant
              76:             TypePointer Output 7(fvec4)
   77(fragColor):     76(ptr) Variable Output
              82:             TypeInt 64 1
              83:             TypeVector 82(int64_t) 4
              84:             TypeInt 64 0
              85:             TypeVector 84(int64_t) 4
         86(Buf):             TypeStruct 83(i64vec4) 85(i64vec4)
              87:             TypePointer Uniform 86(Buf)
              88:     87(ptr) Variable Uniform
              89:     16(int) Constant 0
              90:             TypeImage 82(int64_t) 1D nonsampled format:R64i
              91:             TypePointer UniformConstant 90
      92(i64i1D):     91(ptr) Variable UniformConstant
              95:             TypePointer Uniform 83(i64vec4)
             100:             TypeImage 82(int64_t) 2D nonsampled format:R64i
             101:             TypePointer UniformConstant 100
     102(i64i2D):    101(ptr) Variable UniformConstant
             109:             TypeImage 82(int64_t) 3D nonsampled format:R64i
             110:             TypePointer UniformConstant 109
     111(i64i3D):    110(ptr) Variable UniformConstant
             118:             TypeImage 84(int64_t) Cube nonsampled format:R64ui
             119:             TypePointer UniformConstant 118
   120(u64iCube):    119(ptr) Variable UniformConstant
             122:             TypePointer Uniform 85(i64vec4)
             125:             TypeImage 84(int64_t) 1D array nonsampled format:R64ui
             126:             TypePointer UniformConstant 125
127(u64i1DArray):    126(ptr) Variable UniformConstant
             131:             TypeImage 84(int64_t) 2D array nonsampled format:R64ui
             132:             TypePointer UniformConstant 131
133(u64i2DArray):    132(ptr) Variable UniformConstant
    136(ResType):             TypeStruct 16(int) 85(i64vec4)
             140:             TypeImage 84(int64_t) Cube array nonsampled format:R64ui
             141:             TypePointer UniformConstant 140
142(u64iCubeArray):    141(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
           9(f4):      8(ptr) Variable Function
          64(u4):     63(ptr) Variable Function
                              Store 9(f4) 11
              15:          12 Load 14(i1D)
              19:    7(fvec4) ImageRead 15 17 Lod 18
              20:    7(fvec4) Load 9(f4)
              21:    7(fvec4) FAdd 20 19
                              Store 9(f4) 21
              25:          22 Load 24(i2D)
              29:    7(fvec4) ImageRead 25 28 Lod 18
              30:    7(fvec4) Load 9(f4)
              31:    7(fvec4) FAdd 30 29
                              Store 9(f4) 31
              35:          32 Load 34(i3D)
              41:    7(fvec4) ImageRead 35 40 Lod 18
              42:    7(fvec4) Load 9(f4)
              43:    7(fvec4) FAdd 42 41
                              Store 9(f4) 43
              47:          44 Load 46(iiCube)
              48:    7(fvec4) Load 9(f4)
              50:   49(ivec4) ConvertFToS 48
                              ImageWrite 47 40 50 Lod 18
              54:          51 Load 53(ii1DArray)
              55:    7(fvec4) Load 9(f4)
              56:   49(ivec4) ConvertFToS 55
                              ImageWrite 54 28 56 Lod 18
              61:          58 Load 60(ui2DArray)
              66: 65(ResType) ImageSparseRead 61 40 Lod 18
              67:   62(ivec4) CompositeExtract 66 1
                              Store 64(u4) 67
              68:     16(int) CompositeExtract 66 0
              72:          69 Load 71(uiCubeArray)
              73: 65(ResType) ImageSparseRead 72 40 Lod 18
              74:   62(ivec4) CompositeExtract 73 1
                              Store 64(u4) 74
              75:     16(int) CompositeExtract 73 0
              78:    7(fvec4) Load 9(f4)
              79:   62(ivec4) Load 64(u4)
              80:    7(fvec4) ConvertUToF 79
              81:    7(fvec4) FAdd 78 80
                              Store 77(fragColor) 81
              93:          90 Load 92(i64i1D)
              94: 83(i64vec4) ImageRead 93 17 Lod 18
              96:     95(ptr) AccessChain 88 89
              97: 83(i64vec4) Load 96
              98: 83(i64vec4) IAdd 97 94
              99:     95(ptr) AccessChain 88 89
                              Store 99 98
             103:         100 Load 102(i64i2D)
             104: 83(i64vec4) ImageRead 103 28 Lod 18
             105:     95(ptr) AccessChain 88 89
             106: 83(i64vec4) Load 105
             107: 83(i64vec4) IAdd 106 104
             108:     95(ptr) AccessChain 88 89
                              Store 108 107
             112:         109 Load 111(i64i3D)
             113: 83(i64vec4) ImageRead 112 40 Lod 18
             114:     95(ptr) AccessChain 88 89
             115: 83(i64vec4) Load 114
             116: 83(i64vec4) IAdd 115 113
             117:     95(ptr) AccessChain 88 89
                              Store 117 116
             121:         118 Load 120(u64iCube)
             123:    122(ptr) AccessChain 88 17
             124: 85(i64vec4) Load 123
                              ImageWrite 121 40 124 Lod 18
             128:         125 Load 127(u64i1DArray)
             129:    122(ptr) AccessChain 88 17
             130: 85(i64vec4) Load 129
                              ImageWrite 128 28 130 Lod 18
             134:         131 Load 133(u64i2DArray)
             135:    122(ptr) AccessChain 88 17
             137:136(ResType) ImageSparseRead 134 40 Lod 18
             138: 85(i64vec4) CompositeExtract 137 1
                              Store 135 138
             139:     16(int) CompositeExtract 137 0
             143:         140 Load 142(u64iCubeArray)
             144:    122(ptr) AccessChain 88 17
             145:136(ResType) ImageSparseRead 143 40 Lod 18
             146: 85(i64vec4) CompositeExtract 145 1
                              Store 144 146
             147:     16(int) CompositeExtract 145 0
                              Return
                              FunctionEnd
