From: Mathias Fröhlich <[email protected]>

Hi all,

One small fix below.

Please review!

best

Mathias





Running swrast with the new device egl extensions piglit test
brings up this failure. Fix that by adding some NULL pointer
checks.

Signed-off-by: Mathias Fröhlich <[email protected]>
---
 src/mesa/main/fbobject.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 09143d30af5..225a7e8e9bd 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -1850,10 +1850,10 @@ _mesa_DeleteRenderbuffers(GLsizei n, const GLuint 
*renderbuffers)
              *     non-bound framebuffers is the responsibility of the
              *     application.
              */
-            if (_mesa_is_user_fbo(ctx->DrawBuffer)) {
+            if (ctx->DrawBuffer && _mesa_is_user_fbo(ctx->DrawBuffer)) {
                _mesa_detach_renderbuffer(ctx, ctx->DrawBuffer, rb);
             }
-            if (_mesa_is_user_fbo(ctx->ReadBuffer)
+            if (ctx->ReadBuffer && _mesa_is_user_fbo(ctx->ReadBuffer)
                 && ctx->ReadBuffer != ctx->DrawBuffer) {
                _mesa_detach_renderbuffer(ctx, ctx->ReadBuffer, rb);
             }
@@ -2881,7 +2881,6 @@ _mesa_bind_framebuffers(struct gl_context *ctx,
    const bool bindDrawBuf = oldDrawFb != newDrawFb;
    const bool bindReadBuf = oldReadFb != newReadFb;

-   assert(newDrawFb);
    assert(newDrawFb != &DummyFramebuffer);

    /*
@@ -2900,7 +2899,8 @@ _mesa_bind_framebuffers(struct gl_context *ctx,
       FLUSH_VERTICES(ctx, _NEW_BUFFERS);

       /* check if old readbuffer was render-to-texture */
-      check_end_texture_render(ctx, oldReadFb);
+      if (oldDrawFb)
+         check_end_texture_render(ctx, oldReadFb);

       _mesa_reference_framebuffer(&ctx->ReadBuffer, newReadFb);
    }
@@ -2914,7 +2914,8 @@ _mesa_bind_framebuffers(struct gl_context *ctx,
          check_end_texture_render(ctx, oldDrawFb);

       /* check if newly bound framebuffer has any texture attachments */
-      check_begin_texture_render(ctx, newDrawFb);
+      if (newDrawFb)
+         check_begin_texture_render(ctx, newDrawFb);

       _mesa_reference_framebuffer(&ctx->DrawBuffer, newDrawFb);
    }
--
2.21.0

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

Reply via email to