Mesa (master): osmesa: Unbind the current context when given a null context and buffer.

Brian Paul brianp at kemper.freedesktop.org
Sat Sep 24 01:58:47 UTC 2016


Module: Mesa
Branch: master
Commit: cb7c2c9d65d8a1db31e65023175ee81e029ed041
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=cb7c2c9d65d8a1db31e65023175ee81e029ed041

Author: Emilio Cobos Álvarez <me at emiliocobos.me>
Date:   Thu Sep 22 18:24:00 2016 -0600

osmesa: Unbind the current context when given a null context and buffer.

This is needed to be consistent with other drivers.

Signed-off-by: Emilio Cobos Álvarez <me at emiliocobos.me>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/drivers/osmesa/osmesa.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c
index 8462ab6..356ba71 100644
--- a/src/mesa/drivers/osmesa/osmesa.c
+++ b/src/mesa/drivers/osmesa/osmesa.c
@@ -966,6 +966,9 @@ OSMesaDestroyContext( OSMesaContext osmesa )
  * If the context's viewport hasn't been initialized yet, it will now be
  * initialized to (0,0,width,height).
  *
+ * If both the context and the buffer are null, the current context will be
+ * unbound.
+ *
  * Input:  osmesa - the rendering context
  *         buffer - the image buffer memory
  *         type - data type for pixel components
@@ -983,6 +986,10 @@ GLAPI GLboolean GLAPIENTRY
 OSMesaMakeCurrent( OSMesaContext osmesa, void *buffer, GLenum type,
                    GLsizei width, GLsizei height )
 {
+   if (!osmesa && !buffer) {
+      return _mesa_make_current(NULL, NULL, NULL);
+   }
+
    if (!osmesa || !buffer ||
        width < 1 || height < 1 ||
        width > SWRAST_MAX_WIDTH || height > SWRAST_MAX_HEIGHT) {




More information about the mesa-commit mailing list