On 09/22/2016 06:24 PM, Emilio Cobos Álvarez wrote:
This is needed to be consistent with other drivers.

I used both the context and the buffer as a condition in order to ensure it's an
intentional unbind, and not a programming error, but let me know if you think I
should change it to check only the context.

Also, this is my very first mesa patch, so if this patch gets accepted I think
someone should land it for me, since I have no access to the repo. Thanks!

Signed-off-by: Emilio Cobos Álvarez <[email protected]>
---
  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) {


Looks OK to me.  Reviewed-by: Brian Paul <[email protected]>

I'll push this shortly.

-Brian

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to