HLSL: Flatten structs for all non-arrayed I/O interfaces.

This commit is contained in:
John Kessenich 2017-08-11 00:17:26 -06:00
parent 01109546d8
commit e29ff3cd65
15 changed files with 749 additions and 862 deletions

View file

@ -43,37 +43,25 @@ gl_FragCoord origin is upper left
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 0 (const int)
0:40 a: direct index for structure ( smooth temp 4-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 0 (const int)
0:? 's.a' (layout( location=1) smooth in 4-component vector of float)
0:40 move second child to first child ( temp bool)
0:40 b: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 1 (const int)
0:40 b: direct index for structure ( flat temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 1 (const int)
0:? 's.b' (layout( location=2) flat in bool)
0:40 move second child to first child ( temp 1-component vector of float)
0:40 c: direct index for structure ( temp 1-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 2 (const int)
0:40 c: direct index for structure ( centroid noperspective temp 1-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 2 (const int)
0:? 's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:40 move second child to first child ( temp 2-component vector of float)
0:40 d: direct index for structure ( temp 2-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 3 (const int)
0:40 d: direct index for structure ( centroid sample temp 2-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 3 (const int)
0:? 's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:40 move second child to first child ( temp bool)
0:40 ff1: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
@ -85,28 +73,19 @@ gl_FragCoord origin is upper left
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 5 (const int)
0:40 ff2: direct index for structure ( flat temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 4 (const int)
0:? 's.ff2' (layout( location=5) flat in bool)
0:40 move second child to first child ( temp bool)
0:40 ff3: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 6 (const int)
0:40 ff3: direct index for structure ( flat temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 5 (const int)
0:? 's.ff3' (layout( location=6) flat in bool)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 7 (const int)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 6 (const int)
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
0:40 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:40 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
@ -118,7 +97,13 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 's.ff1' ( flat in bool Face)
0:? 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:? 's.a' (layout( location=1) smooth in 4-component vector of float)
0:? 's.b' (layout( location=2) flat in bool)
0:? 's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:? 's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:? 's.ff2' (layout( location=5) flat in bool)
0:? 's.ff3' (layout( location=6) flat in bool)
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
Linked fragment stage:
@ -164,37 +149,25 @@ gl_FragCoord origin is upper left
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 0 (const int)
0:40 a: direct index for structure ( smooth temp 4-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 0 (const int)
0:? 's.a' (layout( location=1) smooth in 4-component vector of float)
0:40 move second child to first child ( temp bool)
0:40 b: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 1 (const int)
0:40 b: direct index for structure ( flat temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 1 (const int)
0:? 's.b' (layout( location=2) flat in bool)
0:40 move second child to first child ( temp 1-component vector of float)
0:40 c: direct index for structure ( temp 1-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 2 (const int)
0:40 c: direct index for structure ( centroid noperspective temp 1-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 2 (const int)
0:? 's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:40 move second child to first child ( temp 2-component vector of float)
0:40 d: direct index for structure ( temp 2-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 3 (const int)
0:40 d: direct index for structure ( centroid sample temp 2-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 3 (const int)
0:? 's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:40 move second child to first child ( temp bool)
0:40 ff1: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
@ -206,28 +179,19 @@ gl_FragCoord origin is upper left
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 5 (const int)
0:40 ff2: direct index for structure ( flat temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 4 (const int)
0:? 's.ff2' (layout( location=5) flat in bool)
0:40 move second child to first child ( temp bool)
0:40 ff3: direct index for structure ( temp bool)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 6 (const int)
0:40 ff3: direct index for structure ( flat temp bool)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 5 (const int)
0:? 's.ff3' (layout( location=6) flat in bool)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:? 's' ( temp structure{ temp 4-component vector of float a, temp bool b, temp 1-component vector of float c, temp 2-component vector of float d, temp bool ff1, temp bool ff2, temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 7 (const int)
0:40 ff4: direct index for structure ( temp 4-component vector of float)
0:40 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:40 Constant:
0:40 6 (const int)
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
0:40 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:40 Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
@ -239,16 +203,22 @@ gl_FragCoord origin is upper left
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input' (layout( location=0) in 4-component vector of float)
0:? 's.ff1' ( flat in bool Face)
0:? 's' (layout( location=1) in structure{ smooth temp 4-component vector of float a, flat temp bool b, centroid noperspective temp 1-component vector of float c, centroid sample temp 2-component vector of float d, flat temp bool ff2, flat temp bool ff3, temp 4-component vector of float ff4})
0:? 's.a' (layout( location=1) smooth in 4-component vector of float)
0:? 's.b' (layout( location=2) flat in bool)
0:? 's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
0:? 's.d' (layout( location=4) centroid sample in 2-component vector of float)
0:? 's.ff2' (layout( location=5) flat in bool)
0:? 's.ff3' (layout( location=6) flat in bool)
0:? 's.ff4' (layout( location=7) in 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 105
// Id's are bound by 102
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "PixelShaderFunction" 51 56 79 94
EntryPoint Fragment 4 "PixelShaderFunction" 51 54 59 65 71 76 80 84 87 91
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "PixelShaderFunction"
@ -278,49 +248,53 @@ gl_FragCoord origin is upper left
Name 49 "input"
Name 51 "input"
Name 53 "s"
Name 54 "IN_S"
MemberName 54(IN_S) 0 "a"
MemberName 54(IN_S) 1 "b"
MemberName 54(IN_S) 2 "c"
MemberName 54(IN_S) 3 "d"
MemberName 54(IN_S) 4 "ff2"
MemberName 54(IN_S) 5 "ff3"
MemberName 54(IN_S) 6 "ff4"
Name 56 "s"
Name 79 "s.ff1"
Name 94 "@entryPointOutput"
Name 95 "param"
Name 97 "param"
Name 101 "myS"
MemberName 101(myS) 0 "b"
MemberName 101(myS) 1 "c"
MemberName 101(myS) 2 "a"
MemberName 101(myS) 3 "d"
Name 102 "$Global"
MemberName 102($Global) 0 "s1"
MemberName 102($Global) 1 "ff5"
MemberName 102($Global) 2 "ff6"
Name 104 ""
Name 54 "s.a"
Name 59 "s.b"
Name 65 "s.c"
Name 71 "s.d"
Name 76 "s.ff1"
Name 80 "s.ff2"
Name 84 "s.ff3"
Name 87 "s.ff4"
Name 91 "@entryPointOutput"
Name 92 "param"
Name 94 "param"
Name 98 "myS"
MemberName 98(myS) 0 "b"
MemberName 98(myS) 1 "c"
MemberName 98(myS) 2 "a"
MemberName 98(myS) 3 "d"
Name 99 "$Global"
MemberName 99($Global) 0 "s1"
MemberName 99($Global) 1 "ff5"
MemberName 99($Global) 2 "ff6"
Name 101 ""
Decorate 51(input) Location 0
MemberDecorate 54(IN_S) 1 Flat
MemberDecorate 54(IN_S) 2 NoPerspective
MemberDecorate 54(IN_S) 2 Centroid
MemberDecorate 54(IN_S) 3 Centroid
MemberDecorate 54(IN_S) 4 Flat
MemberDecorate 54(IN_S) 5 Flat
Decorate 56(s) Location 1
Decorate 79(s.ff1) Flat
Decorate 79(s.ff1) BuiltIn FrontFacing
Decorate 94(@entryPointOutput) Location 0
MemberDecorate 101(myS) 0 Offset 0
MemberDecorate 101(myS) 1 Offset 4
MemberDecorate 101(myS) 2 Offset 16
MemberDecorate 101(myS) 3 Offset 32
MemberDecorate 102($Global) 0 Offset 0
MemberDecorate 102($Global) 1 Offset 1620
MemberDecorate 102($Global) 2 Offset 1636
Decorate 102($Global) Block
Decorate 104 DescriptorSet 0
Decorate 54(s.a) Location 1
Decorate 59(s.b) Flat
Decorate 59(s.b) Location 2
Decorate 65(s.c) NoPerspective
Decorate 65(s.c) Centroid
Decorate 65(s.c) Location 3
Decorate 71(s.d) Centroid
Decorate 71(s.d) Location 4
Decorate 76(s.ff1) Flat
Decorate 76(s.ff1) BuiltIn FrontFacing
Decorate 80(s.ff2) Flat
Decorate 80(s.ff2) Location 5
Decorate 84(s.ff3) Flat
Decorate 84(s.ff3) Location 6
Decorate 87(s.ff4) Location 7
Decorate 91(@entryPointOutput) Location 0
MemberDecorate 98(myS) 0 Offset 0
MemberDecorate 98(myS) 1 Offset 4
MemberDecorate 98(myS) 2 Offset 16
MemberDecorate 98(myS) 3 Offset 32
MemberDecorate 99($Global) 0 Offset 0
MemberDecorate 99($Global) 1 Offset 1620
MemberDecorate 99($Global) 2 Offset 1636
Decorate 99($Global) Block
Decorate 101 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -347,74 +321,71 @@ gl_FragCoord origin is upper left
42: TypePointer Function 41(containEmpty)
50: TypePointer Input 7(fvec4)
51(input): 50(ptr) Variable Input
54(IN_S): TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 7(fvec4)
55: TypePointer Input 54(IN_S)
56(s): 55(ptr) Variable Input
60: 31(int) Constant 1
61: TypePointer Input 9(bool)
64: TypePointer Function 9(bool)
66: 31(int) Constant 2
67: TypePointer Input 6(float)
70: TypePointer Function 6(float)
72: 31(int) Constant 3
73: TypePointer Input 10(fvec2)
76: TypePointer Function 10(fvec2)
78: 31(int) Constant 4
79(s.ff1): 61(ptr) Variable Input
82: 31(int) Constant 5
86: 31(int) Constant 6
93: TypePointer Output 7(fvec4)
94(@entryPointOutput): 93(ptr) Variable Output
100: TypeInt 32 0
101(myS): TypeStruct 100(int) 100(int) 7(fvec4) 7(fvec4)
102($Global): TypeStruct 101(myS) 6(float) 6(float)
103: TypePointer Uniform 102($Global)
104: 103(ptr) Variable Uniform
54(s.a): 50(ptr) Variable Input
57: 31(int) Constant 1
58: TypePointer Input 9(bool)
59(s.b): 58(ptr) Variable Input
61: TypePointer Function 9(bool)
63: 31(int) Constant 2
64: TypePointer Input 6(float)
65(s.c): 64(ptr) Variable Input
67: TypePointer Function 6(float)
69: 31(int) Constant 3
70: TypePointer Input 10(fvec2)
71(s.d): 70(ptr) Variable Input
73: TypePointer Function 10(fvec2)
75: 31(int) Constant 4
76(s.ff1): 58(ptr) Variable Input
79: 31(int) Constant 5
80(s.ff2): 58(ptr) Variable Input
83: 31(int) Constant 6
84(s.ff3): 58(ptr) Variable Input
87(s.ff4): 50(ptr) Variable Input
90: TypePointer Output 7(fvec4)
91(@entryPointOutput): 90(ptr) Variable Output
97: TypeInt 32 0
98(myS): TypeStruct 97(int) 97(int) 7(fvec4) 7(fvec4)
99($Global): TypeStruct 98(myS) 6(float) 6(float)
100: TypePointer Uniform 99($Global)
101: 100(ptr) Variable Uniform
4(PixelShaderFunction): 2 Function None 3
5: Label
49(input): 8(ptr) Variable Function
53(s): 12(ptr) Variable Function
95(param): 8(ptr) Variable Function
97(param): 12(ptr) Variable Function
92(param): 8(ptr) Variable Function
94(param): 12(ptr) Variable Function
52: 7(fvec4) Load 51(input)
Store 49(input) 52
57: 50(ptr) AccessChain 56(s) 32
58: 7(fvec4) Load 57
59: 8(ptr) AccessChain 53(s) 32
Store 59 58
62: 61(ptr) AccessChain 56(s) 60
63: 9(bool) Load 62
65: 64(ptr) AccessChain 53(s) 60
Store 65 63
68: 67(ptr) AccessChain 56(s) 66
69: 6(float) Load 68
71: 70(ptr) AccessChain 53(s) 66
Store 71 69
74: 73(ptr) AccessChain 56(s) 72
75: 10(fvec2) Load 74
77: 76(ptr) AccessChain 53(s) 72
Store 77 75
80: 9(bool) Load 79(s.ff1)
81: 64(ptr) AccessChain 53(s) 78
Store 81 80
83: 61(ptr) AccessChain 56(s) 78
84: 9(bool) Load 83
85: 64(ptr) AccessChain 53(s) 82
Store 85 84
87: 61(ptr) AccessChain 56(s) 82
88: 9(bool) Load 87
89: 64(ptr) AccessChain 53(s) 86
55: 7(fvec4) Load 54(s.a)
56: 8(ptr) AccessChain 53(s) 32
Store 56 55
60: 9(bool) Load 59(s.b)
62: 61(ptr) AccessChain 53(s) 57
Store 62 60
66: 6(float) Load 65(s.c)
68: 67(ptr) AccessChain 53(s) 63
Store 68 66
72: 10(fvec2) Load 71(s.d)
74: 73(ptr) AccessChain 53(s) 69
Store 74 72
77: 9(bool) Load 76(s.ff1)
78: 61(ptr) AccessChain 53(s) 75
Store 78 77
81: 9(bool) Load 80(s.ff2)
82: 61(ptr) AccessChain 53(s) 79
Store 82 81
85: 9(bool) Load 84(s.ff3)
86: 61(ptr) AccessChain 53(s) 83
Store 86 85
88: 7(fvec4) Load 87(s.ff4)
89: 8(ptr) AccessChain 53(s) 33
Store 89 88
90: 50(ptr) AccessChain 56(s) 86
91: 7(fvec4) Load 90
92: 8(ptr) AccessChain 53(s) 33
Store 92 91
96: 7(fvec4) Load 49(input)
Store 95(param) 96
98: 11(IN_S) Load 53(s)
Store 97(param) 98
99: 7(fvec4) FunctionCall 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;) 95(param) 97(param)
Store 94(@entryPointOutput) 99
93: 7(fvec4) Load 49(input)
Store 92(param) 93
95: 11(IN_S) Load 53(s)
Store 94(param) 95
96: 7(fvec4) FunctionCall 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;) 92(param) 94(param)
Store 91(@entryPointOutput) 96
Return
FunctionEnd
16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;): 7(fvec4) Function None 13