summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2015-10-21 15:47:01 -0400
committerRay Strode <rstrode@redhat.com>2015-10-23 10:50:40 -0400
commitb78052f60fa3bc149f8dd33f80d6056283563c4a (patch)
tree53cf233b7f10ae68941366ad40fb2a79fa38b9a5
parent83cf1d57e1cce0f2df01b25274c97356373ff879 (diff)
downloadcogl-b78052f60fa3bc149f8dd33f80d6056283563c4a.tar.gz
kms-winsys: don't wait for a flip when page flipping fails
If we get EACCES from drmPageFlip we're not going to get a flip event and shouldn't wait for one. This commit changes the EACCES path to silently ignore the failed flip request and just clean up the fb. https://bugzilla.gnome.org/show_bug.cgi?id=756926
-rw-r--r--cogl/winsys/cogl-winsys-egl-kms.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/cogl/winsys/cogl-winsys-egl-kms.c b/cogl/winsys/cogl-winsys-egl-kms.c
index 2be16293..c192c264 100644
--- a/cogl/winsys/cogl-winsys-egl-kms.c
+++ b/cogl/winsys/cogl-winsys-egl-kms.c
@@ -580,7 +580,7 @@ flip_all_crtcs (CoglDisplay *display, CoglFlipKMS *flip, int fb_id)
for (l = kms_display->crtcs; l; l = l->next)
{
CoglKmsCrtc *crtc = l->data;
- int ret;
+ int ret = 0;
if (crtc->count == 0 || crtc->ignore)
continue;
@@ -595,7 +595,8 @@ flip_all_crtcs (CoglDisplay *display, CoglFlipKMS *flip, int fb_id)
continue;
}
- flip->pending++;
+ if (ret == 0)
+ flip->pending++;
}
}