vkd3d-shader/hlsl: Implement cross() intrinsic function.

Signed-off-by: Francisco Casas <fcasas@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Francisco Casas
2021-11-19 18:33:53 +01:00
committed by Alexandre Julliard
parent 3dad54845e
commit ecf1180c35
3 changed files with 85 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
[pixel shader]
float4 main(uniform float4 u, uniform float4 v) : sv_target
{
float4 res = float4(0, 0, 0, 0);
res.xyz = cross(u, v);
return res;
}
[test]
uniform 0 float4 1 -2 3 4
uniform 4 float4 10 100 1000 10000
draw quad
probe all rgba (-2300, -970, 120, 0)
[pixel shader]
float4 main(uniform float4 u) : sv_target
{
float4 res = float4(0, 0, 0, 3.5);
res.xyz = cross(u, 4);
return res;
}
[test]
uniform 0 float4 1 -2 3 4
draw quad
probe all rgba (-20, 8, 12, 3.5)