[require] shader model >= 4.1 [rtv 0] format r32g32b32a32-float size (2dms, 4, 640, 480) [pixel shader] float4 main() : sv_target { return float4(GetRenderTargetSampleCount(), 0, 0, 0); } [test] todo(glsl | msl) draw quad probe (0, 0) rgba (4.0, 0.0, 0.0, 0.0) % Curiously GetRenderTargetSampleCount() returns a uint1, not a uint. % In sm6 it is altered to return a uint. [pixel shader fail(sm>=6)] float4 main() : sv_target { return GetRenderTargetSampleCount()[0]; } [pixel shader todo] uniform uint u; float4 main() : sv_target { return float4(GetRenderTargetSamplePosition(u), GetRenderTargetSamplePosition(u + 1)); } [test] uniform 0 uint 0 todo(sm<6 | msl) draw quad probe (0, 0) rgba (-0.125, -0.375, 0.375, -0.125) uniform 0 uint 2 todo(sm<6 | msl) draw quad probe (0, 0) rgba (-0.375, 0.125, 0.125, 0.375)