blob: c552675b88d2bb945c9df8e9e324aba156157f93 [file] [log] [blame]
hlsl.struct.split.trivial.geom
Shader version: 500
invocations = -1
max_vertices = 3
input primitive = triangles
output primitive = triangle_strip
0:? Sequence
0:14 Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
0:14 Function Parameters:
0:14 'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
0:14 'ts' ( out structure{ temp 4-component vector of float pos})
0:? Sequence
0:17 Sequence
0:17 move second child to first child ( temp int)
0:17 'x' ( temp int)
0:17 Constant:
0:17 0 (const int)
0:17 Loop with condition tested first
0:17 Loop Condition
0:17 Compare Less Than ( temp bool)
0:17 'x' ( temp int)
0:17 Constant:
0:17 3 (const int)
0:17 Loop Body
0:? Sequence
0:18 move second child to first child ( temp 4-component vector of float)
0:18 pos: direct index for structure ( temp 4-component vector of float)
0:18 'o' ( temp structure{ temp 4-component vector of float pos})
0:18 Constant:
0:18 0 (const int)
0:18 pos: direct index for structure ( temp 4-component vector of float)
0:18 indirect index ( temp structure{ temp 4-component vector of float pos})
0:18 'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
0:18 'x' ( temp int)
0:18 Constant:
0:18 0 (const int)
0:19 Sequence
0:19 Sequence
0:19 move second child to first child ( temp 4-component vector of float)
0:? 'ts_pos' ( out 4-component vector of float Position)
0:19 pos: direct index for structure ( temp 4-component vector of float)
0:19 'o' ( temp structure{ temp 4-component vector of float pos})
0:19 Constant:
0:19 0 (const int)
0:19 EmitVertex ( temp void)
0:17 Loop Terminal Expression
0:17 Pre-Increment ( temp int)
0:17 'x' ( temp int)
0:14 Function Definition: main( ( temp void)
0:14 Function Parameters:
0:? Sequence
0:14 Sequence
0:14 move second child to first child ( temp 4-component vector of float)
0:14 pos: direct index for structure ( temp 4-component vector of float)
0:14 direct index ( temp structure{ temp 4-component vector of float pos})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 0 (const int)
0:14 direct index ( in 4-component vector of float Position)
0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
0:14 Constant:
0:14 0 (const int)
0:14 move second child to first child ( temp 4-component vector of float)
0:14 pos: direct index for structure ( temp 4-component vector of float)
0:14 direct index ( temp structure{ temp 4-component vector of float pos})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 0 (const int)
0:14 direct index ( in 4-component vector of float Position)
0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
0:14 Constant:
0:14 1 (const int)
0:14 move second child to first child ( temp 4-component vector of float)
0:14 pos: direct index for structure ( temp 4-component vector of float)
0:14 direct index ( temp structure{ temp 4-component vector of float pos})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
0:14 Constant:
0:14 2 (const int)
0:14 Constant:
0:14 0 (const int)
0:14 direct index ( in 4-component vector of float Position)
0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
0:14 Constant:
0:14 2 (const int)
0:14 Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
0:? 'ts' ( temp structure{ temp 4-component vector of float pos})
0:? Linker Objects
0:? 'i' (layout( location=0) in 3-element array of structure{})
0:? 'ts' (layout( location=0) out structure{})
Linked geometry stage:
Shader version: 500
invocations = 1
max_vertices = 3
input primitive = triangles
output primitive = triangle_strip
0:? Sequence
0:14 Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
0:14 Function Parameters:
0:14 'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
0:14 'ts' ( out structure{ temp 4-component vector of float pos})
0:? Sequence
0:17 Sequence
0:17 move second child to first child ( temp int)
0:17 'x' ( temp int)
0:17 Constant:
0:17 0 (const int)
0:17 Loop with condition tested first
0:17 Loop Condition
0:17 Compare Less Than ( temp bool)
0:17 'x' ( temp int)
0:17 Constant:
0:17 3 (const int)
0:17 Loop Body
0:? Sequence
0:18 move second child to first child ( temp 4-component vector of float)
0:18 pos: direct index for structure ( temp 4-component vector of float)
0:18 'o' ( temp structure{ temp 4-component vector of float pos})
0:18 Constant:
0:18 0 (const int)
0:18 pos: direct index for structure ( temp 4-component vector of float)
0:18 indirect index ( temp structure{ temp 4-component vector of float pos})
0:18 'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
0:18 'x' ( temp int)
0:18 Constant:
0:18 0 (const int)
0:19 Sequence
0:19 Sequence
0:19 move second child to first child ( temp 4-component vector of float)
0:? 'ts_pos' ( out 4-component vector of float Position)
0:19 pos: direct index for structure ( temp 4-component vector of float)
0:19 'o' ( temp structure{ temp 4-component vector of float pos})
0:19 Constant:
0:19 0 (const int)
0:19 EmitVertex ( temp void)
0:17 Loop Terminal Expression
0:17 Pre-Increment ( temp int)
0:17 'x' ( temp int)
0:14 Function Definition: main( ( temp void)
0:14 Function Parameters:
0:? Sequence
0:14 Sequence
0:14 move second child to first child ( temp 4-component vector of float)
0:14 pos: direct index for structure ( temp 4-component vector of float)
0:14 direct index ( temp structure{ temp 4-component vector of float pos})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 0 (const int)
0:14 direct index ( in 4-component vector of float Position)
0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
0:14 Constant:
0:14 0 (const int)
0:14 move second child to first child ( temp 4-component vector of float)
0:14 pos: direct index for structure ( temp 4-component vector of float)
0:14 direct index ( temp structure{ temp 4-component vector of float pos})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 0 (const int)
0:14 direct index ( in 4-component vector of float Position)
0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
0:14 Constant:
0:14 1 (const int)
0:14 move second child to first child ( temp 4-component vector of float)
0:14 pos: direct index for structure ( temp 4-component vector of float)
0:14 direct index ( temp structure{ temp 4-component vector of float pos})
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
0:14 Constant:
0:14 2 (const int)
0:14 Constant:
0:14 0 (const int)
0:14 direct index ( in 4-component vector of float Position)
0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
0:14 Constant:
0:14 2 (const int)
0:14 Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
0:? 'ts' ( temp structure{ temp 4-component vector of float pos})
0:? Linker Objects
0:? 'i' (layout( location=0) in 3-element array of structure{})
0:? 'ts' (layout( location=0) out structure{})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 74
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 40 49 70 73
ExecutionMode 4 Triangles
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 3
Source HLSL 500
Name 4 "main"
Name 8 "PS_IN"
MemberName 8(PS_IN) 0 "pos"
Name 13 "GS_OUT"
MemberName 13(GS_OUT) 0 "pos"
Name 18 "@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;"
Name 16 "i"
Name 17 "ts"
Name 22 "x"
Name 33 "o"
Name 40 "ts_pos"
Name 46 "i"
Name 49 "i_pos"
Name 61 "ts"
Name 62 "param"
Name 64 "param"
Name 67 "PS_IN"
Name 70 "i"
Name 71 "GS_OUT"
Name 73 "ts"
Decorate 40(ts_pos) BuiltIn Position
Decorate 49(i_pos) BuiltIn Position
Decorate 70(i) Location 0
Decorate 73(ts) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_IN): TypeStruct 7(fvec4)
9: TypeInt 32 0
10: 9(int) Constant 3
11: TypeArray 8(PS_IN) 10
12: TypePointer Function 11
13(GS_OUT): TypeStruct 7(fvec4)
14: TypePointer Function 13(GS_OUT)
15: TypeFunction 2 12(ptr) 14(ptr)
20: TypeInt 32 1
21: TypePointer Function 20(int)
23: 20(int) Constant 0
30: 20(int) Constant 3
31: TypeBool
35: TypePointer Function 7(fvec4)
39: TypePointer Output 7(fvec4)
40(ts_pos): 39(ptr) Variable Output
44: 20(int) Constant 1
47: TypeArray 7(fvec4) 10
48: TypePointer Input 47
49(i_pos): 48(ptr) Variable Input
50: TypePointer Input 7(fvec4)
57: 20(int) Constant 2
67(PS_IN): TypeStruct
68: TypeArray 67(PS_IN) 10
69: TypePointer Input 68
70(i): 69(ptr) Variable Input
71(GS_OUT): TypeStruct
72: TypePointer Output 71(GS_OUT)
73(ts): 72(ptr) Variable Output
4(main): 2 Function None 3
5: Label
46(i): 12(ptr) Variable Function
61(ts): 14(ptr) Variable Function
62(param): 12(ptr) Variable Function
64(param): 14(ptr) Variable Function
51: 50(ptr) AccessChain 49(i_pos) 23
52: 7(fvec4) Load 51
53: 35(ptr) AccessChain 46(i) 23 23
Store 53 52
54: 50(ptr) AccessChain 49(i_pos) 44
55: 7(fvec4) Load 54
56: 35(ptr) AccessChain 46(i) 44 23
Store 56 55
58: 50(ptr) AccessChain 49(i_pos) 57
59: 7(fvec4) Load 58
60: 35(ptr) AccessChain 46(i) 57 23
Store 60 59
63: 11 Load 46(i)
Store 62(param) 63
65: 2 FunctionCall 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;) 62(param) 64(param)
66: 13(GS_OUT) Load 64(param)
Store 61(ts) 66
Return
FunctionEnd
18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;): 2 Function None 15
16(i): 12(ptr) FunctionParameter
17(ts): 14(ptr) FunctionParameter
19: Label
22(x): 21(ptr) Variable Function
33(o): 14(ptr) Variable Function
Store 22(x) 23
Branch 24
24: Label
LoopMerge 26 27 None
Branch 28
28: Label
29: 20(int) Load 22(x)
32: 31(bool) SLessThan 29 30
BranchConditional 32 25 26
25: Label
34: 20(int) Load 22(x)
36: 35(ptr) AccessChain 16(i) 34 23
37: 7(fvec4) Load 36
38: 35(ptr) AccessChain 33(o) 23
Store 38 37
41: 35(ptr) AccessChain 33(o) 23
42: 7(fvec4) Load 41
Store 40(ts_pos) 42
EmitVertex
Branch 27
27: Label
43: 20(int) Load 22(x)
45: 20(int) IAdd 43 44
Store 22(x) 45
Branch 24
26: Label
Return
FunctionEnd