diff options
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/osmesa/osmesa.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c index 9dccea92054..942692c8bb0 100644 --- a/src/mesa/drivers/osmesa/osmesa.c +++ b/src/mesa/drivers/osmesa/osmesa.c @@ -1391,18 +1391,13 @@ OSMesaMakeCurrent( OSMesaContext osmesa, void *buffer, GLenum type, osmesa_renderbuffer_storage(&osmesa->mesa, osmesa->rb, osmesa->rb->InternalFormat, width, height); - /* Clear renderbuffer attachment, then re-add. This installs the + /* Remove renderbuffer attachment, then re-add. This installs the * renderbuffer adaptor/wrapper if needed. */ - { - struct gl_renderbuffer *rb - = osmesa->gl_buffer->Attachment[BUFFER_FRONT_LEFT].Renderbuffer; - if (rb && rb->Wrapped != rb) - _mesa_free(rb); - osmesa->gl_buffer->Attachment[BUFFER_FRONT_LEFT].Renderbuffer = NULL; - } + _mesa_remove_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT); _mesa_add_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT, osmesa->rb); + /* this updates the visual's red/green/blue/alphaBits fields */ _mesa_update_framebuffer_visual(osmesa->gl_buffer); |