check for framebuffer completeness, code clean-up

This commit is contained in:
Brian Paul 2005-09-28 15:46:13 +00:00
parent 5d63323d34
commit a4e35c21d2
2 changed files with 13 additions and 21 deletions

View file

@ -1,6 +1,6 @@
/*
* Mesa 3-D graphics library
* Version: 6.4
* Version: 6.5
*
* Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
*
@ -55,7 +55,6 @@ void GLAPIENTRY
_mesa_Accum( GLenum op, GLfloat value )
{
GET_CURRENT_CONTEXT(ctx);
GLuint xpos, ypos, width, height;
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
switch (op) {
@ -84,29 +83,21 @@ _mesa_Accum( GLenum op, GLfloat value )
}
if (ctx->NewState)
_mesa_update_state( ctx );
_mesa_update_state(ctx);
if (ctx->RenderMode != GL_RENDER) {
/* no-op */
if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
_mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
"glAccum(incomplete framebuffer)");
return;
}
/* Determine region to operate upon. */
if (ctx->Scissor.Enabled) {
xpos = ctx->Scissor.X;
ypos = ctx->Scissor.Y;
width = ctx->Scissor.Width;
height = ctx->Scissor.Height;
if (ctx->RenderMode == GL_RENDER) {
GLint x = ctx->DrawBuffer->_Xmin;
GLint y = ctx->DrawBuffer->_Ymin;
GLint width = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin;
GLint height = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin;
ctx->Driver.Accum(ctx, op, value, x, y, width, height);
}
else {
/* whole window */
xpos = 0;
ypos = 0;
width = ctx->DrawBuffer->Width;
height = ctx->DrawBuffer->Height;
}
ctx->Driver.Accum( ctx, op, value, xpos, ypos, width, height );
}

View file

@ -1,6 +1,6 @@
/*
* Mesa 3-D graphics library
* Version: 6.3
* Version: 6.4
*
* Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
*
@ -144,6 +144,7 @@ _mesa_initialize_framebuffer(struct gl_framebuffer *fb, const GLvisual *visual)
}
fb->Delete = _mesa_destroy_framebuffer;
fb->_Status = GL_FRAMEBUFFER_COMPLETE_EXT;
compute_depth_max(fb);
}