[pixel shader] float4 main() : SV_TARGET { return float4( (float)(bool)0.0, (float)(bool)0, (float)(bool)2.0, (float)(bool)2 ); } [test] draw quad probe all rgba (0.0, 0.0, 1.0, 1.0) [pixel shader todo(sm<4)] uniform float4 x; uniform int4 y; float4 main() : SV_TARGET { return (float4)(bool4)x + 10.0 * (float4)(int4)(bool4)y; } [test] uniform 0 float4 0.0 0.0 2.0 4.0 if(sm<4) uniform 4 float4 0 1 0 10 if(sm>=4) uniform 4 int4 0 1 0 10 todo(sm<4) draw quad probe all rgba (0.0, 10.0, 1.0, 11.0) [pixel shader todo(sm<4)] uniform bool4 b; float4 main() : sv_target { return (float4)b + (float4)(int4)b; } [test] if(sm<4) uniform 0 float4 1.0 1.0 1.0 0.0 if(sm>=4) uniform 0 uint4 0x00000001 0x00000002 0x80000000 0x00000000 todo(sm<4) draw quad probe all rgba (2.0, 2.0, 2.0, 0.0)