check for incomplete FBO in _mesa_Clear()
authorBrian Paul <brian.paul@tungstengraphics.com>
Sat, 25 Mar 2006 16:16:37 +0000 (16:16 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sat, 25 Mar 2006 16:16:37 +0000 (16:16 +0000)
src/mesa/main/buffers.c

index 121050593f65c2d2693eea7fc8782d6da5e295bd..25f1236f23e80e38b2ba881034b69978ac006899 100644 (file)
@@ -7,7 +7,7 @@
  * Mesa 3-D graphics library
  * Version:  6.5
  *
- * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -132,6 +132,12 @@ _mesa_Clear( GLbitfield mask )
       _mesa_update_state( ctx );       /* update _Xmin, etc */
    }
 
+   if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
+      _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
+                  "glClear(incomplete framebuffer)");
+      return;
+   }
+
    if (ctx->RenderMode == GL_RENDER) {
       const GLint x = ctx->DrawBuffer->_Xmin;
       const GLint y = ctx->DrawBuffer->_Ymin;