mirror of
https://github.com/RPCS3/glslang.git
synced 2024-12-03 16:41:30 +00:00
02467d8d94
This needs some render testing, but is destined to be part of master. This also leads to a variety of other simplifications. - IO are global symbols, so only need one list of linkage nodes (deferred) - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized - several parts of splitting/flattening are now localized
433 lines
20 KiB
Plaintext
433 lines
20 KiB
Plaintext
hlsl.matType.bool.frag
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:3 Function Definition: TestBoolMatTypes( (temp void)
|
|
0:3 Function Parameters:
|
|
0:? Sequence
|
|
0:25 Sequence
|
|
0:25 move second child to first child (temp 1X1 matrix of bool)
|
|
0:25 'r00' (temp 1X1 matrix of bool)
|
|
0:25 transpose (temp 1X1 matrix of bool)
|
|
0:25 'b1x1' (temp 1X1 matrix of bool)
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp 1X2 matrix of bool)
|
|
0:26 'r01' (temp 1X2 matrix of bool)
|
|
0:26 transpose (temp 1X2 matrix of bool)
|
|
0:26 'b2x1' (temp 2X1 matrix of bool)
|
|
0:27 Sequence
|
|
0:27 move second child to first child (temp 1X3 matrix of bool)
|
|
0:27 'r02' (temp 1X3 matrix of bool)
|
|
0:27 transpose (temp 1X3 matrix of bool)
|
|
0:27 'b3x1' (temp 3X1 matrix of bool)
|
|
0:28 Sequence
|
|
0:28 move second child to first child (temp 1X4 matrix of bool)
|
|
0:28 'r03' (temp 1X4 matrix of bool)
|
|
0:28 transpose (temp 1X4 matrix of bool)
|
|
0:28 'b4x1' (temp 4X1 matrix of bool)
|
|
0:30 Sequence
|
|
0:30 move second child to first child (temp 2X1 matrix of bool)
|
|
0:30 'r10' (temp 2X1 matrix of bool)
|
|
0:30 transpose (temp 2X1 matrix of bool)
|
|
0:30 'b1x2' (temp 1X2 matrix of bool)
|
|
0:31 Sequence
|
|
0:31 move second child to first child (temp 2X2 matrix of bool)
|
|
0:31 'r11' (temp 2X2 matrix of bool)
|
|
0:31 transpose (temp 2X2 matrix of bool)
|
|
0:31 'b2x2' (temp 2X2 matrix of bool)
|
|
0:32 Sequence
|
|
0:32 move second child to first child (temp 2X3 matrix of bool)
|
|
0:32 'r12' (temp 2X3 matrix of bool)
|
|
0:32 transpose (temp 2X3 matrix of bool)
|
|
0:32 'b3x2' (temp 3X2 matrix of bool)
|
|
0:33 Sequence
|
|
0:33 move second child to first child (temp 2X4 matrix of bool)
|
|
0:33 'r13' (temp 2X4 matrix of bool)
|
|
0:33 transpose (temp 2X4 matrix of bool)
|
|
0:33 'b4x2' (temp 4X2 matrix of bool)
|
|
0:35 Sequence
|
|
0:35 move second child to first child (temp 3X1 matrix of bool)
|
|
0:35 'r20' (temp 3X1 matrix of bool)
|
|
0:35 transpose (temp 3X1 matrix of bool)
|
|
0:35 'b1x3' (temp 1X3 matrix of bool)
|
|
0:36 Sequence
|
|
0:36 move second child to first child (temp 3X2 matrix of bool)
|
|
0:36 'r21' (temp 3X2 matrix of bool)
|
|
0:36 transpose (temp 3X2 matrix of bool)
|
|
0:36 'b2x3' (temp 2X3 matrix of bool)
|
|
0:37 Sequence
|
|
0:37 move second child to first child (temp 3X3 matrix of bool)
|
|
0:37 'r22' (temp 3X3 matrix of bool)
|
|
0:37 transpose (temp 3X3 matrix of bool)
|
|
0:37 'b3x3' (temp 3X3 matrix of bool)
|
|
0:38 Sequence
|
|
0:38 move second child to first child (temp 3X4 matrix of bool)
|
|
0:38 'r23' (temp 3X4 matrix of bool)
|
|
0:38 transpose (temp 3X4 matrix of bool)
|
|
0:38 'b4x3' (temp 4X3 matrix of bool)
|
|
0:40 Sequence
|
|
0:40 move second child to first child (temp 4X1 matrix of bool)
|
|
0:40 'r30' (temp 4X1 matrix of bool)
|
|
0:40 transpose (temp 4X1 matrix of bool)
|
|
0:40 'b1x4' (temp 1X4 matrix of bool)
|
|
0:41 Sequence
|
|
0:41 move second child to first child (temp 4X2 matrix of bool)
|
|
0:41 'r31' (temp 4X2 matrix of bool)
|
|
0:41 transpose (temp 4X2 matrix of bool)
|
|
0:41 'b2x4' (temp 2X4 matrix of bool)
|
|
0:42 Sequence
|
|
0:42 move second child to first child (temp 4X3 matrix of bool)
|
|
0:42 'r32' (temp 4X3 matrix of bool)
|
|
0:42 transpose (temp 4X3 matrix of bool)
|
|
0:42 'b3x4' (temp 3X4 matrix of bool)
|
|
0:43 Sequence
|
|
0:43 move second child to first child (temp 4X4 matrix of bool)
|
|
0:43 'r33' (temp 4X4 matrix of bool)
|
|
0:43 transpose (temp 4X4 matrix of bool)
|
|
0:43 'b4x4' (temp 4X4 matrix of bool)
|
|
0:49 Function Definition: @main( (temp structure{temp 4-component vector of float color})
|
|
0:49 Function Parameters:
|
|
0:? Sequence
|
|
0:51 move second child to first child (temp 4-component vector of float)
|
|
0:51 color: direct index for structure (temp 4-component vector of float)
|
|
0:51 'ps_output' (temp structure{temp 4-component vector of float color})
|
|
0:51 Constant:
|
|
0:51 0 (const int)
|
|
0:? Constant:
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:52 Branch: Return with expression
|
|
0:52 'ps_output' (temp structure{temp 4-component vector of float color})
|
|
0:49 Function Definition: main( (temp void)
|
|
0:49 Function Parameters:
|
|
0:? Sequence
|
|
0:49 Sequence
|
|
0:49 move second child to first child (temp 4-component vector of float)
|
|
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
|
0:49 color: direct index for structure (temp 4-component vector of float)
|
|
0:49 Function Call: @main( (temp structure{temp 4-component vector of float color})
|
|
0:49 Constant:
|
|
0:49 0 (const int)
|
|
0:? Linker Objects
|
|
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 450
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:3 Function Definition: TestBoolMatTypes( (temp void)
|
|
0:3 Function Parameters:
|
|
0:? Sequence
|
|
0:25 Sequence
|
|
0:25 move second child to first child (temp 1X1 matrix of bool)
|
|
0:25 'r00' (temp 1X1 matrix of bool)
|
|
0:25 transpose (temp 1X1 matrix of bool)
|
|
0:25 'b1x1' (temp 1X1 matrix of bool)
|
|
0:26 Sequence
|
|
0:26 move second child to first child (temp 1X2 matrix of bool)
|
|
0:26 'r01' (temp 1X2 matrix of bool)
|
|
0:26 transpose (temp 1X2 matrix of bool)
|
|
0:26 'b2x1' (temp 2X1 matrix of bool)
|
|
0:27 Sequence
|
|
0:27 move second child to first child (temp 1X3 matrix of bool)
|
|
0:27 'r02' (temp 1X3 matrix of bool)
|
|
0:27 transpose (temp 1X3 matrix of bool)
|
|
0:27 'b3x1' (temp 3X1 matrix of bool)
|
|
0:28 Sequence
|
|
0:28 move second child to first child (temp 1X4 matrix of bool)
|
|
0:28 'r03' (temp 1X4 matrix of bool)
|
|
0:28 transpose (temp 1X4 matrix of bool)
|
|
0:28 'b4x1' (temp 4X1 matrix of bool)
|
|
0:30 Sequence
|
|
0:30 move second child to first child (temp 2X1 matrix of bool)
|
|
0:30 'r10' (temp 2X1 matrix of bool)
|
|
0:30 transpose (temp 2X1 matrix of bool)
|
|
0:30 'b1x2' (temp 1X2 matrix of bool)
|
|
0:31 Sequence
|
|
0:31 move second child to first child (temp 2X2 matrix of bool)
|
|
0:31 'r11' (temp 2X2 matrix of bool)
|
|
0:31 transpose (temp 2X2 matrix of bool)
|
|
0:31 'b2x2' (temp 2X2 matrix of bool)
|
|
0:32 Sequence
|
|
0:32 move second child to first child (temp 2X3 matrix of bool)
|
|
0:32 'r12' (temp 2X3 matrix of bool)
|
|
0:32 transpose (temp 2X3 matrix of bool)
|
|
0:32 'b3x2' (temp 3X2 matrix of bool)
|
|
0:33 Sequence
|
|
0:33 move second child to first child (temp 2X4 matrix of bool)
|
|
0:33 'r13' (temp 2X4 matrix of bool)
|
|
0:33 transpose (temp 2X4 matrix of bool)
|
|
0:33 'b4x2' (temp 4X2 matrix of bool)
|
|
0:35 Sequence
|
|
0:35 move second child to first child (temp 3X1 matrix of bool)
|
|
0:35 'r20' (temp 3X1 matrix of bool)
|
|
0:35 transpose (temp 3X1 matrix of bool)
|
|
0:35 'b1x3' (temp 1X3 matrix of bool)
|
|
0:36 Sequence
|
|
0:36 move second child to first child (temp 3X2 matrix of bool)
|
|
0:36 'r21' (temp 3X2 matrix of bool)
|
|
0:36 transpose (temp 3X2 matrix of bool)
|
|
0:36 'b2x3' (temp 2X3 matrix of bool)
|
|
0:37 Sequence
|
|
0:37 move second child to first child (temp 3X3 matrix of bool)
|
|
0:37 'r22' (temp 3X3 matrix of bool)
|
|
0:37 transpose (temp 3X3 matrix of bool)
|
|
0:37 'b3x3' (temp 3X3 matrix of bool)
|
|
0:38 Sequence
|
|
0:38 move second child to first child (temp 3X4 matrix of bool)
|
|
0:38 'r23' (temp 3X4 matrix of bool)
|
|
0:38 transpose (temp 3X4 matrix of bool)
|
|
0:38 'b4x3' (temp 4X3 matrix of bool)
|
|
0:40 Sequence
|
|
0:40 move second child to first child (temp 4X1 matrix of bool)
|
|
0:40 'r30' (temp 4X1 matrix of bool)
|
|
0:40 transpose (temp 4X1 matrix of bool)
|
|
0:40 'b1x4' (temp 1X4 matrix of bool)
|
|
0:41 Sequence
|
|
0:41 move second child to first child (temp 4X2 matrix of bool)
|
|
0:41 'r31' (temp 4X2 matrix of bool)
|
|
0:41 transpose (temp 4X2 matrix of bool)
|
|
0:41 'b2x4' (temp 2X4 matrix of bool)
|
|
0:42 Sequence
|
|
0:42 move second child to first child (temp 4X3 matrix of bool)
|
|
0:42 'r32' (temp 4X3 matrix of bool)
|
|
0:42 transpose (temp 4X3 matrix of bool)
|
|
0:42 'b3x4' (temp 3X4 matrix of bool)
|
|
0:43 Sequence
|
|
0:43 move second child to first child (temp 4X4 matrix of bool)
|
|
0:43 'r33' (temp 4X4 matrix of bool)
|
|
0:43 transpose (temp 4X4 matrix of bool)
|
|
0:43 'b4x4' (temp 4X4 matrix of bool)
|
|
0:49 Function Definition: @main( (temp structure{temp 4-component vector of float color})
|
|
0:49 Function Parameters:
|
|
0:? Sequence
|
|
0:51 move second child to first child (temp 4-component vector of float)
|
|
0:51 color: direct index for structure (temp 4-component vector of float)
|
|
0:51 'ps_output' (temp structure{temp 4-component vector of float color})
|
|
0:51 Constant:
|
|
0:51 0 (const int)
|
|
0:? Constant:
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:? 0.000000
|
|
0:52 Branch: Return with expression
|
|
0:52 'ps_output' (temp structure{temp 4-component vector of float color})
|
|
0:49 Function Definition: main( (temp void)
|
|
0:49 Function Parameters:
|
|
0:? Sequence
|
|
0:49 Sequence
|
|
0:49 move second child to first child (temp 4-component vector of float)
|
|
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
|
0:49 color: direct index for structure (temp 4-component vector of float)
|
|
0:49 Function Call: @main( (temp structure{temp 4-component vector of float color})
|
|
0:49 Constant:
|
|
0:49 0 (const int)
|
|
0:? Linker Objects
|
|
0:? 'color' (layout(location=0 ) out 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 130
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 127
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Name 4 "main"
|
|
Name 6 "TestBoolMatTypes("
|
|
Name 10 "PS_OUTPUT"
|
|
MemberName 10(PS_OUTPUT) 0 "color"
|
|
Name 12 "@main("
|
|
Name 18 "r00"
|
|
Name 19 "b1x1"
|
|
Name 25 "r01"
|
|
Name 28 "b2x1"
|
|
Name 34 "r02"
|
|
Name 37 "b3x1"
|
|
Name 43 "r03"
|
|
Name 46 "b4x1"
|
|
Name 49 "r10"
|
|
Name 50 "b1x2"
|
|
Name 55 "r11"
|
|
Name 56 "b2x2"
|
|
Name 61 "r12"
|
|
Name 64 "b3x2"
|
|
Name 69 "r13"
|
|
Name 72 "b4x2"
|
|
Name 75 "r20"
|
|
Name 76 "b1x3"
|
|
Name 79 "r21"
|
|
Name 80 "b2x3"
|
|
Name 85 "r22"
|
|
Name 86 "b3x3"
|
|
Name 91 "r23"
|
|
Name 94 "b4x3"
|
|
Name 97 "r30"
|
|
Name 98 "b1x4"
|
|
Name 101 "r31"
|
|
Name 102 "b2x4"
|
|
Name 105 "r32"
|
|
Name 106 "b3x4"
|
|
Name 111 "r33"
|
|
Name 112 "b4x4"
|
|
Name 116 "ps_output"
|
|
Name 127 "color"
|
|
Decorate 127(color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
8: TypeFloat 32
|
|
9: TypeVector 8(float) 4
|
|
10(PS_OUTPUT): TypeStruct 9(fvec4)
|
|
11: TypeFunction 10(PS_OUTPUT)
|
|
14: TypeBool
|
|
15: TypeVector 14(bool) 1
|
|
16: TypeMatrix 15(bvec) 1
|
|
17: TypePointer Function 16
|
|
22: TypeVector 14(bool) 2
|
|
23: TypeMatrix 22(bvec2) 1
|
|
24: TypePointer Function 23
|
|
26: TypeMatrix 15(bvec) 2
|
|
27: TypePointer Function 26
|
|
31: TypeVector 14(bool) 3
|
|
32: TypeMatrix 31(bvec3) 1
|
|
33: TypePointer Function 32
|
|
35: TypeMatrix 15(bvec) 3
|
|
36: TypePointer Function 35
|
|
40: TypeVector 14(bool) 4
|
|
41: TypeMatrix 40(bvec4) 1
|
|
42: TypePointer Function 41
|
|
44: TypeMatrix 15(bvec) 4
|
|
45: TypePointer Function 44
|
|
53: TypeMatrix 22(bvec2) 2
|
|
54: TypePointer Function 53
|
|
59: TypeMatrix 31(bvec3) 2
|
|
60: TypePointer Function 59
|
|
62: TypeMatrix 22(bvec2) 3
|
|
63: TypePointer Function 62
|
|
67: TypeMatrix 40(bvec4) 2
|
|
68: TypePointer Function 67
|
|
70: TypeMatrix 22(bvec2) 4
|
|
71: TypePointer Function 70
|
|
83: TypeMatrix 31(bvec3) 3
|
|
84: TypePointer Function 83
|
|
89: TypeMatrix 40(bvec4) 3
|
|
90: TypePointer Function 89
|
|
92: TypeMatrix 31(bvec3) 4
|
|
93: TypePointer Function 92
|
|
109: TypeMatrix 40(bvec4) 4
|
|
110: TypePointer Function 109
|
|
115: TypePointer Function 10(PS_OUTPUT)
|
|
117: TypeInt 32 1
|
|
118: 117(int) Constant 0
|
|
119: 8(float) Constant 0
|
|
120: 9(fvec4) ConstantComposite 119 119 119 119
|
|
121: TypePointer Function 9(fvec4)
|
|
126: TypePointer Output 9(fvec4)
|
|
127(color): 126(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
128:10(PS_OUTPUT) FunctionCall 12(@main()
|
|
129: 9(fvec4) CompositeExtract 128 0
|
|
Store 127(color) 129
|
|
Return
|
|
FunctionEnd
|
|
6(TestBoolMatTypes(): 2 Function None 3
|
|
7: Label
|
|
18(r00): 17(ptr) Variable Function
|
|
19(b1x1): 17(ptr) Variable Function
|
|
25(r01): 24(ptr) Variable Function
|
|
28(b2x1): 27(ptr) Variable Function
|
|
34(r02): 33(ptr) Variable Function
|
|
37(b3x1): 36(ptr) Variable Function
|
|
43(r03): 42(ptr) Variable Function
|
|
46(b4x1): 45(ptr) Variable Function
|
|
49(r10): 27(ptr) Variable Function
|
|
50(b1x2): 24(ptr) Variable Function
|
|
55(r11): 54(ptr) Variable Function
|
|
56(b2x2): 54(ptr) Variable Function
|
|
61(r12): 60(ptr) Variable Function
|
|
64(b3x2): 63(ptr) Variable Function
|
|
69(r13): 68(ptr) Variable Function
|
|
72(b4x2): 71(ptr) Variable Function
|
|
75(r20): 36(ptr) Variable Function
|
|
76(b1x3): 33(ptr) Variable Function
|
|
79(r21): 63(ptr) Variable Function
|
|
80(b2x3): 60(ptr) Variable Function
|
|
85(r22): 84(ptr) Variable Function
|
|
86(b3x3): 84(ptr) Variable Function
|
|
91(r23): 90(ptr) Variable Function
|
|
94(b4x3): 93(ptr) Variable Function
|
|
97(r30): 45(ptr) Variable Function
|
|
98(b1x4): 42(ptr) Variable Function
|
|
101(r31): 71(ptr) Variable Function
|
|
102(b2x4): 68(ptr) Variable Function
|
|
105(r32): 93(ptr) Variable Function
|
|
106(b3x4): 90(ptr) Variable Function
|
|
111(r33): 110(ptr) Variable Function
|
|
112(b4x4): 110(ptr) Variable Function
|
|
20: 16 Load 19(b1x1)
|
|
21: 16 Transpose 20
|
|
Store 18(r00) 21
|
|
29: 26 Load 28(b2x1)
|
|
30: 23 Transpose 29
|
|
Store 25(r01) 30
|
|
38: 35 Load 37(b3x1)
|
|
39: 32 Transpose 38
|
|
Store 34(r02) 39
|
|
47: 44 Load 46(b4x1)
|
|
48: 41 Transpose 47
|
|
Store 43(r03) 48
|
|
51: 23 Load 50(b1x2)
|
|
52: 26 Transpose 51
|
|
Store 49(r10) 52
|
|
57: 53 Load 56(b2x2)
|
|
58: 53 Transpose 57
|
|
Store 55(r11) 58
|
|
65: 62 Load 64(b3x2)
|
|
66: 59 Transpose 65
|
|
Store 61(r12) 66
|
|
73: 70 Load 72(b4x2)
|
|
74: 67 Transpose 73
|
|
Store 69(r13) 74
|
|
77: 32 Load 76(b1x3)
|
|
78: 35 Transpose 77
|
|
Store 75(r20) 78
|
|
81: 59 Load 80(b2x3)
|
|
82: 62 Transpose 81
|
|
Store 79(r21) 82
|
|
87: 83 Load 86(b3x3)
|
|
88: 83 Transpose 87
|
|
Store 85(r22) 88
|
|
95: 92 Load 94(b4x3)
|
|
96: 89 Transpose 95
|
|
Store 91(r23) 96
|
|
99: 41 Load 98(b1x4)
|
|
100: 44 Transpose 99
|
|
Store 97(r30) 100
|
|
103: 67 Load 102(b2x4)
|
|
104: 70 Transpose 103
|
|
Store 101(r31) 104
|
|
107: 89 Load 106(b3x4)
|
|
108: 92 Transpose 107
|
|
Store 105(r32) 108
|
|
113: 109 Load 112(b4x4)
|
|
114: 109 Transpose 113
|
|
Store 111(r33) 114
|
|
Return
|
|
FunctionEnd
|
|
12(@main():10(PS_OUTPUT) Function None 11
|
|
13: Label
|
|
116(ps_output): 115(ptr) Variable Function
|
|
122: 121(ptr) AccessChain 116(ps_output) 118
|
|
Store 122 120
|
|
123:10(PS_OUTPUT) Load 116(ps_output)
|
|
ReturnValue 123
|
|
FunctionEnd
|