Module: vkd3d Branch: master Commit: 524029a0624117aa7c2255f93835f643e02c57c8 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/524029a0624117aa7c2255f93835f6...
Author: Francisco Casas fcasas@codeweavers.com Date: Tue Jan 24 20:37:38 2023 -0300
tests: Test using single-component swizzles as indexes.
Vectors cannot be used as array indexes, however, single-component swizzles (such as vec.x) can be used.
This suggests that single-component swizzles should actually be scalars and not vectors of dimx = 1.
It is worth noting that the use of single-component swizzles on scalars should still be allowed.
---
tests/hlsl-vector-indexing.shader_test | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)
diff --git a/tests/hlsl-vector-indexing.shader_test b/tests/hlsl-vector-indexing.shader_test index f2d20c44..a7e671b8 100644 --- a/tests/hlsl-vector-indexing.shader_test +++ b/tests/hlsl-vector-indexing.shader_test @@ -25,3 +25,27 @@ float4 main() : SV_TARGET uniform 0 float4 1.0 2.0 3.0 4.0 draw quad probe all rgba (1.0, 2.0, 2.0, 3.0) + + +[pixel shader fail] +float4 main() : SV_TARGET +{ + float4 vec = {0, 1, 2, 3}; + int1 idx = {3}; + + return vec[idx]; +} + + +[pixel shader todo] +float4 main() : SV_TARGET +{ + float4 vec = {0, 1, 2, 3}; + int2 idx = {1, 2}; + + return vec[idx.y]; +} + +[test] +todo draw quad +todo probe all rgba (2.0, 2.0, 2.0, 2.0)