[require] shader model >= 4.0 [pixel shader] uniform float f; uniform int i; uniform uint u; uniform float h; float4 main() : sv_target { uint4 ret; ret.x = asuint(f); ret.y = asuint(i); ret.z = asuint(u); ret.w = asuint((half)h); return ret; } [test] uniform 0 uint4 123 0xc0000000 456 0x7fd69345 todo(glsl) draw quad probe (320,240) rgba (123.0, 3221225472.0, 456.0, 2144768896.0) [pixel shader] uniform float2x2 m; uniform float4 v; float4 main() : sv_target { return float4(asuint(m)[0][1], asuint(v).y, 0, 0); } [test] uniform 0 uint4 11 12 0 0 uniform 4 uint4 13 14 0 0 uniform 8 uint4 20 21 22 23 todo(glsl) draw quad probe (320,240) rgba (13.0, 21.0, 0.0, 0.0) [pixel shader fail] float4 main() : sv_target { bool b = true; return asuint(b); } [pixel shader fail] float4 main() : sv_target { double d = 1.0; return asuint(d); }