From: Chris Wilson Date: Sun, 20 Feb 2011 15:36:52 +0000 (+0000) Subject: i965: Micro-optimise check_state X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8ea6e98c7be6483514769b03ffa6c6f4f7b2e0be;p=mesa.git i965: Micro-optimise check_state Replace the intermediate tests due to the logical or with the bitwise or. Signed-off-by: Chris Wilson --- diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index 8bb92fed5d1..2d6fb37355d 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -181,11 +181,11 @@ void brw_destroy_state( struct brw_context *brw ) /*********************************************************************** */ -static GLboolean check_state( const struct brw_state_flags *a, - const struct brw_state_flags *b ) +static GLuint check_state( const struct brw_state_flags *a, + const struct brw_state_flags *b ) { - return ((a->mesa & b->mesa) || - (a->brw & b->brw) || + return ((a->mesa & b->mesa) | + (a->brw & b->brw) | (a->cache & b->cache)); } @@ -377,9 +377,7 @@ void brw_validate_state( struct brw_context *brw ) brw->state.dirty.brw |= BRW_NEW_VERTEX_PROGRAM; } - if (state->mesa == 0 && - state->cache == 0 && - state->brw == 0) + if ((state->mesa | state->cache | state->brw) == 0) return; brw->intel.Fallback = GL_FALSE; /* boolean, not bitfield */