From: Chris Wilson Date: Sun, 20 Feb 2011 15:36:52 +0000 (+0000) Subject: i965: Micro-optimise check_state X-Git-Tag: mesa-7.11-rc1~1954 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8ea6e98c7be6483514769b03ffa6c6f4f7b2e0be;p=platform%2Fupstream%2Fmesa.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 8bb92fe..2d6fb37 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 */