mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-12-11 16:14:44 +00:00
331 lines
9.3 KiB
Plaintext
331 lines
9.3 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.1
|
|
; Generator: rspirv
|
|
; Bound: 218
|
|
OpCapability Shader
|
|
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
|
%1 = OpExtInstImport "GLSL.std.450"
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Vertex %141 "foo_vert" %136 %139
|
|
OpEntryPoint Fragment %178 "foo_frag" %177
|
|
OpEntryPoint GLCompute %195 "atomics"
|
|
OpExecutionMode %178 OriginUpperLeft
|
|
OpExecutionMode %195 LocalSize 1 1 1
|
|
OpSource GLSL 450
|
|
OpMemberName %32 0 "value"
|
|
OpName %32 "AlignedWrapper"
|
|
OpMemberName %41 0 "_matrix"
|
|
OpMemberName %41 1 "matrix_array"
|
|
OpMemberName %41 2 "atom"
|
|
OpMemberName %41 3 "arr"
|
|
OpMemberName %41 4 "data"
|
|
OpName %41 "Bar"
|
|
OpMemberName %43 0 "m"
|
|
OpName %43 "Baz"
|
|
OpName %52 "bar"
|
|
OpName %54 "baz"
|
|
OpName %57 "idx"
|
|
OpName %59 "t"
|
|
OpName %62 "test_matrix_within_struct_accesses"
|
|
OpName %120 "foo"
|
|
OpName %121 "read_from_private"
|
|
OpName %126 "a"
|
|
OpName %127 "test_arr_as_arg"
|
|
OpName %132 "foo"
|
|
OpName %133 "c"
|
|
OpName %136 "vi"
|
|
OpName %141 "foo_vert"
|
|
OpName %178 "foo_frag"
|
|
OpName %193 "tmp"
|
|
OpName %195 "atomics"
|
|
OpMemberDecorate %32 0 Offset 0
|
|
OpDecorate %37 ArrayStride 16
|
|
OpDecorate %39 ArrayStride 8
|
|
OpDecorate %40 ArrayStride 8
|
|
OpMemberDecorate %41 0 Offset 0
|
|
OpMemberDecorate %41 0 ColMajor
|
|
OpMemberDecorate %41 0 MatrixStride 16
|
|
OpMemberDecorate %41 1 Offset 64
|
|
OpMemberDecorate %41 1 ColMajor
|
|
OpMemberDecorate %41 1 MatrixStride 8
|
|
OpMemberDecorate %41 2 Offset 96
|
|
OpMemberDecorate %41 3 Offset 104
|
|
OpMemberDecorate %41 4 Offset 120
|
|
OpMemberDecorate %43 0 Offset 0
|
|
OpMemberDecorate %43 0 ColMajor
|
|
OpMemberDecorate %43 0 MatrixStride 8
|
|
OpDecorate %45 ArrayStride 4
|
|
OpDecorate %46 ArrayStride 40
|
|
OpDecorate %49 ArrayStride 4
|
|
OpDecorate %52 DescriptorSet 0
|
|
OpDecorate %52 Binding 0
|
|
OpDecorate %41 Block
|
|
OpDecorate %54 DescriptorSet 0
|
|
OpDecorate %54 Binding 1
|
|
OpDecorate %55 Block
|
|
OpMemberDecorate %55 0 Offset 0
|
|
OpDecorate %136 BuiltIn VertexIndex
|
|
OpDecorate %139 BuiltIn Position
|
|
OpDecorate %177 Location 0
|
|
%2 = OpTypeVoid
|
|
%4 = OpTypeInt 32 1
|
|
%3 = OpConstant %4 2
|
|
%5 = OpConstant %4 9
|
|
%6 = OpConstant %4 1
|
|
%7 = OpConstant %4 0
|
|
%9 = OpTypeFloat 32
|
|
%8 = OpConstant %9 1.0
|
|
%10 = OpConstant %9 2.0
|
|
%11 = OpConstant %9 3.0
|
|
%12 = OpConstant %9 6.0
|
|
%13 = OpConstant %9 5.0
|
|
%14 = OpConstant %9 4.0
|
|
%15 = OpConstant %9 9.0
|
|
%16 = OpConstant %9 90.0
|
|
%17 = OpConstant %9 10.0
|
|
%18 = OpConstant %9 20.0
|
|
%19 = OpConstant %9 30.0
|
|
%20 = OpConstant %9 40.0
|
|
%21 = OpConstant %4 10
|
|
%22 = OpConstant %4 5
|
|
%23 = OpConstant %4 4
|
|
%24 = OpConstant %9 0.0
|
|
%26 = OpTypeInt 32 0
|
|
%25 = OpConstant %26 3
|
|
%27 = OpConstant %26 2
|
|
%28 = OpConstant %4 3
|
|
%29 = OpConstant %26 1
|
|
%30 = OpConstant %4 42
|
|
%31 = OpConstant %26 0
|
|
%32 = OpTypeStruct %4
|
|
%34 = OpTypeVector %9 3
|
|
%33 = OpTypeMatrix %34 4
|
|
%36 = OpTypeVector %9 2
|
|
%35 = OpTypeMatrix %36 2
|
|
%37 = OpTypeArray %35 %3
|
|
%38 = OpTypeVector %26 2
|
|
%39 = OpTypeArray %38 %3
|
|
%40 = OpTypeRuntimeArray %32
|
|
%41 = OpTypeStruct %33 %37 %4 %39 %40
|
|
%42 = OpTypeMatrix %36 3
|
|
%43 = OpTypeStruct %42
|
|
%44 = OpTypePointer Function %9
|
|
%45 = OpTypeArray %9 %21
|
|
%46 = OpTypeArray %45 %22
|
|
%47 = OpTypeVector %9 4
|
|
%48 = OpTypePointer StorageBuffer %4
|
|
%49 = OpTypeArray %4 %22
|
|
%50 = OpConstantComposite %45 %24 %24 %24 %24 %24 %24 %24 %24 %24 %24
|
|
%51 = OpConstantComposite %46 %50 %50 %50 %50 %50
|
|
%53 = OpTypePointer StorageBuffer %41
|
|
%52 = OpVariable %53 StorageBuffer
|
|
%55 = OpTypeStruct %43
|
|
%56 = OpTypePointer Uniform %55
|
|
%54 = OpVariable %56 Uniform
|
|
%58 = OpTypePointer Function %4
|
|
%60 = OpTypePointer Function %43
|
|
%63 = OpTypeFunction %2
|
|
%64 = OpTypePointer Uniform %43
|
|
%69 = OpTypePointer Uniform %42
|
|
%72 = OpTypePointer Uniform %36
|
|
%78 = OpTypePointer Uniform %9
|
|
%98 = OpTypePointer Function %42
|
|
%104 = OpTypePointer Function %36
|
|
%110 = OpTypePointer Function %9
|
|
%122 = OpTypeFunction %9 %44
|
|
%128 = OpTypeFunction %9 %46
|
|
%134 = OpTypePointer Function %49
|
|
%137 = OpTypePointer Input %26
|
|
%136 = OpVariable %137 Input
|
|
%140 = OpTypePointer Output %47
|
|
%139 = OpVariable %140 Output
|
|
%146 = OpTypePointer StorageBuffer %33
|
|
%149 = OpTypePointer StorageBuffer %39
|
|
%152 = OpTypePointer StorageBuffer %34
|
|
%153 = OpTypePointer StorageBuffer %9
|
|
%156 = OpTypePointer StorageBuffer %40
|
|
%159 = OpTypePointer StorageBuffer %32
|
|
%160 = OpConstant %26 4
|
|
%171 = OpTypeVector %4 4
|
|
%177 = OpVariable %140 Output
|
|
%197 = OpTypePointer StorageBuffer %4
|
|
%200 = OpConstant %26 64
|
|
%62 = OpFunction %2 None %63
|
|
%61 = OpLabel
|
|
%57 = OpVariable %58 Function %5
|
|
%59 = OpVariable %60 Function
|
|
%65 = OpAccessChain %64 %54 %31
|
|
OpBranch %66
|
|
%66 = OpLabel
|
|
%67 = OpLoad %4 %57
|
|
%68 = OpISub %4 %67 %6
|
|
OpStore %57 %68
|
|
%70 = OpAccessChain %69 %65 %31
|
|
%71 = OpLoad %42 %70
|
|
%73 = OpAccessChain %72 %65 %31 %31
|
|
%74 = OpLoad %36 %73
|
|
%75 = OpLoad %4 %57
|
|
%76 = OpAccessChain %72 %65 %31 %75
|
|
%77 = OpLoad %36 %76
|
|
%79 = OpAccessChain %78 %65 %31 %31 %29
|
|
%80 = OpLoad %9 %79
|
|
%81 = OpLoad %4 %57
|
|
%82 = OpAccessChain %78 %65 %31 %31 %81
|
|
%83 = OpLoad %9 %82
|
|
%84 = OpLoad %4 %57
|
|
%85 = OpAccessChain %78 %65 %31 %84 %29
|
|
%86 = OpLoad %9 %85
|
|
%87 = OpLoad %4 %57
|
|
%88 = OpLoad %4 %57
|
|
%89 = OpAccessChain %78 %65 %31 %87 %88
|
|
%90 = OpLoad %9 %89
|
|
%91 = OpCompositeConstruct %36 %8 %8
|
|
%92 = OpCompositeConstruct %36 %10 %10
|
|
%93 = OpCompositeConstruct %36 %11 %11
|
|
%94 = OpCompositeConstruct %42 %91 %92 %93
|
|
%95 = OpCompositeConstruct %43 %94
|
|
OpStore %59 %95
|
|
%96 = OpLoad %4 %57
|
|
%97 = OpIAdd %4 %96 %6
|
|
OpStore %57 %97
|
|
%99 = OpCompositeConstruct %36 %12 %12
|
|
%100 = OpCompositeConstruct %36 %13 %13
|
|
%101 = OpCompositeConstruct %36 %14 %14
|
|
%102 = OpCompositeConstruct %42 %99 %100 %101
|
|
%103 = OpAccessChain %98 %59 %31
|
|
OpStore %103 %102
|
|
%105 = OpCompositeConstruct %36 %15 %15
|
|
%106 = OpAccessChain %104 %59 %31 %31
|
|
OpStore %106 %105
|
|
%107 = OpLoad %4 %57
|
|
%108 = OpCompositeConstruct %36 %16 %16
|
|
%109 = OpAccessChain %104 %59 %31 %107
|
|
OpStore %109 %108
|
|
%111 = OpAccessChain %110 %59 %31 %31 %29
|
|
OpStore %111 %17
|
|
%112 = OpLoad %4 %57
|
|
%113 = OpAccessChain %110 %59 %31 %31 %112
|
|
OpStore %113 %18
|
|
%114 = OpLoad %4 %57
|
|
%115 = OpAccessChain %110 %59 %31 %114 %29
|
|
OpStore %115 %19
|
|
%116 = OpLoad %4 %57
|
|
%117 = OpLoad %4 %57
|
|
%118 = OpAccessChain %110 %59 %31 %116 %117
|
|
OpStore %118 %20
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%121 = OpFunction %9 None %122
|
|
%120 = OpFunctionParameter %44
|
|
%119 = OpLabel
|
|
OpBranch %123
|
|
%123 = OpLabel
|
|
%124 = OpLoad %9 %120
|
|
OpReturnValue %124
|
|
OpFunctionEnd
|
|
%127 = OpFunction %9 None %128
|
|
%126 = OpFunctionParameter %46
|
|
%125 = OpLabel
|
|
OpBranch %129
|
|
%129 = OpLabel
|
|
%130 = OpCompositeExtract %45 %126 4
|
|
%131 = OpCompositeExtract %9 %130 9
|
|
OpReturnValue %131
|
|
OpFunctionEnd
|
|
%141 = OpFunction %2 None %63
|
|
%135 = OpLabel
|
|
%132 = OpVariable %44 Function %24
|
|
%133 = OpVariable %134 Function
|
|
%138 = OpLoad %26 %136
|
|
%142 = OpAccessChain %64 %54 %31
|
|
OpBranch %143
|
|
%143 = OpLabel
|
|
%144 = OpLoad %9 %132
|
|
OpStore %132 %8
|
|
%145 = OpFunctionCall %2 %62
|
|
%147 = OpAccessChain %146 %52 %31
|
|
%148 = OpLoad %33 %147
|
|
%150 = OpAccessChain %149 %52 %25
|
|
%151 = OpLoad %39 %150
|
|
%154 = OpAccessChain %153 %52 %31 %25 %31
|
|
%155 = OpLoad %9 %154
|
|
%157 = OpArrayLength %26 %52 4
|
|
%158 = OpISub %26 %157 %27
|
|
%161 = OpAccessChain %48 %52 %160 %158 %31
|
|
%162 = OpLoad %4 %161
|
|
%163 = OpFunctionCall %9 %121 %132
|
|
%164 = OpConvertFToS %4 %155
|
|
%165 = OpCompositeConstruct %49 %162 %164 %28 %23 %22
|
|
OpStore %133 %165
|
|
%166 = OpIAdd %26 %138 %29
|
|
%167 = OpAccessChain %58 %133 %166
|
|
OpStore %167 %30
|
|
%168 = OpAccessChain %58 %133 %138
|
|
%169 = OpLoad %4 %168
|
|
%170 = OpFunctionCall %9 %127 %51
|
|
%172 = OpCompositeConstruct %171 %169 %169 %169 %169
|
|
%173 = OpConvertSToF %47 %172
|
|
%174 = OpMatrixTimesVector %34 %148 %173
|
|
%175 = OpCompositeConstruct %47 %174 %10
|
|
OpStore %139 %175
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%178 = OpFunction %2 None %63
|
|
%176 = OpLabel
|
|
OpBranch %179
|
|
%179 = OpLabel
|
|
%180 = OpAccessChain %153 %52 %31 %29 %27
|
|
OpStore %180 %8
|
|
%181 = OpCompositeConstruct %34 %24 %24 %24
|
|
%182 = OpCompositeConstruct %34 %8 %8 %8
|
|
%183 = OpCompositeConstruct %34 %10 %10 %10
|
|
%184 = OpCompositeConstruct %34 %11 %11 %11
|
|
%185 = OpCompositeConstruct %33 %181 %182 %183 %184
|
|
%186 = OpAccessChain %146 %52 %31
|
|
OpStore %186 %185
|
|
%187 = OpCompositeConstruct %38 %31 %31
|
|
%188 = OpCompositeConstruct %38 %29 %29
|
|
%189 = OpCompositeConstruct %39 %187 %188
|
|
%190 = OpAccessChain %149 %52 %25
|
|
OpStore %190 %189
|
|
%191 = OpAccessChain %48 %52 %160 %29 %31
|
|
OpStore %191 %6
|
|
%192 = OpCompositeConstruct %47 %24 %24 %24 %24
|
|
OpStore %177 %192
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%195 = OpFunction %2 None %63
|
|
%194 = OpLabel
|
|
%193 = OpVariable %58 Function
|
|
OpBranch %196
|
|
%196 = OpLabel
|
|
%198 = OpAccessChain %197 %52 %27
|
|
%199 = OpAtomicLoad %4 %198 %6 %200
|
|
%202 = OpAccessChain %197 %52 %27
|
|
%201 = OpAtomicIAdd %4 %202 %6 %200 %22
|
|
OpStore %193 %201
|
|
%204 = OpAccessChain %197 %52 %27
|
|
%203 = OpAtomicISub %4 %204 %6 %200 %22
|
|
OpStore %193 %203
|
|
%206 = OpAccessChain %197 %52 %27
|
|
%205 = OpAtomicAnd %4 %206 %6 %200 %22
|
|
OpStore %193 %205
|
|
%208 = OpAccessChain %197 %52 %27
|
|
%207 = OpAtomicOr %4 %208 %6 %200 %22
|
|
OpStore %193 %207
|
|
%210 = OpAccessChain %197 %52 %27
|
|
%209 = OpAtomicXor %4 %210 %6 %200 %22
|
|
OpStore %193 %209
|
|
%212 = OpAccessChain %197 %52 %27
|
|
%211 = OpAtomicSMin %4 %212 %6 %200 %22
|
|
OpStore %193 %211
|
|
%214 = OpAccessChain %197 %52 %27
|
|
%213 = OpAtomicSMax %4 %214 %6 %200 %22
|
|
OpStore %193 %213
|
|
%216 = OpAccessChain %197 %52 %27
|
|
%215 = OpAtomicExchange %4 %216 %6 %200 %22
|
|
OpStore %193 %215
|
|
%217 = OpAccessChain %197 %52 %27
|
|
OpAtomicStore %217 %6 %200 %199
|
|
OpReturn
|
|
OpFunctionEnd |