On Sun, May 25, 2014 at 11:43 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > On 05/25/2014 01:02 PM, Matt Turner wrote: >> On Sun, May 25, 2014 at 1:08 AM, Kenneth Graunke <kenn...@whitecape.org> >> wrote: >>> diff --git a/src/mesa/drivers/dri/i965/brw_clip_tri.c >>> b/src/mesa/drivers/dri/i965/brw_clip_tri.c >>> index fdab260..5894b80 100644 >>> --- a/src/mesa/drivers/dri/i965/brw_clip_tri.c >>> +++ b/src/mesa/drivers/dri/i965/brw_clip_tri.c >>> @@ -433,6 +434,7 @@ void brw_clip_tri( struct brw_clip_compile *c ) >>> BRW_CONDITIONAL_GE, >>> c->reg.nr_verts, >>> brw_imm_ud(3)); >>> + brw_set_predicate_control(p, BRW_PREDICATE_NORMAL); >> >> I think the following instructions are predicated on the flag value >> set by this compare instruction -- a couple of shifts, and add, and >> then a while instruction. I don't see a break or another way out of >> the loop, so I'm guessing that the while is predicated on this >> compare. > > Yes, I agree...and that's what the code should be doing. > > brw_set_predicate_control(p, BRW_PREDICATE_NORMAL) sets the default > state for all future instructions to be predicated. brw_WHILE will > reset that to BRW_PREDICATE_NONE after emitting the WHILE instruction.
Right, I misread, or forgot that _NORMAL means predicated or something. This patch looks good as it is. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev