diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/drivers/osmesa/osmesa.c | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c index 942692c8bb..4ac5a043fa 100644 --- a/src/mesa/drivers/osmesa/osmesa.c +++ b/src/mesa/drivers/osmesa/osmesa.c @@ -1376,21 +1376,25 @@ OSMesaMakeCurrent( OSMesaContext osmesa, void *buffer, GLenum type,      */     _glapi_check_multithread(); +   /* Set the framebuffer's size.  This causes the +    * osmesa_renderbuffer_storage() function to get called. +    */ +   _mesa_resize_framebuffer(&osmesa->mesa, osmesa->gl_buffer, width, height); +   osmesa->gl_buffer->Initialized = GL_TRUE; /* XXX TEMPORARY? */ +     _mesa_make_current( &osmesa->mesa, osmesa->gl_buffer, osmesa->gl_buffer ); +   /* Set the color renderbuffer's pointer to the user buffer, +    * update row pointers, etc. +    */     if (osmesa->userRowLength)        osmesa->rowlength = osmesa->userRowLength;     else        osmesa->rowlength = width; -     osmesa->rb->Data = buffer;     osmesa->rb->DataType = type;     compute_row_addresses( osmesa ); -   /* update the color renderbuffer's format, type, width, height */ -   osmesa_renderbuffer_storage(&osmesa->mesa, osmesa->rb, -                               osmesa->rb->InternalFormat, width, height); -     /* Remove renderbuffer attachment, then re-add.  This installs the      * renderbuffer adaptor/wrapper if needed.      */ | 
