- case GL_RIGHT:
- if (!ctx->Visual.stereoMode) {
- _mesa_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- return;}
- if (ctx->Visual.doubleBufferMode)
- ctx->Color._DrawDestMask = FRONT_RIGHT_BIT | BACK_RIGHT_BIT;
- else
- ctx->Color._DrawDestMask = FRONT_RIGHT_BIT;
- break;
- case GL_FRONT_RIGHT:
- if (!ctx->Visual.stereoMode) {
- _mesa_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- return;
- }
- ctx->Color._DrawDestMask = FRONT_RIGHT_BIT;
- break;
- case GL_BACK_RIGHT:
- if (!ctx->Visual.stereoMode) {
- _mesa_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- return;
- }
- if (!ctx->Visual.doubleBufferMode) {
- _mesa_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- return;
- }
- ctx->Color._DrawDestMask = BACK_RIGHT_BIT;
- break;
- case GL_BACK_LEFT:
- if (!ctx->Visual.doubleBufferMode) {
- _mesa_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- return;
- }
- ctx->Color._DrawDestMask = BACK_LEFT_BIT;
- break;
- case GL_FRONT_AND_BACK:
- if (!ctx->Visual.doubleBufferMode) {
- _mesa_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- return;
- }
- if (ctx->Visual.stereoMode)
- ctx->Color._DrawDestMask = FRONT_LEFT_BIT | BACK_LEFT_BIT
- | FRONT_RIGHT_BIT | BACK_RIGHT_BIT;
- else
- ctx->Color._DrawDestMask = FRONT_LEFT_BIT | BACK_LEFT_BIT;
- break;
- case GL_BACK:
- if (!ctx->Visual.doubleBufferMode) {
- _mesa_error( ctx, GL_INVALID_OPERATION, "glDrawBuffer" );
- return;
- }
- if (ctx->Visual.stereoMode)
- ctx->Color._DrawDestMask = BACK_LEFT_BIT | BACK_RIGHT_BIT;
- else
- ctx->Color._DrawDestMask = BACK_LEFT_BIT;
- break;
- case GL_LEFT:
- /* never an error */
- if (ctx->Visual.doubleBufferMode)
- ctx->Color._DrawDestMask = FRONT_LEFT_BIT | BACK_LEFT_BIT;
- else
- ctx->Color._DrawDestMask = FRONT_LEFT_BIT;
- break;
- case GL_FRONT_LEFT:
- /* never an error */
- ctx->Color._DrawDestMask = FRONT_LEFT_BIT;
- break;
- case GL_FRONT:
- /* never an error */
- if (ctx->Visual.stereoMode)
- ctx->Color._DrawDestMask = FRONT_LEFT_BIT | FRONT_RIGHT_BIT;
- else
- ctx->Color._DrawDestMask = FRONT_LEFT_BIT;
- break;
- case GL_NONE:
- /* never an error */
- ctx->Color._DrawDestMask = 0;
- break;
- default:
- _mesa_error( ctx, GL_INVALID_ENUM, "glDrawBuffer" );