1 void ComputeShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
5 // AllMemoryBarrier(); // invalid in fragment stage TODO: parser currently crashes on empty arg list
6 // AllMemoryBarrierWithGroupSync(); // invalid in fragment stage TODO: parser currently crashes on empty arg list
7 // asdouble(inF0, inF1); // expected error: only integer inputs
8 // CheckAccessFullyMapped(3.0); // expected error: only valid on integers
9 // clip(inF0); // expected error: only valid in pixel stage
10 // countbits(inF0); // expected error: only integer inputs
11 // cross(inF0, inF1); // expected error: only on float3 inputs
12 // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs
13 // ddx(inF0); // expected error: only valid in pixel stage
14 // ddx_coarse(inF0); // expected error: only valid in pixel stage
15 // ddx_fine(inF0); // expected error: only valid in pixel stage
16 // ddy(inF0); // expected error: only valid in pixel stage
17 // ddy_coarse(inF0); // expected error: only valid in pixel stage
18 // ddy_fine(inF0); // expected error: only valid in pixel stage
19 // determinant(inF0); // expected error: only valid on mats
20 // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant
21 // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant
22 // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant
23 // f16tof32(inF0); // expected error: only integer inputs
24 // firstbithigh(inF0); // expected error: only integer inputs
25 // firstbitlow(inF0); // expected error: only integer inputs
26 // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
27 // fwidth(inF0); // expected error: only valid in pixel stage
28 // InterlockedAdd(gs_ua, gs_ub); // expected error: only valid in pixel stage
29 // InterlockedAdd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage
30 // InterlockedAnd(gs_ua, gs_ub); // expected error: only valid in pixel stage
31 // InterlockedAnd(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage
32 // InterlockedCompareExchange(gs_ua, gs_ub, gs_uc, out_u1); // expected error: only valid in pixel stage
33 // InterlockedExchange(gs_ua, gs_ub, out_u1);// expected error: only valid in pixel stage
34 // InterlockedMax(gs_ua, gs_ub); // expected error: only valid in pixel stage
35 // InterlockedMax(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage
36 // InterlockedMin(gs_ua, gs_ub); // expected error: only valid in pixel stage
37 // InterlockedMin(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage
38 // InterlockedOr(gs_ua, gs_ub); // expected error: only valid in pixel stage
39 // InterlockedOr(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage
40 // InterlockedXor(gs_ua, gs_ub); // expected error: only valid in pixel stage
41 // InterlockedXor(gs_ua, gs_ub, out_u1); // expected error: only valid in pixel stage
42 // length(inF0); // expect error: invalid on scalars
43 // msad4(inF0, float2(0), float4(0)); // expected error: only integer inputs
44 // normalize(inF0); // expect error: invalid on scalars
45 // reflect(inF0, inF1); // expect error: invalid on scalars
46 // refract(inF0, inF1, inF2); // expect error: invalid on scalars
47 // refract(float2(0), float2(0), float2(0)); // expected error: last parameter only scalar
48 // reversebits(inF0); // expected error: only integer inputs
49 // transpose(inF0); // expect error: only valid on mats
51 // TODO: texture intrinsics, when we can declare samplers.
54 void ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
56 // TODO: ... add when float1 prototypes are generated
58 // GetRenderTargetSamplePosition(inF0); // expected error: only integer inputs
61 void ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
65 // asdouble(inF0, inF1); // expected error: only integer inputs
66 // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars
67 // countbits(inF0); // expected error: only integer inputs
68 // cross(inF0, inF1); // expected error: only on float3 inputs
69 // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs
70 // ddx(inF0); // only valid in pixel stage
71 // ddx_coarse(inF0); // only valid in pixel stage
72 // ddx_fine(inF0); // only valid in pixel stage
73 // ddy(inF0); // only valid in pixel stage
74 // ddy_coarse(inF0); // only valid in pixel stage
75 // ddy_fine(inF0); // only valid in pixel stage
76 // determinant(inF0); // expect error: only valid on mats
77 // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant
78 // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant
79 // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant
80 // f16tof32(inF0); // expected error: only integer inputs
81 // firstbithigh(inF0); // expected error: only integer inputs
82 // firstbitlow(inF0); // expected error: only integer inputs
83 // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
84 // fwidth(inF0); // expected error: only valid in pixel stage
85 // InterlockedAdd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage
86 // InterlockedAdd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage
87 // InterlockedAnd(gs_ua2, gs_ub2); // expected error: only valid in pixel stage
88 // InterlockedAnd(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage
89 // InterlockedCompareExchange(gs_ua2, gs_ub2, gs_uc2, out_u2); // expected error: only valid in pixel stage
90 // InterlockedExchange(gs_ua2, gs_ub2, out_u2);// expected error: only valid in pixel stage
91 // InterlockedMax(gs_ua2, gs_ub2); // expected error: only valid in pixel stage
92 // InterlockedMax(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage
93 // InterlockedMin(gs_ua2, gs_ub2); // expected error: only valid in pixel stage
94 // InterlockedMin(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage
95 // InterlockedOr(gs_ua2, gs_ub2); // expected error: only valid in pixel stage
96 // InterlockedOr(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage
97 // InterlockedXor(gs_ua2, gs_ub2); // expected error: only valid in pixel stage
98 // InterlockedXor(gs_ua2, gs_ub2, out_u2); // expected error: only valid in pixel stage
99 // noise(inF0); // expected error: only valid in pixel stage
100 // reversebits(inF0); // expected error: only integer inputs
101 // transpose(inF0); // expect error: only valid on mats
103 // TODO: texture intrinsics, when we can declare samplers.
106 void ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
110 // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars
111 // countbits(inF0); // expected error: only integer inputs
112 // ddx(inF0); // only valid in pixel stage
113 // ddx_coarse(inF0); // only valid in pixel stage
114 // ddx_fine(inF0); // only valid in pixel stage
115 // ddy(inF0); // only valid in pixel stage
116 // ddy_coarse(inF0); // only valid in pixel stage
117 // ddy_fine(inF0); // only valid in pixel stage
118 // D3DCOLORtoUBYTE4(inF0); // expected error: only on float4 inputs
119 // determinant(inF0); // expect error: only valid on mats
120 // EvaluateAttributeAtCentroid(inF0); // expected error: only interpolant
121 // EvaluateAttributeAtSample(inF0, 2); // expected error: only interpolant
122 // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only interpolant
123 // f16tof32(inF0); // expected error: only integer inputs
124 // firstbithigh(inF0); // expected error: only integer inputs
125 // firstbitlow(inF0); // expected error: only integer inputs
126 // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
127 // fwidth(inF0); // expected error: only valid in pixel stage
128 // InterlockedAdd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage
129 // InterlockedAdd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
130 // InterlockedAnd(gs_ua3, gs_ub3); // expected error: only valid in pixel stage
131 // InterlockedAnd(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
132 // InterlockedCompareExchange(gs_ua3, gs_ub3, gs_uc3, out_u3); // expected error: only valid in pixel stage
133 // InterlockedExchange(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
134 // InterlockedMax(gs_ua3, gs_ub3); // expected error: only valid in pixel stage
135 // InterlockedMax(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
136 // InterlockedMin(gs_ua3, gs_ub3); // expected error: only valid in pixel stage
137 // InterlockedMin(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
138 // InterlockedOr(gs_ua3, gs_ub3); // expected error: only valid in pixel stage
139 // InterlockedOr(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
140 // InterlockedXor(gs_ua3, gs_ub3); // expected error: only valid in pixel stage
141 // InterlockedXor(gs_ua3, gs_ub3, out_u3); // expected error: only valid in pixel stage
142 // noise(inF0); // expected error: only valid in pixel stage
143 // reversebits(inF0); // expected error: only integer inputs
144 // transpose(inF0); // expect error: only valid on mats
146 // TODO: texture intrinsics, when we can declare samplers.
149 void ComputeShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0)
153 // CheckAccessFullyMapped(inF0); // expect error: only valid on scalars
154 // countbits(inF0); // expected error: only integer inputs
155 // cross(inF0, inF1); // expected error: only on float3 inputs
156 // determinant(inF0); // expect error: only valid on mats
157 // ddx(inF0); // only valid in pixel stage
158 // ddx_coarse(inF0); // only valid in pixel stage
159 // ddx_fine(inF0); // only valid in pixel stage
160 // ddy(inF0); // only valid in pixel stage
161 // ddy_coarse(inF0); // only valid in pixel stage
162 // ddy_fine(inF0); // only valid in pixel stage
163 // EvaluateAttributeAtCentroid(inF0); // expected error: only valid in pixel stage
164 // EvaluateAttributeAtSample(inF0, 2); // expected error: only valid in pixel stage
165 // EvaluateAttributeSnapped(inF0, int2(2)); // expected error: only valid in pixel stage
166 // f16tof32(inF0); // expected error: only integer inputs
167 // firstbithigh(inF0); // expected error: only integer inputs
168 // firstbitlow(inF0); // expected error: only integer inputs
169 // fma(inF0, inF1, inF2); // TODO: this might auto-promote: need to check against FXC
170 // fwidth(inF0); // expected error: only valid in pixel stage
171 // InterlockedAdd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage
172 // InterlockedAdd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
173 // InterlockedAnd(gs_ua4, gs_ub4); // expected error: only valid in pixel stage
174 // InterlockedAnd(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
175 // InterlockedCompareExchange(gs_ua4, gs_ub4, gs_uc4, out_u4); // expected error: only valid in pixel stage
176 // InterlockedExchange(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
177 // InterlockedMax(gs_ua4, gs_ub4); // expected error: only valid in pixel stage
178 // InterlockedMax(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
179 // InterlockedMin(gs_ua4, gs_ub4); // expected error: only valid in pixel stage
180 // InterlockedMin(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
181 // InterlockedOr(gs_ua4, gs_ub4); // expected error: only valid in pixel stage
182 // InterlockedOr(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
183 // InterlockedXor(gs_ua4, gs_ub4); // expected error: only valid in pixel stage
184 // InterlockedXor(gs_ua4, gs_ub4, out_u4); // expected error: only valid in pixel stage
185 // noise(inF0); // expected error: only valid in pixel stage
186 // reversebits(inF0); // expected error: only integer inputs
187 // transpose(inF0); // expect error: only valid on mats
189 // TODO: texture intrinsics, when we can declare samplers.