From: Nikolay Sivov nsivov@codeweavers.com
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 f6334a5c..9e6805a1 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 { @@ -62,3 +71,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)