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.
> 

Attachment: pgplAPmrBVQPh.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to