1 float PixelShaderFunction(float inF0, float inF1, float inF2)
11 clamp(inF0, inF1, inF2);
23 // EvaluateAttributeAtCentroid(inF0);
24 // EvaluateAttributeAtSample(inF0, 0);
25 // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
31 // TODO: fma(inD0, inD1, inD2);
53 sincos(inF0, inF1, inF2);
55 smoothstep(inF0, inF1, inF2);
60 // TODO: sampler intrinsics, when we can declare the types.
66 float1 PixelShaderFunction(float1 inF0, float1 inF1, float1 inF2)
68 // TODO: ... add when float1 prototypes are generated
72 float2 PixelShaderFunction(float2 inF0, float2 inF1, float2 inF2)
82 clamp(inF0, inF1, inF2);
96 // EvaluateAttributeAtCentroid(inF0);
97 // EvaluateAttributeAtSample(inF0, 0);
98 // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
101 faceforward(inF0, inF1, inF2);
105 // TODO: fma(inD0, inD1, inD2);
124 refract(inF0, inF1, 2.0);
125 reversebits(int2(1,2));
131 sincos(inF0, inF1, inF2);
133 smoothstep(inF0, inF1, inF2);
138 // TODO: sampler intrinsics, when we can declare the types.
141 // TODO: ... add when float1 prototypes are generated
145 float3 PixelShaderFunction(float3 inF0, float3 inF1, float3 inF2)
155 clamp(inF0, inF1, inF2);
159 countbits(int3(7,3,5));
168 distance(inF0, inF1);
170 // EvaluateAttributeAtCentroid(inF0);
171 // EvaluateAttributeAtSample(inF0, 0);
172 // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
175 faceforward(inF0, inF1, inF2);
179 // TODO: fma(inD0, inD1, inD2);
198 refract(inF0, inF1, 2.0);
199 reversebits(int3(1,2,3));
205 sincos(inF0, inF1, inF2);
207 smoothstep(inF0, inF1, inF2);
212 // TODO: sampler intrinsics, when we can declare the types.
215 // TODO: ... add when float1 prototypes are generated
216 return float3(1,2,3);
219 float4 PixelShaderFunction(float4 inF0, float4 inF1, float4 inF2)
229 clamp(inF0, inF1, inF2);
233 countbits(int4(7,3,5,2));
241 distance(inF0, inF1);
244 // EvaluateAttributeAtCentroid(inF0);
245 // EvaluateAttributeAtSample(inF0, 0);
246 // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
249 faceforward(inF0, inF1, inF2);
253 // TODO: fma(inD0, inD1, inD2);
272 refract(inF0, inF1, 2.0);
273 reversebits(int4(1,2,3,4));
279 sincos(inF0, inF1, inF2);
281 smoothstep(inF0, inF1, inF2);
286 // TODO: sampler intrinsics, when we can declare the types.
289 // TODO: ... add when float1 prototypes are generated
290 return float4(1,2,3,4);
293 // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
304 clamp(inF0, inF1, inF2); \
337 sincos(inF0, inF1, inF2); \
339 smoothstep(inF0, inF1, inF2); \
347 // TODO: turn on non-square matrix tests when protos are available.
349 float2x2 PixelShaderFunction(float2x2 inF0, float2x2 inF1, float2x2 inF2)
351 // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
354 // TODO: ... add when float1 prototypes are generated
355 return float2x2(2,2,2,2);
358 float3x3 PixelShaderFunction(float3x3 inF0, float3x3 inF1, float3x3 inF2)
360 // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
363 // TODO: ... add when float1 prototypes are generated
364 return float3x3(3,3,3,3,3,3,3,3,3);
367 float4x4 PixelShaderFunction(float4x4 inF0, float4x4 inF1, float4x4 inF2)
369 // TODO: FXC doesn't accept this with (), but glslang doesn't accept it without.
372 // TODO: ... add when float1 prototypes are generated
373 return float4x4(4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4);
376 #define TESTGENMUL(ST, VT, MT) \
377 ST r0 = mul(inF0, inF1); \
378 VT r1 = mul(inFV0, inF0); \
379 VT r2 = mul(inF0, inFV0); \
380 ST r3 = mul(inFV0, inFV1); \
381 VT r4 = mul(inFM0, inFV0); \
382 VT r5 = mul(inFV0, inFM0); \
383 MT r6 = mul(inFM0, inF0); \
384 MT r7 = mul(inF0, inFM0); \
385 MT r8 = mul(inFM0, inFM1);
388 void TestGenMul(float inF0, float inF1,
389 float2 inFV0, float2 inFV1,
390 float2x2 inFM0, float2x2 inFM1)
392 TESTGENMUL(float, float2, float2x2);
395 void TestGenMul(float inF0, float inF1,
396 float3 inFV0, float3 inFV1,
397 float3x3 inFM0, float3x3 inFM1)
399 TESTGENMUL(float, float3, float3x3);
402 void TestGenMul(float inF0, float inF1,
403 float4 inFV0, float4 inFV1,
404 float4x4 inFM0, float4x4 inFM1)
406 TESTGENMUL(float, float4, float4x4);