This allows removal of isPerVertexBuiltIn(). It also leads to removal of addInterstageIoToLinkage(), which is no longer needed. Includes related name improvements.
294 lines
19 KiB
Plaintext
294 lines
19 KiB
Plaintext
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:22 color: direct index for structure ( temp 4-component vector of float)
|
|
0:22 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
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:22 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:22 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 1 (const int)
|
|
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' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
|
|
|
|
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:22 color: direct index for structure ( temp 4-component vector of float)
|
|
0:22 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 0 (const int)
|
|
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:22 uv: direct index for structure ( temp 2-component vector of float)
|
|
0:22 'outStream' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
0:22 Constant:
|
|
0:22 1 (const int)
|
|
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' (layout( location=0) out structure{ temp 4-component vector of float color, temp 2-component vector of float uv})
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 61
|
|
|
|
Capability Geometry
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Geometry 4 "main" 38 43 53
|
|
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 "PS_IN"
|
|
MemberName 41(PS_IN) 0 "color"
|
|
MemberName 41(PS_IN) 1 "uv"
|
|
Name 43 "outStream"
|
|
Name 51 "vin"
|
|
Name 53 "vin"
|
|
Name 55 "outStream"
|
|
Name 56 "param"
|
|
Name 58 "param"
|
|
Decorate 38(outStream_position) BuiltIn Position
|
|
Decorate 43(outStream) Location 0
|
|
Decorate 53(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(PS_IN): TypeStruct 7(fvec4) 8(fvec2)
|
|
42: TypePointer Output 41(PS_IN)
|
|
43(outStream): 42(ptr) Variable Output
|
|
49: TypePointer Output 8(fvec2)
|
|
52: TypePointer Input 12
|
|
53(vin): 52(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
51(vin): 13(ptr) Variable Function
|
|
55(outStream): 15(ptr) Variable Function
|
|
56(param): 13(ptr) Variable Function
|
|
58(param): 15(ptr) Variable Function
|
|
54: 12 Load 53(vin)
|
|
Store 51(vin) 54
|
|
57: 12 Load 51(vin)
|
|
Store 56(param) 57
|
|
59: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 56(param) 58(param)
|
|
60: 14(PS_IN) Load 58(param)
|
|
Store 55(outStream) 60
|
|
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
|
|
44: 24(ptr) AccessChain 21(vout) 23
|
|
45: 7(fvec4) Load 44
|
|
46: 37(ptr) AccessChain 43(outStream) 33
|
|
Store 46 45
|
|
47: 29(ptr) AccessChain 21(vout) 28
|
|
48: 8(fvec2) Load 47
|
|
50: 49(ptr) AccessChain 43(outStream) 23
|
|
Store 50 48
|
|
EmitVertex
|
|
Return
|
|
FunctionEnd
|