1; SPIR-V
2; Version: 1.0
3; Generator: Wine VKD3D Shader Compiler; 0
4; Bound: 43
5; Schema: 0
6               OpCapability Shader
7               OpCapability SampledBuffer
8               OpCapability ImageBuffer
9               OpMemoryModel Logical GLSL450
10               OpEntryPoint GLCompute %3 "main" %15
11               OpExecutionMode %3 LocalSize 4 1 1
12               OpName %3 "main"
13               OpName %8 "u0"
14               OpName %9 "u0_counters"
15               OpMemberName %9 0 "c"
16               OpName %11 "u0_counter"
17               OpName %15 "vThreadID"
18               OpName %19 "r0"
19               OpDecorate %8 DescriptorSet 0
20               OpDecorate %8 Binding 0
21               OpMemberDecorate %9 0 Offset 0
22               OpDecorate %9 BufferBlock
23               OpDecorate %11 DescriptorSet 1
24               OpDecorate %11 Binding 1
25               OpDecorate %15 BuiltIn GlobalInvocationId
26          %1 = OpTypeVoid
27          %2 = OpTypeFunction %1
28          %5 = OpTypeInt 32 0
29          %6 = OpTypeImage %5 Buffer 0 0 0 2 R32ui
30          %7 = OpTypePointer UniformConstant %6
31          %8 = OpVariable %7 UniformConstant
32          %9 = OpTypeStruct %5
33         %10 = OpTypePointer Uniform %9
34         %11 = OpVariable %10 Uniform
35         %12 = OpTypeInt 32 1
36         %13 = OpTypeVector %12 3
37         %14 = OpTypePointer Input %13
38         %15 = OpVariable %14 Input
39         %16 = OpTypeFloat 32
40         %17 = OpTypeVector %16 4
41         %18 = OpTypePointer Function %17
42         %20 = OpTypePointer Uniform %5
43         %21 = OpConstant %5 0
44         %23 = OpConstant %5 1
45         %26 = OpTypePointer Function %16
46         %33 = OpConstant %12 0
47         %34 = OpConstant %5 2
48         %37 = OpTypePointer Input %12
49         %41 = OpTypeVector %5 4
50          %3 = OpFunction %1 None %2
51          %4 = OpLabel
52         %19 = OpVariable %18 Function
53         %22 = OpAccessChain %20 %11 %21
54         %24 = OpAtomicIIncrement %5 %22 %23 %21
55         %25 = OpBitcast %16 %24
56         %27 = OpInBoundsAccessChain %26 %19 %21
57               OpStore %27 %25
58         %28 = OpLoad %6 %8
59         %29 = OpInBoundsAccessChain %26 %19 %21
60         %30 = OpLoad %16 %29
61         %31 = OpBitcast %12 %30
62         %32 = OpIMul %5 %31 %23
63         %35 = OpShiftRightLogical %5 %33 %34
64         %36 = OpIAdd %5 %32 %35
65         %38 = OpInBoundsAccessChain %37 %15 %21
66         %39 = OpLoad %12 %38
67         %40 = OpBitcast %5 %39
68         %42 = OpCompositeConstruct %41 %40 %40 %40 %40
69               OpImageWrite %28 %36 %42
70               OpReturn
71               OpFunctionEnd
72