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.
pgpPAbCy6rjGf.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev