spv.bufferhandle6.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 165

                              Capability Shader
                              Capability CapabilityPhysicalStorageBufferAddressesEXT
                              Extension  "SPV_EXT_physical_storage_buffer"
                              Extension  "SPV_KHR_storage_buffer_storage_class"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel PhysicalStorageBuffer64EXT GLSL450
                              EntryPoint Fragment 4  "main" 154
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_buffer_reference"
                              Name 4  "main"
                              Name 8  "accum"
                              Name 15  "T1"
                              MemberName 15(T1) 0  "a"
                              MemberName 15(T1) 1  "b"
                              MemberName 15(T1) 2  "c"
                              MemberName 15(T1) 3  "d"
                              Name 18  "T1"
                              MemberName 18(T1) 0  "a"
                              MemberName 18(T1) 1  "b"
                              MemberName 18(T1) 2  "c"
                              MemberName 18(T1) 3  "d"
                              Name 21  "x"
                              Name 30  "Block"
                              MemberName 30(Block) 0  "identity"
                              Name 32  "pc"
                              Name 136  "color"
                              Name 149  "image0_0"
                              Name 154  "gl_FragCoord"
                              Decorate 12 ArrayStride 4
                              Decorate 14 ArrayStride 8
                              MemberDecorate 15(T1) 0 Offset 0
                              MemberDecorate 15(T1) 1 Offset 32
                              MemberDecorate 15(T1) 2 Offset 48
                              MemberDecorate 15(T1) 3 Offset 80
                              Decorate 15(T1) Block
                              Decorate 16 ArrayStride 4
                              Decorate 17 ArrayStride 8
                              MemberDecorate 18(T1) 0 Offset 0
                              MemberDecorate 18(T1) 1 Offset 32
                              MemberDecorate 18(T1) 2 Offset 48
                              MemberDecorate 18(T1) 3 Offset 80
                              Decorate 18(T1) Block
                              Decorate 19 ArrayStride 8
                              Decorate 21(x) DescriptorSet 3
                              Decorate 21(x) Binding 1
                              Decorate 29 ArrayStride 4
                              MemberDecorate 30(Block) 0 Offset 0
                              Decorate 30(Block) Block
                              Decorate 149(image0_0) DescriptorSet 3
                              Decorate 149(image0_0) Binding 0
                              Decorate 154(gl_FragCoord) BuiltIn FragCoord
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:      6(int) Constant 0
              10:             TypeInt 32 0
              11:     10(int) Constant 2
              12:             TypeArray 6(int) 11
                              TypeForwardPointer 13 PhysicalStorageBufferEXT
              14:             TypeArray 13 11
          15(T1):             TypeStruct 12 6(int) 14 13
              16:             TypeArray 6(int) 11
              17:             TypeArray 13 11
          18(T1):             TypeStruct 16 6(int) 17 13
              13:             TypePointer PhysicalStorageBufferEXT 18(T1)
              19:             TypeArray 13(ptr) 11
              20:             TypePointer StorageBuffer 15(T1)
           21(x):     20(ptr) Variable StorageBuffer
              22:             TypePointer StorageBuffer 6(int)
              28:     10(int) Constant 32
              29:             TypeArray 6(int) 28
       30(Block):             TypeStruct 29
              31:             TypePointer PushConstant 30(Block)
          32(pc):     31(ptr) Variable PushConstant
              33:      6(int) Constant 1
              34:             TypePointer PushConstant 6(int)
              44:      6(int) Constant 2
              48:             TypePointer StorageBuffer 13(ptr)
              51:             TypePointer PhysicalStorageBufferEXT 6(int)
              54:      6(int) Constant 3
              64:      6(int) Constant 4
              72:      6(int) Constant 5
              82:      6(int) Constant 6
              94:      6(int) Constant 7
             104:      6(int) Constant 8
             112:      6(int) Constant 9
             122:      6(int) Constant 10
             130:      6(int) Constant 11
             134:             TypeVector 10(int) 4
             135:             TypePointer Function 134(ivec4)
             138:             TypeBool
             140:     10(int) Constant 0
             141:  134(ivec4) ConstantComposite 140 140 140 140
             142:     10(int) Constant 1
             143:  134(ivec4) ConstantComposite 142 140 140 142
             144:             TypeVector 138(bool) 4
             147:             TypeImage 10(int) 2D nonsampled format:R32ui
             148:             TypePointer UniformConstant 147
   149(image0_0):    148(ptr) Variable UniformConstant
             151:             TypeFloat 32
             152:             TypeVector 151(float) 4
             153:             TypePointer Input 152(fvec4)
