[PATCH vkd3d v4 2/6] tests: Test a number of simple HLSL operations.
Francisco Casas
fcasas at codeweavers.com
Fri Jan 28 08:53:40 CST 2022
Hi, I found something that I am not sure if it may be a problem:
January 28, 2022 5:03 AM, "Giovanni Mascellani" <gmascellani at codeweavers.com> wrote:
> +[test]
> +draw quad
> +probe all rgba (20.0, 4294967300.0, 75.0, 0.0)
> +
> +[pixel shader]
> +float4 main() : SV_TARGET
> +{
> + uint x = 5;
> + uint y = 15;
> +
> + return float4(x % y, +x, -x, y / x);
> +}
> +
> +[test]
> +draw quad
> +probe all rgba (5.0, 5.0, 4294967300.0, 3.0)
The native compiler output is
---
ps_4_0
dcl_output o0.xyzw
mov o0.xyzw, l(20.000000,4294967296.000000,75.000000,0)
ret
---
Probably because float doesn't have enough precision to represent 4294967300.
> +[pixel shader]
> +float4 main() : SV_TARGET
> +{
> + uint x = 5;
> + uint y = 15;
> +
> + return float4(x == y, x != y, x < y, x <= y);
> +}
Same for the next test:
> +[test]
> +draw quad
> +probe all rgba (0.0, 1.0, 1.0, 1.0)
> +
> +[pixel shader]
> +float4 main() : SV_TARGET
> +{
> + uint x = 5;
> + uint y = 15;
> + uint zero = 0;
> +
> + return float4(x > y, x >= y, !x, !zero);
> +}
> +
And this one:
> +[pixel shader]
> +float4 main() : SV_TARGET
> +{
> + uint x = 5;
> + uint y = 15;
> +
> + return float4(x & y, x | y, x ^ y, ~x);
> +}
> +
> +[test]
> +draw quad
> +probe all rgba (5.0, 15.0, 10.0, 4294967300.0)
Everything else seems okay.
More information about the wine-devel
mailing list