diff options
Diffstat (limited to 'cogl/winsys/cogl-winsys-egl-kms.c')
-rw-r--r-- | cogl/winsys/cogl-winsys-egl-kms.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/cogl/winsys/cogl-winsys-egl-kms.c b/cogl/winsys/cogl-winsys-egl-kms.c index 5072d8e7..c70f5c13 100644 --- a/cogl/winsys/cogl-winsys-egl-kms.c +++ b/cogl/winsys/cogl-winsys-egl-kms.c @@ -582,7 +582,7 @@ flip_all_crtcs (CoglDisplay *display, CoglFlipKMS *flip, int fb_id) CoglKmsCrtc *crtc = l->data; int ret; - if (crtc->count == 0) + if (crtc->count == 0 || crtc->ignore) continue; ret = drmModePageFlip (kms_renderer->fd, @@ -1232,3 +1232,24 @@ cogl_kms_display_set_layout (CoglDisplay *display, return TRUE; } + + +void +cogl_kms_display_set_ignore_crtc (CoglDisplay *display, + uint32_t id, + CoglBool ignore) +{ + CoglDisplayEGL *egl_display = display->winsys; + CoglDisplayKMS *kms_display = egl_display->platform; + GList *l; + + for (l = kms_display->crtcs; l; l = l->next) + { + CoglKmsCrtc *crtc = l->data; + if (crtc->id == id) + { + crtc->ignore = ignore; + break; + } + } +} |