resize buffers in MakeCurrent
authorKeith Whitwell <keith@tungstengraphics.com>
Fri, 22 Sep 2006 11:36:30 +0000 (11:36 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Fri, 22 Sep 2006 11:36:30 +0000 (11:36 +0000)
src/mesa/main/buffers.c
src/mesa/main/buffers.h
src/mesa/main/context.c

index 6f4a51e107250a7ce263cf4a528eb3cbce0968f8..3031c6c9f07d4b6c5f1d84c67e78122d48c383ea 100644 (file)
@@ -591,11 +591,9 @@ _mesa_ReadBuffer(GLenum buffer)
  * \note This function should only be called through the GL API, not
  * from device drivers (as was done in the past).
  */
-void GLAPIENTRY
-_mesa_ResizeBuffersMESA( void )
-{
-   GET_CURRENT_CONTEXT(ctx);
 
+void _mesa_resizebuffers( GLcontext *ctx )
+{
    ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH( ctx );
 
    if (MESA_VERBOSE & VERBOSE_API)
@@ -637,6 +635,14 @@ _mesa_ResizeBuffersMESA( void )
    ctx->NewState |= _NEW_BUFFERS;  /* to update scissor / window bounds */
 }
 
+void GLAPIENTRY
+_mesa_ResizeBuffersMESA( void )
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   _mesa_resizebuffers( ctx );
+}
+
 
 /*
  * XXX move somewhere else someday?
index b61bdad433031cc3a4cdb3bab435fc1098a26131..fcc21523421ec5ac8abed55bdd8513bb3da35578 100644 (file)
@@ -78,4 +78,6 @@ extern void
 _mesa_set_scissor(GLcontext *ctx, 
                   GLint x, GLint y, GLsizei width, GLsizei height);
 
+extern void _mesa_resizebuffers( GLcontext *ctx );
+
 #endif
index afe6048c802945f0aa467423db67d1a1866666b5..f78a8cedf1b70628b8cedc817af5f2b8a531de55 100644 (file)
@@ -1713,6 +1713,8 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
          if (readBuffer != drawBuffer && !readBuffer->Initialized) {
             initialize_framebuffer_size(newCtx, readBuffer);
          }
+
+        _mesa_resizebuffers(newCtx);
 #endif
          if (newCtx->FirstTimeCurrent) {
             /* set initial viewport and scissor size now */