HLSL Tests: Fix two tests to be valid under FXC.

This commit is contained in:
John Kessenich 2017-07-31 01:19:26 -06:00
parent 318a379b1f
commit fda6edcbad
4 changed files with 529 additions and 370 deletions

View File

@ -34,42 +34,78 @@ output primitive = triangle_strip
0:? Constant: 0:? Constant:
0:? 5.000000 0:? 5.000000
0:? 6.000000 0:? 6.000000
0:30 Sequence 0:29 move second child to first child ( temp float)
0:30 Sequence 0:29 direct index ( temp float)
0:30 move second child to first child ( temp 4-component vector of float) 0:29 m0_array: direct index for structure ( temp 2-element array of float)
0:29 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:29 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:29 Constant:
0:29 1 (const int)
0:29 Constant:
0:29 0 (const int)
0:29 Constant:
0:29 0 (const int)
0:29 Constant:
0:29 2.300000
0:30 move second child to first child ( temp float)
0:30 direct index ( temp float)
0:30 m0_array: direct index for structure ( temp 2-element array of float)
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 1 (const int)
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 1 (const int)
0:30 Constant:
0:30 2.300000
0:31 move second child to first child ( temp int)
0:31 m1: direct index for structure ( temp int)
0:31 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:31 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:31 Constant:
0:31 1 (const int)
0:31 Constant:
0:31 1 (const int)
0:31 Constant:
0:31 2 (const int)
0:33 Sequence
0:33 Sequence
0:33 move second child to first child ( temp 4-component vector of float)
0:? 'ts_psIn_pos' ( out 4-component vector of float Position) 0:? 'ts_psIn_pos' ( out 4-component vector of float Position)
0:30 pos: direct index for structure ( temp 4-component vector of float) 0:33 pos: direct index for structure ( temp 4-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) 0:33 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 move second child to first child ( temp 2-component vector of float) 0:33 move second child to first child ( temp 2-component vector of float)
0:30 tc: direct index for structure ( temp 2-component vector of float) 0:33 tc: direct index for structure ( temp 2-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc}) 0:33 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc})
0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 tc: direct index for structure ( temp 2-component vector of float) 0:33 tc: direct index for structure ( temp 2-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) 0:33 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 Constant: 0:33 Constant:
0:30 1 (const int) 0:33 1 (const int)
0:30 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1}) 0:33 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1}) 0:33 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 1 (const int) 0:33 1 (const int)
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1}) 0:33 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 1 (const int) 0:33 1 (const int)
0:30 EmitVertex ( temp void) 0:33 EmitVertex ( temp void)
0:24 Function Definition: main( ( temp void) 0:24 Function Definition: main( ( temp void)
0:24 Function Parameters: 0:24 Function Parameters:
0:? Sequence 0:? Sequence
@ -201,42 +237,78 @@ output primitive = triangle_strip
0:? Constant: 0:? Constant:
0:? 5.000000 0:? 5.000000
0:? 6.000000 0:? 6.000000
0:30 Sequence 0:29 move second child to first child ( temp float)
0:30 Sequence 0:29 direct index ( temp float)
0:30 move second child to first child ( temp 4-component vector of float) 0:29 m0_array: direct index for structure ( temp 2-element array of float)
0:29 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:29 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:29 Constant:
0:29 1 (const int)
0:29 Constant:
0:29 0 (const int)
0:29 Constant:
0:29 0 (const int)
0:29 Constant:
0:29 2.300000
0:30 move second child to first child ( temp float)
0:30 direct index ( temp float)
0:30 m0_array: direct index for structure ( temp 2-element array of float)
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant:
0:30 1 (const int)
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 1 (const int)
0:30 Constant:
0:30 2.300000
0:31 move second child to first child ( temp int)
0:31 m1: direct index for structure ( temp int)
0:31 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:31 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:31 Constant:
0:31 1 (const int)
0:31 Constant:
0:31 1 (const int)
0:31 Constant:
0:31 2 (const int)
0:33 Sequence
0:33 Sequence
0:33 move second child to first child ( temp 4-component vector of float)
0:? 'ts_psIn_pos' ( out 4-component vector of float Position) 0:? 'ts_psIn_pos' ( out 4-component vector of float Position)
0:30 pos: direct index for structure ( temp 4-component vector of float) 0:33 pos: direct index for structure ( temp 4-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) 0:33 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 move second child to first child ( temp 2-component vector of float) 0:33 move second child to first child ( temp 2-component vector of float)
0:30 tc: direct index for structure ( temp 2-component vector of float) 0:33 tc: direct index for structure ( temp 2-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc}) 0:33 psIn: direct index for structure ( temp structure{ temp 2-component vector of float tc})
0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 tc: direct index for structure ( temp 2-component vector of float) 0:33 tc: direct index for structure ( temp 2-component vector of float)
0:30 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc}) 0:33 psIn: direct index for structure ( temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 0 (const int) 0:33 0 (const int)
0:30 Constant: 0:33 Constant:
0:30 1 (const int) 0:33 1 (const int)
0:30 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1}) 0:33 move second child to first child ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1}) 0:33 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'ts' (layout( location=0) out structure{ temp structure{ temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 1 (const int) 0:33 1 (const int)
0:30 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1}) 0:33 contains_no_builtin_io: direct index for structure ( temp structure{ temp 2-element array of float m0_array, temp int m1})
0:30 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io}) 0:33 'o' ( temp structure{ temp structure{ temp 4-component vector of float pos, temp 2-component vector of float tc} psIn, temp structure{ temp 2-element array of float m0_array, temp int m1} contains_no_builtin_io})
0:30 Constant: 0:33 Constant:
0:30 1 (const int) 0:33 1 (const int)
0:30 EmitVertex ( temp void) 0:33 EmitVertex ( temp void)
0:24 Function Definition: main( ( temp void) 0:24 Function Definition: main( ( temp void)
0:24 Function Parameters: 0:24 Function Parameters:
0:? Sequence 0:? Sequence
@ -331,12 +403,12 @@ output primitive = triangle_strip
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 99 // Id's are bound by 105
Capability Geometry Capability Geometry
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 41 48 67 75 EntryPoint Geometry 4 "main" 48 55 74 82
ExecutionMode 4 Triangles ExecutionMode 4 Triangles
ExecutionMode 4 Invocations 1 ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputTriangleStrip
@ -356,28 +428,28 @@ output primitive = triangle_strip
Name 21 "tin" Name 21 "tin"
Name 22 "ts" Name 22 "ts"
Name 25 "o" Name 25 "o"
Name 41 "ts_psIn_pos" Name 48 "ts_psIn_pos"
Name 44 "PS_IN" Name 51 "PS_IN"
MemberName 44(PS_IN) 0 "tc" MemberName 51(PS_IN) 0 "tc"
Name 45 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO" Name 52 "STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO"
MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array" MemberName 52(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 0 "m0_array"
MemberName 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1" MemberName 52(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 1 "m1"
Name 46 "GS_OUT" Name 53 "GS_OUT"
MemberName 46(GS_OUT) 0 "psIn" MemberName 53(GS_OUT) 0 "psIn"
MemberName 46(GS_OUT) 1 "contains_no_builtin_io" MemberName 53(GS_OUT) 1 "contains_no_builtin_io"
Name 48 "ts" Name 55 "ts"
Name 64 "tin" Name 71 "tin"
Name 67 "tin_pos" Name 74 "tin_pos"
Name 72 "PS_IN" Name 79 "PS_IN"
MemberName 72(PS_IN) 0 "tc" MemberName 79(PS_IN) 0 "tc"
Name 75 "tin" Name 82 "tin"
Name 93 "ts" Name 99 "ts"
Name 94 "param" Name 100 "param"
Name 96 "param" Name 102 "param"
Decorate 41(ts_psIn_pos) BuiltIn Position Decorate 48(ts_psIn_pos) BuiltIn Position
Decorate 48(ts) Location 0 Decorate 55(ts) Location 0
Decorate 67(tin_pos) BuiltIn Position Decorate 74(tin_pos) BuiltIn Position
Decorate 75(tin) Location 0 Decorate 82(tin) Location 0
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -407,63 +479,66 @@ output primitive = triangle_strip
36: 6(float) Constant 1086324736 36: 6(float) Constant 1086324736
37: 8(fvec2) ConstantComposite 35 36 37: 8(fvec2) ConstantComposite 35 36
38: TypePointer Function 8(fvec2) 38: TypePointer Function 8(fvec2)
40: TypePointer Output 7(fvec4) 40: 6(float) Constant 1075000115
41(ts_psIn_pos): 40(ptr) Variable Output 41: TypePointer Function 6(float)
44(PS_IN): TypeStruct 8(fvec2) 44: 16(int) Constant 2
45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int) 45: TypePointer Function 16(int)
46(GS_OUT): TypeStruct 44(PS_IN) 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 47: TypePointer Output 7(fvec4)
47: TypePointer Output 46(GS_OUT) 48(ts_psIn_pos): 47(ptr) Variable Output
48(ts): 47(ptr) Variable Output 51(PS_IN): TypeStruct 8(fvec2)
51: TypePointer Output 8(fvec2) 52(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO): TypeStruct 15 16(int)
53: TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 53(GS_OUT): TypeStruct 51(PS_IN) 52(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
56: TypePointer Output 45(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) 54: TypePointer Output 53(GS_OUT)
59: TypePointer Output 15 55(ts): 54(ptr) Variable Output
62: TypePointer Output 16(int) 58: TypePointer Output 8(fvec2)
65: TypeArray 7(fvec4) 11 60: TypePointer Function 17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
66: TypePointer Input 65 63: TypePointer Output 52(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO)
67(tin_pos): 66(ptr) Variable Input 66: TypePointer Output 15
68: TypePointer Input 7(fvec4) 69: TypePointer Output 16(int)
72(PS_IN): TypeStruct 8(fvec2) 72: TypeArray 7(fvec4) 11
73: TypeArray 72(PS_IN) 11 73: TypePointer Input 72
74: TypePointer Input 73 74(tin_pos): 73(ptr) Variable Input
75(tin): 74(ptr) Variable Input 75: TypePointer Input 7(fvec4)
76: TypePointer Input 8(fvec2) 79(PS_IN): TypeStruct 8(fvec2)
86: 16(int) Constant 2 80: TypeArray 79(PS_IN) 11
81: TypePointer Input 80
82(tin): 81(ptr) Variable Input
83: TypePointer Input 8(fvec2)
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
64(tin): 13(ptr) Variable Function 71(tin): 13(ptr) Variable Function
93(ts): 19(ptr) Variable Function 99(ts): 19(ptr) Variable Function
94(param): 13(ptr) Variable Function 100(param): 13(ptr) Variable Function
96(param): 19(ptr) Variable Function 102(param): 19(ptr) Variable Function
69: 68(ptr) AccessChain 67(tin_pos) 26 76: 75(ptr) AccessChain 74(tin_pos) 26
70: 7(fvec4) Load 69 77: 7(fvec4) Load 76
71: 32(ptr) AccessChain 64(tin) 26 26 78: 32(ptr) AccessChain 71(tin) 26 26
Store 71 70 Store 78 77
77: 76(ptr) AccessChain 75(tin) 26 26 84: 83(ptr) AccessChain 82(tin) 26 26
78: 8(fvec2) Load 77 85: 8(fvec2) Load 84
79: 38(ptr) AccessChain 64(tin) 26 34 86: 38(ptr) AccessChain 71(tin) 26 34
Store 79 78 Store 86 85
80: 68(ptr) AccessChain 67(tin_pos) 34 87: 75(ptr) AccessChain 74(tin_pos) 34
81: 7(fvec4) Load 80
82: 32(ptr) AccessChain 64(tin) 34 26
Store 82 81
83: 76(ptr) AccessChain 75(tin) 34 26
84: 8(fvec2) Load 83
85: 38(ptr) AccessChain 64(tin) 34 34
Store 85 84
87: 68(ptr) AccessChain 67(tin_pos) 86
88: 7(fvec4) Load 87 88: 7(fvec4) Load 87
89: 32(ptr) AccessChain 64(tin) 86 26 89: 32(ptr) AccessChain 71(tin) 34 26
Store 89 88 Store 89 88
90: 76(ptr) AccessChain 75(tin) 86 26 90: 83(ptr) AccessChain 82(tin) 34 26
91: 8(fvec2) Load 90 91: 8(fvec2) Load 90
92: 38(ptr) AccessChain 64(tin) 86 34 92: 38(ptr) AccessChain 71(tin) 34 34
Store 92 91 Store 92 91
95: 12 Load 64(tin) 93: 75(ptr) AccessChain 74(tin_pos) 44
Store 94(param) 95 94: 7(fvec4) Load 93
97: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 94(param) 96(param) 95: 32(ptr) AccessChain 71(tin) 44 26
98: 18(GS_OUT) Load 96(param) Store 95 94
Store 93(ts) 98 96: 83(ptr) AccessChain 82(tin) 44 26
97: 8(fvec2) Load 96
98: 38(ptr) AccessChain 71(tin) 44 34
Store 98 97
101: 12 Load 71(tin)
Store 100(param) 101
103: 2 FunctionCall 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;) 100(param) 102(param)
104: 18(GS_OUT) Load 102(param)
Store 99(ts) 104
Return Return
FunctionEnd FunctionEnd
23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 20 23(@main(struct-PS_IN-vf4-vf21[3];struct-GS_OUT-struct-PS_IN-vf4-vf21-struct-STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO-f1[2]-i111;): 2 Function None 20
@ -475,22 +550,28 @@ output primitive = triangle_strip
Store 33 31 Store 33 31
39: 38(ptr) AccessChain 25(o) 26 34 39: 38(ptr) AccessChain 25(o) 26 34
Store 39 37 Store 39 37
42: 32(ptr) AccessChain 25(o) 26 26 42: 41(ptr) AccessChain 25(o) 34 26 26
43: 7(fvec4) Load 42 Store 42 40
Store 41(ts_psIn_pos) 43 43: 41(ptr) AccessChain 25(o) 34 26 34
49: 38(ptr) AccessChain 25(o) 26 34 Store 43 40
50: 8(fvec2) Load 49 46: 45(ptr) AccessChain 25(o) 34 34
52: 51(ptr) AccessChain 48(ts) 26 26 Store 46 44
Store 52 50 49: 32(ptr) AccessChain 25(o) 26 26
54: 53(ptr) AccessChain 25(o) 34 50: 7(fvec4) Load 49
55:17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 54 Store 48(ts_psIn_pos) 50
57: 56(ptr) AccessChain 48(ts) 34 56: 38(ptr) AccessChain 25(o) 26 34
58: 15 CompositeExtract 55 0 57: 8(fvec2) Load 56
60: 59(ptr) AccessChain 57 26 59: 58(ptr) AccessChain 55(ts) 26 26
Store 60 58 Store 59 57
61: 16(int) CompositeExtract 55 1 61: 60(ptr) AccessChain 25(o) 34
63: 62(ptr) AccessChain 57 34 62:17(STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO) Load 61
Store 63 61 64: 63(ptr) AccessChain 55(ts) 34
65: 15 CompositeExtract 62 0
67: 66(ptr) AccessChain 64 26
Store 67 65
68: 16(int) CompositeExtract 62 1
70: 69(ptr) AccessChain 64 34
Store 70 68
EmitVertex EmitVertex
Return Return
FunctionEnd FunctionEnd

View File

@ -1,15 +1,15 @@
hlsl.structin.vert hlsl.structin.vert
Shader version: 500 Shader version: 500
0:? Sequence 0:? Sequence
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Parameters: 0:8 Function Parameters:
0:8 'd' ( in 4-component vector of float) 0:8 'd' ( in 4-component vector of float)
0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 'e' ( in 4-component vector of float) 0:8 'e' ( in 4-component vector of float)
0:? Sequence 0:? Sequence
0:11 move second child to first child ( temp 4-component vector of float) 0:11 move second child to first child ( temp 4-component vector of float)
0:11 b: direct index for structure ( temp 4-component vector of float) 0:11 b: direct index for structure ( temp 4-component vector of float)
0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant: 0:11 Constant:
0:11 2 (const int) 0:11 2 (const int)
0:11 add ( temp 4-component vector of float) 0:11 add ( temp 4-component vector of float)
@ -18,31 +18,66 @@ Shader version: 500
0:11 add ( temp 4-component vector of float) 0:11 add ( temp 4-component vector of float)
0:11 direct index ( temp 4-component vector of float) 0:11 direct index ( temp 4-component vector of float)
0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant: 0:11 Constant:
0:11 0 (const int) 0:11 0 (const int)
0:11 Constant: 0:11 Constant:
0:11 1 (const int) 0:11 1 (const int)
0:11 direct index ( temp 4-component vector of float) 0:11 direct index ( temp 4-component vector of float)
0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant: 0:11 Constant:
0:11 0 (const int) 0:11 0 (const int)
0:11 Constant: 0:11 Constant:
0:11 0 (const int) 0:11 0 (const int)
0:11 Construct vec4 ( temp 4-component vector of float) 0:11 Construct vec4 ( temp 4-component vector of float)
0:11 Convert uint to float ( temp float) 0:11 direct index ( temp float)
0:11 direct index ( temp uint) 0:11 coord: direct index for structure ( temp 4-component vector of float)
0:11 coord: direct index for structure ( temp 2-component vector of uint) 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 Constant: 0:11 Constant:
0:11 1 (const int) 0:11 1 (const int)
0:11 Constant: 0:11 Constant:
0:11 0 (const int) 0:11 0 (const int)
0:11 'd' ( in 4-component vector of float) 0:11 'd' ( in 4-component vector of float)
0:11 'e' ( in 4-component vector of float) 0:11 'e' ( in 4-component vector of float)
0:13 Branch: Return with expression 0:12 move second child to first child ( temp 4-component vector of float)
0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:12 coord: direct index for structure ( temp 4-component vector of float)
0:12 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:12 Constant:
0:12 1 (const int)
0:12 Constant:
0:12 1.000000
0:12 1.000000
0:12 1.000000
0:12 1.000000
0:13 move second child to first child ( temp 4-component vector of float)
0:13 direct index ( temp 4-component vector of float)
0:13 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 2.000000
0:13 2.000000
0:13 2.000000
0:13 2.000000
0:14 move second child to first child ( temp 4-component vector of float)
0:14 direct index ( temp 4-component vector of float)
0:14 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:14 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 3.000000
0:14 3.000000
0:14 3.000000
0:14 3.000000
0:16 Branch: Return with expression
0:16 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Definition: main( ( temp void) 0:8 Function Definition: main( ( temp void)
0:8 Function Parameters: 0:8 Function Parameters:
0:? Sequence 0:? Sequence
@ -53,7 +88,7 @@ Shader version: 500
0:8 move second child to first child ( temp 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 direct index ( temp 4-component vector of float) 0:8 direct index ( temp 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 Constant: 0:8 Constant:
@ -62,21 +97,21 @@ Shader version: 500
0:8 move second child to first child ( temp 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 direct index ( temp 4-component vector of float) 0:8 direct index ( temp 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 Constant: 0:8 Constant:
0:8 1 (const int) 0:8 1 (const int)
0:? 'm[1]' (layout( location=2) in 4-component vector of float) 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:8 move second child to first child ( temp 2-component vector of uint) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 coord: direct index for structure ( temp 2-component vector of uint) 0:8 coord: direct index for structure ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 1 (const int) 0:8 1 (const int)
0:? 'coord' (layout( location=3) in 2-component vector of uint) 0:? 'coord' (layout( location=3) in 4-component vector of float)
0:8 move second child to first child ( temp 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 b: direct index for structure ( temp 4-component vector of float) 0:8 b: direct index for structure ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 2 (const int) 0:8 2 (const int)
0:? 'b' (layout( location=4) in 4-component vector of float) 0:? 'b' (layout( location=4) in 4-component vector of float)
@ -84,47 +119,44 @@ Shader version: 500
0:? 'e' ( temp 4-component vector of float) 0:? 'e' ( temp 4-component vector of float)
0:? 'e' (layout( location=5) in 4-component vector of float) 0:? 'e' (layout( location=5) in 4-component vector of float)
0:8 Sequence 0:8 Sequence
0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:? 'd' ( temp 4-component vector of float) 0:? 'd' ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:? 'e' ( temp 4-component vector of float) 0:? 'e' ( temp 4-component vector of float)
0:8 move second child to first child ( temp 2-element array of 4-component vector of float) 0:8 move second child to first child ( temp 2-element array of 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 move second child to first child ( temp 2-component vector of uint) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 coord: direct index for structure ( temp 2-component vector of uint) 0:? '@entryPointOutput_coord' ( out 4-component vector of float Position)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 coord: direct index for structure ( temp 4-component vector of float)
0:8 Constant: 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 1 (const int)
0:8 coord: direct index for structure ( temp 2-component vector of uint)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 1 (const int) 0:8 1 (const int)
0:8 move second child to first child ( temp 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 b: direct index for structure ( temp 4-component vector of float) 0:8 b: direct index for structure ( smooth temp 4-component vector of float)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 2 (const int) 0:8 1 (const int)
0:8 b: direct index for structure ( temp 4-component vector of float) 0:8 b: direct index for structure ( temp 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 2 (const int) 0:8 2 (const int)
0:? Linker Objects 0:? Linker Objects
0:? '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:? 'd' (layout( location=0) in 4-component vector of float) 0:? 'd' (layout( location=0) in 4-component vector of float)
0:? 'm[0]' (layout( location=1) in 4-component vector of float) 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
0:? 'm[1]' (layout( location=2) in 4-component vector of float) 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:? 'm[0]' (layout( location=1) in 4-component vector of float) 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
0:? 'm[1]' (layout( location=2) in 4-component vector of float) 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:? 'coord' (layout( location=3) in 2-component vector of uint) 0:? 'coord' (layout( location=3) in 4-component vector of float)
0:? 'b' (layout( location=4) in 4-component vector of float) 0:? 'b' (layout( location=4) in 4-component vector of float)
0:? 'e' (layout( location=5) in 4-component vector of float) 0:? 'e' (layout( location=5) in 4-component vector of float)
@ -134,15 +166,15 @@ Linked vertex stage:
Shader version: 500 Shader version: 500
0:? Sequence 0:? Sequence
0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Definition: @main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Parameters: 0:8 Function Parameters:
0:8 'd' ( in 4-component vector of float) 0:8 'd' ( in 4-component vector of float)
0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 'e' ( in 4-component vector of float) 0:8 'e' ( in 4-component vector of float)
0:? Sequence 0:? Sequence
0:11 move second child to first child ( temp 4-component vector of float) 0:11 move second child to first child ( temp 4-component vector of float)
0:11 b: direct index for structure ( temp 4-component vector of float) 0:11 b: direct index for structure ( temp 4-component vector of float)
0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant: 0:11 Constant:
0:11 2 (const int) 0:11 2 (const int)
0:11 add ( temp 4-component vector of float) 0:11 add ( temp 4-component vector of float)
@ -151,31 +183,66 @@ Shader version: 500
0:11 add ( temp 4-component vector of float) 0:11 add ( temp 4-component vector of float)
0:11 direct index ( temp 4-component vector of float) 0:11 direct index ( temp 4-component vector of float)
0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant: 0:11 Constant:
0:11 0 (const int) 0:11 0 (const int)
0:11 Constant: 0:11 Constant:
0:11 1 (const int) 0:11 1 (const int)
0:11 direct index ( temp 4-component vector of float) 0:11 direct index ( temp 4-component vector of float)
0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:11 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 Constant: 0:11 Constant:
0:11 0 (const int) 0:11 0 (const int)
0:11 Constant: 0:11 Constant:
0:11 0 (const int) 0:11 0 (const int)
0:11 Construct vec4 ( temp 4-component vector of float) 0:11 Construct vec4 ( temp 4-component vector of float)
0:11 Convert uint to float ( temp float) 0:11 direct index ( temp float)
0:11 direct index ( temp uint) 0:11 coord: direct index for structure ( temp 4-component vector of float)
0:11 coord: direct index for structure ( temp 2-component vector of uint) 0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:11 'vi' ( in structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:11 Constant: 0:11 Constant:
0:11 1 (const int) 0:11 1 (const int)
0:11 Constant: 0:11 Constant:
0:11 0 (const int) 0:11 0 (const int)
0:11 'd' ( in 4-component vector of float) 0:11 'd' ( in 4-component vector of float)
0:11 'e' ( in 4-component vector of float) 0:11 'e' ( in 4-component vector of float)
0:13 Branch: Return with expression 0:12 move second child to first child ( temp 4-component vector of float)
0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:12 coord: direct index for structure ( temp 4-component vector of float)
0:12 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:12 Constant:
0:12 1 (const int)
0:12 Constant:
0:12 1.000000
0:12 1.000000
0:12 1.000000
0:12 1.000000
0:13 move second child to first child ( temp 4-component vector of float)
0:13 direct index ( temp 4-component vector of float)
0:13 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:13 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 0 (const int)
0:13 Constant:
0:13 2.000000
0:13 2.000000
0:13 2.000000
0:13 2.000000
0:14 move second child to first child ( temp 4-component vector of float)
0:14 direct index ( temp 4-component vector of float)
0:14 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:14 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:14 Constant:
0:14 0 (const int)
0:14 Constant:
0:14 1 (const int)
0:14 Constant:
0:14 3.000000
0:14 3.000000
0:14 3.000000
0:14 3.000000
0:16 Branch: Return with expression
0:16 'local' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Definition: main( ( temp void) 0:8 Function Definition: main( ( temp void)
0:8 Function Parameters: 0:8 Function Parameters:
0:? Sequence 0:? Sequence
@ -186,7 +253,7 @@ Shader version: 500
0:8 move second child to first child ( temp 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 direct index ( temp 4-component vector of float) 0:8 direct index ( temp 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 Constant: 0:8 Constant:
@ -195,21 +262,21 @@ Shader version: 500
0:8 move second child to first child ( temp 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 direct index ( temp 4-component vector of float) 0:8 direct index ( temp 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 Constant: 0:8 Constant:
0:8 1 (const int) 0:8 1 (const int)
0:? 'm[1]' (layout( location=2) in 4-component vector of float) 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:8 move second child to first child ( temp 2-component vector of uint) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 coord: direct index for structure ( temp 2-component vector of uint) 0:8 coord: direct index for structure ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 1 (const int) 0:8 1 (const int)
0:? 'coord' (layout( location=3) in 2-component vector of uint) 0:? 'coord' (layout( location=3) in 4-component vector of float)
0:8 move second child to first child ( temp 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 b: direct index for structure ( temp 4-component vector of float) 0:8 b: direct index for structure ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 2 (const int) 0:8 2 (const int)
0:? 'b' (layout( location=4) in 4-component vector of float) 0:? 'b' (layout( location=4) in 4-component vector of float)
@ -217,94 +284,92 @@ Shader version: 500
0:? 'e' ( temp 4-component vector of float) 0:? 'e' ( temp 4-component vector of float)
0:? 'e' (layout( location=5) in 4-component vector of float) 0:? 'e' (layout( location=5) in 4-component vector of float)
0:8 Sequence 0:8 Sequence
0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 move second child to first child ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 Function Call: @main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4; ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:? 'd' ( temp 4-component vector of float) 0:? 'd' ( temp 4-component vector of float)
0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? 'vi' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:? 'e' ( temp 4-component vector of float) 0:? 'e' ( temp 4-component vector of float)
0:8 move second child to first child ( temp 2-element array of 4-component vector of float) 0:8 move second child to first child ( temp 2-element array of 4-component vector of float)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float) 0:8 m: direct index for structure ( temp 2-element array of 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 0 (const int) 0:8 0 (const int)
0:8 move second child to first child ( temp 2-component vector of uint) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 coord: direct index for structure ( temp 2-component vector of uint) 0:? '@entryPointOutput_coord' ( out 4-component vector of float Position)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 coord: direct index for structure ( temp 4-component vector of float)
0:8 Constant: 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 1 (const int)
0:8 coord: direct index for structure ( temp 2-component vector of uint)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 1 (const int) 0:8 1 (const int)
0:8 move second child to first child ( temp 4-component vector of float) 0:8 move second child to first child ( temp 4-component vector of float)
0:8 b: direct index for structure ( temp 4-component vector of float) 0:8 b: direct index for structure ( smooth temp 4-component vector of float)
0:8 '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 2 (const int) 0:8 1 (const int)
0:8 b: direct index for structure ( temp 4-component vector of float) 0:8 b: direct index for structure ( temp 4-component vector of float)
0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:8 'flattenTemp' ( temp structure{ temp 2-element array of 4-component vector of float m, temp 4-component vector of float coord, temp 4-component vector of float b})
0:8 Constant: 0:8 Constant:
0:8 2 (const int) 0:8 2 (const int)
0:? Linker Objects 0:? Linker Objects
0:? '@entryPointOutput' ( out structure Position{ temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b}) 0:? '@entryPointOutput' (layout( location=0) out structure{ temp 2-element array of 4-component vector of float m, smooth temp 4-component vector of float b})
0:? 'd' (layout( location=0) in 4-component vector of float) 0:? 'd' (layout( location=0) in 4-component vector of float)
0:? 'm[0]' (layout( location=1) in 4-component vector of float) 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
0:? 'm[1]' (layout( location=2) in 4-component vector of float) 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:? 'm[0]' (layout( location=1) in 4-component vector of float) 0:? 'm[0]' (layout( location=1) in 4-component vector of float)
0:? 'm[1]' (layout( location=2) in 4-component vector of float) 0:? 'm[1]' (layout( location=2) in 4-component vector of float)
0:? 'coord' (layout( location=3) in 2-component vector of uint) 0:? 'coord' (layout( location=3) in 4-component vector of float)
0:? 'b' (layout( location=4) in 4-component vector of float) 0:? 'b' (layout( location=4) in 4-component vector of float)
0:? 'e' (layout( location=5) in 4-component vector of float) 0:? 'e' (layout( location=5) in 4-component vector of float)
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 92 // Id's are bound by 96
Capability Shader Capability Shader
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 48 51 54 58 62 66 78 EntryPoint Vertex 4 "main" 55 58 61 64 67 71 83 90
Source HLSL 500 Source HLSL 500
Name 4 "main" Name 4 "main"
Name 13 "VI" Name 12 "VI"
MemberName 13(VI) 0 "m" MemberName 12(VI) 0 "m"
MemberName 13(VI) 1 "coord" MemberName 12(VI) 1 "coord"
MemberName 13(VI) 2 "b" MemberName 12(VI) 2 "b"
Name 19 "@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;" Name 18 "@main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4;"
Name 16 "d" Name 15 "d"
Name 17 "vi" Name 16 "vi"
Name 18 "e" Name 17 "e"
Name 21 "local" Name 20 "local"
Name 46 "d" Name 53 "d"
Name 48 "d" Name 55 "d"
Name 50 "vi" Name 57 "vi"
Name 51 "m[0]" Name 58 "m[0]"
Name 54 "m[1]" Name 61 "m[1]"
Name 58 "coord" Name 64 "coord"
Name 62 "b" Name 67 "b"
Name 65 "e" Name 70 "e"
Name 66 "e" Name 71 "e"
Name 68 "flattenTemp" Name 73 "flattenTemp"
Name 69 "param" Name 74 "param"
Name 71 "param" Name 76 "param"
Name 73 "param" Name 78 "param"
Name 76 "VI" Name 81 "VI"
MemberName 76(VI) 0 "m" MemberName 81(VI) 0 "m"
MemberName 76(VI) 1 "coord" MemberName 81(VI) 1 "b"
MemberName 76(VI) 2 "b" Name 83 "@entryPointOutput"
Name 78 "@entryPointOutput" Name 90 "@entryPointOutput_coord"
Decorate 48(d) Location 0 Decorate 55(d) Location 0
Decorate 51(m[0]) Location 1 Decorate 58(m[0]) Location 1
Decorate 54(m[1]) Location 2 Decorate 61(m[1]) Location 2
Decorate 58(coord) Location 3 Decorate 64(coord) Location 3
Decorate 62(b) Location 4 Decorate 67(b) Location 4
Decorate 66(e) Location 5 Decorate 71(e) Location 5
Decorate 78(@entryPointOutput) BuiltIn Position Decorate 83(@entryPointOutput) Location 0
Decorate 90(@entryPointOutput_coord) BuiltIn Position
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -313,101 +378,108 @@ Shader version: 500
9: TypeInt 32 0 9: TypeInt 32 0
10: 9(int) Constant 2 10: 9(int) Constant 2
11: TypeArray 7(fvec4) 10 11: TypeArray 7(fvec4) 10
12: TypeVector 9(int) 2 12(VI): TypeStruct 11 7(fvec4) 7(fvec4)
13(VI): TypeStruct 11 12(ivec2) 7(fvec4) 13: TypePointer Function 12(VI)
14: TypePointer Function 13(VI) 14: TypeFunction 12(VI) 8(ptr) 13(ptr) 8(ptr)
15: TypeFunction 13(VI) 8(ptr) 14(ptr) 8(ptr) 21: TypeInt 32 1
22: TypeInt 32 1 22: 21(int) Constant 2
23: 22(int) Constant 2 23: 21(int) Constant 0
24: 22(int) Constant 0 24: 21(int) Constant 1
25: 22(int) Constant 1 30: 9(int) Constant 0
31: 9(int) Constant 0 31: TypePointer Function 6(float)
32: TypePointer Function 9(int) 41: 6(float) Constant 1065353216
47: TypePointer Input 7(fvec4) 42: 7(fvec4) ConstantComposite 41 41 41 41
48(d): 47(ptr) Variable Input 44: 6(float) Constant 1073741824
51(m[0]): 47(ptr) Variable Input 45: 7(fvec4) ConstantComposite 44 44 44 44
54(m[1]): 47(ptr) Variable Input 47: 6(float) Constant 1077936128
57: TypePointer Input 12(ivec2) 48: 7(fvec4) ConstantComposite 47 47 47 47
58(coord): 57(ptr) Variable Input 54: TypePointer Input 7(fvec4)
60: TypePointer Function 12(ivec2) 55(d): 54(ptr) Variable Input
62(b): 47(ptr) Variable Input 58(m[0]): 54(ptr) Variable Input
66(e): 47(ptr) Variable Input 61(m[1]): 54(ptr) Variable Input
76(VI): TypeStruct 11 12(ivec2) 7(fvec4) 64(coord): 54(ptr) Variable Input
77: TypePointer Output 76(VI) 67(b): 54(ptr) Variable Input
78(@entryPointOutput): 77(ptr) Variable Output 71(e): 54(ptr) Variable Input
79: TypePointer Function 11 81(VI): TypeStruct 11 7(fvec4)
82: TypePointer Output 11 82: TypePointer Output 81(VI)
86: TypePointer Output 12(ivec2) 83(@entryPointOutput): 82(ptr) Variable Output
90: TypePointer Output 7(fvec4) 84: TypePointer Function 11
87: TypePointer Output 11
89: TypePointer Output 7(fvec4)
90(@entryPointOutput_coord): 89(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
46(d): 8(ptr) Variable Function 53(d): 8(ptr) Variable Function
50(vi): 14(ptr) Variable Function 57(vi): 13(ptr) Variable Function
65(e): 8(ptr) Variable Function 70(e): 8(ptr) Variable Function
68(flattenTemp): 14(ptr) Variable Function 73(flattenTemp): 13(ptr) Variable Function
69(param): 8(ptr) Variable Function 74(param): 8(ptr) Variable Function
71(param): 14(ptr) Variable Function 76(param): 13(ptr) Variable Function
73(param): 8(ptr) Variable Function 78(param): 8(ptr) Variable Function
49: 7(fvec4) Load 48(d) 56: 7(fvec4) Load 55(d)
Store 46(d) 49 Store 53(d) 56
52: 7(fvec4) Load 51(m[0]) 59: 7(fvec4) Load 58(m[0])
53: 8(ptr) AccessChain 50(vi) 24 24 60: 8(ptr) AccessChain 57(vi) 23 23
Store 53 52 Store 60 59
55: 7(fvec4) Load 54(m[1]) 62: 7(fvec4) Load 61(m[1])
56: 8(ptr) AccessChain 50(vi) 24 25 63: 8(ptr) AccessChain 57(vi) 23 24
Store 56 55 Store 63 62
59: 12(ivec2) Load 58(coord) 65: 7(fvec4) Load 64(coord)
61: 60(ptr) AccessChain 50(vi) 25 66: 8(ptr) AccessChain 57(vi) 24
Store 61 59 Store 66 65
63: 7(fvec4) Load 62(b) 68: 7(fvec4) Load 67(b)
64: 8(ptr) AccessChain 50(vi) 23 69: 8(ptr) AccessChain 57(vi) 22
Store 64 63 Store 69 68
67: 7(fvec4) Load 66(e) 72: 7(fvec4) Load 71(e)
Store 65(e) 67 Store 70(e) 72
70: 7(fvec4) Load 46(d) 75: 7(fvec4) Load 53(d)
Store 69(param) 70 Store 74(param) 75
72: 13(VI) Load 50(vi) 77: 12(VI) Load 57(vi)
Store 71(param) 72 Store 76(param) 77
74: 7(fvec4) Load 65(e) 79: 7(fvec4) Load 70(e)
Store 73(param) 74 Store 78(param) 79
75: 13(VI) FunctionCall 19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;) 69(param) 71(param) 73(param) 80: 12(VI) FunctionCall 18(@main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4;) 74(param) 76(param) 78(param)
Store 68(flattenTemp) 75 Store 73(flattenTemp) 80
80: 79(ptr) AccessChain 68(flattenTemp) 24 85: 84(ptr) AccessChain 73(flattenTemp) 23
81: 11 Load 80 86: 11 Load 85
83: 82(ptr) AccessChain 78(@entryPointOutput) 24 88: 87(ptr) AccessChain 83(@entryPointOutput) 23
Store 83 81 Store 88 86
84: 60(ptr) AccessChain 68(flattenTemp) 25 91: 8(ptr) AccessChain 73(flattenTemp) 24
85: 12(ivec2) Load 84 92: 7(fvec4) Load 91
87: 86(ptr) AccessChain 78(@entryPointOutput) 25 Store 90(@entryPointOutput_coord) 92
Store 87 85 93: 8(ptr) AccessChain 73(flattenTemp) 22
88: 8(ptr) AccessChain 68(flattenTemp) 23 94: 7(fvec4) Load 93
89: 7(fvec4) Load 88 95: 89(ptr) AccessChain 83(@entryPointOutput) 24
91: 90(ptr) AccessChain 78(@entryPointOutput) 23 Store 95 94
Store 91 89
Return Return
FunctionEnd FunctionEnd
19(@main(vf4;struct-VI-vf4[2]-vu2-vf41;vf4;): 13(VI) Function None 15 18(@main(vf4;struct-VI-vf4[2]-vf4-vf41;vf4;): 12(VI) Function None 14
16(d): 8(ptr) FunctionParameter 15(d): 8(ptr) FunctionParameter
17(vi): 14(ptr) FunctionParameter 16(vi): 13(ptr) FunctionParameter
18(e): 8(ptr) FunctionParameter 17(e): 8(ptr) FunctionParameter
20: Label 19: Label
21(local): 14(ptr) Variable Function 20(local): 13(ptr) Variable Function
26: 8(ptr) AccessChain 17(vi) 24 25 25: 8(ptr) AccessChain 16(vi) 23 24
27: 7(fvec4) Load 26 26: 7(fvec4) Load 25
28: 8(ptr) AccessChain 17(vi) 24 24 27: 8(ptr) AccessChain 16(vi) 23 23
29: 7(fvec4) Load 28 28: 7(fvec4) Load 27
30: 7(fvec4) FAdd 27 29 29: 7(fvec4) FAdd 26 28
33: 32(ptr) AccessChain 17(vi) 25 31 32: 31(ptr) AccessChain 16(vi) 24 30
34: 9(int) Load 33 33: 6(float) Load 32
35: 6(float) ConvertUToF 34 34: 7(fvec4) CompositeConstruct 33 33 33 33
36: 7(fvec4) CompositeConstruct 35 35 35 35 35: 7(fvec4) FAdd 29 34
37: 7(fvec4) FAdd 30 36 36: 7(fvec4) Load 15(d)
38: 7(fvec4) Load 16(d) 37: 7(fvec4) FAdd 35 36
38: 7(fvec4) Load 17(e)
39: 7(fvec4) FAdd 37 38 39: 7(fvec4) FAdd 37 38
40: 7(fvec4) Load 18(e) 40: 8(ptr) AccessChain 20(local) 22
41: 7(fvec4) FAdd 39 40 Store 40 39
42: 8(ptr) AccessChain 21(local) 23 43: 8(ptr) AccessChain 20(local) 24
Store 42 41 Store 43 42
43: 13(VI) Load 21(local) 46: 8(ptr) AccessChain 20(local) 23 23
ReturnValue 43 Store 46 45
49: 8(ptr) AccessChain 20(local) 23 24
Store 49 48
50: 12(VI) Load 20(local)
ReturnValue 50
FunctionEnd FunctionEnd

View File

@ -1,8 +1,8 @@
struct STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO struct STRUCT_WITH_NO_BUILTIN_INTERSTAGE_IO
{ {
float m0_array[2]; float m0_array[2] : mysemA;
int m1; int m1 : mysemB;
}; };
struct PS_IN struct PS_IN
@ -26,6 +26,9 @@ void main(triangle PS_IN tin[3], inout TriangleStream <GS_OUT> ts )
o.psIn.pos = float4(1,2,3,4); o.psIn.pos = float4(1,2,3,4);
o.psIn.tc = float2(5,6); o.psIn.tc = float2(5,6);
o.contains_no_builtin_io.m0_array[0] = 2.3;
o.contains_no_builtin_io.m0_array[1] = 2.3;
o.contains_no_builtin_io.m1 = 2;
ts.Append(o); ts.Append(o);
} }

View File

@ -1,14 +1,17 @@
struct VI { struct VI {
float4 m[2]; float4 m[2] : mysemA;
uint2 coord; float4 coord : SV_POSITION;
linear float4 b; linear float4 b : mysemB;
}; };
VI main(float4 d, VI vi, float4 e) : SV_POSITION VI main(float4 d : mysem, VI vi, float4 e : mysem)
{ {
VI local; VI local;
local.b = vi.m[1] + vi.m[0] + float4(vi.coord.x) + d + e; local.b = vi.m[1] + vi.m[0] + (float4)vi.coord.x + d + e;
local.coord = (float4)1;
local.m[0] = (float4)2;
local.m[1] = (float4)3;
return local; return local;
} }