Mesa (main): i965: Prevent invalid framebuffer usage

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 25 22:17:09 UTC 2021


Module: Mesa
Branch: main
Commit: 7b89e4d1048d6104f07930d3717ee543253dad50
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b89e4d1048d6104f07930d3717ee543253dad50

Author: Miguel Gomez <magomez at igalia.com>
Date:   Thu Jun  3 16:44:30 2021 +0200

i965: Prevent invalid framebuffer usage

When a surfaceless context is in use, driDrawablePriv might be NULL, so needs to
be checked before calling dri2InvalidateDrawable. Same for read calls.

Reviewed-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Eleni Maria Stea <estea at igalia.com>

See https://gitlab.freedesktop.org/mesa/mesa/-/issues/778

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11459>

---

 src/mesa/drivers/dri/i965/brw_buffers.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_buffers.c b/src/mesa/drivers/dri/i965/brw_buffers.c
index ea7aa6fca4b..55b69253015 100644
--- a/src/mesa/drivers/dri/i965/brw_buffers.c
+++ b/src/mesa/drivers/dri/i965/brw_buffers.c
@@ -42,7 +42,8 @@ brw_drawbuffer(struct gl_context *ctx)
        * time, invalidate our DRI drawable so we'll ask for new buffers
        * (including the fake front) before we start rendering again.
        */
-      dri2InvalidateDrawable(brw->driContext->driDrawablePriv);
+      if (brw->driContext->driDrawablePriv)
+          dri2InvalidateDrawable(brw->driContext->driDrawablePriv);
       brw_prepare_render(brw);
    }
 }
@@ -58,7 +59,8 @@ brw_readbuffer(struct gl_context * ctx, GLenum mode)
        * time, invalidate our DRI drawable so we'll ask for new buffers
        * (including the fake front) before we start reading again.
        */
-      dri2InvalidateDrawable(brw->driContext->driReadablePriv);
+      if (brw->driContext->driDrawablePriv)
+          dri2InvalidateDrawable(brw->driContext->driReadablePriv);
       brw_prepare_render(brw);
    }
 }



More information about the mesa-commit mailing list