[pixel shader] uniform float4 u; float4 main() : sv_target { return round(u); } [test] uniform 0 float4 -0.4 -6.6 7.6 3.4 draw quad probe (0, 0) rgba (0.0, -7.0, 8.0, 3.0) 4 [pixel shader] uniform float4 u; float4 main() : sv_target { float a = round(u.r); int2 b = round(u.gb); float4 res = float4(b, a, u.a); return round(res); } [test] uniform 0 float4 -0.4 -6.6 7.6 3.4 draw quad todo(msl & sm>=6) probe (0, 0) f32(-7.0, 8.0, 0.0, 3.0) 4 [pixel shader] uniform float4 u; float4 main() : sv_target { int4 i = u; return round(i); } [test] uniform 0 float4 -1 0 2 10 draw quad todo(msl & sm>=6) probe (0, 0) f32(-1.0, 0.0, 2.0, 10.0) 4 [pixel shader] float4 main() : sv_target { return round(float4(-1.5, -0.5, 0.5, 1.5)); } [test] draw quad if(sm<6) probe (0, 0) f32(-1.0, 0.0, 1.0, 2.0) if(sm>=6) probe (0, 0) f32(-2.0, -0.0, 0.0, 2.0)