[require] shader model >= 4.0 [pixel shader] uniform float f; uniform int i; uniform uint u; uniform float h; float4 main() : sv_target { float4 ret; ret.x = asfloat(f); ret.y = asfloat(i); ret.z = asfloat(u); ret.w = asfloat((half)h); return ret; } [test] uniform 0 float4 123.0 -2.0 456 0.01 draw quad probe (320,240) rgba (123.0, -2.0, 456.0, 0.01) [pixel shader] uniform float2x2 m; uniform float4 v; float4 main() : sv_target { return float4(asfloat(m)[0][1], asfloat(v).y, 0, 0); } [test] uniform 0 float4 11 12 0 0 uniform 4 float4 13 14 0 0 uniform 8 float4 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 asfloat(b); } [pixel shader fail] float4 main() : sv_target { double d = 1.0; return asfloat(d); }