mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-23 07:14:01 +00:00
461 lines
13 KiB
Plaintext
461 lines
13 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.1
|
|
; Generator: rspirv
|
|
; Bound: 301
|
|
OpCapability Shader
|
|
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Vertex %219 "foo_vert" %214 %217
|
|
OpEntryPoint Fragment %273 "foo_frag" %272
|
|
OpEntryPoint GLCompute %291 "assign_through_ptr"
|
|
OpExecutionMode %273 OriginUpperLeft
|
|
OpExecutionMode %291 LocalSize 1 1 1
|
|
OpMemberName %6 0 "a"
|
|
OpMemberName %6 1 "b"
|
|
OpMemberName %6 2 "c"
|
|
OpName %6 "GlobalConst"
|
|
OpMemberName %7 0 "value"
|
|
OpName %7 "AlignedWrapper"
|
|
OpMemberName %20 0 "_matrix"
|
|
OpMemberName %20 1 "matrix_array"
|
|
OpMemberName %20 2 "atom"
|
|
OpMemberName %20 3 "atom_arr"
|
|
OpMemberName %20 4 "arr"
|
|
OpMemberName %20 5 "data"
|
|
OpName %20 "Bar"
|
|
OpMemberName %22 0 "m"
|
|
OpName %22 "Baz"
|
|
OpMemberName %26 0 "am"
|
|
OpName %26 "MatCx2InArray"
|
|
OpName %40 "global_const"
|
|
OpName %42 "bar"
|
|
OpName %44 "baz"
|
|
OpName %47 "qux"
|
|
OpName %50 "nested_mat_cx2"
|
|
OpName %54 "test_matrix_within_struct_accesses"
|
|
OpName %82 "idx"
|
|
OpName %84 "t"
|
|
OpName %130 "test_matrix_within_array_within_struct_accesses"
|
|
OpName %140 "idx"
|
|
OpName %141 "t"
|
|
OpName %187 "foo"
|
|
OpName %188 "read_from_private"
|
|
OpName %193 "a"
|
|
OpName %194 "test_arr_as_arg"
|
|
OpName %200 "p"
|
|
OpName %201 "assign_through_ptr_fn"
|
|
OpName %206 "foo"
|
|
OpName %207 "assign_array_through_ptr_fn"
|
|
OpName %214 "vi"
|
|
OpName %219 "foo_vert"
|
|
OpName %231 "foo"
|
|
OpName %232 "c2"
|
|
OpName %273 "foo_frag"
|
|
OpName %291 "assign_through_ptr"
|
|
OpName %296 "val"
|
|
OpName %297 "arr"
|
|
OpMemberDecorate %6 0 Offset 0
|
|
OpMemberDecorate %6 1 Offset 16
|
|
OpMemberDecorate %6 2 Offset 28
|
|
OpMemberDecorate %7 0 Offset 0
|
|
OpDecorate %13 ArrayStride 16
|
|
OpDecorate %15 ArrayStride 4
|
|
OpDecorate %18 ArrayStride 8
|
|
OpDecorate %19 ArrayStride 8
|
|
OpMemberDecorate %20 0 Offset 0
|
|
OpMemberDecorate %20 0 ColMajor
|
|
OpMemberDecorate %20 0 MatrixStride 16
|
|
OpMemberDecorate %20 1 Offset 64
|
|
OpMemberDecorate %20 1 ColMajor
|
|
OpMemberDecorate %20 1 MatrixStride 8
|
|
OpMemberDecorate %20 2 Offset 96
|
|
OpMemberDecorate %20 3 Offset 100
|
|
OpMemberDecorate %20 4 Offset 144
|
|
OpMemberDecorate %20 5 Offset 160
|
|
OpDecorate %20 Block
|
|
OpMemberDecorate %22 0 Offset 0
|
|
OpMemberDecorate %22 0 ColMajor
|
|
OpMemberDecorate %22 0 MatrixStride 8
|
|
OpDecorate %25 ArrayStride 32
|
|
OpMemberDecorate %26 0 Offset 0
|
|
OpMemberDecorate %26 0 ColMajor
|
|
OpMemberDecorate %26 0 MatrixStride 8
|
|
OpDecorate %28 ArrayStride 4
|
|
OpDecorate %29 ArrayStride 40
|
|
OpDecorate %32 ArrayStride 4
|
|
OpDecorate %34 ArrayStride 16
|
|
OpDecorate %42 DescriptorSet 0
|
|
OpDecorate %42 Binding 0
|
|
OpDecorate %44 DescriptorSet 0
|
|
OpDecorate %44 Binding 1
|
|
OpDecorate %45 Block
|
|
OpMemberDecorate %45 0 Offset 0
|
|
OpDecorate %47 DescriptorSet 0
|
|
OpDecorate %47 Binding 2
|
|
OpDecorate %48 Block
|
|
OpMemberDecorate %48 0 Offset 0
|
|
OpDecorate %50 DescriptorSet 0
|
|
OpDecorate %50 Binding 3
|
|
OpDecorate %51 Block
|
|
OpMemberDecorate %51 0 Offset 0
|
|
OpDecorate %214 BuiltIn VertexIndex
|
|
OpDecorate %217 BuiltIn Position
|
|
OpDecorate %272 Location 0
|
|
%2 = OpTypeVoid
|
|
%3 = OpTypeInt 32 0
|
|
%4 = OpTypeVector %3 3
|
|
%5 = OpTypeInt 32 1
|
|
%6 = OpTypeStruct %3 %4 %5
|
|
%7 = OpTypeStruct %5
|
|
%10 = OpTypeFloat 32
|
|
%9 = OpTypeVector %10 3
|
|
%8 = OpTypeMatrix %9 4
|
|
%12 = OpTypeVector %10 2
|
|
%11 = OpTypeMatrix %12 2
|
|
%14 = OpConstant %3 2
|
|
%13 = OpTypeArray %11 %14
|
|
%16 = OpConstant %3 10
|
|
%15 = OpTypeArray %5 %16
|
|
%17 = OpTypeVector %3 2
|
|
%18 = OpTypeArray %17 %14
|
|
%19 = OpTypeRuntimeArray %7
|
|
%20 = OpTypeStruct %8 %13 %5 %15 %18 %19
|
|
%21 = OpTypeMatrix %12 3
|
|
%22 = OpTypeStruct %21
|
|
%23 = OpTypeVector %5 2
|
|
%24 = OpTypeMatrix %12 4
|
|
%25 = OpTypeArray %24 %14
|
|
%26 = OpTypeStruct %25
|
|
%27 = OpTypePointer Function %10
|
|
%28 = OpTypeArray %10 %16
|
|
%30 = OpConstant %3 5
|
|
%29 = OpTypeArray %28 %30
|
|
%31 = OpTypeVector %10 4
|
|
%32 = OpTypeArray %5 %30
|
|
%33 = OpTypePointer Function %3
|
|
%34 = OpTypeArray %31 %14
|
|
%35 = OpTypePointer Function %34
|
|
%36 = OpConstant %3 0
|
|
%37 = OpConstantComposite %4 %36 %36 %36
|
|
%38 = OpConstant %5 0
|
|
%39 = OpConstantComposite %6 %36 %37 %38
|
|
%41 = OpTypePointer Private %6
|
|
%40 = OpVariable %41 Private %39
|
|
%43 = OpTypePointer StorageBuffer %20
|
|
%42 = OpVariable %43 StorageBuffer
|
|
%45 = OpTypeStruct %22
|
|
%46 = OpTypePointer Uniform %45
|
|
%44 = OpVariable %46 Uniform
|
|
%48 = OpTypeStruct %23
|
|
%49 = OpTypePointer StorageBuffer %48
|
|
%47 = OpVariable %49 StorageBuffer
|
|
%51 = OpTypeStruct %26
|
|
%52 = OpTypePointer Uniform %51
|
|
%50 = OpVariable %52 Uniform
|
|
%55 = OpTypeFunction %2
|
|
%56 = OpTypePointer Uniform %22
|
|
%58 = OpConstant %5 1
|
|
%59 = OpConstant %10 1.0
|
|
%60 = OpConstantComposite %12 %59 %59
|
|
%61 = OpConstant %10 2.0
|
|
%62 = OpConstantComposite %12 %61 %61
|
|
%63 = OpConstant %10 3.0
|
|
%64 = OpConstantComposite %12 %63 %63
|
|
%65 = OpConstantComposite %21 %60 %62 %64
|
|
%66 = OpConstantComposite %22 %65
|
|
%67 = OpConstant %10 6.0
|
|
%68 = OpConstantComposite %12 %67 %67
|
|
%69 = OpConstant %10 5.0
|
|
%70 = OpConstantComposite %12 %69 %69
|
|
%71 = OpConstant %10 4.0
|
|
%72 = OpConstantComposite %12 %71 %71
|
|
%73 = OpConstantComposite %21 %68 %70 %72
|
|
%74 = OpConstant %10 9.0
|
|
%75 = OpConstantComposite %12 %74 %74
|
|
%76 = OpConstant %10 90.0
|
|
%77 = OpConstantComposite %12 %76 %76
|
|
%78 = OpConstant %10 10.0
|
|
%79 = OpConstant %10 20.0
|
|
%80 = OpConstant %10 30.0
|
|
%81 = OpConstant %10 40.0
|
|
%83 = OpTypePointer Function %5
|
|
%85 = OpTypePointer Function %22
|
|
%89 = OpTypePointer Uniform %21
|
|
%92 = OpTypePointer Uniform %12
|
|
%98 = OpTypePointer Uniform %10
|
|
%99 = OpConstant %3 1
|
|
%114 = OpTypePointer Function %21
|
|
%116 = OpTypePointer Function %12
|
|
%120 = OpTypePointer Function %10
|
|
%131 = OpTypePointer Uniform %26
|
|
%133 = OpConstantNull %25
|
|
%134 = OpConstantComposite %26 %133
|
|
%135 = OpConstant %10 8.0
|
|
%136 = OpConstantComposite %12 %135 %135
|
|
%137 = OpConstant %10 7.0
|
|
%138 = OpConstantComposite %12 %137 %137
|
|
%139 = OpConstantComposite %24 %136 %138 %68 %70
|
|
%142 = OpTypePointer Function %26
|
|
%146 = OpTypePointer Uniform %25
|
|
%149 = OpTypePointer Uniform %24
|
|
%171 = OpTypePointer Function %25
|
|
%173 = OpTypePointer Function %24
|
|
%189 = OpTypeFunction %10 %27
|
|
%195 = OpTypeFunction %10 %29
|
|
%202 = OpTypeFunction %2 %33
|
|
%203 = OpConstant %3 42
|
|
%208 = OpTypeFunction %2 %35
|
|
%209 = OpConstantComposite %31 %59 %59 %59 %59
|
|
%210 = OpConstantComposite %31 %61 %61 %61 %61
|
|
%211 = OpConstantComposite %34 %209 %210
|
|
%215 = OpTypePointer Input %3
|
|
%214 = OpVariable %215 Input
|
|
%218 = OpTypePointer Output %31
|
|
%217 = OpVariable %218 Output
|
|
%221 = OpTypePointer StorageBuffer %23
|
|
%224 = OpConstant %10 0.0
|
|
%225 = OpConstant %3 3
|
|
%226 = OpConstant %5 3
|
|
%227 = OpConstant %5 4
|
|
%228 = OpConstant %5 5
|
|
%229 = OpConstant %5 42
|
|
%230 = OpConstantNull %29
|
|
%233 = OpTypePointer Function %32
|
|
%234 = OpConstantNull %32
|
|
%239 = OpTypePointer StorageBuffer %8
|
|
%242 = OpTypePointer StorageBuffer %18
|
|
%243 = OpConstant %3 4
|
|
%246 = OpTypePointer StorageBuffer %9
|
|
%247 = OpTypePointer StorageBuffer %10
|
|
%250 = OpTypePointer StorageBuffer %19
|
|
%253 = OpTypePointer StorageBuffer %7
|
|
%254 = OpTypePointer StorageBuffer %5
|
|
%266 = OpTypeVector %5 4
|
|
%272 = OpVariable %218 Output
|
|
%275 = OpConstantComposite %9 %224 %224 %224
|
|
%276 = OpConstantComposite %9 %59 %59 %59
|
|
%277 = OpConstantComposite %9 %61 %61 %61
|
|
%278 = OpConstantComposite %9 %63 %63 %63
|
|
%279 = OpConstantComposite %8 %275 %276 %277 %278
|
|
%280 = OpConstantComposite %17 %36 %36
|
|
%281 = OpConstantComposite %17 %99 %99
|
|
%282 = OpConstantComposite %18 %280 %281
|
|
%283 = OpConstantNull %23
|
|
%284 = OpConstantComposite %31 %224 %224 %224 %224
|
|
%292 = OpConstant %3 33
|
|
%293 = OpConstantComposite %31 %67 %67 %67 %67
|
|
%294 = OpConstantComposite %31 %137 %137 %137 %137
|
|
%295 = OpConstantComposite %34 %293 %294
|
|
%54 = OpFunction %2 None %55
|
|
%53 = OpLabel
|
|
%82 = OpVariable %83 Function %58
|
|
%84 = OpVariable %85 Function %66
|
|
%57 = OpAccessChain %56 %44 %36
|
|
OpBranch %86
|
|
%86 = OpLabel
|
|
%87 = OpLoad %5 %82
|
|
%88 = OpISub %5 %87 %58
|
|
OpStore %82 %88
|
|
%90 = OpAccessChain %89 %57 %36
|
|
%91 = OpLoad %21 %90
|
|
%93 = OpAccessChain %92 %57 %36 %36
|
|
%94 = OpLoad %12 %93
|
|
%95 = OpLoad %5 %82
|
|
%96 = OpAccessChain %92 %57 %36 %95
|
|
%97 = OpLoad %12 %96
|
|
%100 = OpAccessChain %98 %57 %36 %36 %99
|
|
%101 = OpLoad %10 %100
|
|
%102 = OpLoad %5 %82
|
|
%103 = OpAccessChain %98 %57 %36 %36 %102
|
|
%104 = OpLoad %10 %103
|
|
%105 = OpLoad %5 %82
|
|
%106 = OpAccessChain %98 %57 %36 %105 %99
|
|
%107 = OpLoad %10 %106
|
|
%108 = OpLoad %5 %82
|
|
%109 = OpLoad %5 %82
|
|
%110 = OpAccessChain %98 %57 %36 %108 %109
|
|
%111 = OpLoad %10 %110
|
|
%112 = OpLoad %5 %82
|
|
%113 = OpIAdd %5 %112 %58
|
|
OpStore %82 %113
|
|
%115 = OpAccessChain %114 %84 %36
|
|
OpStore %115 %73
|
|
%117 = OpAccessChain %116 %84 %36 %36
|
|
OpStore %117 %75
|
|
%118 = OpLoad %5 %82
|
|
%119 = OpAccessChain %116 %84 %36 %118
|
|
OpStore %119 %77
|
|
%121 = OpAccessChain %120 %84 %36 %36 %99
|
|
OpStore %121 %78
|
|
%122 = OpLoad %5 %82
|
|
%123 = OpAccessChain %120 %84 %36 %36 %122
|
|
OpStore %123 %79
|
|
%124 = OpLoad %5 %82
|
|
%125 = OpAccessChain %120 %84 %36 %124 %99
|
|
OpStore %125 %80
|
|
%126 = OpLoad %5 %82
|
|
%127 = OpLoad %5 %82
|
|
%128 = OpAccessChain %120 %84 %36 %126 %127
|
|
OpStore %128 %81
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%130 = OpFunction %2 None %55
|
|
%129 = OpLabel
|
|
%140 = OpVariable %83 Function %58
|
|
%141 = OpVariable %142 Function %134
|
|
%132 = OpAccessChain %131 %50 %36
|
|
OpBranch %143
|
|
%143 = OpLabel
|
|
%144 = OpLoad %5 %140
|
|
%145 = OpISub %5 %144 %58
|
|
OpStore %140 %145
|
|
%147 = OpAccessChain %146 %132 %36
|
|
%148 = OpLoad %25 %147
|
|
%150 = OpAccessChain %149 %132 %36 %36
|
|
%151 = OpLoad %24 %150
|
|
%152 = OpAccessChain %92 %132 %36 %36 %36
|
|
%153 = OpLoad %12 %152
|
|
%154 = OpLoad %5 %140
|
|
%155 = OpAccessChain %92 %132 %36 %36 %154
|
|
%156 = OpLoad %12 %155
|
|
%157 = OpAccessChain %98 %132 %36 %36 %36 %99
|
|
%158 = OpLoad %10 %157
|
|
%159 = OpLoad %5 %140
|
|
%160 = OpAccessChain %98 %132 %36 %36 %36 %159
|
|
%161 = OpLoad %10 %160
|
|
%162 = OpLoad %5 %140
|
|
%163 = OpAccessChain %98 %132 %36 %36 %162 %99
|
|
%164 = OpLoad %10 %163
|
|
%165 = OpLoad %5 %140
|
|
%166 = OpLoad %5 %140
|
|
%167 = OpAccessChain %98 %132 %36 %36 %165 %166
|
|
%168 = OpLoad %10 %167
|
|
%169 = OpLoad %5 %140
|
|
%170 = OpIAdd %5 %169 %58
|
|
OpStore %140 %170
|
|
%172 = OpAccessChain %171 %141 %36
|
|
OpStore %172 %133
|
|
%174 = OpAccessChain %173 %141 %36 %36
|
|
OpStore %174 %139
|
|
%175 = OpAccessChain %116 %141 %36 %36 %36
|
|
OpStore %175 %75
|
|
%176 = OpLoad %5 %140
|
|
%177 = OpAccessChain %116 %141 %36 %36 %176
|
|
OpStore %177 %77
|
|
%178 = OpAccessChain %120 %141 %36 %36 %36 %99
|
|
OpStore %178 %78
|
|
%179 = OpLoad %5 %140
|
|
%180 = OpAccessChain %120 %141 %36 %36 %36 %179
|
|
OpStore %180 %79
|
|
%181 = OpLoad %5 %140
|
|
%182 = OpAccessChain %120 %141 %36 %36 %181 %99
|
|
OpStore %182 %80
|
|
%183 = OpLoad %5 %140
|
|
%184 = OpLoad %5 %140
|
|
%185 = OpAccessChain %120 %141 %36 %36 %183 %184
|
|
OpStore %185 %81
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%188 = OpFunction %10 None %189
|
|
%187 = OpFunctionParameter %27
|
|
%186 = OpLabel
|
|
OpBranch %190
|
|
%190 = OpLabel
|
|
%191 = OpLoad %10 %187
|
|
OpReturnValue %191
|
|
OpFunctionEnd
|
|
%194 = OpFunction %10 None %195
|
|
%193 = OpFunctionParameter %29
|
|
%192 = OpLabel
|
|
OpBranch %196
|
|
%196 = OpLabel
|
|
%197 = OpCompositeExtract %28 %193 4
|
|
%198 = OpCompositeExtract %10 %197 9
|
|
OpReturnValue %198
|
|
OpFunctionEnd
|
|
%201 = OpFunction %2 None %202
|
|
%200 = OpFunctionParameter %33
|
|
%199 = OpLabel
|
|
OpBranch %204
|
|
%204 = OpLabel
|
|
OpStore %200 %203
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%207 = OpFunction %2 None %208
|
|
%206 = OpFunctionParameter %35
|
|
%205 = OpLabel
|
|
OpBranch %212
|
|
%212 = OpLabel
|
|
OpStore %206 %211
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%219 = OpFunction %2 None %55
|
|
%213 = OpLabel
|
|
%231 = OpVariable %27 Function %224
|
|
%232 = OpVariable %233 Function %234
|
|
%216 = OpLoad %3 %214
|
|
%220 = OpAccessChain %56 %44 %36
|
|
%222 = OpAccessChain %221 %47 %36
|
|
%223 = OpAccessChain %131 %50 %36
|
|
OpBranch %235
|
|
%235 = OpLabel
|
|
%236 = OpLoad %10 %231
|
|
OpStore %231 %59
|
|
%237 = OpFunctionCall %2 %54
|
|
%238 = OpFunctionCall %2 %130
|
|
%240 = OpAccessChain %239 %42 %36
|
|
%241 = OpLoad %8 %240
|
|
%244 = OpAccessChain %242 %42 %243
|
|
%245 = OpLoad %18 %244
|
|
%248 = OpAccessChain %247 %42 %36 %225 %36
|
|
%249 = OpLoad %10 %248
|
|
%251 = OpArrayLength %3 %42 5
|
|
%252 = OpISub %3 %251 %14
|
|
%255 = OpAccessChain %254 %42 %30 %252 %36
|
|
%256 = OpLoad %5 %255
|
|
%257 = OpLoad %23 %222
|
|
%258 = OpFunctionCall %10 %188 %231
|
|
%259 = OpConvertFToS %5 %249
|
|
%260 = OpCompositeConstruct %32 %256 %259 %226 %227 %228
|
|
OpStore %232 %260
|
|
%261 = OpIAdd %3 %216 %99
|
|
%262 = OpAccessChain %83 %232 %261
|
|
OpStore %262 %229
|
|
%263 = OpAccessChain %83 %232 %216
|
|
%264 = OpLoad %5 %263
|
|
%265 = OpFunctionCall %10 %194 %230
|
|
%267 = OpCompositeConstruct %266 %264 %264 %264 %264
|
|
%268 = OpConvertSToF %31 %267
|
|
%269 = OpMatrixTimesVector %9 %241 %268
|
|
%270 = OpCompositeConstruct %31 %269 %61
|
|
OpStore %217 %270
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%273 = OpFunction %2 None %55
|
|
%271 = OpLabel
|
|
%274 = OpAccessChain %221 %47 %36
|
|
OpBranch %285
|
|
%285 = OpLabel
|
|
%286 = OpAccessChain %247 %42 %36 %99 %14
|
|
OpStore %286 %59
|
|
%287 = OpAccessChain %239 %42 %36
|
|
OpStore %287 %279
|
|
%288 = OpAccessChain %242 %42 %243
|
|
OpStore %288 %282
|
|
%289 = OpAccessChain %254 %42 %30 %99 %36
|
|
OpStore %289 %58
|
|
OpStore %274 %283
|
|
OpStore %272 %284
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%291 = OpFunction %2 None %55
|
|
%290 = OpLabel
|
|
%296 = OpVariable %33 Function %292
|
|
%297 = OpVariable %35 Function %295
|
|
OpBranch %298
|
|
%298 = OpLabel
|
|
%299 = OpFunctionCall %2 %201 %296
|
|
%300 = OpFunctionCall %2 %207 %297
|
|
OpReturn
|
|
OpFunctionEnd |