[PATCH vkd3d 4/8] tests: Test how matrix types interact with semantics.

Francisco Casas fcasas at codeweavers.com
Thu May 5 18:00:29 CDT 2022


Signed-off-by: Francisco Casas <fcasas at codeweavers.com>


Btw, I am not sure if we should care about it, but there may be an argument
for changing the tests a little so that the same value is not probed in two
consecutive tests. Otherwise, some tests may pass just because of residual 
values.
e.g. if the compilation succeeds in these tests but we were forgetting to
store the value on the output semantic.




May 5, 2022 9:32 AM, "Giovanni Mascellani" <gmascellani at codeweavers.com> wrote:

> Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
> ---
> Makefile.am | 1 +
> tests/matrix-semantics.shader_test | 71 ++++++++++++++++++++++++++++++
> 2 files changed, 72 insertions(+)
> create mode 100644 tests/matrix-semantics.shader_test
> 
> diff --git a/Makefile.am b/Makefile.am
> index 2742e77c..d66f13a7 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -107,6 +107,7 @@ vkd3d_shader_tests = \
> tests/hlsl-vector-indexing-uniform.shader_test \
> tests/logic-operations.shader_test \
> tests/math.shader_test \
> + tests/matrix-semantics.shader_test \
> tests/nointerpolation.shader_test \
> tests/pow.shader_test \
> tests/preproc-if.shader_test \
> diff --git a/tests/matrix-semantics.shader_test b/tests/matrix-semantics.shader_test
> new file mode 100644
> index 00000000..7106eb86
> --- /dev/null
> +++ b/tests/matrix-semantics.shader_test
> @@ -0,0 +1,71 @@
> +[pixel shader]
> +float4x1 main() : sv_target
> +{
> + return float4(1.0, 2.0, 3.0, 4.0);
> +}
> +
> +[test]
> +todo draw quad
> +probe all rgba (1.0, 2.0, 3.0, 4.0)
> +
> +[pixel shader]
> +row_major float1x4 main() : sv_target
> +{
> + return float4(1.0, 2.0, 3.0, 4.0);
> +}
> +
> +[test]
> +todo draw quad
> +probe all rgba (1.0, 2.0, 3.0, 4.0)
> +
> +[require]
> +shader model >= 4.0
> +
> +[pixel shader]
> +row_major float4x1 main() : sv_target
> +{
> + return float4(1.0, 2.0, 3.0, 4.0);
> +}
> +
> +[test]
> +todo draw quad
> +probe all r 1.0
> +
> +[pixel shader]
> +float1x4 main() : sv_target
> +{
> + return float4(1.0, 2.0, 3.0, 4.0);
> +}
> +
> +[test]
> +todo draw quad
> +probe all r 1.0
> +
> +[pixel shader]
> +void main(out row_major float1x4 x : sv_target0, out float1x4 y : sv_target1)
> +{
> + x = float4(1.0, 2.0, 3.0, 4.0);
> + y = float4(5.0, 6.0, 7.0, 8.0);
> +}
> +
> +[test]
> +todo draw quad
> +probe all rgba (1.0, 2.0, 3.0, 4.0)
> +
> +[pixel shader fail todo]
> +void main(out float1x4 x : sv_target0, out float1x4 y : sv_target1)
> +{
> + x = float4(1.0, 2.0, 3.0, 4.0);
> + y = float4(5.0, 6.0, 7.0, 8.0);
> +}
> +
> +[pixel shader]
> +void main(out float1x4 x : sv_target0, out float1x4 y : sv_target4)
> +{
> + x = float4(1.0, 2.0, 3.0, 4.0);
> + y = float4(5.0, 6.0, 7.0, 8.0);
> +}
> +
> +[test]
> +todo draw quad
> +probe all r 1.0
> -- 
> 2.36.0



More information about the wine-devel mailing list