glslang/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
GregF e0639287df HLSL Legalization: Add scalar replacement
This allow for propagation through structs with dynamically indexed
arrays. This supports recent removal of non-io struct flattening.
2017-12-21 11:30:13 -07:00

95 lines
4.4 KiB
Plaintext
Executable File

hlsl.partialFlattenLocal.vert
WARNING: AST will form illegal SPIR-V; need to transform to legalize
// Module Version 10000
// Generated by (magic number): 80003
// Id's are bound by 165
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 83 86
Source HLSL 500
Name 4 "main"
Name 22 "Packed"
MemberName 22(Packed) 0 "tex"
MemberName 22(Packed) 1 "pos"
MemberName 22(Packed) 2 "uv"
MemberName 22(Packed) 3 "x"
MemberName 22(Packed) 4 "n"
Name 83 "pos"
Name 86 "@entryPointOutput"
Decorate 83(pos) Location 0
Decorate 86(@entryPointOutput) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
13: TypeImage 6(float) 2D sampled format:Unknown
14: TypeVector 6(float) 3
15: TypeInt 32 0
16: 15(int) Constant 3
17: TypeArray 14(fvec3) 16
18: TypeVector 6(float) 2
19: 15(int) Constant 2
20: TypeArray 18(fvec2) 19
21: TypeInt 32 1
22(Packed): TypeStruct 13 17 20 6(float) 21(int)
25: 21(int) Constant 0
31: 21(int) Constant 1
32: 6(float) Constant 0
33: 14(fvec3) ConstantComposite 32 32 32
34: TypePointer Function 14(fvec3)
37: 6(float) Constant 1065353216
38: 18(fvec2) ConstantComposite 32 37
39: TypePointer Function 18(fvec2)
54: TypeBool
82: TypePointer Input 7(fvec4)
83(pos): 82(ptr) Variable Input
85: TypePointer Output 7(fvec4)
86(@entryPointOutput): 85(ptr) Variable Output
130: TypePointer Function 17
132: TypePointer Function 20
4(main): 2 Function None 3
5: Label
133: 132(ptr) Variable Function
131: 130(ptr) Variable Function
84: 7(fvec4) Load 83(pos)
136: 34(ptr) AccessChain 131 25
Store 136 33
137: 39(ptr) AccessChain 133 25
Store 137 38
Branch 100
100: Label
164: 21(int) Phi 25 5 119 102
LoopMerge 101 102 None
Branch 103
103: Label
105: 54(bool) SLessThan 164 31
BranchConditional 105 106 101
106: Label
138: 39(ptr) AccessChain 133 164
110: 18(fvec2) Load 138
139: 34(ptr) AccessChain 131 164
112: 14(fvec3) Load 139
113: 18(fvec2) VectorShuffle 112 112 0 1
114: 18(fvec2) FAdd 113 110
140: 34(ptr) AccessChain 131 164
116: 14(fvec3) Load 140
117: 14(fvec3) VectorShuffle 116 114 3 4 2
Store 140 117
Branch 102
102: Label
119: 21(int) IAdd 164 31
Branch 100
101: Label
142: 17 Load 131
161: 14(fvec3) CompositeExtract 142 0
124: 6(float) CompositeExtract 161 0
125: 6(float) CompositeExtract 161 1
126: 6(float) CompositeExtract 161 2
127: 7(fvec4) CompositeConstruct 124 125 126 32
128: 7(fvec4) FAdd 84 127
Store 86(@entryPointOutput) 128
Return
FunctionEnd