On 05/12/2011 09:05 PM, Eric Anholt wrote:
I thought I was thwarted initially when I couldn't do conditional mod
on a MOV, and couldn't use two immediate constants in one instruction.
But g0 != g0 is also a way to produce a failing comparison.
[snip]
+ some_register = retype(brw_vec8_grf(0, 0), BRW_REGISTER_TYPE_UW);
Yes it is!
brw_CMP(p, retype(brw_null_reg(), BRW_REGISTER_TYPE_UD),
- BRW_CONDITIONAL_Z, mask, brw_imm_ud(0)); /* active channels fail
test */
+ BRW_CONDITIONAL_NZ, some_register, some_register);
Nice touch. :)
I assume you've tested this. It does seem a lot simpler; the whole
"discard AND" and "discard NOT" thing confused me quite a bit.
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev