From b08be044658d8b3e569574f17d08f34c892a6bdf Mon Sep 17 00:00:00 2001 From: Francisco Casas Date: Wed, 24 Jan 2024 16:11:17 -0300 Subject: [PATCH] tests/shader-runner: Change resource declaration syntax on shader_test files. On shader_test files, now resources should be declared this way: [texture n] -> [srv n] [srv buffer n] -> [srv n] [uav n] -> [uav n] [uav buffer n] -> [uav n] [vertex buffer n] -> [vb n] [render target n] -> [rtv n] The dimension (buffer or 2D) is now specified as an additional parameter in the "size" directive: For 2D resources: size (n, m) -> size (2d, n, m) For buffers: size (n, 1) -> size (buffer, n) --- tests/hlsl/bool-semantics.shader_test | 2 +- tests/hlsl/cbuffer.shader_test | 16 +++--- tests/hlsl/combined-samplers.shader_test | 20 +++---- tests/hlsl/compute.shader_test | 2 +- tests/hlsl/gather-offset.shader_test | 4 +- tests/hlsl/gather.shader_test | 4 +- tests/hlsl/getdimensions.shader_test | 8 +-- tests/hlsl/initializer-objects.shader_test | 8 +-- tests/hlsl/is-front-face.shader_test | 4 +- tests/hlsl/load-level.shader_test | 4 +- tests/hlsl/matrix-semantics.shader_test | 20 +++---- tests/hlsl/multiple-rt.shader_test | 8 +-- tests/hlsl/nointerpolation.shader_test | 2 +- tests/hlsl/numthreads.shader_test | 2 +- tests/hlsl/object-parameters.shader_test | 24 ++++---- tests/hlsl/object-references.shader_test | 28 +++++----- .../hlsl/rasteriser-ordered-views.shader_test | 10 ++-- ...egister-reservations-resources.shader_test | 28 +++++----- tests/hlsl/sample-bias.shader_test | 4 +- tests/hlsl/sample-grad.shader_test | 4 +- tests/hlsl/sample-level.shader_test | 4 +- tests/hlsl/sampler-offset.shader_test | 4 +- tests/hlsl/sampler.shader_test | 4 +- .../shader-interstage-interface.shader_test | 4 +- tests/hlsl/sm6-uav-rwtexture.shader_test | 15 ++--- tests/hlsl/srv-buffers.shader_test | 16 +++--- tests/hlsl/static-initializer.shader_test | 6 +- tests/hlsl/struct-semantics.shader_test | 2 +- tests/hlsl/swizzle-constant-prop.shader_test | 4 +- tests/hlsl/texture-load-offset.shader_test | 4 +- tests/hlsl/texture-load-typed.shader_test | 12 ++-- tests/hlsl/texture-load.shader_test | 4 +- tests/hlsl/texture-ordering.shader_test | 40 +++++++------- tests/hlsl/uav-load.shader_test | 4 +- tests/hlsl/uav-out-param.shader_test | 4 +- tests/hlsl/uav-rwbuffer.shader_test | 9 ++- tests/hlsl/uav-rwtexture.shader_test | 16 +++--- tests/shader_runner.c | 55 ++++++------------- 38 files changed, 190 insertions(+), 219 deletions(-) diff --git a/tests/hlsl/bool-semantics.shader_test b/tests/hlsl/bool-semantics.shader_test index d8df96a2..a30254a5 100644 --- a/tests/hlsl/bool-semantics.shader_test +++ b/tests/hlsl/bool-semantics.shader_test @@ -5,7 +5,7 @@ shader model >= 4.0 0 r32g32b32a32 uint apple 0 r32g32 int sv_position -[vertex buffer 0] +[vb 0] format r32 uint 0 1 0x80000000 0xffffffff -2 -2 0 1 0x80000000 0xffffffff -2 2 diff --git a/tests/hlsl/cbuffer.shader_test b/tests/hlsl/cbuffer.shader_test index ee19ea5f..bb0937ed 100644 --- a/tests/hlsl/cbuffer.shader_test +++ b/tests/hlsl/cbuffer.shader_test @@ -471,8 +471,8 @@ float4 main() : sv_target } -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 0.0 0.0 0.0 4.0 [sampler 0] @@ -527,12 +527,12 @@ float4 main() : sv_target } -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 1.0 1.0 1.0 1.0 -[texture 1] -size (1, 1) +[srv 1] +size (2d, 1, 1) 2.0 2.0 2.0 2.0 @@ -698,8 +698,8 @@ float4 main() : sv_target [require] shader model >= 5.0 -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 0.0 0.0 0.0 0.5 [pixel shader] diff --git a/tests/hlsl/combined-samplers.shader_test b/tests/hlsl/combined-samplers.shader_test index 4d743aec..10720fa4 100644 --- a/tests/hlsl/combined-samplers.shader_test +++ b/tests/hlsl/combined-samplers.shader_test @@ -16,24 +16,24 @@ address clamp clamp clamp filter linear linear linear address clamp clamp clamp -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 0.0 0.0 0.0 1.0 -[texture 1] -size (1, 1) +[srv 1] +size (2d, 1, 1) 1.0 1.0 1.0 1.0 -[texture 2] -size (1, 1) +[srv 2] +size (2d, 1, 1) 2.0 2.0 2.0 1.0 -[texture 3] -size (1, 1) +[srv 3] +size (2d, 1, 1) 3.0 3.0 3.0 1.0 -[texture 4] -size (1, 1) +[srv 4] +size (2d, 1, 1) 4.0 4.0 4.0 1.0 [pixel shader] diff --git a/tests/hlsl/compute.shader_test b/tests/hlsl/compute.shader_test index 6d2f698c..1d780d50 100644 --- a/tests/hlsl/compute.shader_test +++ b/tests/hlsl/compute.shader_test @@ -3,7 +3,7 @@ shader model >= 5.0 [uav 0] format r32 float -size (1, 1) +size (2d, 1, 1) 0.1 diff --git a/tests/hlsl/gather-offset.shader_test b/tests/hlsl/gather-offset.shader_test index 6360d1fc..ce063c14 100644 --- a/tests/hlsl/gather-offset.shader_test +++ b/tests/hlsl/gather-offset.shader_test @@ -6,8 +6,8 @@ shader model >= 4.1 filter linear linear linear address clamp clamp clamp -[texture 0] -size (3, 3) +[srv 0] +size (2d, 3, 3) 0.0 0.0 0.0 0.4 0.1 0.0 0.5 0.0 0.2 0.0 0.0 0.4 0.0 0.1 0.5 0.0 0.1 0.1 0.0 0.4 0.2 0.1 0.5 0.0 0.0 0.2 0.0 0.4 0.1 0.2 0.5 0.0 0.2 0.2 0.0 0.4 diff --git a/tests/hlsl/gather.shader_test b/tests/hlsl/gather.shader_test index 9cfc2d59..ab082405 100644 --- a/tests/hlsl/gather.shader_test +++ b/tests/hlsl/gather.shader_test @@ -6,8 +6,8 @@ shader model >= 4.1 filter linear linear linear address clamp clamp clamp -[texture 0] -size (3, 3) +[srv 0] +size (2d, 3, 3) 0.0 0.0 0.0 0.4 0.1 0.0 0.5 0.0 0.2 0.0 0.0 0.4 0.0 0.1 0.5 0.0 0.1 0.1 0.0 0.4 0.2 0.1 0.5 0.0 0.0 0.2 0.0 0.4 0.1 0.2 0.5 0.0 0.2 0.2 0.0 0.4 diff --git a/tests/hlsl/getdimensions.shader_test b/tests/hlsl/getdimensions.shader_test index 01d12f87..0528d141 100644 --- a/tests/hlsl/getdimensions.shader_test +++ b/tests/hlsl/getdimensions.shader_test @@ -1,8 +1,8 @@ [require] shader model >= 4.0 -[texture 0] -size (2, 3) +[srv 0] +size (2d, 2, 3) 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 @@ -31,8 +31,8 @@ float4 main() : sv_target todo(sm>=6) draw quad probe all rgba (2.0, 3.0, 2.0, 3.0) -[texture 1] -size (2, 2) +[srv 1] +size (2d, 2, 2) levels 2 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 diff --git a/tests/hlsl/initializer-objects.shader_test b/tests/hlsl/initializer-objects.shader_test index d9c0bc91..4f8f565b 100644 --- a/tests/hlsl/initializer-objects.shader_test +++ b/tests/hlsl/initializer-objects.shader_test @@ -1,14 +1,14 @@ [require] shader model >= 4.0 -[texture 0] -size (3, 3) +[srv 0] +size (2d, 3, 3) 0.1 0.1 0.1 0.1 0.2 0.2 0.2 0.2 0.3 0.3 0.3 0.3 0.4 0.4 0.4 0.4 0.5 0.5 0.5 0.5 0.6 0.6 0.6 0.6 0.7 0.7 0.7 0.7 0.8 0.8 0.8 0.8 0.9 0.9 0.9 0.9 -[texture 1] -size (2, 2) +[srv 1] +size (2d, 2, 2) 0.1 0.1 0.1 0.0 0.2 0.2 0.2 0.0 0.4 0.4 0.4 0.0 0.5 0.5 0.5 0.0 diff --git a/tests/hlsl/is-front-face.shader_test b/tests/hlsl/is-front-face.shader_test index 11447d26..11883c8b 100644 --- a/tests/hlsl/is-front-face.shader_test +++ b/tests/hlsl/is-front-face.shader_test @@ -4,7 +4,7 @@ shader model >= 4.0 [input layout] 0 r32g32 float sv_position -[vertex buffer 0] +[vb 0] -2.0 -2.0 2.0 -2.0 -2.0 2.0 @@ -25,7 +25,7 @@ float4 main(bool face : sv_isfrontface) : sv_target draw triangle strip 4 probe all rgba (0.0, 1.0, 0.0, 1.0) -[vertex buffer 0] +[vb 0] -2.0 -2.0 -2.0 2.0 2.0 -2.0 diff --git a/tests/hlsl/load-level.shader_test b/tests/hlsl/load-level.shader_test index 0f64bd5d..74cb90f1 100644 --- a/tests/hlsl/load-level.shader_test +++ b/tests/hlsl/load-level.shader_test @@ -1,8 +1,8 @@ [require] shader model >= 4.0 -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) levels 2 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 diff --git a/tests/hlsl/matrix-semantics.shader_test b/tests/hlsl/matrix-semantics.shader_test index e19b6b48..ec2d191b 100644 --- a/tests/hlsl/matrix-semantics.shader_test +++ b/tests/hlsl/matrix-semantics.shader_test @@ -21,21 +21,21 @@ row_major float1x4 main() : sv_target draw quad probe all rgba (1.0, 2.0, 3.0, 4.0) -[render target 0] +[rtv 0] format r32 float -size (640, 480) +size (2d, 640, 480) -[render target 1] +[rtv 1] format r32 float -size (640, 480) +size (2d, 640, 480) -[render target 2] +[rtv 2] format r32 float -size (640, 480) +size (2d, 640, 480) -[render target 3] +[rtv 3] format r32 float -size (640, 480) +size (2d, 640, 480) [pixel shader fail(sm>=6)] row_major float4x1 main() : sv_target @@ -84,9 +84,9 @@ probe render target 1 all r (2.0) probe render target 2 all r (5.0) probe render target 3 all r (6.0) -[render target 0] +[rtv 0] format r32g32b32a32 float -size (640, 480) +size (2d, 640, 480) [pixel shader fail(sm>=6)] void main(out row_major float1x4 x : sv_target0, out float1x2 y : sv_target1) diff --git a/tests/hlsl/multiple-rt.shader_test b/tests/hlsl/multiple-rt.shader_test index 59e4acbb..85bfd269 100644 --- a/tests/hlsl/multiple-rt.shader_test +++ b/tests/hlsl/multiple-rt.shader_test @@ -1,10 +1,10 @@ -[render target 0] +[rtv 0] format r32g32b32a32 float -size (640, 480) +size (2d, 640, 480) -[render target 1] +[rtv 1] format r32g32b32a32 float -size (640, 480) +size (2d, 640, 480) [pixel shader] void main(out float4 o0 : sv_target0, out float4 o1 : sv_target1) diff --git a/tests/hlsl/nointerpolation.shader_test b/tests/hlsl/nointerpolation.shader_test index 155a033f..94584ffe 100644 --- a/tests/hlsl/nointerpolation.shader_test +++ b/tests/hlsl/nointerpolation.shader_test @@ -4,7 +4,7 @@ shader model >= 4.0 [input layout] 0 r32g32b32a32 float texcoord -[vertex buffer 0] +[vb 0] 0.0 1.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 diff --git a/tests/hlsl/numthreads.shader_test b/tests/hlsl/numthreads.shader_test index fb11dc48..e8f7900b 100644 --- a/tests/hlsl/numthreads.shader_test +++ b/tests/hlsl/numthreads.shader_test @@ -166,7 +166,7 @@ void main() { func(); } [uav 0] format r32 float -size (2, 2) +size (2d, 2, 2) 1.0 1.0 1.0 1.0 diff --git a/tests/hlsl/object-parameters.shader_test b/tests/hlsl/object-parameters.shader_test index 0d279fb2..4a44a0c7 100644 --- a/tests/hlsl/object-parameters.shader_test +++ b/tests/hlsl/object-parameters.shader_test @@ -48,33 +48,33 @@ float4 main(struct apple input, uniform float param) : sv_target } -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) 1.0 1.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 1.0 -[texture 1] -size (2, 2) +[srv 1] +size (2d, 2, 2) 2.0 2.0 2.0 1.0 0.0 0.0 0.0 1.0 2.0 2.0 2.0 1.0 0.0 0.0 0.0 1.0 -[texture 2] -size (2, 2) +[srv 2] +size (2d, 2, 2) 3.0 3.0 3.0 1.0 0.0 0.0 0.0 1.0 3.0 3.0 3.0 1.0 0.0 0.0 0.0 1.0 -[texture 3] -size (2, 2) +[srv 3] +size (2d, 2, 2) 4.0 4.0 4.0 1.0 0.0 0.0 0.0 1.0 4.0 4.0 4.0 1.0 0.0 0.0 0.0 1.0 -[texture 4] -size (2, 2) +[srv 4] +size (2d, 2, 2) 5.0 5.0 5.0 1.0 0.0 0.0 0.0 1.0 5.0 5.0 5.0 1.0 0.0 0.0 0.0 1.0 -[texture 5] -size (2, 2) +[srv 5] +size (2d, 2, 2) 6.0 6.0 6.0 1.0 0.0 0.0 0.0 1.0 6.0 6.0 6.0 1.0 0.0 0.0 0.0 1.0 diff --git a/tests/hlsl/object-references.shader_test b/tests/hlsl/object-references.shader_test index 26f7a52a..ab5c1017 100644 --- a/tests/hlsl/object-references.shader_test +++ b/tests/hlsl/object-references.shader_test @@ -14,12 +14,12 @@ float4 main() : sv_target shader model >= 4.0 -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 0.77 0.77 0.77 0.77 -[texture 1] -size (1, 1) +[srv 1] +size (2d, 1, 1) 0.64 0.64 0.64 0.64 [sampler 0] @@ -50,8 +50,8 @@ draw quad probe all rgba (77.77, 77.77, 77.77, 77.77) -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) 0.1 0.2 0.3 0.4 0.5 0.7 0.6 0.8 0.6 0.5 0.2 0.1 0.8 0.0 0.7 1.0 @@ -80,16 +80,16 @@ probe (0, 1) rgba (0.6, 0.5, 0.2, 0.1) probe (1, 1) rgba (0.8, 0.0, 0.7, 1.0) -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 1.0 1.0 1.0 1.0 -[texture 1] -size (1, 1) +[srv 1] +size (2d, 1, 1) 2.0 2.0 2.0 1.0 -[texture 2] -size (1, 1) +[srv 2] +size (2d, 1, 1) 3.0 3.0 3.0 1.0 [pixel shader] @@ -219,8 +219,8 @@ float4 main(Texture2D tex2) : sv_target shader model >= 5.0 -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 1.0 2.0 3.0 4.0 [pixel shader todo fail(sm>=6)] diff --git a/tests/hlsl/rasteriser-ordered-views.shader_test b/tests/hlsl/rasteriser-ordered-views.shader_test index ad75cd0c..12af779c 100644 --- a/tests/hlsl/rasteriser-ordered-views.shader_test +++ b/tests/hlsl/rasteriser-ordered-views.shader_test @@ -1,17 +1,17 @@ [require] shader model >= 5.0 -[render target 0] +[rtv 0] format r32 uint -size (640, 480) +size (2d, 640, 480) [uav 1] format r32 uint -size (640, 480) +size (2d, 640, 480) -[texture 0] +[srv 0] format r32g32b32a32 uint -size (1, 1) +size (2d, 1, 1) 0 0 0 0 [vertex shader] diff --git a/tests/hlsl/register-reservations-resources.shader_test b/tests/hlsl/register-reservations-resources.shader_test index b1007de6..5b53a625 100644 --- a/tests/hlsl/register-reservations-resources.shader_test +++ b/tests/hlsl/register-reservations-resources.shader_test @@ -2,24 +2,24 @@ shader model >= 4.0 -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 0.0 0.0 0.0 99.0 -[texture 1] -size (1, 1) +[srv 1] +size (2d, 1, 1) 1.0 1.0 1.0 99.0 -[texture 2] -size (1, 1) +[srv 2] +size (2d, 1, 1) 2.0 2.0 2.0 99.0 -[texture 3] -size (1, 1) +[srv 3] +size (2d, 1, 1) 3.0 3.0 3.0 99.0 -[texture 4] -size (1, 1) +[srv 4] +size (2d, 1, 1) 4.0 4.0 4.0 99.0 @@ -175,15 +175,15 @@ probe all rgba (2.0, 2.0, 2.0, 99.0) [require] shader model >= 5.0 -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) 0.0 0.0 0.0 99.0 0.0 0.0 0.0 99.0 0.0 0.0 0.0 99.0 0.0 0.0 0.0 99.0 -[texture 1] -size (2, 2) +[srv 1] +size (2d, 2, 2) 1.0 1.0 1.0 99.0 1.0 1.0 1.0 99.0 0.0 0.0 0.0 99.0 diff --git a/tests/hlsl/sample-bias.shader_test b/tests/hlsl/sample-bias.shader_test index 4750947e..0d446af9 100644 --- a/tests/hlsl/sample-bias.shader_test +++ b/tests/hlsl/sample-bias.shader_test @@ -2,8 +2,8 @@ filter linear linear linear address clamp clamp clamp -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) levels 2 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 diff --git a/tests/hlsl/sample-grad.shader_test b/tests/hlsl/sample-grad.shader_test index c37da299..eab8fdbf 100644 --- a/tests/hlsl/sample-grad.shader_test +++ b/tests/hlsl/sample-grad.shader_test @@ -5,8 +5,8 @@ shader model >= 4.0 filter linear linear linear address clamp clamp clamp -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) levels 2 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 diff --git a/tests/hlsl/sample-level.shader_test b/tests/hlsl/sample-level.shader_test index 6ea919df..71ffc07f 100644 --- a/tests/hlsl/sample-level.shader_test +++ b/tests/hlsl/sample-level.shader_test @@ -5,8 +5,8 @@ shader model >= 3.0 filter linear linear linear address clamp clamp clamp -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) levels 2 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 diff --git a/tests/hlsl/sampler-offset.shader_test b/tests/hlsl/sampler-offset.shader_test index 6f8357df..a906b3aa 100644 --- a/tests/hlsl/sampler-offset.shader_test +++ b/tests/hlsl/sampler-offset.shader_test @@ -5,8 +5,8 @@ shader model >= 4.0 filter point point point address clamp clamp clamp -[texture 0] -size (3, 3) +[srv 0] +size (2d, 3, 3) 0.0 0.0 0.0 0.4 0.1 0.0 0.5 0.0 0.2 0.0 0.0 0.4 0.0 0.1 0.5 0.0 0.1 0.1 0.0 0.4 0.2 0.1 0.5 0.0 0.0 0.2 0.0 0.4 0.1 0.2 0.5 0.0 0.2 0.2 0.0 0.4 diff --git a/tests/hlsl/sampler.shader_test b/tests/hlsl/sampler.shader_test index 17b09c0e..51f477c9 100644 --- a/tests/hlsl/sampler.shader_test +++ b/tests/hlsl/sampler.shader_test @@ -2,8 +2,8 @@ filter linear linear linear address clamp clamp clamp -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 diff --git a/tests/hlsl/shader-interstage-interface.shader_test b/tests/hlsl/shader-interstage-interface.shader_test index 584b88cf..ea0cbb97 100644 --- a/tests/hlsl/shader-interstage-interface.shader_test +++ b/tests/hlsl/shader-interstage-interface.shader_test @@ -9,13 +9,13 @@ shader model >= 4.0 1 r32 uint TEXCOORD 3 0 r32 float TEXCOORD 4 -[vertex buffer 0] +[vb 0] -1.0 -1.0 3.0 5.0 5.0 7.0 -1.0 1.0 3.0 5.0 5.0 7.0 1.0 -1.0 3.0 5.0 5.0 7.0 1.0 1.0 3.0 5.0 5.0 7.0 -[vertex buffer 1] +[vb 1] format r32 uint 2 6 2 6 diff --git a/tests/hlsl/sm6-uav-rwtexture.shader_test b/tests/hlsl/sm6-uav-rwtexture.shader_test index 48b9d391..1e4cc639 100644 --- a/tests/hlsl/sm6-uav-rwtexture.shader_test +++ b/tests/hlsl/sm6-uav-rwtexture.shader_test @@ -3,14 +3,12 @@ shader model >= 6.0 [uav 0] format r32 float -size (2, 2) - +size (2d, 2, 2) 0.1 0.2 0.3 0.4 [uav 1] -size (1, 1) - +size (2d, 1, 1) 0.5 0.6 0.7 0.8 [pixel shader] @@ -61,8 +59,7 @@ probe uav 1 (0, 0) rgba (2.0, 1.0, 4.0, 3.0) [uav 2] -size (1, 1) - +size (2d, 1, 1) 0.1 0.2 0.3 0.4 [pixel shader] @@ -95,13 +92,11 @@ probe uav 2 (0, 0) rgba (0.9, 0.8, 0.7, 0.6) % Test that we can declare and use an array of UAVs. [uav 1] -size (1, 1) - +size (2d, 1, 1) 0.1 0.2 0.3 0.4 [uav 2] -size (1, 1) - +size (2d, 1, 1) 0.5 0.6 0.7 0.8 [pixel shader] diff --git a/tests/hlsl/srv-buffers.shader_test b/tests/hlsl/srv-buffers.shader_test index 2b466375..7ddfdeed 100644 --- a/tests/hlsl/srv-buffers.shader_test +++ b/tests/hlsl/srv-buffers.shader_test @@ -2,8 +2,8 @@ shader model >= 4.0 -[buffer srv 0] -size (1, 4) +[srv 0] +size (buffer, 4) 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 @@ -44,16 +44,16 @@ todo(sm<6) draw quad probe all rgba (4000.0, 8.0, 9.0, 10.0) -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) -1.0 -1.0 -1.0 -1.0 [sampler 0] filter linear linear linear address clamp clamp clamp -[buffer srv 1] -size (1, 1) +[srv 1] +size (buffer, 1) 1.0 2.0 3.0 4.0 [pixel shader todo] @@ -71,8 +71,8 @@ todo(sm<6) draw quad probe all rgba (3.0, 4.0, -1.0, -1.0) -[buffer srv 0] -size (1, 4) +[srv 0] +size (buffer, 4) 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 diff --git a/tests/hlsl/static-initializer.shader_test b/tests/hlsl/static-initializer.shader_test index e7cfa9f5..ee2103bb 100644 --- a/tests/hlsl/static-initializer.shader_test +++ b/tests/hlsl/static-initializer.shader_test @@ -61,8 +61,8 @@ filter linear linear linear address clamp clamp clamp -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 1.0 2.0 3.0 4.0 @@ -173,7 +173,7 @@ shader model >= 5.0 [uav 1] format r32 float -size (1, 1) +size (2d, 1, 1) 0.5 diff --git a/tests/hlsl/struct-semantics.shader_test b/tests/hlsl/struct-semantics.shader_test index c88006eb..a23f490d 100644 --- a/tests/hlsl/struct-semantics.shader_test +++ b/tests/hlsl/struct-semantics.shader_test @@ -2,7 +2,7 @@ 0 r32g32b32a32 float texcoord 0 r32g32 float position -[vertex buffer 0] +[vb 0] 0.0 1.0 0.0 1.0 -2.0 -2.0 0.0 1.0 0.0 1.0 -2.0 2.0 0.0 1.0 0.0 1.0 2.0 -2.0 diff --git a/tests/hlsl/swizzle-constant-prop.shader_test b/tests/hlsl/swizzle-constant-prop.shader_test index 357a3496..769122bc 100644 --- a/tests/hlsl/swizzle-constant-prop.shader_test +++ b/tests/hlsl/swizzle-constant-prop.shader_test @@ -5,8 +5,8 @@ shader model >= 4.0 -[texture 0] -size (4, 4) +[srv 0] +size (2d, 4, 4) 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 diff --git a/tests/hlsl/texture-load-offset.shader_test b/tests/hlsl/texture-load-offset.shader_test index 52b6a5f9..7705671d 100644 --- a/tests/hlsl/texture-load-offset.shader_test +++ b/tests/hlsl/texture-load-offset.shader_test @@ -1,8 +1,8 @@ [require] shader model >= 4.0 -[texture 0] -size (3, 3) +[srv 0] +size (2d, 3, 3) 0 0 0 1 1 0 0 1 2 0 0 1 0 1 0 1 1 1 0 1 2 1 0 1 0 2 0 1 1 2 0 1 2 2 0 1 diff --git a/tests/hlsl/texture-load-typed.shader_test b/tests/hlsl/texture-load-typed.shader_test index 736b4ae1..3b7f8823 100644 --- a/tests/hlsl/texture-load-typed.shader_test +++ b/tests/hlsl/texture-load-typed.shader_test @@ -18,21 +18,21 @@ float4 main() : sv_target return float4(0, 0, 0, 0); } -[texture 0] +[srv 0] format r32 float -size (1, 1) +size (2d, 1, 1) 0.8 -[texture 1] +[srv 1] format r32 sint -size (1, 1) +size (2d, 1, 1) -3 -[texture 2] +[srv 2] format r32g32 uint -size (1, 1) +size (2d, 1, 1) 4294967295 123 diff --git a/tests/hlsl/texture-load.shader_test b/tests/hlsl/texture-load.shader_test index 0723c138..118b5927 100644 --- a/tests/hlsl/texture-load.shader_test +++ b/tests/hlsl/texture-load.shader_test @@ -1,8 +1,8 @@ [require] shader model >= 4.0 -[texture 0] -size (2, 2) +[srv 0] +size (2d, 2, 2) 0.1 0.2 0.3 0.4 0.5 0.7 0.6 0.8 0.6 0.5 0.2 0.1 0.8 0.0 0.7 1.0 diff --git a/tests/hlsl/texture-ordering.shader_test b/tests/hlsl/texture-ordering.shader_test index 24cd986c..25819e65 100644 --- a/tests/hlsl/texture-ordering.shader_test +++ b/tests/hlsl/texture-ordering.shader_test @@ -30,44 +30,44 @@ address clamp clamp clamp filter linear linear linear address clamp clamp clamp -[texture 0] -size (1, 1) +[srv 0] +size (2d, 1, 1) 0.0 0.0 0.0 1.0 -[texture 1] -size (1, 1) +[srv 1] +size (2d, 1, 1) 1.0 1.0 1.0 1.0 -[texture 2] -size (1, 1) +[srv 2] +size (2d, 1, 1) 2.0 2.0 2.0 1.0 -[texture 3] -size (1, 1) +[srv 3] +size (2d, 1, 1) 3.0 3.0 3.0 1.0 -[texture 4] -size (1, 1) +[srv 4] +size (2d, 1, 1) 4.0 4.0 4.0 1.0 -[texture 5] -size (1, 1) +[srv 5] +size (2d, 1, 1) 5.0 5.0 5.0 1.0 -[texture 6] -size (1, 1) +[srv 6] +size (2d, 1, 1) 6.0 6.0 6.0 1.0 -[texture 7] -size (1, 1) +[srv 7] +size (2d, 1, 1) 7.0 7.0 7.0 1.0 -[texture 8] -size (1, 1) +[srv 8] +size (2d, 1, 1) 8.0 8.0 8.0 1.0 -[texture 9] -size (1, 1) +[srv 9] +size (2d, 1, 1) 9.0 9.0 9.0 1.0 diff --git a/tests/hlsl/uav-load.shader_test b/tests/hlsl/uav-load.shader_test index fe6350e0..5ccab48f 100644 --- a/tests/hlsl/uav-load.shader_test +++ b/tests/hlsl/uav-load.shader_test @@ -3,13 +3,13 @@ shader model >= 5.0 [uav 0] format r32 float -size (3, 1) +size (2d, 3, 1) 0.1 0.2 0.3 [uav 1] format r32 float -size (1, 1) +size (2d, 1, 1) 0.5 diff --git a/tests/hlsl/uav-out-param.shader_test b/tests/hlsl/uav-out-param.shader_test index f3134474..1460d028 100644 --- a/tests/hlsl/uav-out-param.shader_test +++ b/tests/hlsl/uav-out-param.shader_test @@ -3,7 +3,7 @@ shader model >= 5.0 [uav 0] format r32g32b32a32 float -size (1, 1) +size (2d, 1, 1) 0.1 0.2 0.3 0.4 @@ -31,7 +31,7 @@ probe uav 0 (0, 0) rgba (0.4, 0.1, 0.2, 0.3) [uav 0] format r32 float -size (1, 1) +size (2d, 1, 1) 0.1 diff --git a/tests/hlsl/uav-rwbuffer.shader_test b/tests/hlsl/uav-rwbuffer.shader_test index a9d7997d..bbc48ee8 100644 --- a/tests/hlsl/uav-rwbuffer.shader_test +++ b/tests/hlsl/uav-rwbuffer.shader_test @@ -6,9 +6,9 @@ shader model >= 5.0 % lower than the highest render target. % This ceases to be true with shader model 5.1. -[render target 1] +[rtv 1] format r32g32b32a32 float -size (640, 480) +size (2d, 640, 480) [pixel shader] struct s @@ -164,9 +164,8 @@ float4 main() : sv_target1 return 0; } -[buffer uav 2] -size (1, 1) - +[uav 2] +size (buffer, 1) 0.1 0.2 0.3 0.4 [pixel shader] diff --git a/tests/hlsl/uav-rwtexture.shader_test b/tests/hlsl/uav-rwtexture.shader_test index 8f9ec24e..b63a8324 100644 --- a/tests/hlsl/uav-rwtexture.shader_test +++ b/tests/hlsl/uav-rwtexture.shader_test @@ -26,13 +26,13 @@ float4 main() : sv_target [uav 1] format r32 float -size (2, 2) +size (2d, 2, 2) 0.1 0.2 0.3 0.4 [uav 2] -size (1, 1) +size (2d, 1, 1) 0.5 0.6 0.7 0.8 @@ -63,12 +63,12 @@ probe uav 2 (0, 0) rgba (2.0, 1.0, 4.0, 3.0) % lower than the highest render target. % This ceases to be true with shader model 5.1. -[render target 1] +[rtv 1] format r32g32b32a32 float -size (640, 480) +size (2d, 640, 480) [uav 2] -size (1, 1) +size (2d, 1, 1) 0.1 0.2 0.3 0.4 @@ -105,7 +105,7 @@ probe uav 2 (0, 0) rgba (0.9, 0.8, 0.7, 0.6) [uav 3] -size (1, 1) +size (2d, 1, 1) 0.1 0.2 0.3 0.4 @@ -139,12 +139,12 @@ probe uav 3 (0, 0) rgba (0.9, 0.8, 0.7, 0.6) % Test that we can declare and use an array of UAVs. [uav 2] -size (1, 1) +size (2d, 1, 1) 0.1 0.2 0.3 0.4 [uav 3] -size (1, 1) +size (2d, 1, 1) 0.5 0.6 0.7 0.8 diff --git a/tests/shader_runner.c b/tests/shader_runner.c index 59ff7bb7..b20bf9a2 100644 --- a/tests/shader_runner.c +++ b/tests/shader_runner.c @@ -418,17 +418,25 @@ static void parse_sampler_directive(struct sampler *sampler, const char *line) static void parse_resource_directive(struct resource_params *resource, const char *line) { - int ret; - if (match_string(line, "format", &line)) { resource->format = parse_format(line, &resource->data_type, &resource->texel_size, &line); } else if (match_string(line, "size", &line)) { - ret = sscanf(line, "( %u , %u )", &resource->width, &resource->height); - if (ret < 2) - fatal_error("Malformed texture size '%s'.\n", line); + if (sscanf(line, "( buffer , %u ) ", &resource->width) == 1) + { + resource->dimension = RESOURCE_DIMENSION_BUFFER; + resource->height = 1; + } + else if (sscanf(line, "( 2d , %u , %u ) ", &resource->width, &resource->height) == 2) + { + resource->dimension = RESOURCE_DIMENSION_2D; + } + else + { + fatal_error("Malformed resource size '%s'.\n", line); + } } else if (match_string(line, "levels", &line)) { @@ -1541,7 +1549,7 @@ void run_shader_tests(struct shader_runner *runner, const struct shader_runner_o current_sampler->v_address = D3D12_TEXTURE_ADDRESS_MODE_CLAMP; current_sampler->w_address = D3D12_TEXTURE_ADDRESS_MODE_CLAMP; } - else if (sscanf(line, "[render target %u]\n", &index)) + else if (sscanf(line, "[rtv %u]\n", &index)) { state = STATE_RESOURCE; @@ -1549,13 +1557,12 @@ void run_shader_tests(struct shader_runner *runner, const struct shader_runner_o current_resource.slot = index; current_resource.type = RESOURCE_TYPE_RENDER_TARGET; - current_resource.dimension = RESOURCE_DIMENSION_2D; current_resource.format = DXGI_FORMAT_R32G32B32A32_FLOAT; current_resource.data_type = TEXTURE_DATA_FLOAT; current_resource.texel_size = 16; current_resource.level_count = 1; } - else if (sscanf(line, "[texture %u]\n", &index)) + else if (sscanf(line, "[srv %u]\n", &index)) { state = STATE_RESOURCE; @@ -1563,7 +1570,6 @@ void run_shader_tests(struct shader_runner *runner, const struct shader_runner_o current_resource.slot = index; current_resource.type = RESOURCE_TYPE_TEXTURE; - current_resource.dimension = RESOURCE_DIMENSION_2D; current_resource.format = DXGI_FORMAT_R32G32B32A32_FLOAT; current_resource.data_type = TEXTURE_DATA_FLOAT; current_resource.texel_size = 16; @@ -1577,41 +1583,12 @@ void run_shader_tests(struct shader_runner *runner, const struct shader_runner_o current_resource.slot = index; current_resource.type = RESOURCE_TYPE_UAV; - current_resource.dimension = RESOURCE_DIMENSION_2D; current_resource.format = DXGI_FORMAT_R32G32B32A32_FLOAT; current_resource.data_type = TEXTURE_DATA_FLOAT; current_resource.texel_size = 16; current_resource.level_count = 1; } - else if (sscanf(line, "[buffer srv %u]\n", &index)) - { - state = STATE_RESOURCE; - - memset(¤t_resource, 0, sizeof(current_resource)); - - current_resource.slot = index; - current_resource.type = RESOURCE_TYPE_TEXTURE; - current_resource.dimension = RESOURCE_DIMENSION_BUFFER; - current_resource.format = DXGI_FORMAT_R32G32B32A32_FLOAT; - current_resource.data_type = TEXTURE_DATA_FLOAT; - current_resource.texel_size = 16; - current_resource.level_count = 1; - } - else if (sscanf(line, "[buffer uav %u]\n", &index)) - { - state = STATE_RESOURCE; - - memset(¤t_resource, 0, sizeof(current_resource)); - - current_resource.slot = index; - current_resource.type = RESOURCE_TYPE_UAV; - current_resource.dimension = RESOURCE_DIMENSION_BUFFER; - current_resource.format = DXGI_FORMAT_R32G32B32A32_FLOAT; - current_resource.data_type = TEXTURE_DATA_FLOAT; - current_resource.texel_size = 16; - current_resource.level_count = 1; - } - else if (sscanf(line, "[vertex buffer %u]\n", &index)) + else if (sscanf(line, "[vb %u]\n", &index)) { state = STATE_RESOURCE;