WIP: HLSL: add structuredbuffer pass by reference in fn params
This PR adds the ability to pass structuredbuffer types by reference as function parameters. It also changes the representation of structuredbuffers from anonymous blocks with named members, to named blocks with pseudonymous members. That should not be an externally visible change.
This commit is contained in:
@@ -8,8 +8,8 @@ gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:8 AtomicAdd (temp void)
|
||||
0:8 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:8 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:8 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:8 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:8 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 right-shift (temp int)
|
||||
@@ -23,8 +23,8 @@ gl_FragCoord origin is upper left
|
||||
0:9 'u' (temp uint)
|
||||
0:9 AtomicAdd (temp uint)
|
||||
0:9 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:9 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:9 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:9 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 right-shift (temp int)
|
||||
@@ -36,8 +36,8 @@ gl_FragCoord origin is upper left
|
||||
0:9 1 (const int)
|
||||
0:10 AtomicAnd (temp void)
|
||||
0:10 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:10 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 right-shift (temp int)
|
||||
@@ -51,8 +51,8 @@ gl_FragCoord origin is upper left
|
||||
0:11 'u' (temp uint)
|
||||
0:11 AtomicAnd (temp uint)
|
||||
0:11 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:11 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 right-shift (temp int)
|
||||
@@ -67,8 +67,8 @@ gl_FragCoord origin is upper left
|
||||
0:12 Convert int to uint (temp uint)
|
||||
0:12 AtomicCompSwap (temp int)
|
||||
0:12 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:12 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 right-shift (temp int)
|
||||
@@ -84,8 +84,8 @@ gl_FragCoord origin is upper left
|
||||
0:14 'u' (temp uint)
|
||||
0:14 AtomicExchange (temp uint)
|
||||
0:14 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:14 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:14 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:14 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:14 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 right-shift (temp int)
|
||||
@@ -97,8 +97,8 @@ gl_FragCoord origin is upper left
|
||||
0:14 1 (const int)
|
||||
0:15 AtomicMax (temp void)
|
||||
0:15 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:15 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:15 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:15 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:15 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:15 Constant:
|
||||
0:15 0 (const uint)
|
||||
0:15 right-shift (temp int)
|
||||
@@ -112,8 +112,8 @@ gl_FragCoord origin is upper left
|
||||
0:16 'u' (temp uint)
|
||||
0:16 AtomicMax (temp uint)
|
||||
0:16 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:16 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:16 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:16 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:16 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 right-shift (temp int)
|
||||
@@ -125,8 +125,8 @@ gl_FragCoord origin is upper left
|
||||
0:16 1 (const int)
|
||||
0:17 AtomicMin (temp void)
|
||||
0:17 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:17 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:17 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:17 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:17 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 right-shift (temp int)
|
||||
@@ -140,8 +140,8 @@ gl_FragCoord origin is upper left
|
||||
0:18 'u' (temp uint)
|
||||
0:18 AtomicMin (temp uint)
|
||||
0:18 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:18 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:18 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:18 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:18 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 right-shift (temp int)
|
||||
@@ -153,8 +153,8 @@ gl_FragCoord origin is upper left
|
||||
0:18 1 (const int)
|
||||
0:19 AtomicOr (temp void)
|
||||
0:19 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:19 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:19 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:19 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:19 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 right-shift (temp int)
|
||||
@@ -168,8 +168,8 @@ gl_FragCoord origin is upper left
|
||||
0:20 'u' (temp uint)
|
||||
0:20 AtomicOr (temp uint)
|
||||
0:20 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:20 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:20 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:20 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:20 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 right-shift (temp int)
|
||||
@@ -181,8 +181,8 @@ gl_FragCoord origin is upper left
|
||||
0:20 1 (const int)
|
||||
0:21 AtomicXor (temp void)
|
||||
0:21 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:21 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:21 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:21 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:21 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:21 Constant:
|
||||
0:21 0 (const uint)
|
||||
0:21 right-shift (temp int)
|
||||
@@ -196,8 +196,8 @@ gl_FragCoord origin is upper left
|
||||
0:22 'u' (temp uint)
|
||||
0:22 AtomicXor (temp uint)
|
||||
0:22 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:22 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:22 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:22 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:22 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:22 Constant:
|
||||
0:22 0 (const uint)
|
||||
0:22 right-shift (temp int)
|
||||
@@ -211,8 +211,8 @@ gl_FragCoord origin is upper left
|
||||
0:24 Construct vec4 (temp 4-component vector of float)
|
||||
0:24 Convert uint to float (temp float)
|
||||
0:24 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:24 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:24 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:24 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:24 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:24 Constant:
|
||||
0:24 0 (const uint)
|
||||
0:24 right-shift (temp int)
|
||||
@@ -230,7 +230,7 @@ gl_FragCoord origin is upper left
|
||||
0:5 Function Call: @main(u1; (temp 4-component vector of float)
|
||||
0:? 'pos' (temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:? 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'pos' (layout(location=0 ) in uint)
|
||||
|
||||
@@ -247,8 +247,8 @@ gl_FragCoord origin is upper left
|
||||
0:? Sequence
|
||||
0:8 AtomicAdd (temp void)
|
||||
0:8 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:8 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:8 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:8 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:8 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:8 Constant:
|
||||
0:8 0 (const uint)
|
||||
0:8 right-shift (temp int)
|
||||
@@ -262,8 +262,8 @@ gl_FragCoord origin is upper left
|
||||
0:9 'u' (temp uint)
|
||||
0:9 AtomicAdd (temp uint)
|
||||
0:9 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:9 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:9 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:9 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:9 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:9 Constant:
|
||||
0:9 0 (const uint)
|
||||
0:9 right-shift (temp int)
|
||||
@@ -275,8 +275,8 @@ gl_FragCoord origin is upper left
|
||||
0:9 1 (const int)
|
||||
0:10 AtomicAnd (temp void)
|
||||
0:10 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:10 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:10 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:10 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:10 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:10 Constant:
|
||||
0:10 0 (const uint)
|
||||
0:10 right-shift (temp int)
|
||||
@@ -290,8 +290,8 @@ gl_FragCoord origin is upper left
|
||||
0:11 'u' (temp uint)
|
||||
0:11 AtomicAnd (temp uint)
|
||||
0:11 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:11 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:11 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:11 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:11 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:11 Constant:
|
||||
0:11 0 (const uint)
|
||||
0:11 right-shift (temp int)
|
||||
@@ -306,8 +306,8 @@ gl_FragCoord origin is upper left
|
||||
0:12 Convert int to uint (temp uint)
|
||||
0:12 AtomicCompSwap (temp int)
|
||||
0:12 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:12 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:12 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:12 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:12 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:12 Constant:
|
||||
0:12 0 (const uint)
|
||||
0:12 right-shift (temp int)
|
||||
@@ -323,8 +323,8 @@ gl_FragCoord origin is upper left
|
||||
0:14 'u' (temp uint)
|
||||
0:14 AtomicExchange (temp uint)
|
||||
0:14 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:14 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:14 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:14 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:14 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:14 Constant:
|
||||
0:14 0 (const uint)
|
||||
0:14 right-shift (temp int)
|
||||
@@ -336,8 +336,8 @@ gl_FragCoord origin is upper left
|
||||
0:14 1 (const int)
|
||||
0:15 AtomicMax (temp void)
|
||||
0:15 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:15 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:15 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:15 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:15 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:15 Constant:
|
||||
0:15 0 (const uint)
|
||||
0:15 right-shift (temp int)
|
||||
@@ -351,8 +351,8 @@ gl_FragCoord origin is upper left
|
||||
0:16 'u' (temp uint)
|
||||
0:16 AtomicMax (temp uint)
|
||||
0:16 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:16 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:16 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:16 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:16 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:16 Constant:
|
||||
0:16 0 (const uint)
|
||||
0:16 right-shift (temp int)
|
||||
@@ -364,8 +364,8 @@ gl_FragCoord origin is upper left
|
||||
0:16 1 (const int)
|
||||
0:17 AtomicMin (temp void)
|
||||
0:17 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:17 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:17 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:17 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:17 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:17 Constant:
|
||||
0:17 0 (const uint)
|
||||
0:17 right-shift (temp int)
|
||||
@@ -379,8 +379,8 @@ gl_FragCoord origin is upper left
|
||||
0:18 'u' (temp uint)
|
||||
0:18 AtomicMin (temp uint)
|
||||
0:18 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:18 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:18 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:18 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:18 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:18 Constant:
|
||||
0:18 0 (const uint)
|
||||
0:18 right-shift (temp int)
|
||||
@@ -392,8 +392,8 @@ gl_FragCoord origin is upper left
|
||||
0:18 1 (const int)
|
||||
0:19 AtomicOr (temp void)
|
||||
0:19 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:19 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:19 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:19 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:19 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:19 Constant:
|
||||
0:19 0 (const uint)
|
||||
0:19 right-shift (temp int)
|
||||
@@ -407,8 +407,8 @@ gl_FragCoord origin is upper left
|
||||
0:20 'u' (temp uint)
|
||||
0:20 AtomicOr (temp uint)
|
||||
0:20 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:20 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:20 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:20 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:20 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:20 Constant:
|
||||
0:20 0 (const uint)
|
||||
0:20 right-shift (temp int)
|
||||
@@ -420,8 +420,8 @@ gl_FragCoord origin is upper left
|
||||
0:20 1 (const int)
|
||||
0:21 AtomicXor (temp void)
|
||||
0:21 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:21 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:21 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:21 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:21 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:21 Constant:
|
||||
0:21 0 (const uint)
|
||||
0:21 right-shift (temp int)
|
||||
@@ -435,8 +435,8 @@ gl_FragCoord origin is upper left
|
||||
0:22 'u' (temp uint)
|
||||
0:22 AtomicXor (temp uint)
|
||||
0:22 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:22 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:22 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:22 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:22 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:22 Constant:
|
||||
0:22 0 (const uint)
|
||||
0:22 right-shift (temp int)
|
||||
@@ -450,8 +450,8 @@ gl_FragCoord origin is upper left
|
||||
0:24 Construct vec4 (temp 4-component vector of float)
|
||||
0:24 Convert uint to float (temp float)
|
||||
0:24 indirect index (layout(row_major std430 ) buffer uint)
|
||||
0:24 sbuf: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:24 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:24 @data: direct index for structure (layout(row_major std430 ) buffer implicitly-sized array of uint)
|
||||
0:24 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:24 Constant:
|
||||
0:24 0 (const uint)
|
||||
0:24 right-shift (temp int)
|
||||
@@ -469,7 +469,7 @@ gl_FragCoord origin is upper left
|
||||
0:5 Function Call: @main(u1; (temp 4-component vector of float)
|
||||
0:? 'pos' (temp uint)
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint sbuf})
|
||||
0:? 'sbuf' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer implicitly-sized array of uint @data})
|
||||
0:? '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
|
||||
0:? 'pos' (layout(location=0 ) in uint)
|
||||
|
||||
@@ -486,8 +486,8 @@ gl_FragCoord origin is upper left
|
||||
Name 12 "@main(u1;"
|
||||
Name 11 "pos"
|
||||
Name 15 "sbuf"
|
||||
MemberName 15(sbuf) 0 "sbuf"
|
||||
Name 17 ""
|
||||
MemberName 15(sbuf) 0 "@data"
|
||||
Name 17 "sbuf"
|
||||
Name 29 "u"
|
||||
Name 78 "pos"
|
||||
Name 80 "pos"
|
||||
@@ -496,7 +496,7 @@ gl_FragCoord origin is upper left
|
||||
Decorate 14 ArrayStride 4
|
||||
MemberDecorate 15(sbuf) 0 Offset 0
|
||||
Decorate 15(sbuf) BufferBlock
|
||||
Decorate 17 DescriptorSet 0
|
||||
Decorate 17(sbuf) DescriptorSet 0
|
||||
Decorate 80(pos) Location 0
|
||||
Decorate 83(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
@@ -509,7 +509,7 @@ gl_FragCoord origin is upper left
|
||||
14: TypeRuntimeArray 6(int)
|
||||
15(sbuf): TypeStruct 14
|
||||
16: TypePointer Uniform 15(sbuf)
|
||||
17: 16(ptr) Variable Uniform
|
||||
17(sbuf): 16(ptr) Variable Uniform
|
||||
18: TypeInt 32 1
|
||||
19: 18(int) Constant 0
|
||||
20: 18(int) Constant 8
|
||||
@@ -539,59 +539,59 @@ gl_FragCoord origin is upper left
|
||||
13: Label
|
||||
29(u): 7(ptr) Variable Function
|
||||
22: 18(int) ShiftRightArithmetic 20 21
|
||||
24: 23(ptr) AccessChain 17 19 22
|
||||
24: 23(ptr) AccessChain 17(sbuf) 19 22
|
||||
28: 2 AtomicIAdd 24 26 27 25
|
||||
30: 18(int) ShiftRightArithmetic 20 21
|
||||
31: 23(ptr) AccessChain 17 19 30
|
||||
31: 23(ptr) AccessChain 17(sbuf) 19 30
|
||||
32: 6(int) AtomicIAdd 31 26 27 25
|
||||
Store 29(u) 32
|
||||
33: 18(int) ShiftRightArithmetic 20 21
|
||||
34: 23(ptr) AccessChain 17 19 33
|
||||
34: 23(ptr) AccessChain 17(sbuf) 19 33
|
||||
35: 2 AtomicAnd 34 26 27 25
|
||||
36: 18(int) ShiftRightArithmetic 20 21
|
||||
37: 23(ptr) AccessChain 17 19 36
|
||||
37: 23(ptr) AccessChain 17(sbuf) 19 36
|
||||
38: 6(int) AtomicAnd 37 26 27 25
|
||||
Store 29(u) 38
|
||||
39: 18(int) ShiftRightArithmetic 20 21
|
||||
40: 23(ptr) AccessChain 17 19 39
|
||||
40: 23(ptr) AccessChain 17(sbuf) 19 39
|
||||
41: 18(int) AtomicCompareExchange 40 26 27 27 21 25
|
||||
42: 6(int) Bitcast 41
|
||||
Store 29(u) 42
|
||||
43: 18(int) ShiftRightArithmetic 20 21
|
||||
44: 23(ptr) AccessChain 17 19 43
|
||||
44: 23(ptr) AccessChain 17(sbuf) 19 43
|
||||
45: 6(int) AtomicExchange 44 26 27 25
|
||||
Store 29(u) 45
|
||||
46: 18(int) ShiftRightArithmetic 20 21
|
||||
47: 23(ptr) AccessChain 17 19 46
|
||||
47: 23(ptr) AccessChain 17(sbuf) 19 46
|
||||
48: 2 AtomicSMax 47 26 27 25
|
||||
49: 18(int) ShiftRightArithmetic 20 21
|
||||
50: 23(ptr) AccessChain 17 19 49
|
||||
50: 23(ptr) AccessChain 17(sbuf) 19 49
|
||||
51: 6(int) AtomicUMax 50 26 27 25
|
||||
Store 29(u) 51
|
||||
52: 18(int) ShiftRightArithmetic 20 21
|
||||
53: 23(ptr) AccessChain 17 19 52
|
||||
53: 23(ptr) AccessChain 17(sbuf) 19 52
|
||||
54: 2 AtomicSMin 53 26 27 25
|
||||
55: 18(int) ShiftRightArithmetic 20 21
|
||||
56: 23(ptr) AccessChain 17 19 55
|
||||
56: 23(ptr) AccessChain 17(sbuf) 19 55
|
||||
57: 6(int) AtomicUMin 56 26 27 25
|
||||
Store 29(u) 57
|
||||
58: 18(int) ShiftRightArithmetic 20 21
|
||||
59: 23(ptr) AccessChain 17 19 58
|
||||
59: 23(ptr) AccessChain 17(sbuf) 19 58
|
||||
60: 2 AtomicOr 59 26 27 25
|
||||
61: 18(int) ShiftRightArithmetic 20 21
|
||||
62: 23(ptr) AccessChain 17 19 61
|
||||
62: 23(ptr) AccessChain 17(sbuf) 19 61
|
||||
63: 6(int) AtomicOr 62 26 27 25
|
||||
Store 29(u) 63
|
||||
64: 18(int) ShiftRightArithmetic 20 21
|
||||
65: 23(ptr) AccessChain 17 19 64
|
||||
65: 23(ptr) AccessChain 17(sbuf) 19 64
|
||||
66: 2 AtomicXor 65 26 27 25
|
||||
67: 18(int) ShiftRightArithmetic 20 21
|
||||
68: 23(ptr) AccessChain 17 19 67
|
||||
68: 23(ptr) AccessChain 17(sbuf) 19 67
|
||||
69: 6(int) AtomicXor 68 26 27 25
|
||||
Store 29(u) 69
|
||||
70: 6(int) Load 11(pos)
|
||||
71: 18(int) ShiftRightLogical 70 21
|
||||
72: 23(ptr) AccessChain 17 19 71
|
||||
72: 23(ptr) AccessChain 17(sbuf) 19 71
|
||||
73: 6(int) Load 72
|
||||
74: 8(float) ConvertUToF 73
|
||||
75: 9(fvec4) CompositeConstruct 74 74 74 74
|
||||
|
||||
Reference in New Issue
Block a user