[pixel shader fail(sm<2)] uniform float2 u; float4 main() : sv_target { return float4(abs(u), abs(u.x - 0.5), abs(-0.4)); } [test] uniform 0 float4 0.1 0.7 0.0 0.0 draw quad probe (0, 0) rgba (0.1, 0.7, 0.4, 0.4) uniform 0 float4 -0.7 0.1 0.0 0.0 draw quad probe (0, 0) rgba (0.7, 0.1, 1.2, 0.4) [pixel shader fail(sm<2)] uniform float u; float4 main() : sv_target { int i = u; return float4(abs(i), abs(-8), abs(uint(3)), abs(bool(true))); } [test] uniform 0 float 2.0 draw quad todo(msl & sm>=6) probe (0, 0) f32(2, 8, 3, 1) uniform 0 float -1.0 draw quad todo(msl & sm>=6) probe (0, 0) f32(1, 8, 3, 1) [pixel shader] uniform float4 u; float4 main() : sv_target { return -abs(u); } [test] uniform 0 float4 1.0 -3.0 10.0 -100.0 draw quad probe (0, 0) rgba(-1.0, -3.0, -10.0, -100.0) [require] shader model >= 5.0 shader model < 5.1 [pixel shader dxbc-tpf-hex] % The same as above, but in bytecode format so that we're sure that the % ABSNEG source modifier is used. % ps_5_0 % dcl_globalFlags refactoringAllowed % dcl_constantbuffer CB0[1], immediateIndexed % dcl_output o0.xyzw % mov o0.xyzw, -|cb0[0].xyzw| % ret 43425844 f1f3f986 b40d7bb2 ded2b849 afffb109 00000001 00000278 00000005 00000034 00000148 00000158 0000018c 000001dc 46454452 0000010c 00000001 00000068 00000001 0000003c ffff0500 00000100 000000d8 31314452 0000003c 00000018 00000020 00000028 00000024 0000000c 00000000 0000005c 00000000 00000000 00000000 00000000 00000000 00000001 00000000 6f6c4724 736c6162 ababab00 0000005c 00000001 00000080 00000010 00000000 00000000 000000a8 00000000 00000010 00000002 000000b4 00000000 ffffffff 00000000 ffffffff 00000000 6c660075 3474616f ababab00 00030001 00040001 00000000 00000000 00000000 00000000 00000000 00000000 000000aa 7263694d 666f736f 52282074 4c482029 53204c53 65646168 6f432072 6c69706d 31207265 2e302e30 31303031 36312e31 00343833 4e475349 00000008 00000000 00000008 4e47534f 0000002c 00000001 00000008 00000020 00000000 00000000 00000003 00000000 0000000f 745f7673 65677261 abab0074 58454853 00000048 00000050 00000012 0100086a 04000059 00208e46 00000000 00000001 03000065 001020f2 00000000 07000036 001020f2 00000000 80208e46 000000c1 00000000 00000000 0100003e 54415453 00000094 00000002 00000000 00000000 00000001 00000001 00000000 00000000 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [test] uniform 0 float4 1.0 -3.0 10.0 -100.0 draw quad probe (0, 0) rgba(-1.0, -3.0, -10.0, -100.0)