diff options
author | Emilio Cobos Álvarez <[email protected]> | 2016-09-22 18:24:00 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2016-09-23 19:55:50 -0600 |
commit | cb7c2c9d65d8a1db31e65023175ee81e029ed041 (patch) | |
tree | 3110b3cfd407debff39fee73838e3e8371a16eae | |
parent | 07d1f8faf9a7b4bdf6989de7df928105cd248251 (diff) |
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 <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
-rw-r--r-- | src/mesa/drivers/osmesa/osmesa.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c index 8462ab6627d..356ba71ea83 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) { |