Module: vkd3d Branch: master Commit: 1af662ae5038d78b2069410f36fd7a08afea5cf6 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/1af662ae5038d78b2069410f36fd7a...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Wed May 10 10:01:05 2023 +0200
tests: Add RWBuffer writing test.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
---
tests/uav-rwbuffer.shader_test | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/tests/uav-rwbuffer.shader_test b/tests/uav-rwbuffer.shader_test index 0446e161..1a7fcf1e 100644 --- a/tests/uav-rwbuffer.shader_test +++ b/tests/uav-rwbuffer.shader_test @@ -1,6 +1,15 @@ [require] shader model >= 5.0
+% UAVs are implicitly allocated starting from the highest render target slot. +% They cannot overlap render target slots, and also cannot be allocated any +% lower than the highest render target. +% This ceases to be true with shader model 5.1. + +[render target 1] +format r32g32b32a32 float +size (640, 480) + [pixel shader] struct s { @@ -78,3 +87,21 @@ float4 main() : sv_target1 { return 0; } + +[buffer uav 2] +size (1, 1) + +0.1 0.2 0.3 0.4 + +[pixel shader] +RWBuffer<float4> u : register(u2); + +float4 main() : sv_target1 +{ + u[0] = float4(11.1, 12.2, 13.3, 14.4); + return 0; +} + +[test] +draw quad +probe buffer uav 2 (0, 0) rgba (11.1, 12.2, 13.3, 14.4)