From e1579d961341c3601a52fbb7403df43ac797ec12 Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Wed, 29 Jan 2020 14:34:50 +0200 Subject: i965: Do not set front_buffer_dirty if there is no front buffer Otherwise there will be a warning: "libEGL warning: FIXME: egl/x11 doesn't support front buffer rendering." Happens with EGL_KHR_surfaceless_context: eglMakeCurrent(egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, egl_context) eglMakeCurrent(egl_display, egl_surface, egl_surface, egl_context) glFlush() // Here will be a warning Cc: Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1525 Signed-off-by: Danylo Piliaiev Reviewed-by: Lionel Landwerlin Tested-by: Marge Bot Part-of: (cherry picked from commit 36126b6211f1ac2da0aa94411608b2320553dbb6) --- .pick_status.json | 2 +- src/mesa/drivers/dri/i965/brw_context.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 63861a41bbe..5ef8344bf83 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -490,7 +490,7 @@ "description": "i965: Do not set front_buffer_dirty if there is no front buffer", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index ac84864f521..0a20eca4a38 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -1532,8 +1532,10 @@ intel_prepare_render(struct brw_context *brw) * that will happen next will probably dirty the front buffer. So * mark it as dirty here. */ - if (_mesa_is_front_buffer_drawing(ctx->DrawBuffer)) + if (_mesa_is_front_buffer_drawing(ctx->DrawBuffer) && + ctx->DrawBuffer != _mesa_get_incomplete_framebuffer()) { brw->front_buffer_dirty = true; + } if (brw->is_shared_buffer_bound) { /* Subsequent rendering will probably dirty the shared buffer. */ -- cgit v1.2.1