1hlsl.structbuffer.incdec.frag
2// Module Version 10000
3// Generated by (magic number): 8000b
4// Id's are bound by 70
5
6                              Capability Shader
7                              Extension  "SPV_GOOGLE_hlsl_functionality1"
8               1:             ExtInstImport  "GLSL.std.450"
9                              MemoryModel Logical GLSL450
10                              EntryPoint Fragment 4  "main" 63 66
11                              ExecutionMode 4 OriginUpperLeft
12                              Source HLSL 500
13                              Name 4  "main"
14                              Name 12  "@main(u1;"
15                              Name 11  "pos"
16                              Name 16  "result"
17                              Name 20  "sbuf_rw_i"
18                              MemberName 20(sbuf_rw_i) 0  "@data"
19                              Name 22  "sbuf_rw_i"
20                              Name 26  "sbuf_rw_d"
21                              Name 27  "sbuf_rw_nocounter"
22                              Name 33  "c1"
23                              Name 34  "sbuf_rw_i@count"
24                              MemberName 34(sbuf_rw_i@count) 0  "@count"
25                              Name 36  "sbuf_rw_i@count"
26                              Name 41  "c2"
27                              Name 42  "sbuf_rw_d@count"
28                              Name 61  "pos"
29                              Name 63  "pos"
30                              Name 66  "@entryPointOutput"
31                              Name 67  "param"
32                              Decorate 19 ArrayStride 16
33                              Decorate 20(sbuf_rw_i) BufferBlock
34                              MemberDecorate 20(sbuf_rw_i) 0 Offset 0
35                              Decorate 22(sbuf_rw_i) Binding 0
36                              Decorate 22(sbuf_rw_i) DescriptorSet 0
37                              DecorateId 22(sbuf_rw_i) DecorationHlslCounterBufferGOOGLE 36(sbuf_rw_i@count)
38                              Decorate 26(sbuf_rw_d) Binding 0
39                              Decorate 26(sbuf_rw_d) DescriptorSet 0
40                              DecorateId 26(sbuf_rw_d) DecorationHlslCounterBufferGOOGLE 42(sbuf_rw_d@count)
41                              Decorate 27(sbuf_rw_nocounter) Binding 0
42                              Decorate 27(sbuf_rw_nocounter) DescriptorSet 0
43                              Decorate 34(sbuf_rw_i@count) BufferBlock
44                              MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0
45                              Decorate 36(sbuf_rw_i@count) Binding 0
46                              Decorate 36(sbuf_rw_i@count) DescriptorSet 0
47                              Decorate 42(sbuf_rw_d@count) Binding 0
48                              Decorate 42(sbuf_rw_d@count) DescriptorSet 0
49                              Decorate 63(pos) Flat
50                              Decorate 63(pos) Location 0
51                              DecorateStringGOOGLE 63(pos) DecorationHlslSemanticGOOGLE  "FOO"
52                              Decorate 66(@entryPointOutput) Location 0
53                              DecorateStringGOOGLE 66(@entryPointOutput) DecorationHlslSemanticGOOGLE  "SV_TARGET0"
54               2:             TypeVoid
55               3:             TypeFunction 2
56               6:             TypeInt 32 0
57               7:             TypePointer Function 6(int)
58               8:             TypeFloat 32
59               9:             TypeVector 8(float) 4
60              10:             TypeFunction 9(fvec4) 7(ptr)
61              14:             TypeVector 6(int) 4
62              15:             TypePointer Function 14(ivec4)
63              17:      6(int) Constant 0
64              18:   14(ivec4) ConstantComposite 17 17 17 17
65              19:             TypeRuntimeArray 14(ivec4)
66   20(sbuf_rw_i):             TypeStruct 19
67              21:             TypePointer Uniform 20(sbuf_rw_i)
68   22(sbuf_rw_i):     21(ptr) Variable Uniform
69              23:             TypeInt 32 1
70              24:     23(int) Constant 0
71              25:     23(int) Constant 7
72   26(sbuf_rw_d):     21(ptr) Variable Uniform
7327(sbuf_rw_nocounter):     21(ptr) Variable Uniform
74              28:     23(int) Constant 5
75              29:      6(int) Constant 2
76              30:   14(ivec4) ConstantComposite 29 29 29 29
77              31:             TypePointer Uniform 14(ivec4)
7834(sbuf_rw_i@count):             TypeStruct 6(int)
79              35:             TypePointer Uniform 34(sbuf_rw_i@count)
8036(sbuf_rw_i@count):     35(ptr) Variable Uniform
81              37:             TypePointer Uniform 6(int)
82              39:      6(int) Constant 1
8342(sbuf_rw_d@count):     35(ptr) Variable Uniform
84              44:      6(int) Constant 4294967295
85              46:     23(int) Constant 4294967295
86              62:             TypePointer Input 6(int)
87         63(pos):     62(ptr) Variable Input
88              65:             TypePointer Output 9(fvec4)
8966(@entryPointOutput):     65(ptr) Variable Output
90         4(main):           2 Function None 3
91               5:             Label
92         61(pos):      7(ptr) Variable Function
93       67(param):      7(ptr) Variable Function
94              64:      6(int) Load 63(pos)
95                              Store 61(pos) 64
96              68:      6(int) Load 61(pos)
97                              Store 67(param) 68
98              69:    9(fvec4) FunctionCall 12(@main(u1;) 67(param)
99                              Store 66(@entryPointOutput) 69
100                              Return
101                              FunctionEnd
102   12(@main(u1;):    9(fvec4) Function None 10
103         11(pos):      7(ptr) FunctionParameter
104              13:             Label
105      16(result):     15(ptr) Variable Function
106          33(c1):      7(ptr) Variable Function
107          41(c2):      7(ptr) Variable Function
108                              Store 16(result) 18
109              32:     31(ptr) AccessChain 27(sbuf_rw_nocounter) 24 28
110                              Store 32 30
111              38:     37(ptr) AccessChain 36(sbuf_rw_i@count) 24
112              40:      6(int) AtomicIAdd 38 39 17 39
113                              Store 33(c1) 40
114              43:     37(ptr) AccessChain 42(sbuf_rw_d@count) 24
115              45:      6(int) AtomicIAdd 43 39 17 44
116              47:      6(int) IAdd 45 46
117                              Store 41(c2) 47
118              48:      7(ptr) AccessChain 16(result) 17
119              49:      6(int) Load 48
120              50:    8(float) ConvertUToF 49
121              51:      7(ptr) AccessChain 16(result) 39
122              52:      6(int) Load 51
123              53:    8(float) ConvertUToF 52
124              54:      6(int) Load 33(c1)
125              55:    8(float) ConvertUToF 54
126              56:      6(int) Load 41(c2)
127              57:    8(float) ConvertUToF 56
128              58:    9(fvec4) CompositeConstruct 50 53 55 57
129                              ReturnValue 58
130                              FunctionEnd
131