[pixel shader] float a; float4 main() : sv_target { float res = 0; for (int i = 0; i < 10; ++i) { res += a; // The temp copy of 'a' must reserve its registers for the rest of the loop. // It shall not be overwritten. } return res; } [test] uniform 0 float 5.0 draw quad probe all rgba (50.0, 50.0, 50.0, 50.0) [pixel shader] float a; float4 main() : sv_target { float res = 0; for (int i = 0; i < 10; ++i) { res += a; // The temp copy of 'a' must reserve its registers for the rest of the loop. // It shall not be overwritten. i++; } return res; } [test] uniform 0 float 4.0 draw quad probe all rgba (20.0, 20.0, 20.0, 20.0)