From 1af662ae5038d78b2069410f36fd7a08afea5cf6 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Wed, 10 May 2023 10:01:05 +0200 Subject: [PATCH] tests: Add RWBuffer writing test. Signed-off-by: Nikolay Sivov --- 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 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)