Lines Matching full:window
30 * Window flip mode
32 * Provides per-window flips. Flips can be processed on windows that
47 WindowPtr window, in present_wnmd_queue_vblank() argument
53 return (*screen_priv->wnmd_info->queue_vblank) (window, crtc, event_id, msc); in present_wnmd_queue_vblank()
69 present_wnmd_get_crtc(present_screen_priv_ptr screen_priv, WindowPtr window) in present_wnmd_get_crtc() argument
71 return (*screen_priv->wnmd_info->get_crtc)(window); in present_wnmd_get_crtc()
75 present_wnmd_get_ust_msc(ScreenPtr screen, WindowPtr window, uint64_t *ust, uint64_t *msc) in present_wnmd_get_ust_msc() argument
78 return (*screen_priv->wnmd_info->get_ust_msc)(window, ust, msc); in present_wnmd_get_ust_msc()
90 (void) present_wnmd_get_ust_msc(vblank->screen, vblank->window, &ust, &crtc_msc); in present_wnmd_re_execute()
95 present_wnmd_flip_try_ready(WindowPtr window) in present_wnmd_flip_try_ready() argument
97 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_flip_try_ready()
111 present_pixmap_idle(vblank->pixmap, vblank->window, vblank->serial, vblank->idle_fence); in present_wnmd_free_idle_vblank()
119 present_wnmd_free_idle_vblanks(WindowPtr window) in present_wnmd_free_idle_vblanks() argument
121 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_free_idle_vblanks()
136 present_wnmd_toplvl_pixmap_window(WindowPtr window) in present_wnmd_toplvl_pixmap_window() argument
138 ScreenPtr screen = window->drawable.pScreen; in present_wnmd_toplvl_pixmap_window()
139 PixmapPtr pixmap = (*screen->GetWindowPixmap)(window); in present_wnmd_toplvl_pixmap_window()
140 WindowPtr w = window; in present_wnmd_toplvl_pixmap_window()
154 present_wnmd_set_abort_flip(WindowPtr window) in present_wnmd_set_abort_flip() argument
156 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_set_abort_flip()
164 present_wnmd_flips_stop(WindowPtr window) in present_wnmd_flips_stop() argument
166 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_flips_stop()
167 present_screen_priv_ptr screen_priv = present_screen_priv(window->drawable.pScreen); in present_wnmd_flips_stop()
171 (*screen_priv->wnmd_info->flips_stop) (window); in present_wnmd_flips_stop()
173 present_wnmd_free_idle_vblanks(window_priv->window); in present_wnmd_flips_stop()
174 present_wnmd_flip_try_ready(window_priv->window); in present_wnmd_flips_stop()
180 WindowPtr window = vblank->window; in present_wnmd_flip_notify() local
181 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_flip_notify()
186 vblank->window ? vblank->window->drawable.id : 0)); in present_wnmd_flip_notify()
206 present_wnmd_flips_stop(window); in present_wnmd_flip_notify()
208 present_wnmd_flip_try_ready(window); in present_wnmd_flip_notify()
212 present_wnmd_event_notify(WindowPtr window, uint64_t event_id, uint64_t ust, uint64_t msc) in present_wnmd_event_notify() argument
214 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_event_notify()
240 assert(vblank->window); in present_wnmd_event_notify()
262 WindowPtr window, in present_wnmd_check_flip() argument
270 ScreenPtr screen = window->drawable.pScreen; in present_wnmd_check_flip()
272 WindowPtr toplvl_window = present_wnmd_toplvl_pixmap_window(window); in present_wnmd_check_flip()
290 /* Source pixmap must align with window exactly */ in present_wnmd_check_flip()
294 /* Valid area must contain window (for simplicity for now just never flip when one is set). */ in present_wnmd_check_flip()
298 /* Flip pixmap must have same dimensions as window */ in present_wnmd_check_flip()
299 if (window->drawable.width != pixmap->drawable.width || in present_wnmd_check_flip()
300 window->drawable.height != pixmap->drawable.height) in present_wnmd_check_flip()
303 /* Window must be same region as toplevel window */ in present_wnmd_check_flip()
304 if ( !RegionEqual(&window->winSize, &toplvl_window->winSize) ) in present_wnmd_check_flip()
307 /* Can't flip if window clipped by children */ in present_wnmd_check_flip()
308 if (!RegionEqual(&window->clipList, &window->winSize)) in present_wnmd_check_flip()
313 if (!(*screen_priv->wnmd_info->check_flip2) (crtc, window, pixmap, sync_flip, reason)) { in present_wnmd_check_flip()
315 window->drawable.id, pixmap ? pixmap->drawable.id : 0)); in present_wnmd_check_flip()
324 * 'window' is being reconfigured. Check to see if it is involved
328 present_wnmd_check_flip_window (WindowPtr window) in present_wnmd_check_flip_window() argument
330 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_check_flip_window()
336 /* If this window hasn't ever been used with Present, it can't be in present_wnmd_check_flip_window()
346 if (!present_wnmd_check_flip(flip_pending->crtc, flip_pending->window, flip_pending->pixmap, in present_wnmd_check_flip_window()
348 present_wnmd_set_abort_flip(window); in present_wnmd_check_flip_window()
350 if (!present_wnmd_check_flip(flip_active->crtc, flip_active->window, flip_active->pixmap, in present_wnmd_check_flip_window()
352 present_wnmd_flips_stop(window); in present_wnmd_check_flip_window()
358 !present_wnmd_check_flip(vblank->crtc, window, vblank->pixmap, in present_wnmd_check_flip_window()
367 present_wnmd_flip(WindowPtr window, in present_wnmd_flip() argument
375 ScreenPtr screen = window->drawable.pScreen; in present_wnmd_flip()
378 return (*screen_priv->wnmd_info->flip) (window, in present_wnmd_flip()
388 present_wnmd_cancel_flip(WindowPtr window) in present_wnmd_cancel_flip() argument
390 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_cancel_flip()
393 present_wnmd_set_abort_flip(window); in present_wnmd_cancel_flip()
395 present_wnmd_flips_stop(window); in present_wnmd_cancel_flip()
399 present_wnmd_can_window_flip(WindowPtr window) in present_wnmd_can_window_flip() argument
401 ScreenPtr screen = window->drawable.pScreen; in present_wnmd_can_window_flip()
403 WindowPtr toplvl_window = present_wnmd_toplvl_pixmap_window(window); in present_wnmd_can_window_flip()
416 if (window->redirectDraw != RedirectDrawNone) in present_wnmd_can_window_flip()
419 /* Window must be same region as toplevel window */ in present_wnmd_can_window_flip()
420 if ( !RegionEqual(&window->winSize, &toplvl_window->winSize) ) in present_wnmd_can_window_flip()
430 * the window pixmap or queue a window buffer swap on the backend.
438 WindowPtr window = vblank->window; in present_wnmd_execute() local
439 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_execute()
444 if (vblank->flip && vblank->pixmap && vblank->window) { in present_wnmd_execute()
460 if (vblank->pixmap && vblank->window) { in present_wnmd_execute()
461 ScreenPtr screen = window->drawable.pScreen; in present_wnmd_execute()
468 vblank->pixmap->drawable.id, vblank->window->drawable.id)); in present_wnmd_execute()
479 RegionTranslate(damage, window->drawable.x, window->drawable.y); in present_wnmd_execute()
480 RegionIntersect(damage, damage, &window->clipList); in present_wnmd_execute()
482 damage = RegionDuplicate(&window->clipList); in present_wnmd_execute()
488 if (present_wnmd_flip(vblank->window, vblank->crtc, vblank->event_id, in present_wnmd_execute()
490 WindowPtr toplvl_window = present_wnmd_toplvl_pixmap_window(vblank->window); in present_wnmd_execute()
491 PixmapPtr old_pixmap = screen->GetWindowPixmap(window); in present_wnmd_execute()
493 /* Replace window pixmap with flip pixmap */ in present_wnmd_execute()
503 DamageDamageRegion(&vblank->window->drawable, damage); in present_wnmd_execute()
515 vblank, crtc_msc, vblank->pixmap->drawable.id, vblank->window->drawable.id)); in present_wnmd_execute()
517 present_wnmd_cancel_flip(window); in present_wnmd_execute()
522 if (present_wnmd_queue_vblank(screen, window, vblank->crtc, in present_wnmd_execute()
536 present_wnmd_window_to_crtc_msc(WindowPtr window, RRCrtcPtr crtc, uint64_t window_msc, uint64_t new… in present_wnmd_window_to_crtc_msc() argument
538 present_window_priv_ptr window_priv = present_get_window_priv(window, TRUE); in present_wnmd_window_to_crtc_msc()
557 present_wnmd_pixmap(WindowPtr window, in present_wnmd_pixmap() argument
579 ScreenPtr screen = window->drawable.pScreen; in present_wnmd_pixmap()
580 present_window_priv_ptr window_priv = present_get_window_priv(window, TRUE); in present_wnmd_pixmap()
586 target_crtc = present_wnmd_get_crtc(screen_priv, window); in present_wnmd_pixmap()
588 ret = present_wnmd_get_ust_msc(screen, window, &ust, &crtc_msc); in present_wnmd_pixmap()
590 target_msc = present_wnmd_window_to_crtc_msc(window, target_crtc, window_msc, crtc_msc); in present_wnmd_pixmap()
626 vblank = present_vblank_create(window, in present_wnmd_pixmap()
653 …if (present_wnmd_queue_vblank(screen, window, target_crtc, vblank->event_id, vblank->exec_msc) == … in present_wnmd_pixmap()
664 present_wnmd_abort_vblank(ScreenPtr screen, WindowPtr window, RRCrtcPtr crtc, uint64_t event_id, ui… in present_wnmd_abort_vblank() argument
667 present_window_priv_ptr window_priv = present_window_priv(window); in present_wnmd_abort_vblank()
670 (*screen_priv->wnmd_info->abort_vblank) (window, crtc, event_id, msc); in present_wnmd_abort_vblank()
691 /* Cleanup done on window destruction */ in present_wnmd_flip_destroy()
695 present_wnmd_flush(WindowPtr window) in present_wnmd_flush() argument
697 ScreenPtr screen = window->drawable.pScreen; in present_wnmd_flush()
700 (*screen_priv->wnmd_info->flush) (window); in present_wnmd_flush()