1spv.bufferhandle6.frag 2// Module Version 10000 3// Generated by (magic number): 8000a 4// Id's are bound by 165 5 6 Capability Shader 7 Capability PhysicalStorageBufferAddressesEXT 8 Extension "SPV_KHR_physical_storage_buffer" 9 Extension "SPV_KHR_storage_buffer_storage_class" 10 1: ExtInstImport "GLSL.std.450" 11 MemoryModel PhysicalStorageBuffer64EXT GLSL450 12 EntryPoint Fragment 4 "main" 154 13 ExecutionMode 4 OriginUpperLeft 14 Source GLSL 450 15 SourceExtension "GL_EXT_buffer_reference" 16 Name 4 "main" 17 Name 8 "accum" 18 Name 15 "T1" 19 MemberName 15(T1) 0 "a" 20 MemberName 15(T1) 1 "b" 21 MemberName 15(T1) 2 "c" 22 MemberName 15(T1) 3 "d" 23 Name 18 "T1" 24 MemberName 18(T1) 0 "a" 25 MemberName 18(T1) 1 "b" 26 MemberName 18(T1) 2 "c" 27 MemberName 18(T1) 3 "d" 28 Name 21 "x" 29 Name 30 "Block" 30 MemberName 30(Block) 0 "identity" 31 Name 32 "pc" 32 Name 136 "color" 33 Name 149 "image0_0" 34 Name 154 "gl_FragCoord" 35 Decorate 12 ArrayStride 4 36 Decorate 14 ArrayStride 8 37 MemberDecorate 15(T1) 0 Offset 0 38 MemberDecorate 15(T1) 1 Offset 32 39 MemberDecorate 15(T1) 2 Offset 48 40 MemberDecorate 15(T1) 3 Offset 80 41 Decorate 15(T1) Block 42 Decorate 16 ArrayStride 4 43 Decorate 17 ArrayStride 8 44 MemberDecorate 18(T1) 0 Offset 0 45 MemberDecorate 18(T1) 1 Offset 32 46 MemberDecorate 18(T1) 2 Offset 48 47 MemberDecorate 18(T1) 3 Offset 80 48 Decorate 18(T1) Block 49 Decorate 19 ArrayStride 8 50 Decorate 21(x) DescriptorSet 3 51 Decorate 21(x) Binding 1 52 Decorate 29 ArrayStride 4 53 MemberDecorate 30(Block) 0 Offset 0 54 Decorate 30(Block) Block 55 Decorate 149(image0_0) DescriptorSet 3 56 Decorate 149(image0_0) Binding 0 57 Decorate 154(gl_FragCoord) BuiltIn FragCoord 58 2: TypeVoid 59 3: TypeFunction 2 60 6: TypeInt 32 1 61 7: TypePointer Function 6(int) 62 9: 6(int) Constant 0 63 10: TypeInt 32 0 64 11: 10(int) Constant 2 65 12: TypeArray 6(int) 11 66 TypeForwardPointer 13 PhysicalStorageBufferEXT 67 14: TypeArray 13 11 68 15(T1): TypeStruct 12 6(int) 14 13 69 16: TypeArray 6(int) 11 70 17: TypeArray 13 11 71 18(T1): TypeStruct 16 6(int) 17 13 72 13: TypePointer PhysicalStorageBufferEXT 18(T1) 73 19: TypeArray 13(ptr) 11 74 20: TypePointer StorageBuffer 15(T1) 75 21(x): 20(ptr) Variable StorageBuffer 76 22: TypePointer StorageBuffer 6(int) 77 28: 10(int) Constant 32 78 29: TypeArray 6(int) 28 79 30(Block): TypeStruct 29 80 31: TypePointer PushConstant 30(Block) 81 32(pc): 31(ptr) Variable PushConstant 82 33: 6(int) Constant 1 83 34: TypePointer PushConstant 6(int) 84 44: 6(int) Constant 2 85 48: TypePointer StorageBuffer 13(ptr) 86 51: TypePointer PhysicalStorageBufferEXT 6(int) 87 54: 6(int) Constant 3 88 64: 6(int) Constant 4 89 72: 6(int) Constant 5 90 82: 6(int) Constant 6 91 94: 6(int) Constant 7 92 104: 6(int) Constant 8 93 112: 6(int) Constant 9 94 122: 6(int) Constant 10 95 130: 6(int) Constant 11 96 134: TypeVector 10(int) 4 97 135: TypePointer Function 134(ivec4) 98 138: TypeBool 99 140: 10(int) Constant 0 100 141: 134(ivec4) ConstantComposite 140 140 140 140 101 142: 10(int) Constant 1 102 143: 134(ivec4) ConstantComposite 142 140 140 142 103 144: TypeVector 138(bool) 4 104 147: TypeImage 10(int) 2D nonsampled format:R32ui 105 148: TypePointer UniformConstant 147 106 149(image0_0): 148(ptr) Variable UniformConstant 107 151: TypeFloat 32 108 152: TypeVector 151(float) 4 109 153: TypePointer Input 152(fvec4) 110154(gl_FragCoord): 153(ptr) Variable Input 111 155: TypePointer Input 151(float) 112 162: TypeVector 6(int) 2 113 4(main): 2 Function None 3 114 5: Label 115 8(accum): 7(ptr) Variable Function 116 136(color): 135(ptr) Variable Function 117 Store 8(accum) 9 118 23: 22(ptr) AccessChain 21(x) 9 9 119 24: 6(int) Load 23 120 25: 6(int) ISub 24 9 121 26: 6(int) Load 8(accum) 122 27: 6(int) BitwiseOr 26 25 123 Store 8(accum) 27 124 35: 34(ptr) AccessChain 32(pc) 9 33 125 36: 6(int) Load 35 126 37: 22(ptr) AccessChain 21(x) 9 36 127 38: 6(int) Load 37 128 39: 6(int) ISub 38 33 129 40: 6(int) Load 8(accum) 130 41: 6(int) BitwiseOr 40 39 131 Store 8(accum) 41 132 42: 22(ptr) AccessChain 21(x) 33 133 43: 6(int) Load 42 134 45: 6(int) ISub 43 44 135 46: 6(int) Load 8(accum) 136 47: 6(int) BitwiseOr 46 45 137 Store 8(accum) 47 138 49: 48(ptr) AccessChain 21(x) 44 9 139 50: 13(ptr) Load 49 140 52: 51(ptr) AccessChain 50 9 9 141 53: 6(int) Load 52 Aligned 4 142 55: 6(int) ISub 53 54 143 56: 6(int) Load 8(accum) 144 57: 6(int) BitwiseOr 56 55 145 Store 8(accum) 57 146 58: 48(ptr) AccessChain 21(x) 44 9 147 59: 13(ptr) Load 58 148 60: 34(ptr) AccessChain 32(pc) 9 33 149 61: 6(int) Load 60 150 62: 51(ptr) AccessChain 59 9 61 151 63: 6(int) Load 62 Aligned 4 152 65: 6(int) ISub 63 64 153 66: 6(int) Load 8(accum) 154 67: 6(int) BitwiseOr 66 65 155 Store 8(accum) 67 156 68: 48(ptr) AccessChain 21(x) 44 9 157 69: 13(ptr) Load 68 158 70: 51(ptr) AccessChain 69 33 159 71: 6(int) Load 70 Aligned 16 160 73: 6(int) ISub 71 72 161 74: 6(int) Load 8(accum) 162 75: 6(int) BitwiseOr 74 73 163 Store 8(accum) 75 164 76: 34(ptr) AccessChain 32(pc) 9 33 165 77: 6(int) Load 76 166 78: 48(ptr) AccessChain 21(x) 44 77 167 79: 13(ptr) Load 78 168 80: 51(ptr) AccessChain 79 9 9 169 81: 6(int) Load 80 Aligned 4 170 83: 6(int) ISub 81 82 171 84: 6(int) Load 8(accum) 172 85: 6(int) BitwiseOr 84 83 173 Store 8(accum) 85 174 86: 34(ptr) AccessChain 32(pc) 9 33 175 87: 6(int) Load 86 176 88: 48(ptr) AccessChain 21(x) 44 87 177 89: 13(ptr) Load 88 178 90: 34(ptr) AccessChain 32(pc) 9 33 179 91: 6(int) Load 90 180 92: 51(ptr) AccessChain 89 9 91 181 93: 6(int) Load 92 Aligned 4 182 95: 6(int) ISub 93 94 183 96: 6(int) Load 8(accum) 184 97: 6(int) BitwiseOr 96 95 185 Store 8(accum) 97 186 98: 34(ptr) AccessChain 32(pc) 9 33 187 99: 6(int) Load 98 188 100: 48(ptr) AccessChain 21(x) 44 99 189 101: 13(ptr) Load 100 190 102: 51(ptr) AccessChain 101 33 191 103: 6(int) Load 102 Aligned 16 192 105: 6(int) ISub 103 104 193 106: 6(int) Load 8(accum) 194 107: 6(int) BitwiseOr 106 105 195 Store 8(accum) 107 196 108: 48(ptr) AccessChain 21(x) 54 197 109: 13(ptr) Load 108 198 110: 51(ptr) AccessChain 109 9 9 199 111: 6(int) Load 110 Aligned 4 200 113: 6(int) ISub 111 112 201 114: 6(int) Load 8(accum) 202 115: 6(int) BitwiseOr 114 113 203 Store 8(accum) 115 204 116: 48(ptr) AccessChain 21(x) 54 205 117: 13(ptr) Load 116 206 118: 34(ptr) AccessChain 32(pc) 9 33 207 119: 6(int) Load 118 208 120: 51(ptr) AccessChain 117 9 119 209 121: 6(int) Load 120 Aligned 4 210 123: 6(int) ISub 121 122 211 124: 6(int) Load 8(accum) 212 125: 6(int) BitwiseOr 124 123 213 Store 8(accum) 125 214 126: 48(ptr) AccessChain 21(x) 54 215 127: 13(ptr) Load 126 216 128: 51(ptr) AccessChain 127 33 217 129: 6(int) Load 128 Aligned 16 218 131: 6(int) ISub 129 130 219 132: 6(int) Load 8(accum) 220 133: 6(int) BitwiseOr 132 131 221 Store 8(accum) 133 222 137: 6(int) Load 8(accum) 223 139: 138(bool) INotEqual 137 9 224 145: 144(bvec4) CompositeConstruct 139 139 139 139 225 146: 134(ivec4) Select 145 141 143 226 Store 136(color) 146 227 150: 147 Load 149(image0_0) 228 156: 155(ptr) AccessChain 154(gl_FragCoord) 140 229 157: 151(float) Load 156 230 158: 6(int) ConvertFToS 157 231 159: 155(ptr) AccessChain 154(gl_FragCoord) 142 232 160: 151(float) Load 159 233 161: 6(int) ConvertFToS 160 234 163: 162(ivec2) CompositeConstruct 158 161 235 164: 134(ivec4) Load 136(color) 236 ImageWrite 150 163 164 237 Return 238 FunctionEnd 239