Here you could also filter out the cases where one of the fix colors is 0xFFFFFF or 0x0, as those are already handled correctly by regular blending by replacing them with GL_ONE/GL_ZERO.