diff --git a/Makefile.am b/Makefile.am index b5e77f4e..ecb7c7e2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -94,6 +94,7 @@ vkd3d_shader_tests = \ tests/hlsl/function.shader_test \ tests/hlsl/gather-offset.shader_test \ tests/hlsl/gather.shader_test \ + tests/hlsl/getdimensions.shader_test \ tests/hlsl/initializer-flatten.shader_test \ tests/hlsl/initializer-implicit-array.shader_test \ tests/hlsl/initializer-invalid-arg-count.shader_test \ diff --git a/tests/hlsl/getdimensions.shader_test b/tests/hlsl/getdimensions.shader_test new file mode 100644 index 00000000..f8cf8b71 --- /dev/null +++ b/tests/hlsl/getdimensions.shader_test @@ -0,0 +1,57 @@ +[require] +shader model >= 4.0 + +[texture 0] +size (2, 3) + +1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 +1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 + +[pixel shader todo] +Texture2D t : register(t0); + +float4 main() : sv_target +{ + uint u1, u2; + float f1, f2; + float4 ret; + + t.GetDimensions(u1, u2); + t.GetDimensions(f1, f2); + ret.x = u1; + ret.y = f2; + t.GetDimensions(u1, f2); + ret.z = u1; + t.GetDimensions(f1, u2); + ret.w = u2; + return ret; +} + +[test] +todo draw quad +todo probe all rgba (2.0, 3.0, 2.0, 3.0) + +[texture 1] +size (2, 2) +levels 2 + +1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 +1.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 + +0.0 0.0 1.0 0.0 + +[pixel shader todo] +Texture2D t : register(t1); + +float4 main() : sv_target +{ + float4 ret; + + t.GetDimensions(ret.x, ret.y); + t.GetDimensions(1, ret.z, ret.z, ret.w); + return ret; +} + +[test] +todo draw quad +todo probe all rgba (2.0, 2.0, 1.0, 2.0)