mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-03 16:41:30 +00:00
d3f1122a44
Rationalizes the entire tracking of the linker object nodes, effecting GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before their type snapshot for linker objects. Should only effect things when the rest of the AST contained no reference to the symbol, because normal AST nodes were not stale. Also will only effect such objects when their types were edited.
413 lines
26 KiB
Plaintext
413 lines
26 KiB
Plaintext
hlsl.logical.binary.vec.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
|
0:10 Function Parameters:
|
|
0:? Sequence
|
|
0:11 Sequence
|
|
0:11 move second child to first child (temp 4-component vector of bool)
|
|
0:11 'r00' (temp 4-component vector of bool)
|
|
0:11 Negate conditional (temp 4-component vector of bool)
|
|
0:11 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:12 Sequence
|
|
0:12 move second child to first child (temp 4-component vector of bool)
|
|
0:12 'r01' (temp 4-component vector of bool)
|
|
0:12 logical-and (temp 4-component vector of bool)
|
|
0:12 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:12 Constant:
|
|
0:12 1 (const uint)
|
|
0:13 Sequence
|
|
0:13 move second child to first child (temp 4-component vector of bool)
|
|
0:13 'r02' (temp 4-component vector of bool)
|
|
0:13 logical-or (temp 4-component vector of bool)
|
|
0:13 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:13 Constant:
|
|
0:13 0 (const uint)
|
|
0:13 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:13 Constant:
|
|
0:13 1 (const uint)
|
|
0:15 Sequence
|
|
0:15 move second child to first child (temp 4-component vector of bool)
|
|
0:15 'r10' (temp 4-component vector of bool)
|
|
0:15 logical-and (temp 4-component vector of bool)
|
|
0:15 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:15 b1a: direct index for structure (layout(offset=32 ) uniform bool)
|
|
0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:15 Constant:
|
|
0:15 2 (const uint)
|
|
0:15 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:15 Constant:
|
|
0:15 1 (const uint)
|
|
0:16 Sequence
|
|
0:16 move second child to first child (temp 4-component vector of bool)
|
|
0:16 'r11' (temp 4-component vector of bool)
|
|
0:16 logical-or (temp 4-component vector of bool)
|
|
0:16 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:16 b1a: direct index for structure (layout(offset=32 ) uniform bool)
|
|
0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:16 Constant:
|
|
0:16 2 (const uint)
|
|
0:16 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:16 Constant:
|
|
0:16 1 (const uint)
|
|
0:18 Sequence
|
|
0:18 move second child to first child (temp 4-component vector of bool)
|
|
0:18 'r20' (temp 4-component vector of bool)
|
|
0:18 logical-and (temp 4-component vector of bool)
|
|
0:18 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:18 Constant:
|
|
0:18 0 (const uint)
|
|
0:18 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:18 b1b: direct index for structure (layout(offset=36 ) uniform bool)
|
|
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:18 Constant:
|
|
0:18 3 (const uint)
|
|
0:19 Sequence
|
|
0:19 move second child to first child (temp 4-component vector of bool)
|
|
0:19 'r21' (temp 4-component vector of bool)
|
|
0:19 logical-or (temp 4-component vector of bool)
|
|
0:19 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:19 Constant:
|
|
0:19 0 (const uint)
|
|
0:19 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:19 b1b: direct index for structure (layout(offset=36 ) uniform bool)
|
|
0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:19 Constant:
|
|
0:19 3 (const uint)
|
|
0:22 move second child to first child (temp 4-component vector of float)
|
|
0:22 Color: direct index for structure (temp 4-component vector of float)
|
|
0:22 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
0:22 Convert bool to float (temp 4-component vector of float)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 'r00' (temp 4-component vector of bool)
|
|
0:22 'r01' (temp 4-component vector of bool)
|
|
0:22 'r02' (temp 4-component vector of bool)
|
|
0:22 'r10' (temp 4-component vector of bool)
|
|
0:22 'r11' (temp 4-component vector of bool)
|
|
0:22 'r20' (temp 4-component vector of bool)
|
|
0:22 'r21' (temp 4-component vector of bool)
|
|
0:23 Sequence
|
|
0:23 Sequence
|
|
0:23 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:23 Color: direct index for structure (temp 4-component vector of float)
|
|
0:23 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:23 Constant:
|
|
0:23 0 (const int)
|
|
0:23 Branch: Return
|
|
0:? Linker Objects
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:10 Function Definition: main( (temp structure{temp 4-component vector of float Color})
|
|
0:10 Function Parameters:
|
|
0:? Sequence
|
|
0:11 Sequence
|
|
0:11 move second child to first child (temp 4-component vector of bool)
|
|
0:11 'r00' (temp 4-component vector of bool)
|
|
0:11 Negate conditional (temp 4-component vector of bool)
|
|
0:11 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:11 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:12 Sequence
|
|
0:12 move second child to first child (temp 4-component vector of bool)
|
|
0:12 'r01' (temp 4-component vector of bool)
|
|
0:12 logical-and (temp 4-component vector of bool)
|
|
0:12 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:12 Constant:
|
|
0:12 0 (const uint)
|
|
0:12 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:12 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:12 Constant:
|
|
0:12 1 (const uint)
|
|
0:13 Sequence
|
|
0:13 move second child to first child (temp 4-component vector of bool)
|
|
0:13 'r02' (temp 4-component vector of bool)
|
|
0:13 logical-or (temp 4-component vector of bool)
|
|
0:13 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:13 Constant:
|
|
0:13 0 (const uint)
|
|
0:13 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:13 Constant:
|
|
0:13 1 (const uint)
|
|
0:15 Sequence
|
|
0:15 move second child to first child (temp 4-component vector of bool)
|
|
0:15 'r10' (temp 4-component vector of bool)
|
|
0:15 logical-and (temp 4-component vector of bool)
|
|
0:15 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:15 b1a: direct index for structure (layout(offset=32 ) uniform bool)
|
|
0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:15 Constant:
|
|
0:15 2 (const uint)
|
|
0:15 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:15 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:15 Constant:
|
|
0:15 1 (const uint)
|
|
0:16 Sequence
|
|
0:16 move second child to first child (temp 4-component vector of bool)
|
|
0:16 'r11' (temp 4-component vector of bool)
|
|
0:16 logical-or (temp 4-component vector of bool)
|
|
0:16 Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:16 b1a: direct index for structure (layout(offset=32 ) uniform bool)
|
|
0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:16 Constant:
|
|
0:16 2 (const uint)
|
|
0:16 b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
|
|
0:16 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:16 Constant:
|
|
0:16 1 (const uint)
|
|
0:18 Sequence
|
|
0:18 move second child to first child (temp 4-component vector of bool)
|
|
0:18 'r20' (temp 4-component vector of bool)
|
|
0:18 logical-and (temp 4-component vector of bool)
|
|
0:18 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:18 Constant:
|
|
0:18 0 (const uint)
|
|
0:18 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:18 b1b: direct index for structure (layout(offset=36 ) uniform bool)
|
|
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:18 Constant:
|
|
0:18 3 (const uint)
|
|
0:19 Sequence
|
|
0:19 move second child to first child (temp 4-component vector of bool)
|
|
0:19 'r21' (temp 4-component vector of bool)
|
|
0:19 logical-or (temp 4-component vector of bool)
|
|
0:19 b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:19 Constant:
|
|
0:19 0 (const uint)
|
|
0:19 Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool)
|
|
0:19 b1b: direct index for structure (layout(offset=36 ) uniform bool)
|
|
0:19 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
0:19 Constant:
|
|
0:19 3 (const uint)
|
|
0:22 move second child to first child (temp 4-component vector of float)
|
|
0:22 Color: direct index for structure (temp 4-component vector of float)
|
|
0:22 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
0:22 Convert bool to float (temp 4-component vector of float)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 logical-or (temp 4-component vector of bool)
|
|
0:22 'r00' (temp 4-component vector of bool)
|
|
0:22 'r01' (temp 4-component vector of bool)
|
|
0:22 'r02' (temp 4-component vector of bool)
|
|
0:22 'r10' (temp 4-component vector of bool)
|
|
0:22 'r11' (temp 4-component vector of bool)
|
|
0:22 'r20' (temp 4-component vector of bool)
|
|
0:22 'r21' (temp 4-component vector of bool)
|
|
0:23 Sequence
|
|
0:23 Sequence
|
|
0:23 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:23 Color: direct index for structure (temp 4-component vector of float)
|
|
0:23 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:23 Constant:
|
|
0:23 0 (const int)
|
|
0:23 Branch: Return
|
|
0:? Linker Objects
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 115
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 111
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 9 "r00"
|
|
Name 12 "$Global"
|
|
MemberName 12($Global) 0 "b4a"
|
|
MemberName 12($Global) 1 "b4b"
|
|
MemberName 12($Global) 2 "b1a"
|
|
MemberName 12($Global) 3 "b1b"
|
|
Name 14 ""
|
|
Name 24 "r01"
|
|
Name 33 "r02"
|
|
Name 41 "r10"
|
|
Name 52 "r11"
|
|
Name 61 "r20"
|
|
Name 73 "r21"
|
|
Name 87 "PS_OUTPUT"
|
|
MemberName 87(PS_OUTPUT) 0 "Color"
|
|
Name 89 "psout"
|
|
Name 111 "Color"
|
|
MemberDecorate 12($Global) 0 Offset 0
|
|
MemberDecorate 12($Global) 1 Offset 16
|
|
MemberDecorate 12($Global) 2 Offset 32
|
|
MemberDecorate 12($Global) 3 Offset 36
|
|
Decorate 12($Global) Block
|
|
Decorate 14 DescriptorSet 0
|
|
Decorate 111(Color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeBool
|
|
7: TypeVector 6(bool) 4
|
|
8: TypePointer Function 7(bvec4)
|
|
10: TypeInt 32 0
|
|
11: TypeVector 10(int) 4
|
|
12($Global): TypeStruct 11(ivec4) 11(ivec4) 10(int) 10(int)
|
|
13: TypePointer Uniform 12($Global)
|
|
14: 13(ptr) Variable Uniform
|
|
15: TypeInt 32 1
|
|
16: 15(int) Constant 0
|
|
17: TypePointer Uniform 11(ivec4)
|
|
20: 10(int) Constant 0
|
|
21: 11(ivec4) ConstantComposite 20 20 20 20
|
|
28: 15(int) Constant 1
|
|
42: 15(int) Constant 2
|
|
43: TypePointer Uniform 10(int)
|
|
67: 15(int) Constant 3
|
|
85: TypeFloat 32
|
|
86: TypeVector 85(float) 4
|
|
87(PS_OUTPUT): TypeStruct 86(fvec4)
|
|
88: TypePointer Function 87(PS_OUTPUT)
|
|
103: 85(float) Constant 0
|
|
104: 85(float) Constant 1065353216
|
|
105: 86(fvec4) ConstantComposite 103 103 103 103
|
|
106: 86(fvec4) ConstantComposite 104 104 104 104
|
|
108: TypePointer Function 86(fvec4)
|
|
110: TypePointer Output 86(fvec4)
|
|
111(Color): 110(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
9(r00): 8(ptr) Variable Function
|
|
24(r01): 8(ptr) Variable Function
|
|
33(r02): 8(ptr) Variable Function
|
|
41(r10): 8(ptr) Variable Function
|
|
52(r11): 8(ptr) Variable Function
|
|
61(r20): 8(ptr) Variable Function
|
|
73(r21): 8(ptr) Variable Function
|
|
89(psout): 88(ptr) Variable Function
|
|
18: 17(ptr) AccessChain 14 16
|
|
19: 11(ivec4) Load 18
|
|
22: 7(bvec4) INotEqual 19 21
|
|
23: 7(bvec4) LogicalNot 22
|
|
Store 9(r00) 23
|
|
25: 17(ptr) AccessChain 14 16
|
|
26: 11(ivec4) Load 25
|
|
27: 7(bvec4) INotEqual 26 21
|
|
29: 17(ptr) AccessChain 14 28
|
|
30: 11(ivec4) Load 29
|
|
31: 7(bvec4) INotEqual 30 21
|
|
32: 7(bvec4) LogicalAnd 27 31
|
|
Store 24(r01) 32
|
|
34: 17(ptr) AccessChain 14 16
|
|
35: 11(ivec4) Load 34
|
|
36: 7(bvec4) INotEqual 35 21
|
|
37: 17(ptr) AccessChain 14 28
|
|
38: 11(ivec4) Load 37
|
|
39: 7(bvec4) INotEqual 38 21
|
|
40: 7(bvec4) LogicalOr 36 39
|
|
Store 33(r02) 40
|
|
44: 43(ptr) AccessChain 14 42
|
|
45: 10(int) Load 44
|
|
46: 6(bool) INotEqual 45 20
|
|
47: 7(bvec4) CompositeConstruct 46 46 46 46
|
|
48: 17(ptr) AccessChain 14 28
|
|
49: 11(ivec4) Load 48
|
|
50: 7(bvec4) INotEqual 49 21
|
|
51: 7(bvec4) LogicalAnd 47 50
|
|
Store 41(r10) 51
|
|
53: 43(ptr) AccessChain 14 42
|
|
54: 10(int) Load 53
|
|
55: 6(bool) INotEqual 54 20
|
|
56: 7(bvec4) CompositeConstruct 55 55 55 55
|
|
57: 17(ptr) AccessChain 14 28
|
|
58: 11(ivec4) Load 57
|
|
59: 7(bvec4) INotEqual 58 21
|
|
60: 7(bvec4) LogicalOr 56 59
|
|
Store 52(r11) 60
|
|
62: 17(ptr) AccessChain 14 16
|
|
63: 11(ivec4) Load 62
|
|
64: 7(bvec4) INotEqual 63 21
|
|
SelectionMerge 66 None
|
|
BranchConditional 64 65 66
|
|
65: Label
|
|
68: 43(ptr) AccessChain 14 67
|
|
69: 10(int) Load 68
|
|
70: 6(bool) INotEqual 69 20
|
|
71: 7(bvec4) CompositeConstruct 70 70 70 70
|
|
Branch 66
|
|
66: Label
|
|
72: 6(bool) Phi 64 5 71 65
|
|
Store 61(r20) 72
|
|
74: 17(ptr) AccessChain 14 16
|
|
75: 11(ivec4) Load 74
|
|
76: 7(bvec4) INotEqual 75 21
|
|
77: 6(bool) LogicalNot 76
|
|
SelectionMerge 79 None
|
|
BranchConditional 77 78 79
|
|
78: Label
|
|
80: 43(ptr) AccessChain 14 67
|
|
81: 10(int) Load 80
|
|
82: 6(bool) INotEqual 81 20
|
|
83: 7(bvec4) CompositeConstruct 82 82 82 82
|
|
Branch 79
|
|
79: Label
|
|
84: 6(bool) Phi 76 66 83 78
|
|
Store 73(r21) 84
|
|
90: 7(bvec4) Load 9(r00)
|
|
91: 7(bvec4) Load 24(r01)
|
|
92: 7(bvec4) LogicalOr 90 91
|
|
93: 7(bvec4) Load 33(r02)
|
|
94: 7(bvec4) LogicalOr 92 93
|
|
95: 7(bvec4) Load 41(r10)
|
|
96: 7(bvec4) LogicalOr 94 95
|
|
97: 7(bvec4) Load 52(r11)
|
|
98: 7(bvec4) LogicalOr 96 97
|
|
99: 7(bvec4) Load 61(r20)
|
|
100: 7(bvec4) LogicalOr 98 99
|
|
101: 7(bvec4) Load 73(r21)
|
|
102: 7(bvec4) LogicalOr 100 101
|
|
107: 86(fvec4) Select 102 106 105
|
|
109: 108(ptr) AccessChain 89(psout) 16
|
|
Store 109 107
|
|
112: 108(ptr) AccessChain 89(psout) 16
|
|
113: 86(fvec4) Load 112
|
|
Store 111(Color) 113
|
|
Return
|
|
FunctionEnd
|