Eric Anholt <e...@anholt.net> writes:

> Kenneth Graunke <kenn...@whitecape.org> writes:
>
>> On 08/08/2012 03:08 PM, Eric Anholt wrote:
>>> There is an easy chance for bugs in brw_wm_emit.c, where you would pass 1 
>>> << 5
>>> instead of 1, which would get truncated to 0.
>>> ---
>>>  src/mesa/drivers/dri/i965/brw_eu.c |    1 +
>>>  1 file changed, 1 insertion(+)
>>> 
>>> diff --git a/src/mesa/drivers/dri/i965/brw_eu.c 
>>> b/src/mesa/drivers/dri/i965/brw_eu.c
>>> index 2c432a9..7697d08 100644
>>> --- a/src/mesa/drivers/dri/i965/brw_eu.c
>>> +++ b/src/mesa/drivers/dri/i965/brw_eu.c
>>> @@ -143,6 +143,7 @@ void brw_set_mask_control( struct brw_compile *p, 
>>> GLuint value )
>>>  
>>>  void brw_set_saturate( struct brw_compile *p, GLuint value )
>>>  {
>>> +   assert(value == 0 || value == 1);
>>>     p->current->header.saturate = value;
>>>  }
>>
>> Eesh.  It sounds like what you really want is:
>>
>> #include <stdbool.h>
>>
>> void
>> brw_set_saturate(struct brw_compile *p, bool value)
>> {
>>    p->current->header.saturate = value;
>> }
>>
>> Then zero/non-zero would work as expected.
>
> Oh, cool.  I hadn't realized that stdbool actually did nonzero -> true
> conversion exactly the way we want, which is why I hadn't just done this.

Good point, I hadn't realized the int -> bool conversion worked the way
you would hope.  I've switched the first commit to do that, but I left
the to-be-merged-to-8.0 one as-is with != 0 comparisons, since it's
stylistically consistent with the rest of the file.

Attachment: pgpoH2lqrvy5v.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