Lines Matching refs:flip
102 FLIP,
162 static void sna_dri2_flip_event(struct sna_dri2_event *flip);
1127 * ring as we will flip from (which should be the RENDER ring
1960 DBG(("%s: queued flip=%p\n", __FUNCTION__, info->type == FLIP_ASYNC ? NULL : info));
2593 case FLIP:
2594 /* If we can still flip... */
2851 DBG(("%s: queued flip=%p\n", __FUNCTION__, info));
2871 DBG(("%s: marking next flip as complete\n", __FUNCTION__));
2880 assert(chain->type == FLIP);
2895 DBG(("%s: performing chained flip\n", __FUNCTION__));
2913 static void sna_dri2_flip_event(struct sna_dri2_event *flip)
2915 struct sna *sna = flip->sna;
2917 DBG(("%s flip=%p (pipe=%d, event=%d, queued?=%d)\n", __FUNCTION__, flip, flip->pipe, flip->type, flip->queued));
2918 if (!flip->queued) /* pageflip died whilst being queued */
2920 flip->queued = false;
2922 if (sna->dri2.flip_pending == flip)
2926 switch (flip->type) {
2927 case FLIP:
2928 if (flip->signal) {
2930 frame_swap_complete(flip, DRI2_FLIP_COMPLETE);
2932 sna_dri2_event_free(flip);
2939 if (flip->signal) {
2941 frame_swap_complete(flip, DRI2_FLIP_COMPLETE);
2944 assert(!flip->signal);
2946 DBG(("%s: pending flip\n", __FUNCTION__));
2947 flip);
2949 } else if (!flip->flip_continue) {
2950 DBG(("%s: flip chain complete\n", __FUNCTION__));
2951 if (!sna_dri2_flip_keepalive(flip)) {
2952 if (flip->chain) {
2953 sna_dri2_remove_event(flip);
2954 chain_swap(flip->chain);
2957 sna_dri2_event_free(flip);
2959 } else if (!sna_dri2_flip_continue(flip)) {
2960 DBG(("%s: no longer able to flip\n", __FUNCTION__));
2961 if (flip->draw != NULL)
2962 __sna_dri2_copy_event(flip, 0);
2963 if (flip->signal) {
2965 frame_swap_complete(flip, DRI2_BLIT_COMPLETE);
2967 sna_dri2_event_free(flip);
2974 sna_dri2_event_free(flip);
3016 DBG(("%s: triple buffer disabled, using FLIP\n", __FUNCTION__));
3017 return FLIP;
3039 find, NULL) ? FLIP : FLIP_COMPLETE;
3042 priv->is_compositor != FLIP, priv->is_compositor == FLIP ? "FLIP" : "FLIP_COMPLETE"));
3121 assert(info->type != FLIP);
3135 DBG(("%s: executing xchg of pending flip: flip_continue=%d, keepalive=%d, chain?=%d\n", __FUNCTION__, info->flip_continue, info->keepalive, current_msc < *target_msc));
3140 DBG(("%s: chaining flip\n", __FUNCTION__));
3171 DBG(("%s: queueing flip after pending completion\n",
3173 info->type = FLIP;
3183 DBG(("%s: flip failed, falling back\n", __FUNCTION__));
3224 info->type = FLIP;
3263 * In the case of a page flip, we request an event for the last queued swap
3264 * frame + swap interval - 1, since we'll need to queue the flip for the frame
3268 * after queueing a swap, though in the Intel case after queueing a flip, the
3270 * they access buffers busy with the flip.