
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.
408 lines
18 KiB
Plaintext
408 lines
18 KiB
Plaintext
hlsl.matrixindex.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:22 Sequence
|
|
0:22 move second child to first child (temp float)
|
|
0:22 'e1_00' (temp float)
|
|
0:22 Constant:
|
|
0:22 10.000000
|
|
0:23 Sequence
|
|
0:23 move second child to first child (temp float)
|
|
0:23 'e1_01' (temp float)
|
|
0:23 Constant:
|
|
0:23 11.000000
|
|
0:24 Sequence
|
|
0:24 move second child to first child (temp float)
|
|
0:24 'e1_10' (temp float)
|
|
0:24 Constant:
|
|
0:24 12.000000
|
|
0:25 Sequence
|
|
0:25 move second child to first child (temp float)
|
|
0:25 'e1_11' (temp float)
|
|
0:25 Constant:
|
|
0:25 13.000000
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp float)
|
|
0:26 'e1_20' (temp float)
|
|
0:26 Constant:
|
|
0:26 14.000000
|
|
0:27 Sequence
|
|
0:27 move second child to first child (temp float)
|
|
0:27 'e1_21' (temp float)
|
|
0:27 Constant:
|
|
0:27 15.000000
|
|
0:29 Sequence
|
|
0:29 move second child to first child (temp float)
|
|
0:29 'e2_00' (temp float)
|
|
0:29 Constant:
|
|
0:29 20.000000
|
|
0:30 Sequence
|
|
0:30 move second child to first child (temp float)
|
|
0:30 'e2_01' (temp float)
|
|
0:30 Constant:
|
|
0:30 21.000000
|
|
0:31 Sequence
|
|
0:31 move second child to first child (temp float)
|
|
0:31 'e2_10' (temp float)
|
|
0:31 Constant:
|
|
0:31 22.000000
|
|
0:32 Sequence
|
|
0:32 move second child to first child (temp float)
|
|
0:32 'e2_11' (temp float)
|
|
0:32 Constant:
|
|
0:32 23.000000
|
|
0:33 Sequence
|
|
0:33 move second child to first child (temp float)
|
|
0:33 'e2_20' (temp float)
|
|
0:33 Constant:
|
|
0:33 24.000000
|
|
0:34 Sequence
|
|
0:34 move second child to first child (temp float)
|
|
0:34 'e2_21' (temp float)
|
|
0:34 Constant:
|
|
0:34 25.000000
|
|
0:39 Sequence
|
|
0:39 move second child to first child (temp 2-component vector of float)
|
|
0:39 'r0a' (temp 2-component vector of float)
|
|
0:39 Constant:
|
|
0:39 10.000000
|
|
0:39 11.000000
|
|
0:40 Sequence
|
|
0:40 move second child to first child (temp 2-component vector of float)
|
|
0:40 'r1a' (temp 2-component vector of float)
|
|
0:40 Constant:
|
|
0:40 12.000000
|
|
0:40 13.000000
|
|
0:41 Sequence
|
|
0:41 move second child to first child (temp 2-component vector of float)
|
|
0:41 'r2a' (temp 2-component vector of float)
|
|
0:41 Constant:
|
|
0:41 14.000000
|
|
0:41 15.000000
|
|
0:43 Sequence
|
|
0:43 move second child to first child (temp 2-component vector of float)
|
|
0:43 'r0b' (temp 2-component vector of float)
|
|
0:43 indirect index (temp 2-component vector of float)
|
|
0:43 Constant:
|
|
0:43 20.000000
|
|
0:43 21.000000
|
|
0:43 22.000000
|
|
0:43 23.000000
|
|
0:43 24.000000
|
|
0:43 25.000000
|
|
0:43 idx: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
|
|
0:43 Constant:
|
|
0:43 0 (const uint)
|
|
0:44 Sequence
|
|
0:44 move second child to first child (temp 2-component vector of float)
|
|
0:44 'r0c' (temp 2-component vector of float)
|
|
0:44 indirect index (layout(offset=16 ) temp 2-component vector of float)
|
|
0:44 um: direct index for structure (layout(offset=16 ) uniform 3X2 matrix of float)
|
|
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
|
|
0:44 Constant:
|
|
0:44 1 (const uint)
|
|
0:44 idx: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
|
|
0:44 Constant:
|
|
0:44 0 (const uint)
|
|
0:47 move second child to first child (temp 4-component vector of float)
|
|
0:47 Color: direct index for structure (temp 4-component vector of float)
|
|
0:47 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:47 Constant:
|
|
0:47 0 (const int)
|
|
0:47 Construct vec4 (temp 4-component vector of float)
|
|
0:47 'e2_11' (temp float)
|
|
0:48 Sequence
|
|
0:48 Sequence
|
|
0:48 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:48 Color: direct index for structure (temp 4-component vector of float)
|
|
0:48 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:48 Constant:
|
|
0:48 0 (const int)
|
|
0:48 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 int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
|
|
|
|
|
|
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:22 Sequence
|
|
0:22 move second child to first child (temp float)
|
|
0:22 'e1_00' (temp float)
|
|
0:22 Constant:
|
|
0:22 10.000000
|
|
0:23 Sequence
|
|
0:23 move second child to first child (temp float)
|
|
0:23 'e1_01' (temp float)
|
|
0:23 Constant:
|
|
0:23 11.000000
|
|
0:24 Sequence
|
|
0:24 move second child to first child (temp float)
|
|
0:24 'e1_10' (temp float)
|
|
0:24 Constant:
|
|
0:24 12.000000
|
|
0:25 Sequence
|
|
0:25 move second child to first child (temp float)
|
|
0:25 'e1_11' (temp float)
|
|
0:25 Constant:
|
|
0:25 13.000000
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp float)
|
|
0:26 'e1_20' (temp float)
|
|
0:26 Constant:
|
|
0:26 14.000000
|
|
0:27 Sequence
|
|
0:27 move second child to first child (temp float)
|
|
0:27 'e1_21' (temp float)
|
|
0:27 Constant:
|
|
0:27 15.000000
|
|
0:29 Sequence
|
|
0:29 move second child to first child (temp float)
|
|
0:29 'e2_00' (temp float)
|
|
0:29 Constant:
|
|
0:29 20.000000
|
|
0:30 Sequence
|
|
0:30 move second child to first child (temp float)
|
|
0:30 'e2_01' (temp float)
|
|
0:30 Constant:
|
|
0:30 21.000000
|
|
0:31 Sequence
|
|
0:31 move second child to first child (temp float)
|
|
0:31 'e2_10' (temp float)
|
|
0:31 Constant:
|
|
0:31 22.000000
|
|
0:32 Sequence
|
|
0:32 move second child to first child (temp float)
|
|
0:32 'e2_11' (temp float)
|
|
0:32 Constant:
|
|
0:32 23.000000
|
|
0:33 Sequence
|
|
0:33 move second child to first child (temp float)
|
|
0:33 'e2_20' (temp float)
|
|
0:33 Constant:
|
|
0:33 24.000000
|
|
0:34 Sequence
|
|
0:34 move second child to first child (temp float)
|
|
0:34 'e2_21' (temp float)
|
|
0:34 Constant:
|
|
0:34 25.000000
|
|
0:39 Sequence
|
|
0:39 move second child to first child (temp 2-component vector of float)
|
|
0:39 'r0a' (temp 2-component vector of float)
|
|
0:39 Constant:
|
|
0:39 10.000000
|
|
0:39 11.000000
|
|
0:40 Sequence
|
|
0:40 move second child to first child (temp 2-component vector of float)
|
|
0:40 'r1a' (temp 2-component vector of float)
|
|
0:40 Constant:
|
|
0:40 12.000000
|
|
0:40 13.000000
|
|
0:41 Sequence
|
|
0:41 move second child to first child (temp 2-component vector of float)
|
|
0:41 'r2a' (temp 2-component vector of float)
|
|
0:41 Constant:
|
|
0:41 14.000000
|
|
0:41 15.000000
|
|
0:43 Sequence
|
|
0:43 move second child to first child (temp 2-component vector of float)
|
|
0:43 'r0b' (temp 2-component vector of float)
|
|
0:43 indirect index (temp 2-component vector of float)
|
|
0:43 Constant:
|
|
0:43 20.000000
|
|
0:43 21.000000
|
|
0:43 22.000000
|
|
0:43 23.000000
|
|
0:43 24.000000
|
|
0:43 25.000000
|
|
0:43 idx: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:43 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
|
|
0:43 Constant:
|
|
0:43 0 (const uint)
|
|
0:44 Sequence
|
|
0:44 move second child to first child (temp 2-component vector of float)
|
|
0:44 'r0c' (temp 2-component vector of float)
|
|
0:44 indirect index (layout(offset=16 ) temp 2-component vector of float)
|
|
0:44 um: direct index for structure (layout(offset=16 ) uniform 3X2 matrix of float)
|
|
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
|
|
0:44 Constant:
|
|
0:44 1 (const uint)
|
|
0:44 idx: direct index for structure (layout(offset=0 ) uniform int)
|
|
0:44 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
|
|
0:44 Constant:
|
|
0:44 0 (const uint)
|
|
0:47 move second child to first child (temp 4-component vector of float)
|
|
0:47 Color: direct index for structure (temp 4-component vector of float)
|
|
0:47 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:47 Constant:
|
|
0:47 0 (const int)
|
|
0:47 Construct vec4 (temp 4-component vector of float)
|
|
0:47 'e2_11' (temp float)
|
|
0:48 Sequence
|
|
0:48 Sequence
|
|
0:48 move second child to first child (temp 4-component vector of float)
|
|
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
|
|
0:48 Color: direct index for structure (temp 4-component vector of float)
|
|
0:48 'psout' (temp structure{temp 4-component vector of float Color})
|
|
0:48 Constant:
|
|
0:48 0 (const int)
|
|
0:48 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 int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 78
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 74
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 8 "e1_00"
|
|
Name 10 "e1_01"
|
|
Name 12 "e1_10"
|
|
Name 14 "e1_11"
|
|
Name 16 "e1_20"
|
|
Name 18 "e1_21"
|
|
Name 20 "e2_00"
|
|
Name 22 "e2_01"
|
|
Name 24 "e2_10"
|
|
Name 26 "e2_11"
|
|
Name 28 "e2_20"
|
|
Name 30 "e2_21"
|
|
Name 34 "r0a"
|
|
Name 36 "r1a"
|
|
Name 38 "r2a"
|
|
Name 40 "r0b"
|
|
Name 47 "$Global"
|
|
MemberName 47($Global) 0 "idx"
|
|
MemberName 47($Global) 1 "um"
|
|
Name 49 ""
|
|
Name 55 "indexable"
|
|
Name 58 "r0c"
|
|
Name 66 "PS_OUTPUT"
|
|
MemberName 66(PS_OUTPUT) 0 "Color"
|
|
Name 68 "psout"
|
|
Name 74 "Color"
|
|
MemberDecorate 47($Global) 0 Offset 0
|
|
MemberDecorate 47($Global) 1 RowMajor
|
|
MemberDecorate 47($Global) 1 Offset 16
|
|
MemberDecorate 47($Global) 1 MatrixStride 16
|
|
Decorate 47($Global) Block
|
|
Decorate 49 DescriptorSet 0
|
|
Decorate 74(Color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypePointer Function 6(float)
|
|
9: 6(float) Constant 1092616192
|
|
11: 6(float) Constant 1093664768
|
|
13: 6(float) Constant 1094713344
|
|
15: 6(float) Constant 1095761920
|
|
17: 6(float) Constant 1096810496
|
|
19: 6(float) Constant 1097859072
|
|
21: 6(float) Constant 1101004800
|
|
23: 6(float) Constant 1101529088
|
|
25: 6(float) Constant 1102053376
|
|
27: 6(float) Constant 1102577664
|
|
29: 6(float) Constant 1103101952
|
|
31: 6(float) Constant 1103626240
|
|
32: TypeVector 6(float) 2
|
|
33: TypePointer Function 32(fvec2)
|
|
35: 32(fvec2) ConstantComposite 9 11
|
|
37: 32(fvec2) ConstantComposite 13 15
|
|
39: 32(fvec2) ConstantComposite 17 19
|
|
41: TypeMatrix 32(fvec2) 3
|
|
42: 32(fvec2) ConstantComposite 21 23
|
|
43: 32(fvec2) ConstantComposite 25 27
|
|
44: 32(fvec2) ConstantComposite 29 31
|
|
45: 41 ConstantComposite 42 43 44
|
|
46: TypeInt 32 1
|
|
47($Global): TypeStruct 46(int) 41
|
|
48: TypePointer Uniform 47($Global)
|
|
49: 48(ptr) Variable Uniform
|
|
50: 46(int) Constant 0
|
|
51: TypePointer Uniform 46(int)
|
|
54: TypePointer Function 41
|
|
59: 46(int) Constant 1
|
|
62: TypePointer Uniform 32(fvec2)
|
|
65: TypeVector 6(float) 4
|
|
66(PS_OUTPUT): TypeStruct 65(fvec4)
|
|
67: TypePointer Function 66(PS_OUTPUT)
|
|
71: TypePointer Function 65(fvec4)
|
|
73: TypePointer Output 65(fvec4)
|
|
74(Color): 73(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(e1_00): 7(ptr) Variable Function
|
|
10(e1_01): 7(ptr) Variable Function
|
|
12(e1_10): 7(ptr) Variable Function
|
|
14(e1_11): 7(ptr) Variable Function
|
|
16(e1_20): 7(ptr) Variable Function
|
|
18(e1_21): 7(ptr) Variable Function
|
|
20(e2_00): 7(ptr) Variable Function
|
|
22(e2_01): 7(ptr) Variable Function
|
|
24(e2_10): 7(ptr) Variable Function
|
|
26(e2_11): 7(ptr) Variable Function
|
|
28(e2_20): 7(ptr) Variable Function
|
|
30(e2_21): 7(ptr) Variable Function
|
|
34(r0a): 33(ptr) Variable Function
|
|
36(r1a): 33(ptr) Variable Function
|
|
38(r2a): 33(ptr) Variable Function
|
|
40(r0b): 33(ptr) Variable Function
|
|
55(indexable): 54(ptr) Variable Function
|
|
58(r0c): 33(ptr) Variable Function
|
|
68(psout): 67(ptr) Variable Function
|
|
Store 8(e1_00) 9
|
|
Store 10(e1_01) 11
|
|
Store 12(e1_10) 13
|
|
Store 14(e1_11) 15
|
|
Store 16(e1_20) 17
|
|
Store 18(e1_21) 19
|
|
Store 20(e2_00) 21
|
|
Store 22(e2_01) 23
|
|
Store 24(e2_10) 25
|
|
Store 26(e2_11) 27
|
|
Store 28(e2_20) 29
|
|
Store 30(e2_21) 31
|
|
Store 34(r0a) 35
|
|
Store 36(r1a) 37
|
|
Store 38(r2a) 39
|
|
52: 51(ptr) AccessChain 49 50
|
|
53: 46(int) Load 52
|
|
Store 55(indexable) 45
|
|
56: 33(ptr) AccessChain 55(indexable) 53
|
|
57: 32(fvec2) Load 56
|
|
Store 40(r0b) 57
|
|
60: 51(ptr) AccessChain 49 50
|
|
61: 46(int) Load 60
|
|
63: 62(ptr) AccessChain 49 59 61
|
|
64: 32(fvec2) Load 63
|
|
Store 58(r0c) 64
|
|
69: 6(float) Load 26(e2_11)
|
|
70: 65(fvec4) CompositeConstruct 69 69 69 69
|
|
72: 71(ptr) AccessChain 68(psout) 50
|
|
Store 72 70
|
|
75: 71(ptr) AccessChain 68(psout) 50
|
|
76: 65(fvec4) Load 75
|
|
Store 74(Color) 76
|
|
Return
|
|
FunctionEnd
|