This allows removal of isPerVertexBuiltIn(). It also leads to removal of addInterstageIoToLinkage(), which is no longer needed. Includes related name improvements.
336 lines
19 KiB
Plaintext
336 lines
19 KiB
Plaintext
hlsl.struct.split-1.vert
|
|
Shader version: 500
|
|
0:? Sequence
|
|
0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Function Parameters:
|
|
0:17 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:17 'Pos_loose' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:20 move second child to first child ( temp int)
|
|
0:20 x0_out: direct index for structure ( temp int)
|
|
0:20 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:20 Constant:
|
|
0:20 0 (const int)
|
|
0:20 x0_in: direct index for structure ( temp int)
|
|
0:20 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:20 Constant:
|
|
0:20 0 (const int)
|
|
0:21 move second child to first child ( temp 4-component vector of float)
|
|
0:21 Pos_out: direct index for structure ( temp 4-component vector of float)
|
|
0:21 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 add ( temp 4-component vector of float)
|
|
0:21 Pos_in: direct index for structure ( temp 4-component vector of float)
|
|
0:21 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 'Pos_loose' ( in 4-component vector of float)
|
|
0:22 move second child to first child ( temp int)
|
|
0:22 x1_out: direct index for structure ( temp int)
|
|
0:22 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:22 Constant:
|
|
0:22 2 (const int)
|
|
0:22 x1_in: direct index for structure ( temp int)
|
|
0:22 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:22 Constant:
|
|
0:22 2 (const int)
|
|
0:24 Branch: Return with expression
|
|
0:24 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Function Definition: main( ( temp void)
|
|
0:17 Function Parameters:
|
|
0:? Sequence
|
|
0:17 Sequence
|
|
0:17 move second child to first child ( temp int)
|
|
0:17 x0_in: direct index for structure ( temp int)
|
|
0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:17 Constant:
|
|
0:17 0 (const int)
|
|
0:? 'x0_in' (layout( location=0) in int)
|
|
0:17 move second child to first child ( temp 4-component vector of float)
|
|
0:17 Pos_in: direct index for structure ( temp 4-component vector of float)
|
|
0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:17 Constant:
|
|
0:17 1 (const int)
|
|
0:? 'Pos_in' (layout( location=1) in 4-component vector of float)
|
|
0:17 move second child to first child ( temp int)
|
|
0:17 x1_in: direct index for structure ( temp int)
|
|
0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:17 Constant:
|
|
0:17 2 (const int)
|
|
0:? 'x1_in' (layout( location=2) in int)
|
|
0:17 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'Pos_loose' ( temp 4-component vector of float)
|
|
0:? 'Pos_loose' (layout( location=3) in 4-component vector of float)
|
|
0:17 Sequence
|
|
0:17 move second child to first child ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:? 'Pos_loose' ( temp 4-component vector of float)
|
|
0:17 move second child to first child ( temp int)
|
|
0:17 x0_out: direct index for structure ( temp int)
|
|
0:17 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 0 (const int)
|
|
0:17 x0_out: direct index for structure ( temp int)
|
|
0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 0 (const int)
|
|
0:17 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput_Pos_out' ( out 4-component vector of float Position)
|
|
0:17 Pos_out: direct index for structure ( temp 4-component vector of float)
|
|
0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 1 (const int)
|
|
0:17 move second child to first child ( temp int)
|
|
0:17 x1_out: direct index for structure ( temp int)
|
|
0:17 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 1 (const int)
|
|
0:17 x1_out: direct index for structure ( temp int)
|
|
0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 2 (const int)
|
|
0:? Linker Objects
|
|
0:? '@entryPointOutput_Pos_out' ( out 4-component vector of float Position)
|
|
0:? '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out})
|
|
0:? 'x0_in' (layout( location=0) in int)
|
|
0:? 'Pos_in' (layout( location=1) in 4-component vector of float)
|
|
0:? 'x1_in' (layout( location=2) in int)
|
|
0:? 'Pos_loose' (layout( location=3) in 4-component vector of float)
|
|
|
|
|
|
Linked vertex stage:
|
|
|
|
|
|
Shader version: 500
|
|
0:? Sequence
|
|
0:17 Function Definition: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Function Parameters:
|
|
0:17 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:17 'Pos_loose' ( in 4-component vector of float)
|
|
0:? Sequence
|
|
0:20 move second child to first child ( temp int)
|
|
0:20 x0_out: direct index for structure ( temp int)
|
|
0:20 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:20 Constant:
|
|
0:20 0 (const int)
|
|
0:20 x0_in: direct index for structure ( temp int)
|
|
0:20 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:20 Constant:
|
|
0:20 0 (const int)
|
|
0:21 move second child to first child ( temp 4-component vector of float)
|
|
0:21 Pos_out: direct index for structure ( temp 4-component vector of float)
|
|
0:21 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 add ( temp 4-component vector of float)
|
|
0:21 Pos_in: direct index for structure ( temp 4-component vector of float)
|
|
0:21 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:21 Constant:
|
|
0:21 1 (const int)
|
|
0:21 'Pos_loose' ( in 4-component vector of float)
|
|
0:22 move second child to first child ( temp int)
|
|
0:22 x1_out: direct index for structure ( temp int)
|
|
0:22 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:22 Constant:
|
|
0:22 2 (const int)
|
|
0:22 x1_in: direct index for structure ( temp int)
|
|
0:22 'vsin' ( in structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:22 Constant:
|
|
0:22 2 (const int)
|
|
0:24 Branch: Return with expression
|
|
0:24 'vsout' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Function Definition: main( ( temp void)
|
|
0:17 Function Parameters:
|
|
0:? Sequence
|
|
0:17 Sequence
|
|
0:17 move second child to first child ( temp int)
|
|
0:17 x0_in: direct index for structure ( temp int)
|
|
0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:17 Constant:
|
|
0:17 0 (const int)
|
|
0:? 'x0_in' (layout( location=0) in int)
|
|
0:17 move second child to first child ( temp 4-component vector of float)
|
|
0:17 Pos_in: direct index for structure ( temp 4-component vector of float)
|
|
0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:17 Constant:
|
|
0:17 1 (const int)
|
|
0:? 'Pos_in' (layout( location=1) in 4-component vector of float)
|
|
0:17 move second child to first child ( temp int)
|
|
0:17 x1_in: direct index for structure ( temp int)
|
|
0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:17 Constant:
|
|
0:17 2 (const int)
|
|
0:? 'x1_in' (layout( location=2) in int)
|
|
0:17 move second child to first child ( temp 4-component vector of float)
|
|
0:? 'Pos_loose' ( temp 4-component vector of float)
|
|
0:? 'Pos_loose' (layout( location=3) in 4-component vector of float)
|
|
0:17 Sequence
|
|
0:17 move second child to first child ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Function Call: @main(struct-VS_INPUT-i1-vf4-i11;vf4; ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:? 'vsin' ( temp structure{ temp int x0_in, temp 4-component vector of float Pos_in, temp int x1_in})
|
|
0:? 'Pos_loose' ( temp 4-component vector of float)
|
|
0:17 move second child to first child ( temp int)
|
|
0:17 x0_out: direct index for structure ( temp int)
|
|
0:17 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 0 (const int)
|
|
0:17 x0_out: direct index for structure ( temp int)
|
|
0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 0 (const int)
|
|
0:17 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput_Pos_out' ( out 4-component vector of float Position)
|
|
0:17 Pos_out: direct index for structure ( temp 4-component vector of float)
|
|
0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 1 (const int)
|
|
0:17 move second child to first child ( temp int)
|
|
0:17 x1_out: direct index for structure ( temp int)
|
|
0:17 '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 1 (const int)
|
|
0:17 x1_out: direct index for structure ( temp int)
|
|
0:17 'flattenTemp' ( temp structure{ temp int x0_out, temp 4-component vector of float Pos_out, temp int x1_out})
|
|
0:17 Constant:
|
|
0:17 2 (const int)
|
|
0:? Linker Objects
|
|
0:? '@entryPointOutput_Pos_out' ( out 4-component vector of float Position)
|
|
0:? '@entryPointOutput' (layout( location=0) out structure{ temp int x0_out, temp int x1_out})
|
|
0:? 'x0_in' (layout( location=0) in int)
|
|
0:? 'Pos_in' (layout( location=1) in 4-component vector of float)
|
|
0:? 'x1_in' (layout( location=2) in int)
|
|
0:? 'Pos_loose' (layout( location=3) in 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 73
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 40 44 47 51 61 67
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 9 "VS_INPUT"
|
|
MemberName 9(VS_INPUT) 0 "x0_in"
|
|
MemberName 9(VS_INPUT) 1 "Pos_in"
|
|
MemberName 9(VS_INPUT) 2 "x1_in"
|
|
Name 12 "VS_OUTPUT"
|
|
MemberName 12(VS_OUTPUT) 0 "x0_out"
|
|
MemberName 12(VS_OUTPUT) 1 "Pos_out"
|
|
MemberName 12(VS_OUTPUT) 2 "x1_out"
|
|
Name 16 "@main(struct-VS_INPUT-i1-vf4-i11;vf4;"
|
|
Name 14 "vsin"
|
|
Name 15 "Pos_loose"
|
|
Name 19 "vsout"
|
|
Name 38 "vsin"
|
|
Name 40 "x0_in"
|
|
Name 44 "Pos_in"
|
|
Name 47 "x1_in"
|
|
Name 50 "Pos_loose"
|
|
Name 51 "Pos_loose"
|
|
Name 53 "flattenTemp"
|
|
Name 54 "param"
|
|
Name 56 "param"
|
|
Name 59 "VS_OUTPUT"
|
|
MemberName 59(VS_OUTPUT) 0 "x0_out"
|
|
MemberName 59(VS_OUTPUT) 1 "x1_out"
|
|
Name 61 "@entryPointOutput"
|
|
Name 67 "@entryPointOutput_Pos_out"
|
|
Decorate 40(x0_in) Location 0
|
|
Decorate 44(Pos_in) Location 1
|
|
Decorate 47(x1_in) Location 2
|
|
Decorate 51(Pos_loose) Location 3
|
|
Decorate 61(@entryPointOutput) Location 0
|
|
Decorate 67(@entryPointOutput_Pos_out) BuiltIn Position
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypeFloat 32
|
|
8: TypeVector 7(float) 4
|
|
9(VS_INPUT): TypeStruct 6(int) 8(fvec4) 6(int)
|
|
10: TypePointer Function 9(VS_INPUT)
|
|
11: TypePointer Function 8(fvec4)
|
|
12(VS_OUTPUT): TypeStruct 6(int) 8(fvec4) 6(int)
|
|
13: TypeFunction 12(VS_OUTPUT) 10(ptr) 11(ptr)
|
|
18: TypePointer Function 12(VS_OUTPUT)
|
|
20: 6(int) Constant 0
|
|
21: TypePointer Function 6(int)
|
|
25: 6(int) Constant 1
|
|
31: 6(int) Constant 2
|
|
39: TypePointer Input 6(int)
|
|
40(x0_in): 39(ptr) Variable Input
|
|
43: TypePointer Input 8(fvec4)
|
|
44(Pos_in): 43(ptr) Variable Input
|
|
47(x1_in): 39(ptr) Variable Input
|
|
51(Pos_loose): 43(ptr) Variable Input
|
|
59(VS_OUTPUT): TypeStruct 6(int) 6(int)
|
|
60: TypePointer Output 59(VS_OUTPUT)
|
|
61(@entryPointOutput): 60(ptr) Variable Output
|
|
64: TypePointer Output 6(int)
|
|
66: TypePointer Output 8(fvec4)
|
|
67(@entryPointOutput_Pos_out): 66(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
38(vsin): 10(ptr) Variable Function
|
|
50(Pos_loose): 11(ptr) Variable Function
|
|
53(flattenTemp): 18(ptr) Variable Function
|
|
54(param): 10(ptr) Variable Function
|
|
56(param): 11(ptr) Variable Function
|
|
41: 6(int) Load 40(x0_in)
|
|
42: 21(ptr) AccessChain 38(vsin) 20
|
|
Store 42 41
|
|
45: 8(fvec4) Load 44(Pos_in)
|
|
46: 11(ptr) AccessChain 38(vsin) 25
|
|
Store 46 45
|
|
48: 6(int) Load 47(x1_in)
|
|
49: 21(ptr) AccessChain 38(vsin) 31
|
|
Store 49 48
|
|
52: 8(fvec4) Load 51(Pos_loose)
|
|
Store 50(Pos_loose) 52
|
|
55: 9(VS_INPUT) Load 38(vsin)
|
|
Store 54(param) 55
|
|
57: 8(fvec4) Load 50(Pos_loose)
|
|
Store 56(param) 57
|
|
58:12(VS_OUTPUT) FunctionCall 16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;) 54(param) 56(param)
|
|
Store 53(flattenTemp) 58
|
|
62: 21(ptr) AccessChain 53(flattenTemp) 20
|
|
63: 6(int) Load 62
|
|
65: 64(ptr) AccessChain 61(@entryPointOutput) 20
|
|
Store 65 63
|
|
68: 11(ptr) AccessChain 53(flattenTemp) 25
|
|
69: 8(fvec4) Load 68
|
|
Store 67(@entryPointOutput_Pos_out) 69
|
|
70: 21(ptr) AccessChain 53(flattenTemp) 31
|
|
71: 6(int) Load 70
|
|
72: 64(ptr) AccessChain 61(@entryPointOutput) 25
|
|
Store 72 71
|
|
Return
|
|
FunctionEnd
|
|
16(@main(struct-VS_INPUT-i1-vf4-i11;vf4;):12(VS_OUTPUT) Function None 13
|
|
14(vsin): 10(ptr) FunctionParameter
|
|
15(Pos_loose): 11(ptr) FunctionParameter
|
|
17: Label
|
|
19(vsout): 18(ptr) Variable Function
|
|
22: 21(ptr) AccessChain 14(vsin) 20
|
|
23: 6(int) Load 22
|
|
24: 21(ptr) AccessChain 19(vsout) 20
|
|
Store 24 23
|
|
26: 11(ptr) AccessChain 14(vsin) 25
|
|
27: 8(fvec4) Load 26
|
|
28: 8(fvec4) Load 15(Pos_loose)
|
|
29: 8(fvec4) FAdd 27 28
|
|
30: 11(ptr) AccessChain 19(vsout) 25
|
|
Store 30 29
|
|
32: 21(ptr) AccessChain 14(vsin) 31
|
|
33: 6(int) Load 32
|
|
34: 21(ptr) AccessChain 19(vsout) 31
|
|
Store 34 33
|
|
35:12(VS_OUTPUT) Load 19(vsout)
|
|
ReturnValue 35
|
|
FunctionEnd
|