On Wed, 7 Dec 2011 11:09:11 -0800, Paul Berry <stereotype...@gmail.com> wrote: > - assert(!p->single_program_flow); > + /* In principle, we shouldn't be patching IF and ELSE instructions in > + * single program flow mode when gen < 6, because in single program flow > + * mode on those platforms, we convert flow control instructions to > + * conditional ADDs that operate on IP (see brw_ENDIF). > + * > + * However, on Gen6, writing to IP doesn't work in single program flow > mode > + * (see the SandyBridge PRM, Volume 4 part 2, p79: "When SPF is ON, IP may > + * not be updated by non-flow control instructions."). And on later > + * platforms, there is no significant benefit to converting control flow > + * instructions to conditional ADDs. So we do patch IF and ELSE > + * instructions in single program flow mode on those platforms. > + */ > + if (intel->gen < 6) > + assert(!p->single_program_flow);
I stumbled over reading this comment the first couple of times. I think s/In principle,// would have made it clear for me -- I read the "However on Gen6" paragraph as trying to explain an exception to "in principle, ... when gen < 6", when it's really true that we don't patch if/else in SPF for gen < 6. >
pgplAPmrBVQPh.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev