vkd3d-shader/hlsl: Convert ternary operator true/false values to a common type.

This commit is contained in:
Nikolay Sivov
2023-05-07 23:45:11 +02:00
committed by Alexandre Julliard
parent a064009d3b
commit dc41444941
Notes: Alexandre Julliard 2023-05-09 22:26:06 +02:00
Approved-by: Zebediah Figura (@zfigura)
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/201
2 changed files with 42 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
[pixel shader]
uniform float4 x;
float4 main() : SV_TARGET
float4 main() : sv_target
{
return x.x ? x : x - 1;
}
@@ -13,3 +13,21 @@ probe all rgba (2.0, 3.0, 4.0, 5.0)
uniform 0 float4 0.0 10.0 11.0 12.0
draw quad
probe all rgba (-1.0, 9.0, 10.0, 11.0)
[pixel shader]
uniform float4 x;
float4 main() : sv_target
{
float4 ret;
ret.x = x.x ? x.x : 1;
ret.y = x.y ? 2 : x.y;
ret.z = ret.w = 0.0;
return ret;
}
[test]
uniform 0 float4 1.1 3.0 4.0 5.0
draw quad
probe all rgba (1.1, 2.0, 0.0, 0.0)