From 7b89e4d1048d6104f07930d3717ee543253dad50 Mon Sep 17 00:00:00 2001 From: Miguel Gomez Date: Thu, 3 Jun 2021 16:44:30 +0200 Subject: [PATCH] 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 Reviewed-by: Eleni Maria Stea See https://gitlab.freedesktop.org/mesa/mesa/-/issues/778 Part-of: --- 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 ea7aa6f..55b6925 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); } } -- 2.7.4