Lines Matching refs:vblank

44 present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc);
232 present_re_execute(present_vblank_ptr vblank)
236 if (vblank->crtc)
237 (void) present_get_ust_msc(vblank->screen, vblank->crtc, &ust, &crtc_msc);
239 present_execute(vblank, ust, crtc_msc);
245 present_vblank_ptr vblank;
247 xorg_list_for_each_entry(vblank, &present_flip_queue, event_queue) {
248 if (vblank->queued) {
249 present_re_execute(vblank);
335 present_flip_notify(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
337 ScreenPtr screen = vblank->screen;
341 vblank->event_id, vblank, vblank->exec_msc, vblank->target_msc,
342 vblank->pixmap ? vblank->pixmap->drawable.id : 0,
343 vblank->window ? vblank->window->drawable.id : 0));
345 assert (vblank == screen_priv->flip_pending);
349 xorg_list_del(&vblank->event_queue);
351 /* Transfer reference for pixmap and fence from vblank to screen_priv */
352 screen_priv->flip_crtc = vblank->crtc;
353 screen_priv->flip_window = vblank->window;
354 screen_priv->flip_serial = vblank->serial;
355 screen_priv->flip_pixmap = vblank->pixmap;
356 screen_priv->flip_sync = vblank->sync_flip;
357 screen_priv->flip_idle_fence = vblank->idle_fence;
359 vblank->pixmap = NULL;
360 vblank->idle_fence = NULL;
364 if (vblank->abort_flip)
367 present_vblank_notify(vblank, PresentCompleteKindPixmap, PresentCompleteModeFlip, ust, crtc_msc);
368 present_vblank_destroy(vblank);
376 present_vblank_ptr vblank;
382 xorg_list_for_each_entry(vblank, &present_exec_queue, event_queue) {
383 int64_t match = event_id - vblank->event_id;
385 present_execute(vblank, ust, msc);
389 xorg_list_for_each_entry(vblank, &present_flip_queue, event_queue) {
390 if (vblank->event_id == event_id) {
391 if (vblank->queued)
392 present_execute(vblank, ust, msc);
394 present_flip_notify(vblank, ust, msc);
424 present_vblank_ptr vblank;
456 xorg_list_for_each_entry(vblank, &window_priv->vblank, window_list) {
457 if (vblank->queued && vblank->flip && !present_check_flip(vblank->crtc, window, vblank->pixmap, vblank->sync_flip, NULL, 0, 0, &reason)) {
458 vblank->flip = FALSE;
459 vblank->reason = reason;
460 if (vblank->sync_flip)
461 vblank->exec_msc = vblank->target_msc;
535 present_execute(present_vblank_ptr vblank, uint64_t ust, uint64_t crtc_msc)
537 WindowPtr window = vblank->window;
540 if (vblank && vblank->crtc) {
541 screen_priv=present_screen_priv(vblank->crtc->pScreen);
544 if (present_execute_wait(vblank, crtc_msc))
547 if (vblank->flip && vblank->pixmap && vblank->window) {
550 vblank->event_id, vblank,
552 xorg_list_del(&vblank->event_queue);
553 xorg_list_append(&vblank->event_queue, &present_flip_queue);
554 vblank->flip_ready = TRUE;
559 xorg_list_del(&vblank->event_queue);
560 xorg_list_del(&vblank->window_list);
561 vblank->queued = FALSE;
563 if (vblank->pixmap && vblank->window) {
565 if (vblank->flip) {
568 vblank->event_id, vblank, crtc_msc,
569 vblank->pixmap->drawable.id, vblank->window->drawable.id));
574 screen_priv->flip_pending = vblank;
576 xorg_list_add(&vblank->event_queue, &present_flip_queue);
579 if (present_flip(vblank->crtc, vblank->event_id, vblank->target_msc, vblank->pixmap, vblank->sync_flip)) {
590 present_set_tree_pixmap(vblank->window, NULL, vblank->pixmap);
591 present_set_tree_pixmap(screen->root, NULL, vblank->pixmap);
595 if (vblank->update) {
596 damage = vblank->update;
601 DamageDamageRegion(&vblank->window->drawable, damage);
605 xorg_list_del(&vblank->event_queue);
609 vblank->flip = FALSE;
610 vblank->exec_msc = vblank->target_msc;
613 vblank, crtc_msc, vblank->pixmap->drawable.id, vblank->window->drawable.id));
628 present_execute_copy(vblank, crtc_msc);
630 if (vblank->queued) {
631 xorg_list_add(&vblank->event_queue, &present_exec_queue);
632 xorg_list_append(&vblank->window_list,
633 &present_get_window_priv(window, TRUE)->vblank);
638 present_execute_post(vblank, ust, crtc_msc);
688 present_vblank_ptr vblank, tmp;
731 xorg_list_for_each_entry_safe(vblank, tmp, &window_priv->vblank, window_list) {
733 if (!vblank->pixmap)
736 if (!vblank->queued)
739 if (vblank->crtc != target_crtc || vblank->target_msc != target_msc)
742 present_vblank_scrap(vblank);
743 if (vblank->flip_ready)
744 present_re_execute(vblank);
748 vblank = present_vblank_create(window,
765 if (!vblank)
768 vblank->event_id = ++present_scmd_event_id;
770 if (vblank->flip && vblank->sync_flip)
771 vblank->exec_msc--;
773 xorg_list_append(&vblank->event_queue, &present_exec_queue);
774 vblank->queued = TRUE;
775 if (msc_is_after(vblank->exec_msc, crtc_msc)) {
776 ret = present_queue_vblank(screen, window, target_crtc, vblank->event_id, vblank->exec_msc);
783 present_execute(vblank, ust, crtc_msc);
791 present_vblank_ptr vblank;
802 xorg_list_for_each_entry(vblank, &present_exec_queue, event_queue) {
803 int64_t match = event_id - vblank->event_id;
805 xorg_list_del(&vblank->event_queue);
806 vblank->queued = FALSE;
810 xorg_list_for_each_entry(vblank, &present_flip_queue, event_queue) {
811 if (vblank->event_id == event_id) {
812 xorg_list_del(&vblank->event_queue);
813 vblank->queued = FALSE;