[pixel shader] uniform float4 x; uniform float4 y; float4 main() : sv_target { return distance(x, y); } [test] uniform 0 float4 -2.0 3.0 4.0 0.1 uniform 4 float4 2.0 -1.0 4.0 5.0 todo(glsl) draw quad probe (0, 0) rgba (7.483983, 7.483983, 7.483983, 7.483983) 1 [pixel shader] uniform int4 x; uniform int4 y; float4 main() : sv_target { return distance(x, y); } [pixel shader] uniform float4 src0; uniform float4 src1; float4 main() : SV_TARGET { return dst(src0, src1); } [test] uniform 0 float4 16 32 48 64 uniform 4 float4 1.0 0.5 0.25 0.125 todo(glsl) draw quad probe (0, 0) rgba (1.0, 16.0, 48.0, 0.125) [pixel shader] float4 main() : SV_TARGET { return dst(int4(1, 2, 3, 4), int4(20, 40, 60, 80)); } [test] todo(glsl | sm>=6) draw quad probe (0, 0) rgba (1.0, 80.0, 3.0, 80.0) [pixel shader] float4 main() : SV_TARGET { return dst(76.0, 4.0); } [test] todo(glsl) draw quad probe (0, 0) rgba (1.0, 304.0, 76.0, 4.0) [pixel shader fail] float4 main() : SV_TARGET { float2 bad_size = 0; dst(bad_size, bad_size); return float4(1, 2, 3, 4); } [pixel shader fail] float4 main() : SV_TARGET { float4x4 bad_size = 0; dst(bad_size, bad_size); return float4(1, 2, 3, 4); } [pixel shader fail] float4 main() : SV_TARGET { float4x1 bad_size = 0; dst(bad_size, bad_size); return float4(1, 2, 3, 4); } [pixel shader fail] float4 main() : SV_TARGET { float1x4 bad_size = 0; dst(bad_size, bad_size); return float4(1, 2, 3, 4); } [pixel shader fail] float4 main() : SV_TARGET { float1x1 bad_size = 0; dst(bad_size, bad_size); return float4(1, 2, 3, 4); } [pixel shader fail] float4 main() : SV_TARGET { float1 bad_size = 0; dst(bad_size, bad_size); return float4(1, 2, 3, 4); }