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

Reply via email to