154(gl_FragCoord):    153(ptr) Variable Input
             155:             TypePointer Input 151(float)
             162:             TypeVector 6(int) 2
         4(main):           2 Function None 3
               5:             Label
        8(accum):      7(ptr) Variable Function
      136(color):    135(ptr) Variable Function
                              Store 8(accum) 9
              23:     22(ptr) AccessChain 21(x) 9 9
              24:      6(int) Load 23
              25:      6(int) ISub 24 9
              26:      6(int) Load 8(accum)
              27:      6(int) BitwiseOr 26 25
                              Store 8(accum) 27
              35:     34(ptr) AccessChain 32(pc) 9 33
              36:      6(int) Load 35
              37:     22(ptr) AccessChain 21(x) 9 36
              38:      6(int) Load 37
              39:      6(int) ISub 38 33
              40:      6(int) Load 8(accum)
              41:      6(int) BitwiseOr 40 39
                              Store 8(accum) 41
              42:     22(ptr) AccessChain 21(x) 33
              43:      6(int) Load 42
              45:      6(int) ISub 43 44
              46:      6(int) Load 8(accum)
              47:      6(int) BitwiseOr 46 45
                              Store 8(accum) 47
              49:     48(ptr) AccessChain 21(x) 44 9
              50:     13(ptr) Load 49
              52:     51(ptr) AccessChain 50 9 9
              53:      6(int) Load 52 Aligned 4
              55:      6(int) ISub 53 54
              56:      6(int) Load 8(accum)
              57:      6(int) BitwiseOr 56 55
                              Store 8(accum) 57
              58:     48(ptr) AccessChain 21(x) 44 9
              59:     13(ptr) Load 58
              60:     34(ptr) AccessChain 32(pc) 9 33
              61:      6(int) Load 60
              62:     51(ptr) AccessChain 59 9 61
              63:      6(int) Load 62 Aligned 4
              65:      6(int) ISub 63 64
              66:      6(int) Load 8(accum)
              67:      6(int) BitwiseOr 66 65
                              Store 8(accum) 67
              68:     48(ptr) AccessChain 21(x) 44 9
              69:     13(ptr) Load 68
              70:     51(ptr) AccessChain 69 33
              71:      6(int) Load 70 Aligned 16
              73:      6(int) ISub 71 72
              74:      6(int) Load 8(accum)
              75:      6(int) BitwiseOr 74 73
                              Store 8(accum) 75
              76:     34(ptr) AccessChain 32(pc) 9 33
              77:      6(int) Load 76
              78:     48(ptr) AccessChain 21(x) 44 77
              79:     13(ptr) Load 78
              80:     51(ptr) AccessChain 79 9 9
              81:      6(int) Load 80 Aligned 4
              83:      6(int) ISub 81 82
              84:      6(int) Load 8(accum)
              85:      6(int) BitwiseOr 84 83
                              Store 8(accum) 85
              86:     34(ptr) AccessChain 32(pc) 9 33
              87:      6(int) Load 86
              88:     48(ptr) AccessChain 21(x) 44 87
              89:     13(ptr) Load 88
              90:     34(ptr) AccessChain 32(pc) 9 33
              91:      6(int) Load 90
              92:     51(ptr) AccessChain 89 9 91
              93:      6(int) Load 92 Aligned 4
              95:      6(int) ISub 93 94
              96:      6(int) Load 8(accum)
              97:      6(int) BitwiseOr 96 95
                              Store 8(accum) 97
              98:     34(ptr) AccessChain 32(pc) 9 33
              99:      6(int) Load 98
             100:     48(ptr) AccessChain 21(x) 44 99
             101:     13(ptr) Load 100
             102:     51(ptr) AccessChain 101 33
             103:      6(int) Load 102 Aligned 16
             105:      6(int) ISub 103 104
             106:      6(int) Load 8(accum)
             107:      6(int) BitwiseOr 106 105
                              Store 8(accum) 107
             108:     48(ptr) AccessChain 21(x) 54
             109:     13(ptr) Load 108
             110:     51(ptr) AccessChain 109 9 9
             111:      6(int) Load 110 Aligned 4
             113:      6(int) ISub 111 112
             114:      6(int) Load 8(accum)
             115:      6(int) BitwiseOr 114 113
                              Store 8(accum) 115
             116:     48(ptr) AccessChain 21(x) 54
             117:     13(ptr) Load 116
             118:     34(ptr) AccessChain 32(pc) 9 33
             119:      6(int) Load 118
             120:     51(ptr) AccessChain 117 9 119
             121:      6(int) Load 120 Aligned 4
             123:      6(int) ISub 121 122
             124:      6(int) Load 8(accum)
             125:      6(int) BitwiseOr 124 123
                              Store 8(accum) 125
             126:     48(ptr) AccessChain 21(x) 54
             127:     13(ptr) Load 126
             128:     51(ptr) AccessChain 127 33
             129:      6(int) Load 128 Aligned 16
             131:      6(int) ISub 129 130
             132:      6(int) Load 8(accum)
             133:      6(int) BitwiseOr 132 131
                              Store 8(accum) 133
             137:      6(int) Load 8(accum)
             139:   138(bool) INotEqual 137 9
             145:  144(bvec4) CompositeConstruct 139 139 139 139
             146:  134(ivec4) Select 145 141 143
                              Store 136(color) 146
             150:         147 Load 149(image0_0)
             156:    155(ptr) AccessChain 154(gl_FragCoord) 140
             157:  151(float) Load 156
             158:      6(int) ConvertFToS 157
             159:    155(ptr) AccessChain 154(gl_FragCoord) 142
             160:  151(float) Load 159
             161:      6(int) ConvertFToS 160
             163:  162(ivec2) CompositeConstruct 158 161
             164:  134(ivec4) Load 136(color)
                              ImageWrite 150 163 164
                              Return
                              FunctionEnd
