diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/main/drawpix.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c index 701ac6aa77..a95ee02097 100644 --- a/src/mesa/main/drawpix.c +++ b/src/mesa/main/drawpix.c @@ -43,6 +43,7 @@ error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,                          GLboolean drawing)  {     const char *readDraw = drawing ? "Draw" : "Read"; +   struct gl_framebuffer *fb = drawing ? ctx->DrawBuffer : ctx->ReadBuffer;     if (ctx->Extensions.EXT_packed_depth_stencil         && type == GL_UNSIGNED_INT_24_8_EXT @@ -86,14 +87,14 @@ error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,        }        break;     case GL_STENCIL_INDEX: -      if (ctx->DrawBuffer->Visual.stencilBits == 0) { +      if (fb->Visual.stencilBits == 0) {           _mesa_error(ctx, GL_INVALID_OPERATION,                       "gl%sPixels(no stencil buffer)", readDraw);           return GL_TRUE;        }        break;     case GL_DEPTH_COMPONENT: -      if (ctx->DrawBuffer->Visual.depthBits == 0) { +      if (fb->Visual.depthBits == 0) {           _mesa_error(ctx, GL_INVALID_OPERATION,                       "gl%sPixels(no depth buffer)", readDraw);           return GL_TRUE; @@ -105,14 +106,13 @@ error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,           _mesa_error(ctx, GL_INVALID_ENUM, "gl%sPixels(type)", readDraw);           return GL_TRUE;        } -      if (ctx->DrawBuffer->Visual.depthBits == 0 || -          ctx->ReadBuffer->Visual.depthBits == 0 || -          ctx->DrawBuffer->Visual.stencilBits == 0 || -          ctx->ReadBuffer->Visual.stencilBits == 0) { +      if (fb->Visual.depthBits == 0 || fb->Visual.stencilBits == 0) {           _mesa_error(ctx, GL_INVALID_OPERATION,                       "gl%sPixels(no depth or stencil buffer)", readDraw);           return GL_TRUE;        } +      ASSERT(fb->Attachment[BUFFER_DEPTH].Renderbuffer); +      ASSERT(fb->Attachment[BUFFER_STENCIL].Renderbuffer);        break;     default:        /* this should have been caught in _mesa_is_legal_format_type() */  | 
