vkd3d-shader/hlsl: Support lit() intrinsic.

This commit is contained in:
Nikolay Sivov
2023-02-12 18:02:31 +01:00
committed by Alexandre Julliard
parent 02e3be811b
commit d86db8bcbe
Notes: Alexandre Julliard 2023-02-21 22:54:34 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Zebediah Figura (@zfigura)
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/88
5 changed files with 176 additions and 16 deletions

62
tests/lit.shader_test Normal file
View File

@@ -0,0 +1,62 @@
[pixel shader]
float4 main(uniform float4 u) : sv_target
{
return lit(u.x, u.y, u.z);
}
[test]
uniform 0 float4 -0.1 10.0 0.0 0.0
draw quad
probe all rgba (1.0, 0.0, 0.0, 1.0)
[test]
uniform 0 float4 1.2 -0.1 0.0 0.0
draw quad
probe all rgba (1.0, 1.2, 0.0, 1.0)
[test]
uniform 0 float4 1.2 2.0 3.0 0.0
draw quad
probe all rgba (1.0, 1.2, 8.0, 1.0)
[pixel shader fail]
float4 main(uniform float4 u) : sv_target
{
return lit(u.xy, u.y, u.z);
}
[pixel shader fail]
float4 main(uniform float4 u) : sv_target
{
return lit(u.x, u.xy, u.z);
}
[pixel shader fail]
float4 main(uniform float4 u) : sv_target
{
return lit(u.x, u.y, u.yz);
}
[pixel shader fail]
uniform float4x4 m;
float4 main(uniform float4 u) : sv_target
{
return lit(m, u.y, u.z);
}
[pixel shader fail]
uniform float4x4 m;
float4 main(uniform float4 u) : sv_target
{
return lit(u.x, m, u.z);
}
[pixel shader fail]
uniform float4x4 m;
float4 main(uniform float4 u) : sv_target
{
return lit(u.x, u.y, m);
}