xf86-video-intel: src/sna/sna_dri2.c
Chris Wilson
ickle at kemper.freedesktop.org
Thu Jun 19 00:32:51 PDT 2014
src/sna/sna_dri2.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
New commits:
commit f4b930318c68e0e07d677ebc7b4caa27912561db
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Thu Jun 19 07:40:16 2014 +0100
sna/dri2: Replace assertion with code to skip updating the back buffer
After a window resize or redirection, the DRI2BufferPtr become stale but
it may take a while for the Client to notice and reconfigure. Just
skip touching stale backbuffers and let the Client catch up.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index e689a34..cfe65f4 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -139,6 +139,9 @@ sna_dri2_get_back(struct sna *sna,
struct kgem_bo *bo;
uint32_t name;
+ if ((draw->height << 16 | draw->width) != get_private(back)->size)
+ return;
+
get_private(back)->stale = false;
bo = get_private(back)->bo;
@@ -249,7 +252,6 @@ sna_dri2_reuse_buffer(DrawablePtr draw, DRI2BufferPtr buffer)
buffer->attachment, get_private(buffer)->bo->handle, buffer->name));
assert(get_private(buffer)->refcnt);
assert(get_private(buffer)->bo->refcnt > get_private(buffer)->bo->active_scanout);
- assert(get_private(buffer)->pixmap == NULL || get_private(buffer)->pixmap == get_drawable_pixmap(draw));
if (buffer->attachment == DRI2BufferBackLeft &&
draw->type != DRAWABLE_PIXMAP) {
More information about the xorg-commit
mailing list