From: Francisco Casas fcasas@codeweavers.com
At the current moment this is a little odd because for SM1 [test] directives are skipped, and the [shader] directives are not executed by the shader_runner_vulkan.c:compile_shader() but by the general shader_runner.c:compile_shader(). So in principle it is a little weird that we go through the vulkan runner.
But fret not, because in the future we plan to make the parser agnostic to the language of the tests, so we will get rid of the general shader_runner.c:compile_shader() function and instead call a runner->compile_shader() function, defined for each runner. Granted, most of these may call a generic implementation that uses native compiler in Windows, and vkd3d-shader on Linux, but it would be more conceptually correct. --- tests/hlsl/abs.shader_test | 4 +- tests/hlsl/angle-unit.shader_test | 4 +- tests/hlsl/any.shader_test | 24 +++--- .../hlsl/arithmetic-float-uniform.shader_test | 18 ++--- tests/hlsl/arithmetic-float.shader_test | 10 +-- tests/hlsl/arithmetic-int-uniform.shader_test | 32 ++++---- tests/hlsl/arithmetic-int.shader_test | 14 ++-- tests/hlsl/array-parameters.shader_test | 8 +- tests/hlsl/array-size-expr.shader_test | 6 +- tests/hlsl/bool-cast.shader_test | 2 +- tests/hlsl/cast-broadcast.shader_test | 4 +- .../cast-componentwise-compatible.shader_test | 46 ++++++------ .../hlsl/cast-componentwise-equal.shader_test | 10 +-- tests/hlsl/cbuffer.shader_test | 4 +- tests/hlsl/ceil.shader_test | 8 +- tests/hlsl/clamp.shader_test | 4 +- tests/hlsl/clip.shader_test | 8 +- tests/hlsl/combined-samplers.shader_test | 4 +- tests/hlsl/comma.shader_test | 2 +- tests/hlsl/conditional.shader_test | 18 ++--- tests/hlsl/const.shader_test | 2 +- tests/hlsl/cross.shader_test | 4 +- tests/hlsl/ddxddy.shader_test | 4 +- tests/hlsl/discard.shader_test | 6 +- tests/hlsl/distance.shader_test | 4 +- tests/hlsl/dot.shader_test | 12 +-- tests/hlsl/duplicate-modifiers.shader_test | 2 +- tests/hlsl/entry-point-semantics.shader_test | 18 ++--- tests/hlsl/exp.shader_test | 4 +- tests/hlsl/expr-indexing.shader_test | 20 ++--- tests/hlsl/float-comparison.shader_test | 4 +- tests/hlsl/floor.shader_test | 8 +- tests/hlsl/fmod.shader_test | 12 +-- tests/hlsl/for.shader_test | 8 +- tests/hlsl/frac.shader_test | 2 +- tests/hlsl/function-return.shader_test | 52 ++++++------- tests/hlsl/function.shader_test | 14 ++-- tests/hlsl/fwidth.shader_test | 2 +- tests/hlsl/half.shader_test | 4 +- tests/hlsl/hard-copy-prop.shader_test | 19 ++--- tests/hlsl/initializer-flatten.shader_test | 10 +-- .../initializer-implicit-array.shader_test | 10 +-- .../initializer-invalid-arg-count.shader_test | 4 +- .../hlsl/initializer-local-array.shader_test | 4 +- tests/hlsl/initializer-matrix.shader_test | 12 +-- tests/hlsl/initializer-multi.shader_test | 6 +- tests/hlsl/initializer-nested.shader_test | 6 +- tests/hlsl/initializer-numeric.shader_test | 12 +-- .../hlsl/initializer-static-array.shader_test | 4 +- tests/hlsl/initializer-struct.shader_test | 6 +- tests/hlsl/intrinsic-override.shader_test | 4 +- tests/hlsl/ldexp.shader_test | 2 +- tests/hlsl/length.shader_test | 10 +-- tests/hlsl/lerp.shader_test | 2 +- tests/hlsl/lit.shader_test | 12 +-- tests/hlsl/log.shader_test | 6 +- tests/hlsl/logic-operations.shader_test | 24 +++--- tests/hlsl/loop.shader_test | 28 +++---- tests/hlsl/majority-pragma.shader_test | 30 ++++---- tests/hlsl/majority-syntax.shader_test | 2 +- tests/hlsl/majority-typedef.shader_test | 2 +- tests/hlsl/math.shader_test | 2 +- tests/hlsl/matrix-indexing.shader_test | 22 +++--- tests/hlsl/max.shader_test | 6 +- tests/hlsl/mul.shader_test | 40 +++++----- tests/hlsl/multiple-rt.shader_test | 2 +- tests/hlsl/nested-arrays.shader_test | 2 +- tests/hlsl/non-const-indexing.shader_test | 48 ++++++------ tests/hlsl/normalize.shader_test | 10 +-- ...numeric-constructor-truncation.shader_test | 4 +- tests/hlsl/numeric-types.shader_test | 10 +-- tests/hlsl/pow.shader_test | 4 +- tests/hlsl/reflect.shader_test | 12 +-- .../return-implicit-conversion.shader_test | 28 +++---- tests/hlsl/return.shader_test | 73 +++++++++---------- tests/hlsl/round.shader_test | 10 +-- tests/hlsl/sample-bias.shader_test | 8 +- tests/hlsl/sample-level.shader_test | 14 ++-- tests/hlsl/sampler.shader_test | 8 +- tests/hlsl/saturate.shader_test | 6 +- tests/hlsl/shape.shader_test | 54 +++++++------- tests/hlsl/side-effects.shader_test | 6 +- tests/hlsl/sign.shader_test | 22 +++--- .../single-numeric-initializer.shader_test | 4 +- tests/hlsl/smoothstep.shader_test | 20 ++--- tests/hlsl/sqrt.shader_test | 4 +- tests/hlsl/state-block-syntax.shader_test | 2 +- tests/hlsl/static-initializer.shader_test | 13 ++-- tests/hlsl/step.shader_test | 8 +- tests/hlsl/storage-qualifiers.shader_test | 4 +- tests/hlsl/struct-assignment.shader_test | 2 +- tests/hlsl/struct-semantics.shader_test | 2 +- tests/hlsl/swizzle-matrix.shader_test | 10 +-- tests/hlsl/swizzles.shader_test | 24 +++--- tests/hlsl/ternary.shader_test | 10 +-- tests/hlsl/transpose.shader_test | 10 +-- tests/hlsl/trigonometry.shader_test | 16 ++-- tests/hlsl/trunc.shader_test | 10 +-- tests/hlsl/type-names.shader_test | 2 +- tests/hlsl/uniform-semantics.shader_test | 4 +- .../hlsl/vector-indexing-uniform.shader_test | 4 +- tests/hlsl/vector-indexing.shader_test | 6 +- tests/hlsl/writemask-assignop-0.shader_test | 2 +- tests/hlsl/writemask-assignop-1.shader_test | 2 +- tests/hlsl/writemask-assignop-2.shader_test | 2 +- tests/hlsl/writemask-assignop-3.shader_test | 2 +- tests/shader_runner.c | 13 +++- tests/shader_runner_vulkan.c | 22 ++++-- 108 files changed, 612 insertions(+), 604 deletions(-)
diff --git a/tests/hlsl/abs.shader_test b/tests/hlsl/abs.shader_test index 738e69312..4d1d1e33e 100644 --- a/tests/hlsl/abs.shader_test +++ b/tests/hlsl/abs.shader_test @@ -8,8 +8,8 @@ float4 main() : sv_target
[test] uniform 0 float4 0.1 0.7 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.1, 0.7, 0.4, 0.4) uniform 0 float4 -0.7 0.1 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.7, 0.1, 1.2, 0.4) diff --git a/tests/hlsl/angle-unit.shader_test b/tests/hlsl/angle-unit.shader_test index 407d24139..206c8e3c7 100644 --- a/tests/hlsl/angle-unit.shader_test +++ b/tests/hlsl/angle-unit.shader_test @@ -8,7 +8,7 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 30.0 150.0 180.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.52359877, 2.61799387, 3.14159265)
@@ -22,5 +22,5 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 0.78539816 1.57079632 2.35619449 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 45.0, 90.0, 135.0) diff --git a/tests/hlsl/any.shader_test b/tests/hlsl/any.shader_test index f2298d3a3..afaf81fac 100644 --- a/tests/hlsl/any.shader_test +++ b/tests/hlsl/any.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 f;
float4 main() : sv_target @@ -8,28 +8,28 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 1.0 1.0 1.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0) uniform 0 float4 1.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0) uniform 0 float4 0.0 1.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0) uniform 0 float4 0.0 0.0 1.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0) uniform 0 float4 0.0 0.0 0.0 1.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0) uniform 0 float4 0.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 0.0) uniform 0 float4 -1.0 -1.0 -1.0 -1.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float f;
float4 main() : sv_target @@ -39,13 +39,13 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0) uniform 0 float4 0.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 0.0) uniform 0 float4 -1.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0)
[require] diff --git a/tests/hlsl/arithmetic-float-uniform.shader_test b/tests/hlsl/arithmetic-float-uniform.shader_test index 4812d053a..98585c5b9 100644 --- a/tests/hlsl/arithmetic-float-uniform.shader_test +++ b/tests/hlsl/arithmetic-float-uniform.shader_test @@ -10,10 +10,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 5.0 15.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (20.0, -10.0, 75.0, 0.33333333) 1
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -25,10 +25,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 5.0 15.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 5.0, -5.0, 3.0) 1
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -40,10 +40,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 42.0 5.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (2.0, -2.0, 2.0, -2.0) 16
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -55,10 +55,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 45.0 5.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 0.0)
-[pixel shader] +[pixel shader todo(sm<4)] float4 x, y;
float4 main() : sv_target @@ -69,7 +69,7 @@ float4 main() : sv_target [test] uniform 0 float4 5.0 -42.1 4.0 45.0 uniform 4 float4 15.0 -5.0 4.1 5.0 -draw quad +todo(sm<4) draw quad probe all rgba (5.0, -2.1, 4.0, 0.0) 6
[require] diff --git a/tests/hlsl/arithmetic-float.shader_test b/tests/hlsl/arithmetic-float.shader_test index 71835082c..279509d4e 100644 --- a/tests/hlsl/arithmetic-float.shader_test +++ b/tests/hlsl/arithmetic-float.shader_test @@ -8,7 +8,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (20.0, -10.0, 75.0, 0.33333333)
[pixel shader] @@ -21,7 +21,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 5.0, -5.0, 3.0)
[pixel shader] @@ -34,7 +34,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, -2.0, 2.0, -2.0) 16
[pixel shader] @@ -47,7 +47,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader] @@ -60,7 +60,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, -2.1, 4.0, 0.0) 6
[require] diff --git a/tests/hlsl/arithmetic-int-uniform.shader_test b/tests/hlsl/arithmetic-int-uniform.shader_test index 7f5cdaaa6..436511926 100644 --- a/tests/hlsl/arithmetic-int-uniform.shader_test +++ b/tests/hlsl/arithmetic-int-uniform.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -10,10 +10,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 5.0 16.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (21.0, -11.0, 80.0, 0.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -25,10 +25,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 5.0 16.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 5.0, -5.0, 3.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -40,10 +40,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 42.0 5.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (8.0, -8.0, -8.0, 8.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -55,10 +55,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 42.0 5.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (2.0, -2.0, 2.0, -2.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -70,10 +70,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 45.0 5.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (9.0, -9.0, -9.0, 9.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 a;
float4 main() : SV_TARGET @@ -85,10 +85,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 45.0 5.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 0.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 a;
float4 main() : SV_TARGET @@ -98,10 +98,10 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 5.0 -7.0 0.0 -10.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (5.0, 7.0, 0.0, 10.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 a; uniform float4 b;
@@ -117,5 +117,5 @@ float4 main() : sv_target [test] uniform 0 float4 45.0 5.0 50.0 10.0 uniform 4 float4 3.0 8.0 2.0 5.0 -draw quad +todo(sm<4) draw quad probe all rgba (9.0, 5.0, 1.0, 3.0) diff --git a/tests/hlsl/arithmetic-int.shader_test b/tests/hlsl/arithmetic-int.shader_test index f2044c42c..fec0f452a 100644 --- a/tests/hlsl/arithmetic-int.shader_test +++ b/tests/hlsl/arithmetic-int.shader_test @@ -8,7 +8,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (20.0, -10.0, 75.0, 0.0)
[pixel shader] @@ -21,7 +21,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 5.0, -5.0, 3.0)
[pixel shader] @@ -34,7 +34,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (8.0, -8.0, -8.0, 8.0)
[pixel shader] @@ -47,7 +47,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, -2.0, 2.0, -2.0)
[pixel shader] @@ -60,7 +60,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (9.0, -9.0, -9.0, 9.0)
[pixel shader] @@ -73,10 +73,11 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader fail(sm<6)] +// On SM1 this gives hr 0x88760b59. float4 main() : SV_TARGET { int x = 1; @@ -90,6 +91,7 @@ draw quad probe all rgba (0.0, 0.0, 0.0, 0.0)
[pixel shader fail(sm<6)] +// On SM1 this gives hr 0x88760b59. float4 main() : SV_TARGET { int x = 1; diff --git a/tests/hlsl/array-parameters.shader_test b/tests/hlsl/array-parameters.shader_test index 28a3c5996..ad6cda7a7 100644 --- a/tests/hlsl/array-parameters.shader_test +++ b/tests/hlsl/array-parameters.shader_test @@ -12,7 +12,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (25.0, 25.0, 25.0, 25.0)
@@ -78,7 +78,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (15.0, 26.0, 37.0, 48.0)
@@ -153,7 +153,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (136.0, 136.0, 136.0, 136.0)
@@ -171,5 +171,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (702.0, 702.0, 702.0, 702.0) diff --git a/tests/hlsl/array-size-expr.shader_test b/tests/hlsl/array-size-expr.shader_test index 55af741da..e47f87f11 100644 --- a/tests/hlsl/array-size-expr.shader_test +++ b/tests/hlsl/array-size-expr.shader_test @@ -14,7 +14,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 24)
@@ -36,7 +36,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (61, 62, 63, 64)
[pixel shader] @@ -49,7 +49,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2, 3, 6, 1)
% Additional level of indirection diff --git a/tests/hlsl/bool-cast.shader_test b/tests/hlsl/bool-cast.shader_test index 09ca12e2b..97fc3cb6a 100644 --- a/tests/hlsl/bool-cast.shader_test +++ b/tests/hlsl/bool-cast.shader_test @@ -10,7 +10,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 1.0, 1.0)
diff --git a/tests/hlsl/cast-broadcast.shader_test b/tests/hlsl/cast-broadcast.shader_test index 3ec9cd40a..f60aea298 100644 --- a/tests/hlsl/cast-broadcast.shader_test +++ b/tests/hlsl/cast-broadcast.shader_test @@ -19,7 +19,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (84.0, 84.0, 84.0, 84.0)
@@ -94,5 +94,5 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (33.0, 33.0, 33.0, 33.0) diff --git a/tests/hlsl/cast-componentwise-compatible.shader_test b/tests/hlsl/cast-componentwise-compatible.shader_test index 8ad21d12a..49603e92f 100644 --- a/tests/hlsl/cast-componentwise-compatible.shader_test +++ b/tests/hlsl/cast-componentwise-compatible.shader_test @@ -16,7 +16,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 1.0)
@@ -39,7 +39,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 6.0, 7.0, 8.0)
@@ -55,7 +55,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
@@ -86,7 +86,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (7.0, 7.0, 7.0, 7.0)
@@ -119,7 +119,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (3.0, 3.0, 3.0, 3.0)
@@ -159,7 +159,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (10.0, 20.0, 30.0, 30.0)
@@ -181,7 +181,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (10.0, 10.0, 11.4, 12.4)
@@ -197,7 +197,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (11.0, 12.0, 13.0, 14.0)
@@ -220,7 +220,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21.0, 22.0, 23.0, 24.0)
@@ -236,7 +236,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (31.0, 32.0, 33.0, 33.0)
@@ -258,7 +258,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (41.0, 42.0, 43.0, 44.0)
@@ -297,7 +297,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (55.0, 56.0, 57.0, 58.0)
@@ -329,7 +329,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (61.0, 62.0, 63.0, 64.0)
@@ -355,7 +355,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (71.0, 72.0, 73.0, 74.0)
@@ -404,7 +404,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (81.0, 82.0, 83.0, 84.0)
@@ -420,7 +420,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (91.0, 92.0, 93.0, 0.0)
@@ -436,7 +436,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (11.0, 12.0, 13.0, 0.0)
@@ -477,7 +477,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21.0, 22.0, 23.0, 24.0)
@@ -499,7 +499,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (31.0, 32.0, 33.0, 0.0)
@@ -521,7 +521,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (41.0, 42.0, 43.0, 0.0)
@@ -537,7 +537,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (51.0, 52.0, 53.0, 0.0)
@@ -564,7 +564,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (61.0, 62.0, 63.0, 0.0)
@@ -580,5 +580,5 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (71.0, 72.0, 73.0, 0.0) diff --git a/tests/hlsl/cast-componentwise-equal.shader_test b/tests/hlsl/cast-componentwise-equal.shader_test index bb1c26fe0..722bba6bc 100644 --- a/tests/hlsl/cast-componentwise-equal.shader_test +++ b/tests/hlsl/cast-componentwise-equal.shader_test @@ -50,7 +50,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 1.0)
@@ -89,7 +89,7 @@ float4 main() : sv_target
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 6.0, 7.0, 8.0)
@@ -120,7 +120,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (4.0, 4.0, 4.0, 4.0)
@@ -154,7 +154,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 5.0, 5.0, 5.0)
@@ -199,7 +199,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (71.0, 73.0, 73.0, 74.0)
diff --git a/tests/hlsl/cbuffer.shader_test b/tests/hlsl/cbuffer.shader_test index b4dc01edd..6dd96550e 100644 --- a/tests/hlsl/cbuffer.shader_test +++ b/tests/hlsl/cbuffer.shader_test @@ -13,7 +13,7 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 2.0 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
[pixel shader] @@ -31,7 +31,7 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 2.0 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
% SM1 buffer offset allocation follows different rules than SM4. diff --git a/tests/hlsl/ceil.shader_test b/tests/hlsl/ceil.shader_test index 0ff9938b9..96231175e 100644 --- a/tests/hlsl/ceil.shader_test +++ b/tests/hlsl/ceil.shader_test @@ -5,7 +5,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 7.0, 8.0, 4.0) 4
[pixel shader] @@ -18,10 +18,10 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.5 6.5 7.5 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.0, 7.0, 8.0, 4.0) 4
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -34,7 +34,7 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.5 6.5 7.5 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (7.0, 8.0, 0.0, 4.0) 4
[require] diff --git a/tests/hlsl/clamp.shader_test b/tests/hlsl/clamp.shader_test index 3d797ec3f..9a7a521a5 100644 --- a/tests/hlsl/clamp.shader_test +++ b/tests/hlsl/clamp.shader_test @@ -8,7 +8,7 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.3 -0.1 0.7 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-0.1, 0.7, -0.3, 0.3)
@@ -24,7 +24,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.5, 5.0, 4.2, 5.2)
diff --git a/tests/hlsl/clip.shader_test b/tests/hlsl/clip.shader_test index d7473c999..cd7b45a80 100644 --- a/tests/hlsl/clip.shader_test +++ b/tests/hlsl/clip.shader_test @@ -9,14 +9,14 @@ float4 main() : sv_target
[test] uniform 0 float4 1 2 3 4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1, 2, 3, 4) uniform 0 float4 9 8 7 6 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (9, 8, 7, 6) uniform 0 float4 -1 8 7 6 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (9, 8, 7, 6) uniform 0 float4 9 0 7 6 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (9, 0, 7, 6) diff --git a/tests/hlsl/combined-samplers.shader_test b/tests/hlsl/combined-samplers.shader_test index 235537594..4d743aecf 100644 --- a/tests/hlsl/combined-samplers.shader_test +++ b/tests/hlsl/combined-samplers.shader_test @@ -64,7 +64,7 @@ draw quad probe all rgba (10, 10, 10, 11)
-[pixel shader] +[pixel shader todo(sm<4)] Texture2D tex; sampler sam[2];
@@ -111,7 +111,7 @@ probe all rgba (104, 104, 104, 111)
% Sampler arrays with components that have different usage dimensions are only forbidden in SM4 upwards. % However, tex2D and tex1D are considered the same dimension for these purposes. -[pixel shader fail] +[pixel shader fail(sm>=4)] sampler sam[2];
float4 main() : sv_target diff --git a/tests/hlsl/comma.shader_test b/tests/hlsl/comma.shader_test index 23bee71a1..4e28b9ccd 100644 --- a/tests/hlsl/comma.shader_test +++ b/tests/hlsl/comma.shader_test @@ -6,5 +6,5 @@ float4 main(): sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.6, 0.7, 0.8, 0.9) diff --git a/tests/hlsl/conditional.shader_test b/tests/hlsl/conditional.shader_test index 0a927a8fa..fbc34e6ee 100644 --- a/tests/hlsl/conditional.shader_test +++ b/tests/hlsl/conditional.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -11,13 +11,13 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.9, 0.8, 0.7, 0.6) uniform 0 float4 0.1 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -29,7 +29,7 @@ float4 main() : sv_target return float4(0.9, 0.8, 0.7, 0.6); }
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -43,7 +43,7 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.9, 0.8, 0.7, 0.6)
[pixel shader fail(sm<6)] @@ -74,7 +74,7 @@ float main() : sv_target [require] shader model >= 3.0
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -88,7 +88,7 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.9, 0.8, 0.7, 0.6)
[pixel shader] @@ -105,5 +105,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (9.0, 10.0, 11.0, 12.0) diff --git a/tests/hlsl/const.shader_test b/tests/hlsl/const.shader_test index 9541203dc..988e60286 100644 --- a/tests/hlsl/const.shader_test +++ b/tests/hlsl/const.shader_test @@ -10,7 +10,7 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 0.1 0.2 0.3 0.4 -draw quad +todo(sm<4) draw quad probe all rgba (1.1, 2.2, 3.3, 4.4)
[pixel shader fail(sm<6)] diff --git a/tests/hlsl/cross.shader_test b/tests/hlsl/cross.shader_test index 22f373a6d..4db346ba4 100644 --- a/tests/hlsl/cross.shader_test +++ b/tests/hlsl/cross.shader_test @@ -12,7 +12,7 @@ float4 main() : sv_target [test] uniform 0 float4 1 -2 3 4 uniform 4 float4 10 100 1000 10000 -draw quad +todo(sm<4) draw quad probe all rgba (-2300, -970, 120, 0)
@@ -29,5 +29,5 @@ float4 main() : sv_target
[test] uniform 0 float4 1 -2 3 4 -draw quad +todo(sm<4) draw quad probe all rgba (-20, 8, 12, 3.5) diff --git a/tests/hlsl/ddxddy.shader_test b/tests/hlsl/ddxddy.shader_test index ba7215ca0..849c6dbbc 100644 --- a/tests/hlsl/ddxddy.shader_test +++ b/tests/hlsl/ddxddy.shader_test @@ -8,7 +8,7 @@ float4 main(float4 pos : sv_position) : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 1.0, 0.0, 0.0)
@@ -29,7 +29,7 @@ float4 main(float4 pos : sv_position) : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe (10, 10) rgba (-16.0, -5.0, 3.0, 0.0) probe (11, 10) rgba (-21.0, -5.0, 3.0, 0.0) probe (10, 11) rgba (-13.0, -5.0, 3.0, 0.0) diff --git a/tests/hlsl/discard.shader_test b/tests/hlsl/discard.shader_test index cecb8c1fd..a5cdde475 100644 --- a/tests/hlsl/discard.shader_test +++ b/tests/hlsl/discard.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 x;
float4 main() : sv_target @@ -9,8 +9,8 @@ float4 main() : sv_target
[test] uniform 0 float4 1 2 3 4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1, 2, 3, 4) uniform 0 float4 9 8 7 6 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1, 2, 3, 4) diff --git a/tests/hlsl/distance.shader_test b/tests/hlsl/distance.shader_test index 6527c218a..67378066c 100644 --- a/tests/hlsl/distance.shader_test +++ b/tests/hlsl/distance.shader_test @@ -10,10 +10,10 @@ float4 main() : sv_target [test] uniform 0 float4 -2.0 3.0 4.0 0.1 uniform 4 float4 2.0 -1.0 4.0 5.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (7.483983, 7.483983, 7.483983, 7.483983) 1
-[pixel shader] +[pixel shader todo(sm<4)] uniform int4 x; uniform int4 y;
diff --git a/tests/hlsl/dot.shader_test b/tests/hlsl/dot.shader_test index c620e5fac..9d219c513 100644 --- a/tests/hlsl/dot.shader_test +++ b/tests/hlsl/dot.shader_test @@ -10,7 +10,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 2.0 3.0 4.0 5.0 uniform 4 float4 10.0 11.0 12.0 13.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (166.0, 166.0, 166.0, 166.0)
[pixel shader] @@ -25,7 +25,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 2.0 3.0 0.0 0.0 uniform 4 float4 10.0 11.0 12.0 13.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (53.0, 53.0, 53.0, 53.0)
[pixel shader] @@ -40,7 +40,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 2.0 0.0 0.0 0.0 uniform 4 float4 10.0 11.0 12.0 13.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (92.0, 92.0, 92.0, 92.0)
[pixel shader] @@ -55,7 +55,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 10.0 11.0 12.0 13.0 uniform 4 float4 2.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (92.0, 92.0, 92.0, 92.0)
[pixel shader] @@ -71,7 +71,7 @@ float4 main() : SV_TARGET % Account for both the SM1 and SM4 uniform layout uniform 0 float4 2.0 3.0 0.0 0.0 uniform 4 float4 3.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (6.0, 6.0, 6.0, 6.0)
[pixel shader] @@ -84,7 +84,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (110.0, 110.0, 110.0, 110.0)
[pixel shader fail] diff --git a/tests/hlsl/duplicate-modifiers.shader_test b/tests/hlsl/duplicate-modifiers.shader_test index bf1d9c1b8..5a16b047d 100644 --- a/tests/hlsl/duplicate-modifiers.shader_test +++ b/tests/hlsl/duplicate-modifiers.shader_test @@ -11,5 +11,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4) diff --git a/tests/hlsl/entry-point-semantics.shader_test b/tests/hlsl/entry-point-semantics.shader_test index d177b0376..627d521f6 100644 --- a/tests/hlsl/entry-point-semantics.shader_test +++ b/tests/hlsl/entry-point-semantics.shader_test @@ -35,7 +35,7 @@ float4 main(float tex : texcoord) : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe (0, 0) rgba (0.2, 0.2, 0.2, 0.2)
[pixel shader] @@ -48,7 +48,7 @@ float4 main(float tex : texcoord) : sv_target float4 main(float tex : bogus) : bogus;
[test] -draw quad +todo(sm<4) draw quad probe (0, 0) rgba (0.2, 0.2, 0.2, 0.2)
@@ -83,7 +83,7 @@ float4 main(in apple a) : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe (0, 0) rgba (10.0, 20.0, 30.0, 40.0)
@@ -100,7 +100,7 @@ float4 main(in apple a) : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe (0, 0) rgba (10.0, 11.0, 30.0, 31.0)
@@ -124,7 +124,7 @@ float4 main(in apple aps[2][2]) : sv_target }
[test] -draw quad +todo(sm<4) draw quad todo(sm>=6) probe (0, 0) rgba (10.0, 10.0, 20.0, 20.0)
@@ -146,7 +146,7 @@ float4 main(in banana bans[2]) : sv_target }
[test] -draw quad +todo(sm<4) draw quad todo(sm>=6) probe (0, 0) rgba (10.0, 11.0, 20.0, 21.0)
@@ -209,7 +209,7 @@ float4 main(in float4 tex0 : TEXCOORD0, in float4 tex1 : TEXCOORD1) : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe (0, 0) rgba (1.0, 2.0, 10.0, 20.0)
@@ -268,7 +268,7 @@ float4 main(in float4 t1 : TEXCOORD0, in float4 t2 : TEXCOORD0) : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe (0, 0) rgba (99.0, 99.0, 10.0, 11.0)
@@ -280,7 +280,7 @@ float4 main(in float4 a : TEXCOORD0, in float3 b : TEXCOORD1) : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe (0, 0) rgba (10.0, 11.0, 20.0, 21.0)
diff --git a/tests/hlsl/exp.shader_test b/tests/hlsl/exp.shader_test index 38f8750fd..34908591d 100644 --- a/tests/hlsl/exp.shader_test +++ b/tests/hlsl/exp.shader_test @@ -8,7 +8,7 @@ float4 main() : sv_target
[test] uniform 0 float4 -1.0 0.0 1.0 2.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.5, 1.0, 2.0, 4.0) 2
[pixel shader] @@ -21,5 +21,5 @@ float4 main() : sv_target
[test] uniform 0 float4 -1.0 0.0 1.0 2.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.36787948, 1.0, 2.7182815, 7.38905573) 2 diff --git a/tests/hlsl/expr-indexing.shader_test b/tests/hlsl/expr-indexing.shader_test index c11fa6540..66ae7b3a4 100644 --- a/tests/hlsl/expr-indexing.shader_test +++ b/tests/hlsl/expr-indexing.shader_test @@ -9,11 +9,11 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 5.0 6.0 7.0 8.0 -draw quad +todo(sm<4) draw quad probe all rgba (8.0, 8.0, 8.0, 8.0)
-[pixel shader] +[pixel shader todo(sm<4)] float4 a, b; float i;
@@ -26,7 +26,7 @@ float4 main() : sv_target uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 5.0 6.0 7.0 8.0 uniform 8 float 2 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (10.0, 10.0, 10.0, 10.0)
@@ -40,11 +40,11 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 2.0 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (3.0, 3.0, 3.0, 3.0)
-[pixel shader] +[pixel shader todo(sm<4)] float4 a; float i;
@@ -56,10 +56,10 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float 0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (4.0, 4.0, 4.0, 4.0) uniform 4 float 2 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0)
@@ -78,11 +78,11 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 2.0 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (4.0, 4.0, 4.0, 4.0)
-[pixel shader] +[pixel shader todo(sm<4)] float4 a; float i;
@@ -99,5 +99,5 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float 1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (2.0, 2.0, 2.0, 2.0) diff --git a/tests/hlsl/float-comparison.shader_test b/tests/hlsl/float-comparison.shader_test index ee4b5eb7c..7109f9af0 100644 --- a/tests/hlsl/float-comparison.shader_test +++ b/tests/hlsl/float-comparison.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 f;
float4 main() : sv_target @@ -44,7 +44,7 @@ shader model < 4.0
[test] uniform 0 float4 0.0 1.5 1.5 0.0 -draw quad +todo(sm<4) draw quad todo probe all rgba (1010101.0, 11001100.0, 1101001.0, 0.0)
% SM4-5 optimises away the 'not' by inverting the condition, even though this is invalid for NaN. diff --git a/tests/hlsl/floor.shader_test b/tests/hlsl/floor.shader_test index e6562c4aa..2218003fe 100644 --- a/tests/hlsl/floor.shader_test +++ b/tests/hlsl/floor.shader_test @@ -5,7 +5,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (-1.0, 6.0, 7.0, 3.0) 4
[pixel shader] @@ -18,10 +18,10 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.5 6.5 7.5 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-1.0, 6.0, 7.0, 3.0) 4
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -34,7 +34,7 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.5 6.5 7.5 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (6.0, 7.0, -1.0, 3.0) 4
[require] diff --git a/tests/hlsl/fmod.shader_test b/tests/hlsl/fmod.shader_test index 05518c7cd..d21301fee 100644 --- a/tests/hlsl/fmod.shader_test +++ b/tests/hlsl/fmod.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -8,13 +8,13 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.5 6.5 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-0.5, 0.0, 0.0, 0.0) 4 uniform 0 float4 1.1 0.3 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.2, 0.0, 0.0, 0.0) 4
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -24,8 +24,8 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.5 6.5 2.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-0.5, 0.5, 0.0, 0.0) 4 uniform 0 float4 1.1 0.3 3.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.1, 0.3, 0.0, 0.0) 4 diff --git a/tests/hlsl/for.shader_test b/tests/hlsl/for.shader_test index 1392118b3..fab2b8828 100644 --- a/tests/hlsl/for.shader_test +++ b/tests/hlsl/for.shader_test @@ -4,7 +4,7 @@ void main(out float tex : texcoord, inout float4 pos : sv_position) tex = pos.x; }
-[pixel shader] +[pixel shader todo(sm<4)] float4 main(float tex : texcoord) : sv_target { int i; @@ -22,12 +22,12 @@ float4 main(float tex : texcoord) : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe ( 0, 0, 159, 480) rgba (10.0, 35.0, 0.0, 0.0) probe (161, 0, 479, 480) rgba (10.0, 38.0, 0.0, 0.0) probe (481, 0, 640, 480) rgba ( 5.0, 10.0, 0.0, 0.0)
-[pixel shader] +[pixel shader todo(sm<4)] float4 main(float tex : texcoord) : sv_target { int i; @@ -40,7 +40,7 @@ float4 main(float tex : texcoord) : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (10.0, 45.0, 0.0, 0.0)
[pixel shader fail(sm<6)] diff --git a/tests/hlsl/frac.shader_test b/tests/hlsl/frac.shader_test index 2ac9b530d..507a142da 100644 --- a/tests/hlsl/frac.shader_test +++ b/tests/hlsl/frac.shader_test @@ -8,5 +8,5 @@ float4 main() : sv_target
[test] uniform 0 float4 -1.1 1.6 1.3 0.5 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.9, 0.6, 0.3, 0.5) 2 diff --git a/tests/hlsl/function-return.shader_test b/tests/hlsl/function-return.shader_test index be997d0c3..e89be2c47 100644 --- a/tests/hlsl/function-return.shader_test +++ b/tests/hlsl/function-return.shader_test @@ -29,11 +29,10 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.2, 0.1, 0.8, 0.5);
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
float func(out float o) @@ -80,20 +79,19 @@ float4 main() : sv_target
[test] uniform 0 float 0.1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.3, 0.2, 0.6, 0.3) 1 uniform 0 float 0.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.6, 0.5, 0.6, 0.3) 1 uniform 0 float 0.6 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.6, 0.5, 0.4, 0.5) 1 uniform 0 float 0.8 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.8, 0.7, 0.4, 0.5) 1
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
float func(out float o) @@ -136,17 +134,16 @@ float4 main() : sv_target
[test] uniform 0 float 0.1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.2, 0.1, 0.2, 0.1) 1 uniform 0 float 0.5 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.5, 0.4, 1.0, 0.9) 1 uniform 0 float 0.9 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 0.9, 1.0, 0.6) 1
-[pixel shader] - +[pixel shader todo(sm<4)] float func(out float o) { o = 0.1; @@ -184,11 +181,10 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.3, 0.9) 1
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
float func(out float o) @@ -239,26 +235,26 @@ float4 main() : sv_target
[test] uniform 0 float 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.3, 0.2, 0.3, 0.3) 1
uniform 0 float 0.1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.3, 0.3, 0.3, 0.3) 1
uniform 0 float 0.3 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.3, 0.5, 0.3, 0.3) 1
uniform 0 float 0.7 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.3, 0.9, 0.7, 0.6) 1
uniform 0 float 0.9 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.4, 0.1, 0.7, 0.6) 1
-[pixel shader] +[pixel shader todo(sm<4)]
uniform float4 f[3];
@@ -295,21 +291,21 @@ float4 main() : sv_target uniform 0 float4 0.3 0.0 0.0 0.0 uniform 4 float4 0.0 0.0 0.0 0.0 uniform 8 float4 0.1 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.3, 0.2, 0.6, 0.6) 1
uniform 4 float4 0.35 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.3, 0.3, 0.6, 0.6) 1
uniform 8 float4 0.5 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.3, 0.5, 0.6, 0.6) 1
uniform 0 float4 1.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.3, 0.5, 0.6, 0.6) 1
uniform 4 float4 2.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.4, 0.1, 0.6, 0.6) 1 diff --git a/tests/hlsl/function.shader_test b/tests/hlsl/function.shader_test index d712f8522..1001af17d 100644 --- a/tests/hlsl/function.shader_test +++ b/tests/hlsl/function.shader_test @@ -176,7 +176,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
[pixel shader] @@ -200,7 +200,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.6, 0.7, 0)
[pixel shader] @@ -221,7 +221,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.6, 0.1, 0.5, 0)
% Recursion is forbidden. @@ -275,7 +275,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 6.0, 7.0)
@@ -293,7 +293,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 6.0, 7.0)
% Inline modifier @@ -312,7 +312,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 6.0, 7.0)
% Inline modifier used on entry point @@ -331,5 +331,5 @@ inline float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 6.0, 7.0) diff --git a/tests/hlsl/fwidth.shader_test b/tests/hlsl/fwidth.shader_test index d4c20f4e0..10ed712d2 100644 --- a/tests/hlsl/fwidth.shader_test +++ b/tests/hlsl/fwidth.shader_test @@ -18,7 +18,7 @@ float4 main(float4 pos : sv_position) : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe (10, 10) rgba (8.0, 8.0, 8.0, 8.0) probe (11, 10) rgba (8.0, 8.0, 8.0, 8.0) probe (12, 10) rgba (10.0, 10.0, 10.0, 10.0) diff --git a/tests/hlsl/half.shader_test b/tests/hlsl/half.shader_test index fe7074e45..8cf7a756f 100644 --- a/tests/hlsl/half.shader_test +++ b/tests/hlsl/half.shader_test @@ -9,7 +9,7 @@ float4 main() : sv_target [require] options: backcompat
-[pixel shader] +[pixel shader todo(sm<4)] uniform half h;
float4 main() : sv_target @@ -19,5 +19,5 @@ float4 main() : sv_target
[test] uniform 0 float 10.0 -draw quad +todo(sm<4) draw quad probe all rgba (10.0, 10.0, 10.0, 10.0) diff --git a/tests/hlsl/hard-copy-prop.shader_test b/tests/hlsl/hard-copy-prop.shader_test index 8d20425f1..fa4867488 100644 --- a/tests/hlsl/hard-copy-prop.shader_test +++ b/tests/hlsl/hard-copy-prop.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] float cond;
float4 main() : sv_target @@ -17,14 +17,14 @@ float4 main() : sv_target
[test] uniform 0 float 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 2.0, 2.0, 2.0) uniform 0 float 1.0 -draw quad +todo(sm<4) draw quad probe all rgba (-2.0, -2.0, -2.0, -2.0)
-[pixel shader] +[pixel shader todo(sm<4)] float cond;
float4 main() : sv_target @@ -43,14 +43,14 @@ float4 main() : sv_target
[test] uniform 0 float 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 2.0, 2.0, 2.0) uniform 0 float 1.0 -draw quad +todo(sm<4) draw quad probe all rgba (20.0, 20.0, 20.0, 20.0)
-[pixel shader] +[pixel shader todo(sm<4)] float cond;
float4 main() : sv_target @@ -66,10 +66,11 @@ float4 main() : sv_target
return float4(r, 0, 0); } + [test] uniform 0 float 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 4.0, 0.0, 0.0) uniform 0 float 1.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 40.0, 0.0, 0.0) diff --git a/tests/hlsl/initializer-flatten.shader_test b/tests/hlsl/initializer-flatten.shader_test index 6b35c6b7e..066f0006e 100644 --- a/tests/hlsl/initializer-flatten.shader_test +++ b/tests/hlsl/initializer-flatten.shader_test @@ -6,7 +6,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1, 2, 3, 4)
@@ -24,7 +24,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (4, 5, 6, 7)
@@ -37,7 +37,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (40, 10, 20, 30)
@@ -56,7 +56,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
@@ -69,5 +69,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0) diff --git a/tests/hlsl/initializer-implicit-array.shader_test b/tests/hlsl/initializer-implicit-array.shader_test index fff2b8fdf..a1200defd 100644 --- a/tests/hlsl/initializer-implicit-array.shader_test +++ b/tests/hlsl/initializer-implicit-array.shader_test @@ -7,7 +7,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (50, 60, 70, 80)
@@ -25,8 +25,8 @@ float4 main() : sv_target }
[test] -draw quad -todo(sm>=6) probe all rgba (5.0, 6.0, 7.0, 8.0) +todo(sm<4) draw quad +probe all rgba (5.0, 6.0, 7.0, 8.0)
[require] % reset requirements @@ -40,7 +40,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (7.0, 8.0, 9.0, 10.0)
@@ -68,7 +68,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (318.0, 320.0, 322.0, 324.0)
diff --git a/tests/hlsl/initializer-invalid-arg-count.shader_test b/tests/hlsl/initializer-invalid-arg-count.shader_test index 4332fbe80..dc2a6ef3f 100644 --- a/tests/hlsl/initializer-invalid-arg-count.shader_test +++ b/tests/hlsl/initializer-invalid-arg-count.shader_test @@ -9,7 +9,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (17, 18, 19, 20)
@@ -57,7 +57,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (22, 23, 24, 25)
diff --git a/tests/hlsl/initializer-local-array.shader_test b/tests/hlsl/initializer-local-array.shader_test index 0862d4c90..c5919efa1 100644 --- a/tests/hlsl/initializer-local-array.shader_test +++ b/tests/hlsl/initializer-local-array.shader_test @@ -10,7 +10,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 24)
@@ -31,5 +31,5 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (71, 72, 73, 74) diff --git a/tests/hlsl/initializer-matrix.shader_test b/tests/hlsl/initializer-matrix.shader_test index 7e12b0a00..60b14323f 100644 --- a/tests/hlsl/initializer-matrix.shader_test +++ b/tests/hlsl/initializer-matrix.shader_test @@ -6,7 +6,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 0)
@@ -18,7 +18,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 0)
@@ -30,7 +30,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 24)
@@ -42,7 +42,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 31, 32)
@@ -55,7 +55,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 31, 32)
@@ -68,5 +68,5 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 31, 32) diff --git a/tests/hlsl/initializer-multi.shader_test b/tests/hlsl/initializer-multi.shader_test index 8f8a31e20..4061f268c 100644 --- a/tests/hlsl/initializer-multi.shader_test +++ b/tests/hlsl/initializer-multi.shader_test @@ -7,7 +7,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2, 3, 3, 0)
@@ -32,7 +32,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (7.2, 8.0, 7.2, 8.0)
@@ -48,5 +48,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.2, 9.0, 5.2, 9.0) diff --git a/tests/hlsl/initializer-nested.shader_test b/tests/hlsl/initializer-nested.shader_test index b00259c9a..b48e5f488 100644 --- a/tests/hlsl/initializer-nested.shader_test +++ b/tests/hlsl/initializer-nested.shader_test @@ -6,7 +6,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1, 2, 3, 4)
@@ -23,7 +23,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 24)
@@ -52,5 +52,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 24) diff --git a/tests/hlsl/initializer-numeric.shader_test b/tests/hlsl/initializer-numeric.shader_test index 617b67405..2027ee06a 100644 --- a/tests/hlsl/initializer-numeric.shader_test +++ b/tests/hlsl/initializer-numeric.shader_test @@ -6,7 +6,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0) 4
@@ -18,7 +18,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0) 4
@@ -31,7 +31,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0) 4
@@ -44,7 +44,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (10.1, 1.1, 1.2, 2.1) 4
@@ -56,7 +56,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (3.0, 250.0, 16.0, 4.2949673e+009) 4
@@ -72,5 +72,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (-1294967296.0, 3000000000.0, 0.0, 0.0) 4 diff --git a/tests/hlsl/initializer-static-array.shader_test b/tests/hlsl/initializer-static-array.shader_test index 577335023..31f5cd44b 100644 --- a/tests/hlsl/initializer-static-array.shader_test +++ b/tests/hlsl/initializer-static-array.shader_test @@ -11,7 +11,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 24)
@@ -33,5 +33,5 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (61, 62, 63, 64) diff --git a/tests/hlsl/initializer-struct.shader_test b/tests/hlsl/initializer-struct.shader_test index f4028b5bb..63c70eb6c 100644 --- a/tests/hlsl/initializer-struct.shader_test +++ b/tests/hlsl/initializer-struct.shader_test @@ -22,7 +22,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (41, 42, 43, 44)
@@ -52,7 +52,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (4311, 4312, 4313, 4314)
@@ -80,5 +80,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (21, 22, 23, 24) diff --git a/tests/hlsl/intrinsic-override.shader_test b/tests/hlsl/intrinsic-override.shader_test index b95f80e7f..f74272823 100644 --- a/tests/hlsl/intrinsic-override.shader_test +++ b/tests/hlsl/intrinsic-override.shader_test @@ -11,7 +11,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.3, 0.3, 0.4, 0.6)
[pixel shader fail(sm>=6)] @@ -27,7 +27,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.3, 0.3, 0.3, 0.4)
diff --git a/tests/hlsl/ldexp.shader_test b/tests/hlsl/ldexp.shader_test index 2db624067..7ed16a145 100644 --- a/tests/hlsl/ldexp.shader_test +++ b/tests/hlsl/ldexp.shader_test @@ -10,7 +10,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 2.0 3.0 4.0 5.0 uniform 4 float4 0.0 -10.0 10.0 100.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (2.0, 0.00292968750, 4096.0, 6.33825300e+030) 2
[require] diff --git a/tests/hlsl/length.shader_test b/tests/hlsl/length.shader_test index 8653942e0..e7ded1912 100644 --- a/tests/hlsl/length.shader_test +++ b/tests/hlsl/length.shader_test @@ -8,7 +8,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 3.0 4.0 5.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (7.34846926, 7.34846926, 7.34846926, 7.34846926) 1
[pixel shader] @@ -21,7 +21,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 3.0 4.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (5.38516474, 5.38516474, 5.38516474, 5.38516474) 1
[pixel shader] @@ -34,7 +34,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 3.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (3.60555124, 3.60555124, 3.60555124, 3.60555124) 1
[pixel shader] @@ -47,7 +47,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (2.0, 2.0, 2.0, 2.0)
[pixel shader] @@ -60,7 +60,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (2.0, 2.0, 2.0, 2.0)
[pixel shader fail] diff --git a/tests/hlsl/lerp.shader_test b/tests/hlsl/lerp.shader_test index 15e90cef9..d697445b5 100644 --- a/tests/hlsl/lerp.shader_test +++ b/tests/hlsl/lerp.shader_test @@ -12,7 +12,7 @@ float4 main() : SV_TARGET uniform 0 float4 2.0 3.0 4.0 5.0 uniform 4 float4 0.0 -10.0 10.0 100.0 uniform 8 float4 0.0 1.0 -1.0 0.75 -draw quad +todo(sm<4) draw quad probe all rgba (2.0, -10.0, -2.0, 76.25)
[require] diff --git a/tests/hlsl/lit.shader_test b/tests/hlsl/lit.shader_test index 5014c1ed0..f0915f62f 100644 --- a/tests/hlsl/lit.shader_test +++ b/tests/hlsl/lit.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -8,20 +8,20 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.1 10.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 0.0, 0.0, 1.0)
[test] uniform 0 float4 1.2 -0.1 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 1.2, 0.0, 1.0)
[test] uniform 0 float4 1.2 2.0 3.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 1.2, 8.0, 1.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -31,7 +31,7 @@ float4 main() : sv_target
[test] uniform 0 float4 1.2 2.0 3.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (2.0, 2.4, 16.0, 2.0)
[pixel shader fail] diff --git a/tests/hlsl/log.shader_test b/tests/hlsl/log.shader_test index 2f7d5c7c0..c83567dcd 100644 --- a/tests/hlsl/log.shader_test +++ b/tests/hlsl/log.shader_test @@ -8,7 +8,7 @@ float4 main() : sv_target
[test] uniform 0 float4 2.0 4.0 5.0 0.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 2.0, 2.32192802, -1.32192802) 1
[pixel shader] @@ -21,7 +21,7 @@ float4 main() : sv_target
[test] uniform 0 float4 10.0 100.0 1.0 0.1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 2.0, 0.0, -1.0) 1
[pixel shader] @@ -34,5 +34,5 @@ float4 main() : sv_target
[test] uniform 0 float4 3.0 10.0 1.0 0.1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0986123, 2.302585, 0.0, -2.302585) 2 diff --git a/tests/hlsl/logic-operations.shader_test b/tests/hlsl/logic-operations.shader_test index 360ca03b3..905e5f5ae 100644 --- a/tests/hlsl/logic-operations.shader_test +++ b/tests/hlsl/logic-operations.shader_test @@ -8,7 +8,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 1.0, 1.0, 1.0)
[pixel shader] @@ -22,7 +22,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 1.0)
[pixel shader] @@ -35,7 +35,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 1.0)
[pixel shader] @@ -48,7 +48,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 1.0, 1.0, 1.0)
[pixel shader] @@ -61,7 +61,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 1.0, 1.0, 1.0)
[pixel shader] @@ -75,7 +75,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 1.0)
[pixel shader] @@ -88,7 +88,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 1.0)
[pixel shader] @@ -101,7 +101,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 1.0, 1.0, 1.0)
[pixel shader] @@ -114,7 +114,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 1.0, 1.0, 1.0)
[pixel shader] @@ -128,7 +128,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 1.0)
[pixel shader] @@ -141,7 +141,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 1.0)
[pixel shader] @@ -154,5 +154,5 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 1.0, 1.0, 1.0) diff --git a/tests/hlsl/loop.shader_test b/tests/hlsl/loop.shader_test index 35a303595..a9431085a 100644 --- a/tests/hlsl/loop.shader_test +++ b/tests/hlsl/loop.shader_test @@ -1,6 +1,6 @@ % TODO: dxcompiler emits no loops for any of these test shaders.
-[pixel shader] +[pixel shader todo(sm<4)] float a;
float4 main() : sv_target @@ -18,11 +18,11 @@ float4 main() : sv_target
[test] uniform 0 float 5.0 -draw quad +todo(sm<4) draw quad probe all rgba (50.0, 50.0, 50.0, 50.0)
-[pixel shader] +[pixel shader todo(sm<4)] float a;
float4 main() : sv_target @@ -41,10 +41,10 @@ float4 main() : sv_target
[test] uniform 0 float 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (20.0, 20.0, 20.0, 20.0)
-[pixel shader] +[pixel shader todo(sm<4)] float a;
float4 main() : sv_target @@ -70,10 +70,10 @@ float4 main() : sv_target
[test] uniform 0 float 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (409.1, 409.1, 409.1, 409.1)
-[pixel shader] +[pixel shader todo(sm<4)] float a;
float4 main() : sv_target @@ -100,11 +100,11 @@ float4 main() : sv_target
[test] uniform 0 float 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (410.1, 410.1, 410.1, 410.1)
% loop attribute by itself -[pixel shader] +[pixel shader todo(sm<4)] float4 main() : sv_target { float ret = 0.0; @@ -118,10 +118,10 @@ float4 main() : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (10.0, 10.0, 10.0, 10.0)
-[pixel shader] +[pixel shader todo(sm<4)] float4 main() : sv_target { float ret = 0.0; @@ -137,10 +137,10 @@ float4 main() : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (10.0, 10.0, 10.0, 10.0)
-[pixel shader] +[pixel shader todo(sm<4)] float4 main() : sv_target { float ret = 0.0; @@ -156,7 +156,7 @@ float4 main() : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (10.0, 10.0, 10.0, 10.0)
% unroll can't be used with fastopt or loop diff --git a/tests/hlsl/majority-pragma.shader_test b/tests/hlsl/majority-pragma.shader_test index 84dff63e0..ab3b81e99 100644 --- a/tests/hlsl/majority-pragma.shader_test +++ b/tests/hlsl/majority-pragma.shader_test @@ -17,7 +17,7 @@ uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 uniform 8 float4 0.1 0.3 0.0 0.0 uniform 12 float4 0.2 0.4 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.17, 0.39, 0.17, 0.39) 1
@@ -40,7 +40,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
@@ -61,7 +61,7 @@ uniform 0 float4 0.0 0.0 0.0 0.0 uniform 4 float4 0.0 0.0 0.0 0.0 uniform 8 float4 0.5 0.6 0.0 0.0 uniform 12 float4 0.7 0.8 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.6, 0.7, 0.8)
@@ -90,7 +90,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.23, 0.34, 0.5, 0.5) 1
@@ -111,7 +111,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
@@ -149,7 +149,7 @@ uniform 0 float4 0.3 0.4 0.0 0.0 uniform 4 float4 0.0 0.0 0.0 0.0 uniform 8 float4 0.0 0.0 0.0 0.0 uniform 12 float4 0.5 0.6 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.3, 0.4, 0.5, 0.6)
@@ -173,7 +173,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
@@ -201,7 +201,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.2 0.4 0.0 0.0 uniform 4 float4 0.3 0.5 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.2, 0.3, 0.4, 0.5)
@@ -221,7 +221,7 @@ uniform 0 float4 0.3 0.0 0.0 0.0 uniform 4 float4 0.4 0.0 0.0 0.0 uniform 8 float4 0.0 0.5 0.0 0.0 uniform 12 float4 0.0 0.6 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.3, 0.4, 0.5, 0.6)
% Compiler options @@ -245,7 +245,7 @@ uniform 0 float4 0.1 0.5 0.9 1.3 uniform 4 float4 0.2 0.6 1.0 1.4 uniform 8 float4 0.3 0.7 1.1 1.5 uniform 12 float4 0.4 0.8 1.2 1.6 -draw quad +todo(sm<4) draw quad probe all rgba (0.2, 0.3, 0.6, 0.7) 1
[require] @@ -267,7 +267,7 @@ uniform 0 float4 0.1 0.5 0.9 1.3 uniform 4 float4 0.2 0.6 1.0 1.4 uniform 8 float4 0.3 0.7 1.1 1.5 uniform 12 float4 0.4 0.8 1.2 1.6 -draw quad +todo(sm<4) draw quad probe all rgba (0.2, 0.3, 0.6, 0.7) 1
[require] @@ -289,7 +289,7 @@ uniform 0 float4 0.1 0.5 0.9 1.3 uniform 4 float4 0.2 0.6 1.0 1.4 uniform 8 float4 0.3 0.7 1.1 1.5 uniform 12 float4 0.4 0.8 1.2 1.6 -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.9, 0.6, 1.0) 1
[require] @@ -317,7 +317,7 @@ uniform 16 float4 1.7 2.1 2.5 2.9 uniform 20 float4 1.8 2.2 2.6 3.0 uniform 24 float4 1.9 2.3 2.7 3.1 uniform 28 float4 2.0 2.4 2.8 3.2 -draw quad +todo(sm<4) draw quad probe all rgba (0.3, 0.4, 2.5, 2.9) 1
[require] @@ -345,7 +345,7 @@ uniform 16 float4 1.7 2.1 2.5 2.9 uniform 20 float4 1.8 2.2 2.6 3.0 uniform 24 float4 1.9 2.3 2.7 3.1 uniform 28 float4 2.0 2.4 2.8 3.2 -draw quad +todo(sm<4) draw quad probe all rgba (1.2, 1.6, 3.1, 3.2) 1
[require] @@ -365,5 +365,5 @@ float4 main() : sv_target [test] uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.3, 0.2, 0.4) 1 diff --git a/tests/hlsl/majority-syntax.shader_test b/tests/hlsl/majority-syntax.shader_test index f1f5291ff..40dc32b18 100644 --- a/tests/hlsl/majority-syntax.shader_test +++ b/tests/hlsl/majority-syntax.shader_test @@ -11,7 +11,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.1 0.3 0.0 0.0 uniform 4 float4 0.2 0.4 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.3, 0.2, 0.4)
[pixel shader fail(sm<6)] diff --git a/tests/hlsl/majority-typedef.shader_test b/tests/hlsl/majority-typedef.shader_test index fa62dd5f7..9a290e474 100644 --- a/tests/hlsl/majority-typedef.shader_test +++ b/tests/hlsl/majority-typedef.shader_test @@ -18,5 +18,5 @@ uniform 0 float4 0.1 0.2 0.0 0.0 uniform 4 float4 0.3 0.4 0.0 0.0 uniform 8 float4 0.1 0.3 0.0 0.0 uniform 12 float4 0.2 0.4 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.17, 0.39, 0.17, 0.39) 1 diff --git a/tests/hlsl/math.shader_test b/tests/hlsl/math.shader_test index 15f579331..b1e2a8a59 100644 --- a/tests/hlsl/math.shader_test +++ b/tests/hlsl/math.shader_test @@ -14,5 +14,5 @@ float4 main() : SV_TARGET [test] uniform 0 float4 2.5 0.3 0.2 0.7 uniform 4 float4 0.1 1.5 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (-12.43, 9.833333, 1.6, 35.0) 1 diff --git a/tests/hlsl/matrix-indexing.shader_test b/tests/hlsl/matrix-indexing.shader_test index 5024c8ed3..b3cdb9304 100644 --- a/tests/hlsl/matrix-indexing.shader_test +++ b/tests/hlsl/matrix-indexing.shader_test @@ -11,7 +11,7 @@ uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 5.0 6.0 7.0 8.0 uniform 8 float4 9.0 10.0 11.0 12.0 uniform 12 float4 13.0 14.0 15.0 16.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 10.0, 15.0)
[pixel shader] @@ -27,7 +27,7 @@ uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 5.0 6.0 7.0 8.0 uniform 8 float4 9.0 10.0 11.0 12.0 uniform 12 float4 13.0 14.0 15.0 16.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 10.0, 15.0)
[pixel shader] @@ -43,7 +43,7 @@ uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 5.0 6.0 7.0 8.0 uniform 8 float4 9.0 10.0 11.0 12.0 uniform 12 float4 13.0 14.0 15.0 16.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 5.0, 7.0, 12.0)
[pixel shader] @@ -58,7 +58,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 1.0 2.0 3.0 0.0 uniform 4 float4 5.0 6.0 7.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 3.0, 6.0, 7.0)
[pixel shader] @@ -74,7 +74,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 5.0, 7.0, 12.0)
@@ -89,7 +89,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (30.0, 40.0, 5.0, 6.0)
@@ -104,11 +104,11 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (3.0, 4.0, 50.0, 60.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float i;
float4 main() : sv_target @@ -120,11 +120,11 @@ float4 main() : sv_target
[test] uniform 0 float 2 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (8, 9, 10, 11)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float i;
float4 main() : sv_target @@ -136,5 +136,5 @@ float4 main() : sv_target
[test] uniform 0 float 3 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (12, 13, 14, 15) diff --git a/tests/hlsl/max.shader_test b/tests/hlsl/max.shader_test index e2763df46..d8cded074 100644 --- a/tests/hlsl/max.shader_test +++ b/tests/hlsl/max.shader_test @@ -8,7 +8,7 @@ float4 main() : sv_target
[test] uniform 0 float4 0.7 -0.1 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.7, 2.1, 2.0, -1.0)
@@ -24,7 +24,7 @@ float4 main() : sv_target
[test] uniform 0 float4 0.7 -0.1 0.4 0.8 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.7, 0.8, 0.7, 0.2)
@@ -39,7 +39,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (6.0, 5.0, 4.0, 5.0)
diff --git a/tests/hlsl/mul.shader_test b/tests/hlsl/mul.shader_test index 7ddd50b64..71adfeb8a 100644 --- a/tests/hlsl/mul.shader_test +++ b/tests/hlsl/mul.shader_test @@ -11,7 +11,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (30.0, 70.0, 110.0, 150.0)
[pixel shader] @@ -27,7 +27,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (90.0, 100.0, 110.0, 120.0)
[pixel shader] @@ -43,7 +43,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (14.0, 38.0, 62.0, 86.0)
[pixel shader] @@ -59,7 +59,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (38.0, 44.0, 50.0, 56.0)
[pixel shader] @@ -74,7 +74,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (14.0, 32.0, 50.0, 0.0)
[pixel shader] @@ -89,7 +89,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (30.0, 36.0, 42.0, 0.0)
[pixel shader] @@ -105,7 +105,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (50.0, 60.0, 70.0, 80.0)
[pixel shader] @@ -121,7 +121,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (50.0, 60.0, 70.0, 80.0)
[pixel shader] @@ -137,7 +137,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (10.0, 20.0, 30.0, 40.0)
[pixel shader] @@ -153,7 +153,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (10.0, 50.0, 90.0, 130.0)
[pixel shader] @@ -169,7 +169,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (10.0, 20.0, 30.0, 40.0)
[pixel shader] @@ -185,7 +185,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (10.0, 50.0, 90.0, 130.0)
[pixel shader] @@ -201,7 +201,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (90.0, 100.0, 110.0, 120.0)
[pixel shader] @@ -217,7 +217,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 10.0, 15.0, 20.0)
[pixel shader] @@ -233,7 +233,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -249,7 +249,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (30.0, 70.0, 110.0, 150.0)
[pixel shader] @@ -267,7 +267,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (83.0, 98.0, 113.0, 128.0)
[pixel shader] @@ -285,7 +285,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (78.0, 96.0, 114.0, 0.0)
@@ -300,7 +300,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (20.0, 14.0, 56.0, 41.0)
@@ -315,5 +315,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 11.0, 0.0, 0.0) diff --git a/tests/hlsl/multiple-rt.shader_test b/tests/hlsl/multiple-rt.shader_test index 59e4acbbe..c2d9cf89d 100644 --- a/tests/hlsl/multiple-rt.shader_test +++ b/tests/hlsl/multiple-rt.shader_test @@ -14,6 +14,6 @@ void main(out float4 o0 : sv_target0, out float4 o1 : sv_target1) }
[test] -draw quad +todo(sm<4) draw quad probe render target 0 all rgba (0.1, 0.2, 0.3, 0.4) probe render target 1 all rgba (0.5, 0.6, 0.7, 0.8) diff --git a/tests/hlsl/nested-arrays.shader_test b/tests/hlsl/nested-arrays.shader_test index c9ba186bd..b88920f70 100644 --- a/tests/hlsl/nested-arrays.shader_test +++ b/tests/hlsl/nested-arrays.shader_test @@ -21,5 +21,5 @@ uniform 8 float4 0.3 0.0 0.0 0.0 uniform 12 float4 0.4 0.0 0.0 0.0 uniform 16 float4 0.5 0.0 0.0 0.0 uniform 20 float4 0.6 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.1, 0.6, 0.3) diff --git a/tests/hlsl/non-const-indexing.shader_test b/tests/hlsl/non-const-indexing.shader_test index 3a1e12acc..4bf566df9 100644 --- a/tests/hlsl/non-const-indexing.shader_test +++ b/tests/hlsl/non-const-indexing.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 f[3]; uniform float2 i;
@@ -12,20 +12,20 @@ uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 5.0 6.0 7.0 8.0 uniform 8 float4 9.0 10.0 11.0 12.0 uniform 12 float4 0 0 0 0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0) uniform 12 float4 1 0 0 0 -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 6.0, 7.0, 8.0) uniform 12 float4 0 1 0 0 -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 6.0, 7.0, 8.0) uniform 12 float4 1 1 0 0 -draw quad +todo(sm<4) draw quad probe all rgba (9.0, 10.0, 11.0, 12.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float i;
float4 main() : SV_TARGET @@ -36,20 +36,20 @@ float4 main() : SV_TARGET
[test] uniform 0 float 0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (11.0, 11.0, 11.0, 11.0) uniform 0 float 1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (12.0, 12.0, 12.0, 12.0) uniform 0 float 2 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (13.0, 13.0, 13.0, 13.0) uniform 0 float 3 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (14.0, 14.0, 14.0, 14.0)
-[pixel shader] +[pixel shader todo(sm<4)] float i;
float4 main() : sv_target @@ -61,11 +61,11 @@ float4 main() : sv_target
[test] uniform 0 float 2.3 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (3, 3, 3, 3)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float i;
float4 main() : SV_TARGET @@ -77,20 +77,20 @@ float4 main() : SV_TARGET
[test] uniform 0 float 0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (21.0, 1.0, 24.0, 0.0) uniform 0 float 1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (22.0, 0.0, 23.0, 1.0) uniform 0 float 2 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (23.0, 1.0, 22.0, 0.0) uniform 0 float 3 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (24.0, 0.0, 21.0, 1.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2 i;
float4 main() : sv_target @@ -102,20 +102,20 @@ float4 main() : sv_target
[test] uniform 0 float4 0 0 0 0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (1.0, 2.0, 3.0, 4.0) uniform 0 float4 1 0 0 0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (5.0, 6.0, 7.0, 8.0) uniform 0 float4 0 1 0 0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (5.0, 6.0, 7.0, 8.0) uniform 0 float4 1 1 0 0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (9.0, 10.0, 11.0, 12.0)
-[pixel shader] +[pixel shader todo(sm<4)] float4 a;
float4 main() : sv_target @@ -130,7 +130,7 @@ float4 main() : sv_target
[test] uniform 0 float4 0 0 2.4 0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 120.0, 90.0, 4.0)
diff --git a/tests/hlsl/normalize.shader_test b/tests/hlsl/normalize.shader_test index 0fe0dea3c..eb0c68dd6 100644 --- a/tests/hlsl/normalize.shader_test +++ b/tests/hlsl/normalize.shader_test @@ -8,7 +8,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 3.0 4.0 5.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.272165537, 0.408248305, 0.544331074, 0.680413842) 2
[pixel shader] @@ -21,7 +21,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 3.0 4.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.371390700, 0.557086051, 0.742781401, 0.0) 1
[pixel shader] @@ -34,7 +34,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 3.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.554700196, 0.832050323, 0.0, 0.0) 1
[pixel shader] @@ -47,7 +47,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader] @@ -60,7 +60,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 2.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0)
[pixel shader fail] diff --git a/tests/hlsl/numeric-constructor-truncation.shader_test b/tests/hlsl/numeric-constructor-truncation.shader_test index f18b34d68..f8646ed73 100644 --- a/tests/hlsl/numeric-constructor-truncation.shader_test +++ b/tests/hlsl/numeric-constructor-truncation.shader_test @@ -6,7 +6,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (71.0, 72.0, 73.0, 75.0)
@@ -29,5 +29,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 5.0) diff --git a/tests/hlsl/numeric-types.shader_test b/tests/hlsl/numeric-types.shader_test index dfdd7a538..ac9f55373 100644 --- a/tests/hlsl/numeric-types.shader_test +++ b/tests/hlsl/numeric-types.shader_test @@ -6,7 +6,7 @@ vector main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
[pixel shader] @@ -17,7 +17,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
[pixel shader] @@ -28,7 +28,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 0.0)
[pixel shader fail] @@ -56,7 +56,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 6.0, 7.0, 8.0)
[pixel shader] @@ -68,7 +68,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 6.0, 7.0, 0.0)
[pixel shader fail(sm<6)] diff --git a/tests/hlsl/pow.shader_test b/tests/hlsl/pow.shader_test index d8f5eec9f..6c97c936d 100644 --- a/tests/hlsl/pow.shader_test +++ b/tests/hlsl/pow.shader_test @@ -8,7 +8,7 @@ float4 main() : sv_target
[test] uniform 0 float4 0.4 0.8 2.5 2.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.512, 0.101192884, 0.64, 0.25) 4
@@ -23,7 +23,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 32.0, 256.0, 125.0) 2
diff --git a/tests/hlsl/reflect.shader_test b/tests/hlsl/reflect.shader_test index 25890086b..4fed2cb03 100644 --- a/tests/hlsl/reflect.shader_test +++ b/tests/hlsl/reflect.shader_test @@ -10,7 +10,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.5 -0.1 0.2 0.3 uniform 4 float4 0.6 0.4 -0.3 1.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-0.1, -0.5, 0.5, -0.7) 4
[pixel shader] @@ -27,7 +27,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.5 0.0 0.0 0.0 uniform 4 float4 0.6 0.4 -0.3 1.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-0.52, -0.18, 1.01, -1.2) 4
[pixel shader] @@ -44,7 +44,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.5 -0.1 0.2 0.3 uniform 4 float4 0.6 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-0.148, -0.748, -0.448, -0.348) 4
[pixel shader] @@ -62,7 +62,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.5 0.0 0.0 0.0 uniform 4 float4 0.6 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.14, 0.14, 0.14, 0.14) 4
[pixel shader] @@ -79,7 +79,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.5 -0.1 0.0 0.0 uniform 4 float4 0.6 0.4 -0.3 1.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.188, -0.308, 0.0, 0.0) 4
[pixel shader] @@ -97,5 +97,5 @@ float4 main() : sv_target [test] uniform 0 float4 0.5 -0.1 0.2 0.0 uniform 4 float4 0.6 0.4 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.188, -0.308, 0.0, 0.0) 4 diff --git a/tests/hlsl/return-implicit-conversion.shader_test b/tests/hlsl/return-implicit-conversion.shader_test index 7070b28ae..ce3fa0153 100644 --- a/tests/hlsl/return-implicit-conversion.shader_test +++ b/tests/hlsl/return-implicit-conversion.shader_test @@ -5,7 +5,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.1)
[pixel shader] @@ -15,7 +15,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.1)
[pixel shader] @@ -25,7 +25,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.1)
[pixel shader] @@ -35,7 +35,7 @@ float4x1 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.1)
[pixel shader] @@ -50,7 +50,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader] @@ -65,7 +65,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader] @@ -80,7 +80,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader] @@ -95,7 +95,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader fail] @@ -132,7 +132,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader] @@ -147,7 +147,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader] @@ -162,7 +162,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader fail(sm<6) todo] @@ -188,7 +188,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader fail] @@ -214,7 +214,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0)
[pixel shader fail] @@ -240,5 +240,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.2, 0.0) diff --git a/tests/hlsl/return.shader_test b/tests/hlsl/return.shader_test index fbea07926..900d831e0 100644 --- a/tests/hlsl/return.shader_test +++ b/tests/hlsl/return.shader_test @@ -9,7 +9,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
[pixel shader] @@ -22,11 +22,10 @@ void main(out float4 ret : sv_target) }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
float4 main() : sv_target @@ -38,14 +37,13 @@ float4 main() : sv_target
[test] uniform 0 float 0.2 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4) uniform 0 float 0.8 -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.6, 0.7, 0.8)
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
void main(out float4 ret : sv_target) @@ -65,14 +63,13 @@ void main(out float4 ret : sv_target)
[test] uniform 0 float 0.2 -draw quad +todo(sm<4) draw quad probe all rgba (0.3, 0.4, 0.5, 0.6) uniform 0 float 0.8 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
void main(out float4 ret : sv_target) @@ -92,17 +89,16 @@ void main(out float4 ret : sv_target)
[test] uniform 0 float 0.1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4) 1 uniform 0 float 0.5 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.2, 0.3, 0.4, 0.5) 1 uniform 0 float 0.9 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.5, 0.6, 0.7, 0.8) 1
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
void main(out float4 ret : sv_target) @@ -119,17 +115,16 @@ void main(out float4 ret : sv_target)
[test] uniform 0 float 0.1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4) 1 uniform 0 float 0.5 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.5, 0.6, 0.7, 0.8) 1 uniform 0 float 0.9 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.4, 0.5, 0.6, 0.7) 1
-[pixel shader] - +[pixel shader todo(sm<4)] void main(out float4 ret : sv_target) { ret = float4(0.1, 0.2, 0.3, 0.4); @@ -143,11 +138,10 @@ void main(out float4 ret : sv_target) }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.2, 0.4, 0.6, 0.8)
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
void main(out float4 ret : sv_target) @@ -166,27 +160,26 @@ void main(out float4 ret : sv_target)
[test] uniform 0 float 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.1, 0.1, 0.1, 0.1) 1
uniform 0 float 0.1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.2, 0.2, 0.2, 0.2) 1
uniform 0 float 0.3 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.4, 0.4, 0.4, 0.4) 1
uniform 0 float 0.7 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.8, 0.8, 0.8, 0.8) 1
uniform 0 float 0.9 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.9, 0.9, 0.9, 0.9) 1
-[pixel shader] - +[pixel shader todo(sm<4)] uniform float f;
void main(out float4 ret : sv_target) @@ -211,13 +204,13 @@ void main(out float4 ret : sv_target)
[test] uniform 0 float 0.2 -draw quad +todo(sm<4) draw quad probe all rgba (0.2, 0.2, 0.2, 0.2) uniform 0 float 0.8 -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.5, 0.5, 0.5)
-[pixel shader] +[pixel shader todo(sm<4)]
uniform float4 f[3];
@@ -243,21 +236,21 @@ void main(out float4 ret : sv_target) uniform 0 float4 0.3 0.0 0.0 0.0 uniform 4 float4 0.0 0.0 0.0 0.0 uniform 8 float4 0.1 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.1, 0.1, 0.1, 0.1) 1
uniform 4 float4 0.35 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.2, 0.2, 0.2, 0.2) 1
uniform 8 float4 0.5 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.4, 0.4, 0.4, 0.4) 1
uniform 0 float4 1.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.4, 0.4, 0.4, 0.4) 1
uniform 4 float4 2.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad todo(sm>=6) probe all rgba (0.9, 0.9, 0.9, 0.9) 1 diff --git a/tests/hlsl/round.shader_test b/tests/hlsl/round.shader_test index 2a32b3ec2..61c12621a 100644 --- a/tests/hlsl/round.shader_test +++ b/tests/hlsl/round.shader_test @@ -8,12 +8,12 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.4 -6.6 7.6 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.0, -7.0, 8.0, 3.0) 4
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -26,12 +26,12 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.4 -6.6 7.6 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-7.0, 8.0, 0.0, 3.0) 4
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -42,5 +42,5 @@ float4 main() : sv_target
[test] uniform 0 float4 -1 0 2 10 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-1.0, 0.0, 2.0, 10.0) 4 diff --git a/tests/hlsl/sample-bias.shader_test b/tests/hlsl/sample-bias.shader_test index e56945d06..f471d8cb7 100644 --- a/tests/hlsl/sample-bias.shader_test +++ b/tests/hlsl/sample-bias.shader_test @@ -17,7 +17,7 @@ void main(out float2 tex : texcoord, inout float4 pos : sv_position) tex = pos.xy; }
-[pixel shader] +[pixel shader todo(sm<4)] sampler s; Texture2D t; uniform float bias; @@ -31,13 +31,13 @@ float4 main(float2 coord : texcoord) : sv_target
[test] uniform 0 float4 6.5 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (10.0, 0.0, 10.0, 0.0)
uniform 0 float4 7.5 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (4.0, 0.0, 10.0, 0.0)
uniform 0 float4 8.5 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.0, 0.0, 10.0, 0.0) diff --git a/tests/hlsl/sample-level.shader_test b/tests/hlsl/sample-level.shader_test index 8b2890ff7..576662e8e 100644 --- a/tests/hlsl/sample-level.shader_test +++ b/tests/hlsl/sample-level.shader_test @@ -14,7 +14,7 @@ levels 2
0.0 0.0 1.0 0.0
-[pixel shader] +[pixel shader todo(sm<4)] sampler s; Texture2D t; uniform float level; @@ -26,13 +26,13 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 0.0, 1.0, 0.0) uniform 0 float4 0.5 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.5, 0.0, 1.0, 0.0) uniform 0 float4 1.0 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.0, 0.0, 1.0, 0.0)
[require] @@ -50,11 +50,11 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 0.0, 1.0, 0.0) uniform 0 float4 0.5 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.0, 1.0, 0.0) uniform 0 float4 1.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 1.0, 0.0) diff --git a/tests/hlsl/sampler.shader_test b/tests/hlsl/sampler.shader_test index caff7b2fa..9a5fa6df4 100644 --- a/tests/hlsl/sampler.shader_test +++ b/tests/hlsl/sampler.shader_test @@ -7,7 +7,7 @@ size (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
-[pixel shader] +[pixel shader todo(sm<4)] sampler s; Texture2D t;
@@ -17,10 +17,10 @@ float4 main() : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.25, 0, 0.25, 0)
-[pixel shader] +[pixel shader todo(sm<4)] SamplerState s; Texture2D t;
@@ -30,7 +30,7 @@ float4 main() : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.25, 0, 0.25, 0)
[pixel shader fail] diff --git a/tests/hlsl/saturate.shader_test b/tests/hlsl/saturate.shader_test index 2ed83cf66..ab8276fbb 100644 --- a/tests/hlsl/saturate.shader_test +++ b/tests/hlsl/saturate.shader_test @@ -8,10 +8,10 @@ float4 main() : sv_target
[test] uniform 0 float4 0.7 -0.1 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.7, 0.0, 1.0, 0.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -22,5 +22,5 @@ float4 main() : sv_target
[test] uniform 0 float4 -2 0 2 -1 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.0, 0.0, 1.0, 0.0) diff --git a/tests/hlsl/shape.shader_test b/tests/hlsl/shape.shader_test index b96f0fd22..cb898c1e7 100644 --- a/tests/hlsl/shape.shader_test +++ b/tests/hlsl/shape.shader_test @@ -7,7 +7,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (3.0, 0.0, 0.0, 0.0)
[pixel shader] @@ -19,7 +19,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 0.0, 0.0)
[pixel shader] @@ -31,7 +31,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader] @@ -43,7 +43,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 0.0, 0.0)
[pixel shader] @@ -55,7 +55,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 2.0, 0.0, 0.0)
[pixel shader] @@ -67,7 +67,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader] @@ -79,7 +79,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader] @@ -93,7 +93,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 7.0, 9.0)
[pixel shader] @@ -107,7 +107,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 7.0, 9.0)
[pixel shader] @@ -122,7 +122,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -137,7 +137,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -152,7 +152,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 7.0, 12.0, 17.0)
[pixel shader] @@ -167,7 +167,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 7.0, 12.0, 17.0)
[pixel shader] @@ -183,7 +183,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 0.0)
[pixel shader] @@ -199,7 +199,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (9.0, 11.0, 13.0, 0.0)
[pixel shader] @@ -211,7 +211,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -223,7 +223,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -235,7 +235,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -247,7 +247,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -260,7 +260,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -273,7 +273,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 6.0, 8.0)
[pixel shader] @@ -285,7 +285,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader] @@ -297,7 +297,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader] @@ -309,7 +309,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 0.0, 0.0)
[pixel shader] @@ -321,7 +321,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 4.0, 0.0, 0.0)
[pixel shader] @@ -336,7 +336,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 4.0, 5.0)
[pixel shader] @@ -351,5 +351,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (6.0, 7.0, 8.0, 9.0) diff --git a/tests/hlsl/side-effects.shader_test b/tests/hlsl/side-effects.shader_test index f41e98510..61b743db0 100644 --- a/tests/hlsl/side-effects.shader_test +++ b/tests/hlsl/side-effects.shader_test @@ -7,7 +7,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0)
@@ -23,7 +23,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (11.0, 11.0, 11.0, 11.0)
@@ -48,5 +48,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.2, 2.2, 2.2, 2.2) diff --git a/tests/hlsl/sign.shader_test b/tests/hlsl/sign.shader_test index 5d8b43168..6ec5a571d 100644 --- a/tests/hlsl/sign.shader_test +++ b/tests/hlsl/sign.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float f;
float4 main() : sv_target @@ -8,16 +8,16 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0) uniform 0 float4 -1.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (-1.0, -1.0, -1.0, -1.0) uniform 0 float4 0.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 0.0, 0.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 f;
float4 main() : sv_target @@ -27,10 +27,10 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 2.0 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float2x2 f;
float4 main() : sv_target @@ -41,14 +41,14 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 0.0 0.0 uniform 4 float4 3.0 4.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 1.0)
[require] % SM1-3 doesn't support integral types shader model >= 4.0
-[pixel shader] +[pixel shader todo(sm<4)] uniform int f;
float4 main() : sv_target @@ -67,7 +67,7 @@ uniform 0 int4 0 0 0 0 draw quad probe all rgba (0, 0, 0, 0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform int4 f;
float4 main() : sv_target @@ -80,7 +80,7 @@ uniform 0 int4 1 2 3 4 draw quad probe all rgba (1, 1, 1, 1)
-[pixel shader] +[pixel shader todo(sm<4)] uniform int2x2 f;
float4 main() : sv_target diff --git a/tests/hlsl/single-numeric-initializer.shader_test b/tests/hlsl/single-numeric-initializer.shader_test index 3b348d6fc..b52aec341 100644 --- a/tests/hlsl/single-numeric-initializer.shader_test +++ b/tests/hlsl/single-numeric-initializer.shader_test @@ -6,7 +6,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (7.0, 7.0, 7.0, 7.0)
@@ -22,5 +22,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (7.0, 7.0, 7.0, 8.0) diff --git a/tests/hlsl/smoothstep.shader_test b/tests/hlsl/smoothstep.shader_test index 971f6d5d8..d3c54b155 100644 --- a/tests/hlsl/smoothstep.shader_test +++ b/tests/hlsl/smoothstep.shader_test @@ -11,7 +11,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0, 0.784, 1.0, 0.559872) 1
@@ -26,7 +26,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0, 0.104, 0.896, 1.000000) 6
@@ -41,7 +41,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 0.352, 0, 0) 1
@@ -57,7 +57,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.352, 0.352, 0, 0) 1
@@ -73,7 +73,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.352, 0.352, 0, 0) 1
@@ -89,7 +89,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 0, 0) 1
@@ -105,11 +105,11 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.028, 0.104, 0.216, 0.352) 6
-[pixel shader] +[pixel shader todo(sm<4)] // 4 division by zero warnings. // Only test compilation because result is implementation-dependent. float4 main() : sv_target @@ -134,7 +134,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.5, 0.5, 0.0)
@@ -150,7 +150,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.5, 0.5, 0.5)
diff --git a/tests/hlsl/sqrt.shader_test b/tests/hlsl/sqrt.shader_test index 73ecba899..574fb0e39 100644 --- a/tests/hlsl/sqrt.shader_test +++ b/tests/hlsl/sqrt.shader_test @@ -8,7 +8,7 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 9.0 32.3 46.5 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 3.0, 5.683309, 6.819091) 1
[pixel shader] @@ -21,5 +21,5 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 9.0 4.0 16.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1.0, 0.33333333, 0.5, 0.25) 1 diff --git a/tests/hlsl/state-block-syntax.shader_test b/tests/hlsl/state-block-syntax.shader_test index 7df3ae7c9..9eb01a202 100644 --- a/tests/hlsl/state-block-syntax.shader_test +++ b/tests/hlsl/state-block-syntax.shader_test @@ -169,5 +169,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0, 1, 0, 1) diff --git a/tests/hlsl/static-initializer.shader_test b/tests/hlsl/static-initializer.shader_test index 217444308..4e2b6803b 100644 --- a/tests/hlsl/static-initializer.shader_test +++ b/tests/hlsl/static-initializer.shader_test @@ -12,11 +12,12 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.8, 0.0, 0.0, 0.0)
[pixel shader fail(sm<6)] +// On SM1 this gives hr 0x88760b59. static uint i;
float4 main() : sv_target @@ -51,7 +52,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
@@ -135,7 +136,7 @@ float4 main(Texture2D tex2) : sv_target }
-[pixel shader] +[pixel shader todo(sm<4)] Texture2D real_tex; static Texture2D tex = real_tex; sampler sam; @@ -146,11 +147,11 @@ float4 main() : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1, 2, 3, 4)
-[pixel shader] +[pixel shader todo(sm<4)] Texture2D real_tex; static Texture2D tex; sampler sam; @@ -162,7 +163,7 @@ float4 main() : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1, 2, 3, 4)
diff --git a/tests/hlsl/step.shader_test b/tests/hlsl/step.shader_test index e201e15f9..583b3ba12 100644 --- a/tests/hlsl/step.shader_test +++ b/tests/hlsl/step.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 f, p;
float4 main() : sv_target @@ -9,7 +9,7 @@ float4 main() : sv_target [test] uniform 0 float4 5.0 -2.6 3.0 2.0 uniform 4 float4 1.0 -4.3 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 0.0, 1.0, 1.0)
@@ -23,7 +23,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 1.0, 1.0, 0.0)
@@ -51,5 +51,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.0, 1.0, 1.0, 0.0) diff --git a/tests/hlsl/storage-qualifiers.shader_test b/tests/hlsl/storage-qualifiers.shader_test index 86cea4713..ce0ba9059 100644 --- a/tests/hlsl/storage-qualifiers.shader_test +++ b/tests/hlsl/storage-qualifiers.shader_test @@ -17,7 +17,7 @@ void main(in uniform float4 a, uniform float4 b, out float4 o : sv_target) [test] uniform 0 float4 0.1 0.0 0.0 0.0 uniform 4 float4 0.2 0.0 0.0 0.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
[pixel shader] @@ -42,5 +42,5 @@ void main(out float4 o : sv_target) [test] uniform 0 float4 0.1 0.0 0.0 0.0 uniform 4 float4 0.2 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4) diff --git a/tests/hlsl/struct-assignment.shader_test b/tests/hlsl/struct-assignment.shader_test index ea55b9ad2..8e2232992 100644 --- a/tests/hlsl/struct-assignment.shader_test +++ b/tests/hlsl/struct-assignment.shader_test @@ -19,5 +19,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.6, 0.3, 0.7, 0.9) 1 diff --git a/tests/hlsl/struct-semantics.shader_test b/tests/hlsl/struct-semantics.shader_test index 43b07bb86..8c07d2455 100644 --- a/tests/hlsl/struct-semantics.shader_test +++ b/tests/hlsl/struct-semantics.shader_test @@ -48,5 +48,5 @@ struct output main(struct input i) }
[test] -draw triangle strip 4 +todo(sm<4) draw triangle strip 4 probe all rgba (0.0, 1.0, 0.0, 1.0) diff --git a/tests/hlsl/swizzle-matrix.shader_test b/tests/hlsl/swizzle-matrix.shader_test index 740d4d904..bf8015a01 100644 --- a/tests/hlsl/swizzle-matrix.shader_test +++ b/tests/hlsl/swizzle-matrix.shader_test @@ -9,7 +9,7 @@ float4 main() : sv_target [test] uniform 0 float4 11 21 31 -1 uniform 4 float4 12 22 32 -1 -draw quad +todo(sm<4) draw quad probe all rgba (21.0, 31.0, 11.0, 12.0)
@@ -24,7 +24,7 @@ float4 main() : sv_target [test] uniform 0 float4 11 21 31 -1 uniform 4 float4 12 22 32 -1 -draw quad +todo(sm<4) draw quad probe all rgba (11.0, 31.0, 12.0, 32.0)
@@ -40,7 +40,7 @@ float4 main() : sv_target uniform 0 float4 11 12 -1 -1 uniform 4 float4 21 22 -1 -1 uniform 8 float4 31 32 -1 -1 -draw quad +todo(sm<4) draw quad probe all rgba (11.0, 31.0, 12.0, 32.0)
@@ -54,7 +54,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 6.0, 1.0, 6.0)
@@ -151,7 +151,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (40.0, 40.0, 40.0, 40.0)
diff --git a/tests/hlsl/swizzles.shader_test b/tests/hlsl/swizzles.shader_test index c3d3343f3..545a906da 100644 --- a/tests/hlsl/swizzles.shader_test +++ b/tests/hlsl/swizzles.shader_test @@ -11,7 +11,7 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0303 0.08 0.07 0.0202 -draw quad +todo(sm<4) draw quad probe all rgba (0.0101, 0.0303, 0.0202, 0.0404)
@@ -24,7 +24,7 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.6, 0.3, 0.5)
@@ -37,7 +37,7 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.4, 0.3, 0.1, 0.2)
@@ -53,7 +53,7 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.3, 0.2, 0.4, 0.1)
@@ -68,7 +68,7 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.4, 0.3)
@@ -80,7 +80,7 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.4, 0.4, 0.1)
@@ -94,7 +94,7 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.3, 0.1, 0.4, 0.2)
@@ -107,7 +107,7 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.1, 0.2, 0.3, 0.4)
@@ -120,7 +120,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (20.0, 20.0, 20.0, 20.0)
@@ -133,7 +133,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 3.0)
@@ -149,7 +149,7 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 2.0 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
@@ -166,5 +166,5 @@ float4 main() : sv_target
[test] uniform 0 float4 1.0 2.0 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 4.0, 2.0, 3.0) diff --git a/tests/hlsl/ternary.shader_test b/tests/hlsl/ternary.shader_test index 7b4c71f7b..b24c62067 100644 --- a/tests/hlsl/ternary.shader_test +++ b/tests/hlsl/ternary.shader_test @@ -8,10 +8,10 @@ float4 main() : sv_target
[test] uniform 0 float4 2.0 3.0 4.0 5.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (2.0, 3.0, 4.0, 5.0) uniform 0 float4 0.0 10.0 11.0 12.0 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-1.0, 9.0, 10.0, 11.0)
[pixel shader] @@ -29,7 +29,7 @@ float4 main() : sv_target
[test] uniform 0 float4 1.1 3.0 4.0 5.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.1, 2.0, 0.0, 0.0)
[pixel shader] @@ -47,7 +47,7 @@ shader model < 6.0
[test] uniform 0 float4 1.0 0.0 0.0 0.0 -draw quad +todo(sm<4) draw quad probe all rgba (0.5, 0.6, 0.7, 0.0)
[require] @@ -74,5 +74,5 @@ float4 main() : sv_target uniform 0 float4 0.0 1.0 0.0 -3.0 uniform 4 float4 1.0 2.0 3.0 4.0 uniform 8 float4 5.0 6.0 7.0 8.0 -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 2.0, 7.0, 4.0) diff --git a/tests/hlsl/transpose.shader_test b/tests/hlsl/transpose.shader_test index 83852fa1a..174ff08f6 100644 --- a/tests/hlsl/transpose.shader_test +++ b/tests/hlsl/transpose.shader_test @@ -5,7 +5,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 5.0, 5.0, 5.0)
@@ -18,7 +18,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (5.0, 5.0, 5.0, 5.0)
@@ -39,7 +39,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 3.0, 4.0)
@@ -55,7 +55,7 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 5.0, 8.0, 11.0)
@@ -71,5 +71,5 @@ float4 main() : sv_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 5.0, 8.0, 11.0) diff --git a/tests/hlsl/trigonometry.shader_test b/tests/hlsl/trigonometry.shader_test index f52d01dea..077d1832b 100644 --- a/tests/hlsl/trigonometry.shader_test +++ b/tests/hlsl/trigonometry.shader_test @@ -4,7 +4,7 @@ void main(out float tex : texcoord, inout float4 pos : sv_position) tex = (pos.x + 1) * 320; }
-[pixel shader] +[pixel shader todo(sm<4)] float4 main(float tex : texcoord) : sv_target { tex = floor(tex + 0.25); @@ -12,7 +12,7 @@ float4 main(float tex : texcoord) : sv_target }
[test] -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe ( 0, 0) rgba ( 0.00000000, 1.00000000, 0.00000000, 0.0) probe ( 1, 0) rgba ( 0.84147098, 0.54030231, 1.55740772, 0.0) 1024 probe ( 2, 0) rgba ( 0.90929743, -0.41614684, -2.18503986, 0.0) 1024 @@ -31,7 +31,7 @@ probe (14, 0) rgba ( 0.99060736, 0.13673722, 7.24460662, 0.0) 1024 probe (15, 0) rgba ( 0.65028784, -0.75968791, -0.85599340, 0.0) 1024
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 a;
float4 main() : sv_target @@ -41,11 +41,11 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 0.52359877 2.61799387 3.14159265 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.0, 500.0, 500.0, 0.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 a;
float4 main() : sv_target @@ -55,11 +55,11 @@ float4 main() : sv_target
[test] uniform 0 float4 0.0 0.78539816 1.57079632 2.35619449 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (1000.0, 707.0, -0.0, -707.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 a;
float4 main() : sv_target @@ -71,5 +71,5 @@ float4 main() : sv_target % tan(pi/2) is an asymtote and therefore undefined % so check 0, pi/4, 3pi/4, pi uniform 0 float4 0.0 0.78539816 2.35619449 3.14159265 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0, 1000, -1000.0, 0) diff --git a/tests/hlsl/trunc.shader_test b/tests/hlsl/trunc.shader_test index a359cd03a..2f1619b87 100644 --- a/tests/hlsl/trunc.shader_test +++ b/tests/hlsl/trunc.shader_test @@ -1,4 +1,4 @@ -[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -8,13 +8,13 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.5 6.5 7.5 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.0, 6.0, 7.0, 3.0) uniform 0 float4 -1.5 6.5 7.5 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (-1.0, 6.0, 7.0, 3.0)
-[pixel shader] +[pixel shader todo(sm<4)] uniform float4 u;
float4 main() : sv_target @@ -27,7 +27,7 @@ float4 main() : sv_target
[test] uniform 0 float4 -0.5 6.5 7.5 3.4 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (6.0, 7.0, 0.0, 3.0)
[require] diff --git a/tests/hlsl/type-names.shader_test b/tests/hlsl/type-names.shader_test index 6e88fd285..a9d236a3f 100644 --- a/tests/hlsl/type-names.shader_test +++ b/tests/hlsl/type-names.shader_test @@ -37,7 +37,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 3.0, 4.0, 5.0)
% The "dword" alias is pre-defined as lowercase diff --git a/tests/hlsl/uniform-semantics.shader_test b/tests/hlsl/uniform-semantics.shader_test index 1125117fe..8354910ed 100644 --- a/tests/hlsl/uniform-semantics.shader_test +++ b/tests/hlsl/uniform-semantics.shader_test @@ -10,7 +10,7 @@ float4 main() : sv_target
[test] uniform 0 float 3.5 -draw quad +todo(sm<4) draw quad probe all rgba (3.5, 3.5, 3.5, 3.5)
@@ -24,5 +24,5 @@ float4 main() : sv_target
[test] uniform 0 float4 4.0 5.0 6.0 7.0 -draw quad +todo(sm<4) draw quad probe all rgba (4.0, 5.0, 4.0, 5.0) diff --git a/tests/hlsl/vector-indexing-uniform.shader_test b/tests/hlsl/vector-indexing-uniform.shader_test index 3501f3af7..8cd790c7e 100644 --- a/tests/hlsl/vector-indexing-uniform.shader_test +++ b/tests/hlsl/vector-indexing-uniform.shader_test @@ -1,6 +1,6 @@ % Use a uniform to prevent the compiler from optimizing.
-[pixel shader] +[pixel shader todo(sm<4)] uniform float i; float4 main() : SV_TARGET { @@ -12,5 +12,5 @@ float4 main() : SV_TARGET
[test] uniform 0 float 2 -todo(sm>=6) draw quad +todo(sm<4 | sm>=6) draw quad probe all rgba (0.5, 0.3, 0.8, 0.2) diff --git a/tests/hlsl/vector-indexing.shader_test b/tests/hlsl/vector-indexing.shader_test index 9f6f9a2ca..0f70f7d33 100644 --- a/tests/hlsl/vector-indexing.shader_test +++ b/tests/hlsl/vector-indexing.shader_test @@ -10,7 +10,7 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (0.02, 0.245, 0.351, 1.0)
[pixel shader] @@ -23,7 +23,7 @@ float4 main() : SV_TARGET
[test] uniform 0 float4 1.0 2.0 3.0 4.0 -draw quad +todo(sm<4) draw quad probe all rgba (1.0, 2.0, 2.0, 3.0)
@@ -47,5 +47,5 @@ float4 main() : SV_TARGET }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.0, 2.0, 2.0, 2.0) diff --git a/tests/hlsl/writemask-assignop-0.shader_test b/tests/hlsl/writemask-assignop-0.shader_test index 374a38bb4..5576cc231 100644 --- a/tests/hlsl/writemask-assignop-0.shader_test +++ b/tests/hlsl/writemask-assignop-0.shader_test @@ -11,5 +11,5 @@ float4 main() : SV_target
[test] uniform 0 float4 0.0303 0.08 0.07 0.0202 -draw quad +todo(sm<4) draw quad probe all rgba (-0.4697, -0.02, 0.57, 0.3202) 2 diff --git a/tests/hlsl/writemask-assignop-1.shader_test b/tests/hlsl/writemask-assignop-1.shader_test index 61993257c..a43121161 100644 --- a/tests/hlsl/writemask-assignop-1.shader_test +++ b/tests/hlsl/writemask-assignop-1.shader_test @@ -12,5 +12,5 @@ float4 main() : SV_target
[test] uniform 0 float4 0.0303 0.08 0.07 0.0202 -draw quad +todo(sm<4) draw quad probe all rgba (0.5697, -0.08, -0.27, -0.4202) diff --git a/tests/hlsl/writemask-assignop-2.shader_test b/tests/hlsl/writemask-assignop-2.shader_test index 4e905e677..7b5adb1a6 100644 --- a/tests/hlsl/writemask-assignop-2.shader_test +++ b/tests/hlsl/writemask-assignop-2.shader_test @@ -9,5 +9,5 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (2.1, 2.2, 0.8, 1.7) diff --git a/tests/hlsl/writemask-assignop-3.shader_test b/tests/hlsl/writemask-assignop-3.shader_test index 90957cb00..5636f380b 100644 --- a/tests/hlsl/writemask-assignop-3.shader_test +++ b/tests/hlsl/writemask-assignop-3.shader_test @@ -7,5 +7,5 @@ float4 main() : SV_target }
[test] -draw quad +todo(sm<4) draw quad probe all rgba (1.9, 1.8, 1.7, 1.6) diff --git a/tests/shader_runner.c b/tests/shader_runner.c index 1e15fbfa9..ab02e9703 100644 --- a/tests/shader_runner.c +++ b/tests/shader_runner.c @@ -969,8 +969,13 @@ unsigned int get_vb_stride(const struct shader_runner *runner, unsigned int slot return stride; }
-static HRESULT map_unidentified_hrs(HRESULT hr) +static HRESULT map_special_hrs(HRESULT hr) { + if (hr == 0x88760b59) + { + trace("Mapping hr %#x (D3DXERR_INVALIDDATA) as %#x.\n", hr, E_FAIL); + return E_FAIL; + } if (hr == 0x80010064) { trace("Mapping unidentified hr %#x as %#x.\n", hr, E_FAIL); @@ -1117,8 +1122,8 @@ static void compile_shader(struct shader_runner *runner, IDxcCompiler3 *dxc_comp
static const char *const shader_models[] = { - [SHADER_MODEL_2_0] = "4_0", - [SHADER_MODEL_3_0] = "4_0", + [SHADER_MODEL_2_0] = "2_0", + [SHADER_MODEL_3_0] = "3_0", [SHADER_MODEL_4_0] = "4_0", [SHADER_MODEL_4_1] = "4_1", [SHADER_MODEL_5_0] = "5_0", @@ -1147,7 +1152,7 @@ static void compile_shader(struct shader_runner *runner, IDxcCompiler3 *dxc_comp sprintf(profile, "%s_%s", shader_type_string(type), shader_models[runner->minimum_shader_model]); hr = D3DCompile(source, len, NULL, NULL, NULL, "main", profile, runner->compile_options, 0, &blob, &errors); } - hr = map_unidentified_hrs(hr); + hr = map_special_hrs(hr); ok(hr == expect, "Got unexpected hr %#x.\n", hr); if (hr == S_OK) { diff --git a/tests/shader_runner_vulkan.c b/tests/shader_runner_vulkan.c index 47daf540e..098f3772f 100644 --- a/tests/shader_runner_vulkan.c +++ b/tests/shader_runner_vulkan.c @@ -395,8 +395,8 @@ static bool compile_shader(const struct vulkan_shader_runner *runner, const char
static const char *const shader_models[] = { - [SHADER_MODEL_2_0] = "4_0", - [SHADER_MODEL_3_0] = "4_0", + [SHADER_MODEL_2_0] = "2_0", + [SHADER_MODEL_3_0] = "3_0", [SHADER_MODEL_4_0] = "4_0", [SHADER_MODEL_4_1] = "4_1", [SHADER_MODEL_5_0] = "5_0", @@ -407,7 +407,11 @@ static bool compile_shader(const struct vulkan_shader_runner *runner, const char info.source.code = source; info.source.size = strlen(source); info.source_type = VKD3D_SHADER_SOURCE_HLSL; - info.target_type = VKD3D_SHADER_TARGET_DXBC_TPF; + if (runner->r.minimum_shader_model < SHADER_MODEL_4_0) + info.target_type = VKD3D_SHADER_TARGET_D3D_BYTECODE; + else + info.target_type = VKD3D_SHADER_TARGET_DXBC_TPF; + info.log_level = VKD3D_SHADER_LOG_WARNING;
info.options = options; @@ -451,7 +455,10 @@ static bool compile_shader(const struct vulkan_shader_runner *runner, const char
info.next = &spirv_info; info.source = *dxbc; - info.source_type = VKD3D_SHADER_SOURCE_DXBC_TPF; + if (runner->r.minimum_shader_model < SHADER_MODEL_4_0) + info.source_type = VKD3D_SHADER_SOURCE_D3D_BYTECODE; + else + info.source_type = VKD3D_SHADER_SOURCE_DXBC_TPF; info.target_type = VKD3D_SHADER_TARGET_SPIRV_BINARY;
spirv_info.next = &interface_info; @@ -1384,8 +1391,11 @@ void run_shader_tests_vulkan(void) if (!init_vulkan_runner(&runner)) return;
- trace("Compiling shaders with vkd3d-shader and executing with Vulkan\n"); - run_shader_tests(&runner.r, &vulkan_runner_ops, NULL, SHADER_MODEL_2_0, SHADER_MODEL_5_1); + trace("Compiling SM1 shaders with vkd3d-shader and executing with Vulkan\n"); + run_shader_tests(&runner.r, &vulkan_runner_ops, NULL, SHADER_MODEL_2_0, SHADER_MODEL_3_0); + + trace("Compiling SM4 shaders with vkd3d-shader and executing with Vulkan\n"); + run_shader_tests(&runner.r, &vulkan_runner_ops, NULL, SHADER_MODEL_4_0, SHADER_MODEL_5_1);
cleanup_vulkan_runner(&runner); }