[PATCH vkd3d 1/5] tests: Add a simple test for function overloads.

Giovanni Mascellani gmascellani at codeweavers.com
Wed Sep 8 07:19:00 CDT 2021


Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>

Il 02/09/21 00:20, Zebediah Figura ha scritto:
> Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
> ---
>   Makefile.am                              |  2 ++
>   tests/hlsl-function-overload.shader_test | 40 ++++++++++++++++++++++++
>   2 files changed, 42 insertions(+)
>   create mode 100644 tests/hlsl-function-overload.shader_test
> 
> diff --git a/Makefile.am b/Makefile.am
> index f51233c2..721a6b66 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -58,6 +58,7 @@ vkd3d_shader_tests = \
>   	tests/hlsl-array-dimension.shader_test \
>   	tests/hlsl-comma.shader_test \
>   	tests/hlsl-duplicate-modifiers.shader_test \
> +	tests/hlsl-function-overload.shader_test \
>   	tests/hlsl-invalid.shader_test \
>   	tests/hlsl-majority-pragma.shader_test \
>   	tests/hlsl-majority-typedef.shader_test \
> @@ -266,6 +267,7 @@ XFAIL_TESTS = \
>   	tests/hlsl-array-dimension.shader_test \
>   	tests/hlsl-comma.shader_test \
>   	tests/hlsl-duplicate-modifiers.shader_test \
> +	tests/hlsl-function-overload.shader_test \
>   	tests/hlsl-majority-pragma.shader_test \
>   	tests/hlsl-majority-typedef.shader_test \
>   	tests/hlsl-nested-arrays.shader_test \
> diff --git a/tests/hlsl-function-overload.shader_test b/tests/hlsl-function-overload.shader_test
> new file mode 100644
> index 00000000..c6e0ccfe
> --- /dev/null
> +++ b/tests/hlsl-function-overload.shader_test
> @@ -0,0 +1,40 @@
> +[pixel shader fail]
> +/* The same function signature cannot be defined twice. */
> +
> +float func(int arg)
> +{
> +    return 0.1;
> +}
> +
> +float func(int arg)
> +{
> +    return 0.1;
> +}
> +
> +float4 main() : sv_target
> +{
> +    return 0;
> +}
> +
> +[pixel shader]
> +/* Test a basic overload. */
> +float func(int arg)
> +{
> +    return 0.1;
> +}
> +
> +float func(uint arg)
> +{
> +    return 0.2;
> +}
> +
> +float4 main() : sv_target
> +{
> +    int i = 1;
> +    uint u = 1;
> +    return float4(func(i), func(u), func(int2(1, 1)), func(uint2(1, 1)));
> +}
> +
> +[test]
> +draw quad
> +probe all rgba (0.1, 0.2, 0.1, 0.2)
> 



More information about the wine-devel mailing list