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 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330
|
hlsl.structbuffer.floatidx.comp
Shader version: 500
local_size = (1, 1, 1)
0:? Sequence
0:13 Function Definition: @main(vu3; ( temp void)
0:13 Function Parameters:
0:13 'nThreadId' ( in 3-component vector of uint)
0:? Sequence
0:14 Sequence
0:14 move second child to first child ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:14 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:14 indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
0:14 Constant:
0:14 0 (const uint)
0:14 add ( temp uint)
0:14 AtomicAdd ( temp uint)
0:14 @count: direct index for structure ( temp uint)
0:14 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 4294967295 (const uint)
0:14 Constant:
0:14 -1 (const int)
0:15 Sequence
0:15 move second child to first child ( temp 2-component vector of float)
0:15 'coord' ( temp 2-component vector of float)
0:15 Convert uint to float ( temp 2-component vector of float)
0:15 vector swizzle ( temp 2-component vector of uint)
0:15 threadId: direct index for structure ( temp 2-component vector of uint)
0:15 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:15 Constant:
0:15 1 (const int)
0:15 Sequence
0:15 Constant:
0:15 0 (const int)
0:15 Constant:
0:15 1 (const int)
0:16 Sequence
0:16 move second child to first child ( temp 4-component vector of float)
0:16 'storeTemp' ( temp 4-component vector of float)
0:16 color: direct index for structure ( temp 4-component vector of float)
0:16 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:16 Constant:
0:16 0 (const int)
0:16 imageStore ( temp void)
0:16 'outtx' (layout( rgba32f) uniform image2D)
0:16 Convert float to uint ( temp 2-component vector of uint)
0:16 'coord' ( temp 2-component vector of float)
0:16 'storeTemp' ( temp 4-component vector of float)
0:16 'storeTemp' ( temp 4-component vector of float)
0:18 move second child to first child ( temp 4-component vector of float)
0:18 indirect index (layout( row_major std430) buffer 4-component vector of float)
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:18 Constant:
0:18 0 (const uint)
0:18 Convert float to uint ( temp uint)
0:18 direct index ( temp float)
0:18 'coord' ( temp 2-component vector of float)
0:18 Constant:
0:18 0 (const int)
0:18 indirect index (layout( row_major std430) buffer 4-component vector of float)
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:18 Constant:
0:18 0 (const uint)
0:18 Convert float to uint ( temp uint)
0:18 direct index ( temp float)
0:18 'coord' ( temp 2-component vector of float)
0:18 Constant:
0:18 1 (const int)
0:13 Function Definition: main( ( temp void)
0:13 Function Parameters:
0:? Sequence
0:13 move second child to first child ( temp 3-component vector of uint)
0:? 'nThreadId' ( temp 3-component vector of uint)
0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID)
0:13 Function Call: @main(vu3; ( temp void)
0:? 'nThreadId' ( temp 3-component vector of uint)
0:? Linker Objects
0:? 'outtx' (layout( rgba32f) uniform image2D)
0:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
0:? 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID)
Linked compute stage:
Shader version: 500
local_size = (1, 1, 1)
0:? Sequence
0:13 Function Definition: @main(vu3; ( temp void)
0:13 Function Parameters:
0:13 'nThreadId' ( in 3-component vector of uint)
0:? Sequence
0:14 Sequence
0:14 move second child to first child ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:14 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:14 indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
0:14 Constant:
0:14 0 (const uint)
0:14 add ( temp uint)
0:14 AtomicAdd ( temp uint)
0:14 @count: direct index for structure ( temp uint)
0:14 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 4294967295 (const uint)
0:14 Constant:
0:14 -1 (const int)
0:15 Sequence
0:15 move second child to first child ( temp 2-component vector of float)
0:15 'coord' ( temp 2-component vector of float)
0:15 Convert uint to float ( temp 2-component vector of float)
0:15 vector swizzle ( temp 2-component vector of uint)
0:15 threadId: direct index for structure ( temp 2-component vector of uint)
0:15 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:15 Constant:
0:15 1 (const int)
0:15 Sequence
0:15 Constant:
0:15 0 (const int)
0:15 Constant:
0:15 1 (const int)
0:16 Sequence
0:16 move second child to first child ( temp 4-component vector of float)
0:16 'storeTemp' ( temp 4-component vector of float)
0:16 color: direct index for structure ( temp 4-component vector of float)
0:16 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId})
0:16 Constant:
0:16 0 (const int)
0:16 imageStore ( temp void)
0:16 'outtx' (layout( rgba32f) uniform image2D)
0:16 Convert float to uint ( temp 2-component vector of uint)
0:16 'coord' ( temp 2-component vector of float)
0:16 'storeTemp' ( temp 4-component vector of float)
0:16 'storeTemp' ( temp 4-component vector of float)
0:18 move second child to first child ( temp 4-component vector of float)
0:18 indirect index (layout( row_major std430) buffer 4-component vector of float)
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:18 Constant:
0:18 0 (const uint)
0:18 Convert float to uint ( temp uint)
0:18 direct index ( temp float)
0:18 'coord' ( temp 2-component vector of float)
0:18 Constant:
0:18 0 (const int)
0:18 indirect index (layout( row_major std430) buffer 4-component vector of float)
0:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float)
0:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:18 Constant:
0:18 0 (const uint)
0:18 Convert float to uint ( temp uint)
0:18 direct index ( temp float)
0:18 'coord' ( temp 2-component vector of float)
0:18 Constant:
0:18 1 (const int)
0:13 Function Definition: main( ( temp void)
0:13 Function Parameters:
0:? Sequence
0:13 move second child to first child ( temp 3-component vector of uint)
0:? 'nThreadId' ( temp 3-component vector of uint)
0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID)
0:13 Function Call: @main(vu3; ( temp void)
0:? 'nThreadId' ( temp 3-component vector of uint)
0:? Linker Objects
0:? 'outtx' (layout( rgba32f) uniform image2D)
0:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data})
0:? 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count})
0:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data})
0:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 85
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 80
ExecutionMode 4 LocalSize 1 1 1
Source HLSL 500
Name 4 "main"
Name 11 "@main(vu3;"
Name 10 "nThreadId"
Name 16 "sb_t"
MemberName 16(sb_t) 0 "color"
MemberName 16(sb_t) 1 "threadId"
Name 18 "data"
Name 19 "sb_t"
MemberName 19(sb_t) 0 "color"
MemberName 19(sb_t) 1 "threadId"
Name 21 "csb"
MemberName 21(csb) 0 "@data"
Name 23 "csb"
Name 26 "csb@count"
MemberName 26(csb@count) 0 "@count"
Name 28 "csb@count"
Name 49 "coord"
Name 53 "storeTemp"
Name 58 "outtx"
Name 64 "rwsb"
MemberName 64(rwsb) 0 "@data"
Name 66 "rwsb"
Name 78 "nThreadId"
Name 80 "nThreadId"
Name 82 "param"
MemberDecorate 19(sb_t) 0 Offset 0
MemberDecorate 19(sb_t) 1 Offset 16
Decorate 20 ArrayStride 32
Decorate 21(csb) BufferBlock
MemberDecorate 21(csb) 0 Offset 0
Decorate 23(csb) Binding 1
Decorate 23(csb) DescriptorSet 0
Decorate 26(csb@count) BufferBlock
MemberDecorate 26(csb@count) 0 Offset 0
Decorate 28(csb@count) Binding 2
Decorate 28(csb@count) DescriptorSet 0
Decorate 58(outtx) Binding 0
Decorate 58(outtx) DescriptorSet 0
Decorate 63 ArrayStride 16
Decorate 64(rwsb) BufferBlock
MemberDecorate 64(rwsb) 0 Offset 0
Decorate 66(rwsb) Binding 3
Decorate 66(rwsb) DescriptorSet 0
Decorate 80(nThreadId) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 3
8: TypePointer Function 7(ivec3)
9: TypeFunction 2 8(ptr)
13: TypeFloat 32
14: TypeVector 13(float) 4
15: TypeVector 6(int) 2
16(sb_t): TypeStruct 14(fvec4) 15(ivec2)
17: TypePointer Function 16(sb_t)
19(sb_t): TypeStruct 14(fvec4) 15(ivec2)
20: TypeRuntimeArray 19(sb_t)
21(csb): TypeStruct 20
22: TypePointer Uniform 21(csb)
23(csb): 22(ptr) Variable Uniform
24: TypeInt 32 1
25: 24(int) Constant 0
26(csb@count): TypeStruct 6(int)
27: TypePointer Uniform 26(csb@count)
28(csb@count): 27(ptr) Variable Uniform
29: TypePointer Uniform 6(int)
31: 6(int) Constant 4294967295
32: 6(int) Constant 1
33: 6(int) Constant 0
35: 24(int) Constant 4294967295
37: TypePointer Uniform 19(sb_t)
41: TypePointer Function 14(fvec4)
44: 24(int) Constant 1
45: TypePointer Function 15(ivec2)
47: TypeVector 13(float) 2
48: TypePointer Function 47(fvec2)
56: TypeImage 13(float) 2D nonsampled format:Rgba32f
57: TypePointer UniformConstant 56
58(outtx): 57(ptr) Variable UniformConstant
63: TypeRuntimeArray 14(fvec4)
64(rwsb): TypeStruct 63
65: TypePointer Uniform 64(rwsb)
66(rwsb): 65(ptr) Variable Uniform
67: TypePointer Function 13(float)
74: TypePointer Uniform 14(fvec4)
79: TypePointer Input 7(ivec3)
80(nThreadId): 79(ptr) Variable Input
4(main): 2 Function None 3
5: Label
78(nThreadId): 8(ptr) Variable Function
82(param): 8(ptr) Variable Function
81: 7(ivec3) Load 80(nThreadId)
Store 78(nThreadId) 81
83: 7(ivec3) Load 78(nThreadId)
Store 82(param) 83
84: 2 FunctionCall 11(@main(vu3;) 82(param)
Return
FunctionEnd
11(@main(vu3;): 2 Function None 9
10(nThreadId): 8(ptr) FunctionParameter
12: Label
18(data): 17(ptr) Variable Function
49(coord): 48(ptr) Variable Function
53(storeTemp): 41(ptr) Variable Function
30: 29(ptr) AccessChain 28(csb@count) 25
34: 6(int) AtomicIAdd 30 32 33 31
36: 6(int) IAdd 34 35
38: 37(ptr) AccessChain 23(csb) 25 36
39: 19(sb_t) Load 38
40: 14(fvec4) CompositeExtract 39 0
42: 41(ptr) AccessChain 18(data) 25
Store 42 40
43: 15(ivec2) CompositeExtract 39 1
46: 45(ptr) AccessChain 18(data) 44
Store 46 43
50: 45(ptr) AccessChain 18(data) 44
51: 15(ivec2) Load 50
52: 47(fvec2) ConvertUToF 51
Store 49(coord) 52
54: 41(ptr) AccessChain 18(data) 25
55: 14(fvec4) Load 54
Store 53(storeTemp) 55
59: 56 Load 58(outtx)
60: 47(fvec2) Load 49(coord)
61: 15(ivec2) ConvertFToU 60
62: 14(fvec4) Load 53(storeTemp)
ImageWrite 59 61 62
68: 67(ptr) AccessChain 49(coord) 33
69: 13(float) Load 68
70: 6(int) ConvertFToU 69
71: 67(ptr) AccessChain 49(coord) 32
72: 13(float) Load 71
73: 6(int) ConvertFToU 72
75: 74(ptr) AccessChain 66(rwsb) 25 73
76: 14(fvec4) Load 75
77: 74(ptr) AccessChain 66(rwsb) 25 70
Store 77 76
Return
FunctionEnd
|