summaryrefslogtreecommitdiff
path: root/tests/compute/half-texture.slang.expected
blob: 8d1a6bef4d9730b762d57d09ccc48a93cf4115a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
result code = 0
standard error = {
}
standard output = {
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 129

                              Capability Shader
                              Capability Float16
                              Capability StorageImageExtendedFormats
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 13
                              ExecutionMode 4 LocalSize 4 4 1
                              Source GLSL 450
                              SourceExtension  "GL_EXT_shader_16bit_storage"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types"
                              SourceExtension  "GL_GOOGLE_cpp_style_line_directive"
                              Name 4  "main"
                              Name 9  "pos_0"
                              Name 13  "gl_GlobalInvocationID"
                              Name 22  "pos2_0"
                              Name 36  "h_0"
                              Name 40  "halfTexture_0"
                              Name 51  "h2_0"
                              Name 54  "halfTexture2_0"
                              Name 65  "h4_0"
                              Name 68  "halfTexture4_0"
                              Name 108  "index_0"
                              Name 117  "_S1"
                              MemberName 117(_S1) 0  "_data"
                              Name 119  "outputBuffer_0"
                              Decorate 13(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
                              Decorate 40(halfTexture_0) DescriptorSet 0
                              Decorate 40(halfTexture_0) Binding 1
                              Decorate 54(halfTexture2_0) DescriptorSet 0
                              Decorate 54(halfTexture2_0) Binding 2
                              Decorate 68(halfTexture4_0) DescriptorSet 0
                              Decorate 68(halfTexture4_0) Binding 3
                              Decorate 116 ArrayStride 4
                              MemberDecorate 117(_S1) 0 Offset 0
                              Decorate 117(_S1) BufferBlock
                              Decorate 119(outputBuffer_0) DescriptorSet 0
                              Decorate 119(outputBuffer_0) Binding 0
                              Decorate 128 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeVector 6(int) 2
               8:             TypePointer Function 7(ivec2)
              10:             TypeInt 32 0
              11:             TypeVector 10(int) 3
              12:             TypePointer Input 11(ivec3)
13(gl_GlobalInvocationID):     12(ptr) Variable Input
              19:             TypeVector 10(int) 2
              23:      6(int) Constant 3
              24:     10(int) Constant 1
              25:             TypePointer Function 6(int)
              29:     10(int) Constant 0
              34:             TypeFloat 16
              35:             TypePointer Function 34(float16_t)
              37:             TypeFloat 32
              38:             TypeImage 37(float) 2D nonsampled format:R16f
              39:             TypePointer UniformConstant 38
40(halfTexture_0):     39(ptr) Variable UniformConstant
              45:             TypeVector 37(float) 4
              49:             TypeVector 34(float16_t) 2
              50:             TypePointer Function 49(f16vec2)
              52:             TypeImage 37(float) 2D nonsampled format:Rg16f
              53:             TypePointer UniformConstant 52
54(halfTexture2_0):     53(ptr) Variable UniformConstant
              60:             TypeVector 37(float) 2
              63:             TypeVector 34(float16_t) 4
              64:             TypePointer Function 63(f16vec4)
              66:             TypeImage 37(float) 2D nonsampled format:Rgba16f
              67:             TypePointer UniformConstant 66
68(halfTexture4_0):     67(ptr) Variable UniformConstant
              84:34(float16_t) Constant 0
             113:      6(int) Constant 4
             116:             TypeRuntimeArray 6(int)
        117(_S1):             TypeStruct 116
             118:             TypePointer Uniform 117(_S1)
119(outputBuffer_0):    118(ptr) Variable Uniform
             120:      6(int) Constant 0
             124:             TypePointer Uniform 6(int)
             127:     10(int) Constant 4
             128:   11(ivec3) ConstantComposite 127 127 24
         4(main):           2 Function None 3
               5:             Label
        9(pos_0):      8(ptr) Variable Function
      22(pos2_0):      8(ptr) Variable Function
         36(h_0):     35(ptr) Variable Function
        51(h2_0):     50(ptr) Variable Function
        65(h4_0):     64(ptr) Variable Function
    108(index_0):     25(ptr) Variable Function
              14:   11(ivec3) Load 13(gl_GlobalInvocationID)
              15:     10(int) CompositeExtract 14 0
              16:     10(int) CompositeExtract 14 1
              17:     10(int) CompositeExtract 14 2
              18:   11(ivec3) CompositeConstruct 15 16 17
              20:   19(ivec2) VectorShuffle 18 18 0 1
              21:    7(ivec2) Bitcast 20
                              Store 9(pos_0) 21
              26:     25(ptr) AccessChain 9(pos_0) 24
              27:      6(int) Load 26
              28:      6(int) ISub 23 27
              30:     25(ptr) AccessChain 9(pos_0) 29
              31:      6(int) Load 30
              32:      6(int) ISub 23 31
              33:    7(ivec2) CompositeConstruct 28 32
                              Store 22(pos2_0) 33
              41:          38 Load 40(halfTexture_0)
              42:    7(ivec2) Load 22(pos2_0)
              43:   19(ivec2) Bitcast 42
              44:    7(ivec2) Bitcast 43
              46:   45(fvec4) ImageRead 41 44
              47:   37(float) CompositeExtract 46 0
              48:34(float16_t) FConvert 47
                              Store 36(h_0) 48
              55:          52 Load 54(halfTexture2_0)
              56:    7(ivec2) Load 22(pos2_0)
              57:   19(ivec2) Bitcast 56
              58:    7(ivec2) Bitcast 57
              59:   45(fvec4) ImageRead 55 58
              61:   60(fvec2) VectorShuffle 59 59 0 1
              62: 49(f16vec2) FConvert 61
                              Store 51(h2_0) 62
              69:          66 Load 68(halfTexture4_0)
              70:    7(ivec2) Load 22(pos2_0)
              71:   19(ivec2) Bitcast 70
              72:    7(ivec2) Bitcast 71
              73:   45(fvec4) ImageRead 69 72
              74: 63(f16vec4) FConvert 73
                              Store 65(h4_0) 74
              75:          38 Load 40(halfTexture_0)
              76:    7(ivec2) Load 9(pos_0)
              77:   19(ivec2) Bitcast 76
              78:    7(ivec2) Bitcast 77
              79:     35(ptr) AccessChain 51(h2_0) 29
              80:34(float16_t) Load 79
              81:     35(ptr) AccessChain 51(h2_0) 24
              82:34(float16_t) Load 81
              83:34(float16_t) FAdd 80 82
              85: 63(f16vec4) CompositeConstruct 83 84 84 84
              86:   45(fvec4) FConvert 85
                              ImageWrite 75 78 86
              87:          52 Load 54(halfTexture2_0)
              88:    7(ivec2) Load 9(pos_0)
              89:   19(ivec2) Bitcast 88
              90:    7(ivec2) Bitcast 89
              91: 63(f16vec4) Load 65(h4_0)
              92: 49(f16vec2) VectorShuffle 91 91 0 1
              93:34(float16_t) CompositeExtract 92 0
              94:34(float16_t) CompositeExtract 92 1
              95: 63(f16vec4) CompositeConstruct 93 94 84 84
              96:   45(fvec4) FConvert 95
                              ImageWrite 87 90 96
              97:          66 Load 68(halfTexture4_0)
              98:    7(ivec2) Load 9(pos_0)
              99:   19(ivec2) Bitcast 98
             100:    7(ivec2) Bitcast 99
             101: 49(f16vec2) Load 51(h2_0)
             102:34(float16_t) Load 36(h_0)
             103:34(float16_t) Load 36(h_0)
             104:34(float16_t) CompositeExtract 101 0
             105:34(float16_t) CompositeExtract 101 1
             106: 63(f16vec4) CompositeConstruct 104 105 102 103
             107:   45(fvec4) FConvert 106
                              ImageWrite 97 100 107
             109:     25(ptr) AccessChain 9(pos_0) 29
             110:      6(int) Load 109
             111:     25(ptr) AccessChain 9(pos_0) 24
             112:      6(int) Load 111
             114:      6(int) IMul 112 113
             115:      6(int) IAdd 110 114
                              Store 108(index_0) 115
             121:      6(int) Load 108(index_0)
             122:     10(int) Bitcast 121
             123:      6(int) Load 108(index_0)
             125:    124(ptr) AccessChain 119(outputBuffer_0) 120 122
                              Store 125 123
                              Return
                              FunctionEnd
}