| @@ -142,9 +142,12 @@ finish_or_flush( GLcontext *ctx ) | |||
| /* | |||
| /** | |||
| * This chooses the color buffer for reading and writing spans, points, | |||
| * lines, and triangles. | |||
| * Remember that a GLframebuffer has several distinct color buffers: | |||
| * front/left, front/right, back/left, back/right and aux buffers. | |||
| * The bufferBit specifies which one to use. | |||
| */ | |||
| void | |||
| xmesa_set_buffer( GLcontext *ctx, GLframebuffer *buffer, GLuint bufferBit ) | |||
| @@ -1101,7 +1104,7 @@ void xmesa_update_state( GLcontext *ctx, GLuint new_state ) | |||
| { | |||
| const XMesaContext xmesa = XMESA_CONTEXT(ctx); | |||
| /* Propogate statechange information to swrast and swrast_setup | |||
| /* Propagate statechange information to swrast and swrast_setup | |||
| * modules. The X11 driver has no internal GL-dependent state. | |||
| */ | |||
| _swrast_InvalidateState( ctx, new_state ); | |||
| @@ -1115,30 +1118,29 @@ void xmesa_update_state( GLcontext *ctx, GLuint new_state ) | |||
| if (xmesa->xm_draw_buffer->backpixmap != XIMAGE) { | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_back_pixmap; | |||
| } | |||
| else if (sizeof(GLushort)!=2 || sizeof(GLuint)!=4) { | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_nbit_ximage; | |||
| } | |||
| else switch (xmesa->xm_visual->BitsPerPixel) { | |||
| case 8: | |||
| if (xmesa->xm_visual->hpcr_clear_flag) { | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_HPCR_ximage; | |||
| } | |||
| else { | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_8bit_ximage; | |||
| else { | |||
| switch (xmesa->xm_visual->BitsPerPixel) { | |||
| case 8: | |||
| if (xmesa->xm_visual->hpcr_clear_flag) { | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_HPCR_ximage; | |||
| } | |||
| else { | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_8bit_ximage; | |||
| } | |||
| break; | |||
| case 16: | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_16bit_ximage; | |||
| break; | |||
| case 24: | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_24bit_ximage; | |||
| break; | |||
| case 32: | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_32bit_ximage; | |||
| break; | |||
| default: | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_nbit_ximage; | |||
| break; | |||
| } | |||
| break; | |||
| case 16: | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_16bit_ximage; | |||
| break; | |||
| case 24: | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_24bit_ximage; | |||
| break; | |||
| case 32: | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_32bit_ximage; | |||
| break; | |||
| default: | |||
| xmesa->xm_draw_buffer->back_clear_func = clear_nbit_ximage; | |||
| break; | |||
| } | |||
| if (ctx->Color._DrawDestMask[0] & (DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT)) { | |||