If we consider this a bitmask instead of an enum, with the two flags TEXCHANGE_IMAGE and TEXCHANGE_PARAMS, you could replace all the 

    if (gstate_c.textureChanged == TEXCHANGE_UNCHANGED) {
        gstate_c.textureChanged = TEXCHANGE_PARAMSONLY;
    }

with

    gstate_c.textureChanged |= TEXCHANGE_PARAMS;

etc. Probably won't make a difference in practice though.