summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanylo Piliaiev <danylo.piliaiev@globallogic.com>2020-01-29 14:34:50 +0200
committerDylan Baker <dylan@pnwbakers.com>2020-02-05 08:52:28 -0800
commite1579d961341c3601a52fbb7403df43ac797ec12 (patch)
treefc451596eb6e6ad20090c1cd4485a84198af24b9
parent88865d41f1065023523bbda237172bf38597a4fd (diff)
downloadmesa-e1579d961341c3601a52fbb7403df43ac797ec12.tar.gz
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: <mesa-stable@lists.freedesktop.org> Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1525 Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3628> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3628> (cherry picked from commit 36126b6211f1ac2da0aa94411608b2320553dbb6)
-rw-r--r--.pick_status.json2
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.c4
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. */