blob: f88118d624682c25b9c5b51f5f23d6fd4b12845f [file] [log] [blame]
hlsl.structarray.flatten.geom
Shader version: 500
invocations = -1
max_vertices = 4
input primitive = lines
output primitive = triangle_strip
0:? Sequence
0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
0:16 Function Parameters:
0:16 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Sequence
0:19 move second child to first child ( temp 4-component vector of float)
0:19 color: direct index for structure ( temp 4-component vector of float)
0:19 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 Constant:
0:19 1 (const int)
0:19 color: direct index for structure ( temp 4-component vector of float)
0:19 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 Constant:
0:19 1 (const int)
0:19 Constant:
0:19 1 (const int)
0:20 move second child to first child ( temp 2-component vector of float)
0:20 uv: direct index for structure ( temp 2-component vector of float)
0:20 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 Constant:
0:20 2 (const int)
0:20 uv: direct index for structure ( temp 2-component vector of float)
0:20 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 Constant:
0:20 1 (const int)
0:20 Constant:
0:20 2 (const int)
0:21 move second child to first child ( temp 4-component vector of float)
0:21 position: direct index for structure ( temp 4-component vector of float)
0:21 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 Constant:
0:21 0 (const int)
0:21 position: direct index for structure ( temp 4-component vector of float)
0:21 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 Constant:
0:21 1 (const int)
0:21 Constant:
0:21 0 (const int)
0:22 Sequence
0:22 Sequence
0:22 move second child to first child ( temp 4-component vector of float)
0:? 'outStream.position' ( out 4-component vector of float Position)
0:22 position: direct index for structure ( temp 4-component vector of float)
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 4-component vector of float)
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
0:22 color: direct index for structure ( temp 4-component vector of float)
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp 2-component vector of float)
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
0:22 uv: direct index for structure ( temp 2-component vector of float)
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 Constant:
0:22 2 (const int)
0:22 EmitVertex ( temp void)
0:16 Function Definition: main( ( temp void)
0:16 Function Parameters:
0:? Sequence
0:16 move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Linker Objects
0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream.position' ( out 4-component vector of float Position)
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
Linked geometry stage:
Shader version: 500
invocations = 1
max_vertices = 4
input primitive = lines
output primitive = triangle_strip
0:? Sequence
0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
0:16 Function Parameters:
0:16 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 'outStream' ( out structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Sequence
0:19 move second child to first child ( temp 4-component vector of float)
0:19 color: direct index for structure ( temp 4-component vector of float)
0:19 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 Constant:
0:19 1 (const int)
0:19 color: direct index for structure ( temp 4-component vector of float)
0:19 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 Constant:
0:19 1 (const int)
0:19 Constant:
0:19 1 (const int)
0:20 move second child to first child ( temp 2-component vector of float)
0:20 uv: direct index for structure ( temp 2-component vector of float)
0:20 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 Constant:
0:20 2 (const int)
0:20 uv: direct index for structure ( temp 2-component vector of float)
0:20 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 Constant:
0:20 1 (const int)
0:20 Constant:
0:20 2 (const int)
0:21 move second child to first child ( temp 4-component vector of float)
0:21 position: direct index for structure ( temp 4-component vector of float)
0:21 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 Constant:
0:21 0 (const int)
0:21 position: direct index for structure ( temp 4-component vector of float)
0:21 direct index ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 'vin' ( in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 Constant:
0:21 1 (const int)
0:21 Constant:
0:21 0 (const int)
0:22 Sequence
0:22 Sequence
0:22 move second child to first child ( temp 4-component vector of float)
0:? 'outStream.position' ( out 4-component vector of float Position)
0:22 position: direct index for structure ( temp 4-component vector of float)
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 4-component vector of float)
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
0:22 color: direct index for structure ( temp 4-component vector of float)
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp 2-component vector of float)
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
0:22 uv: direct index for structure ( temp 2-component vector of float)
0:22 'vout' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 Constant:
0:22 2 (const int)
0:22 EmitVertex ( temp void)
0:16 Function Definition: main( ( temp void)
0:16 Function Parameters:
0:? Sequence
0:16 move second child to first child ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; ( temp void)
0:? 'vin' ( temp 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream' ( temp structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Linker Objects
0:? 'vin' (layout( location=0) in 2-element array of structure{ temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream.position' ( out 4-component vector of float Position)
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 58
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 38 41 45 50
ExecutionMode 4 InputLines
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 4
Source HLSL 500
Name 4 "main"
Name 9 "VertexData"
MemberName 9(VertexData) 0 "position"
MemberName 9(VertexData) 1 "color"
MemberName 9(VertexData) 2 "uv"
Name 14 "PS_IN"
MemberName 14(PS_IN) 0 "position"
MemberName 14(PS_IN) 1 "color"
MemberName 14(PS_IN) 2 "uv"
Name 19 "@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;"
Name 17 "vin"
Name 18 "outStream"
Name 21 "vout"
Name 38 "outStream.position"
Name 41 "outStream.color"
Name 45 "outStream.uv"
Name 48 "vin"
Name 50 "vin"
Name 52 "outStream"
Name 53 "param"
Name 55 "param"
Decorate 38(outStream.position) BuiltIn Position
Decorate 41(outStream.color) Location 0
Decorate 45(outStream.uv) Location 1
Decorate 50(vin) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeVector 6(float) 2
9(VertexData): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
10: TypeInt 32 0
11: 10(int) Constant 2
12: TypeArray 9(VertexData) 11
13: TypePointer Function 12
14(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
15: TypePointer Function 14(PS_IN)
16: TypeFunction 2 13(ptr) 15(ptr)
22: TypeInt 32 1
23: 22(int) Constant 1
24: TypePointer Function 7(fvec4)
28: 22(int) Constant 2
29: TypePointer Function 8(fvec2)
33: 22(int) Constant 0
37: TypePointer Output 7(fvec4)
38(outStream.position): 37(ptr) Variable Output
41(outStream.color): 37(ptr) Variable Output
44: TypePointer Output 8(fvec2)
45(outStream.uv): 44(ptr) Variable Output
49: TypePointer Input 12
50(vin): 49(ptr) Variable Input
4(main): 2 Function None 3
5: Label
48(vin): 13(ptr) Variable Function
52(outStream): 15(ptr) Variable Function
53(param): 13(ptr) Variable Function
55(param): 15(ptr) Variable Function
51: 12 Load 50(vin)
Store 48(vin) 51
54: 12 Load 48(vin)
Store 53(param) 54
56: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 53(param) 55(param)
57: 14(PS_IN) Load 55(param)
Store 52(outStream) 57
Return
FunctionEnd
19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;): 2 Function None 16
17(vin): 13(ptr) FunctionParameter
18(outStream): 15(ptr) FunctionParameter
20: Label
21(vout): 15(ptr) Variable Function
25: 24(ptr) AccessChain 17(vin) 23 23
26: 7(fvec4) Load 25
27: 24(ptr) AccessChain 21(vout) 23
Store 27 26
30: 29(ptr) AccessChain 17(vin) 23 28
31: 8(fvec2) Load 30
32: 29(ptr) AccessChain 21(vout) 28
Store 32 31
34: 24(ptr) AccessChain 17(vin) 23 33
35: 7(fvec4) Load 34
36: 24(ptr) AccessChain 21(vout) 33
Store 36 35
39: 24(ptr) AccessChain 21(vout) 33
40: 7(fvec4) Load 39
Store 38(outStream.position) 40
42: 24(ptr) AccessChain 21(vout) 23
43: 7(fvec4) Load 42
Store 41(outStream.color) 43
46: 29(ptr) AccessChain 21(vout) 28
47: 8(fvec2) Load 46
Store 45(outStream.uv) 47
EmitVertex
Return
FunctionEnd