Lines Matching refs:drmmode_crtc
470 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
471 DrawablePtr dst = &drmmode_crtc->scanout[scanout_id].pixmap->drawable;
472 DrawablePtr src = &drmmode_crtc->scanout[scanout_id ^ 1].pixmap->drawable;
473 RegionPtr last_region = &drmmode_crtc->scanout_last_region;
528 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
531 drmmode_crtc->scanout_update_pending = 0;
533 if (drmmode_crtc->flip_pending == fb) {
534 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->flip_pending,
544 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
547 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->fb, fb);
608 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
610 drmmode_crtc->scanout_update_pending = 0;
695 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
697 if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap))
709 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
714 if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
724 if (drmmode_crtc->tear_free) {
728 RegionCopy(&drmmode_crtc->scanout_last_region, region);
730 dirty->secondary_dst = drmmode_crtc->scanout[scanout_id].pixmap;
748 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
751 drmmode_crtc->scanout_update_pending = 0;
761 drmmode_crtc_private_ptr drmmode_crtc;
767 drmmode_crtc = xf86_crtc->driver_private;
768 if (drmmode_crtc->scanout_update_pending ||
769 !drmmode_crtc->scanout[drmmode_crtc->scanout_id].pixmap ||
770 drmmode_crtc->dpms_mode != DPMSModeOn)
786 drmmode_crtc->scanout_update_pending = drm_queue_seq;
790 if (!(drmmode_crtc->scanout_status & DRMMODE_SCANOUT_VBLANK_FAILED)) {
794 drmmode_crtc->scanout_status |= DRMMODE_SCANOUT_VBLANK_FAILED;
797 drmmode_crtc->drmmode->event_context.vblank_handler(pRADEONEnt->fd,
800 drmmode_crtc->wait_flip_nesting_level++;
805 if (drmmode_crtc->scanout_status ==
815 drmmode_crtc->scanout_status &= ~DRMMODE_SCANOUT_VBLANK_FAILED;
825 drmmode_crtc_private_ptr drmmode_crtc;
833 drmmode_crtc = crtc->driver_private;
834 scanout_id = drmmode_crtc->scanout_id ^ 1;
835 if (drmmode_crtc->scanout_update_pending ||
836 !drmmode_crtc->scanout[scanout_id].pixmap ||
837 drmmode_crtc->dpms_mode != DPMSModeOn)
843 fb = radeon_pixmap_get_fb(drmmode_crtc->scanout[scanout_id].pixmap);
861 if (drmmode_page_flip_target_relative(pRADEONEnt, drmmode_crtc,
864 if (!(drmmode_crtc->scanout_status & DRMMODE_SCANOUT_FLIP_FAILED)) {
868 drmmode_crtc->scanout_status |= DRMMODE_SCANOUT_FLIP_FAILED;
875 if (drmmode_crtc->scanout_status & DRMMODE_SCANOUT_FLIP_FAILED) {
877 drmmode_crtc->scanout_status &= ~DRMMODE_SCANOUT_FLIP_FAILED;
880 drmmode_crtc->scanout_id = scanout_id;
881 drmmode_crtc->scanout_update_pending = drm_queue_seq;
882 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->flip_pending, fb);
909 drmmode_crtc_private_ptr drmmode_crtc = NULL;
912 drmmode_crtc = crtc->driver_private;
914 if (drmmode_crtc && drmmode_crtc->tear_free)
946 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
955 !drmmode_crtc->scanout[scanout_id].pixmap ||
959 pDraw = &drmmode_crtc->scanout[scanout_id].pixmap->drawable;
963 if (drmmode_crtc->tear_free) {
965 RegionCopy(&drmmode_crtc->scanout_last_region, ®ion);
1036 drmmode_crtc_private_ptr drmmode_crtc = event_data;
1038 drmmode_crtc->scanout_update_pending = 0;
1045 drmmode_crtc_private_ptr drmmode_crtc = event_data;
1047 RegionPtr region = DamageRegion(drmmode_crtc->scanout_damage);
1050 !drmmode_crtc->flip_pending &&
1051 drmmode_crtc->dpms_mode == DPMSModeOn) {
1052 if (radeon_scanout_do_update(crtc, drmmode_crtc->scanout_id,
1066 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
1075 drmmode_crtc->scanout_update_pending ||
1076 drmmode_crtc->flip_pending ||
1077 drmmode_crtc->dpms_mode != DPMSModeOn)
1080 pDamage = drmmode_crtc->scanout_damage;
1097 drmmode_crtc,
1104 radeon_scanout_update_handler(xf86_crtc, 0, 0, drmmode_crtc);
1108 drmmode_crtc->scanout_update_pending = drm_queue_seq;
1112 if (!(drmmode_crtc->scanout_status & DRMMODE_SCANOUT_VBLANK_FAILED)) {
1116 drmmode_crtc->scanout_status |= DRMMODE_SCANOUT_VBLANK_FAILED;
1119 drmmode_crtc->drmmode->event_context.vblank_handler(pRADEONEnt->fd,
1122 drmmode_crtc->wait_flip_nesting_level++;
1127 if (drmmode_crtc->scanout_status ==
1137 drmmode_crtc->scanout_status &= ~DRMMODE_SCANOUT_VBLANK_FAILED;
1144 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
1145 RegionPtr region = DamageRegion(drmmode_crtc->scanout_damage);
1152 if (drmmode_crtc->scanout_update_pending ||
1153 drmmode_crtc->flip_pending ||
1154 drmmode_crtc->dpms_mode != DPMSModeOn)
1157 scanout_id = drmmode_crtc->scanout_id ^ 1;
1166 fb = radeon_pixmap_get_fb(drmmode_crtc->scanout[scanout_id].pixmap);
1184 if (drmmode_page_flip_target_relative(pRADEONEnt, drmmode_crtc,
1187 if (!(drmmode_crtc->scanout_status & DRMMODE_SCANOUT_FLIP_FAILED)) {
1191 drmmode_crtc->scanout_status |= DRMMODE_SCANOUT_FLIP_FAILED;
1195 RegionCopy(DamageRegion(drmmode_crtc->scanout_damage),
1196 &drmmode_crtc->scanout_last_region);
1197 RegionEmpty(&drmmode_crtc->scanout_last_region);
1199 drmmode_crtc_scanout_destroy(drmmode_crtc->drmmode,
1200 &drmmode_crtc->scanout[scanout_id]);
1201 drmmode_crtc->tear_free = FALSE;
1205 if (drmmode_crtc->scanout_status & DRMMODE_SCANOUT_FLIP_FAILED) {
1207 drmmode_crtc->scanout_status &= ~DRMMODE_SCANOUT_FLIP_FAILED;
1210 drmmode_crtc->scanout_id = scanout_id;
1211 drmmode_crtc->scanout_update_pending = drm_queue_seq;
1212 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->flip_pending, fb);
1233 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1235 if (drmmode_crtc->rotate.pixmap)
1238 if (drmmode_crtc->tear_free)
1240 else if (drmmode_crtc->scanout[drmmode_crtc->scanout_id].pixmap)
2601 drmmode_crtc_private_ptr drmmode_crtc =
2604 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->fb, NULL);
2644 drmmode_crtc_private_ptr drmmode_crtc;
2657 drmmode_crtc = crtc->driver_private;
2659 if (!drmmode_crtc->fb)
2677 drmmode_crtc = crtc->driver_private;
2679 if (drmmode_crtc->fb) {
2684 drmmode_crtc->mode_crtc->crtc_id, 0,
2687 &drmmode_crtc->fb, NULL);
2691 if (drmmode_crtc->scanout[0].pixmap)
2692 pixmap_unref_fb(drmmode_crtc->scanout[0].pixmap);
2693 if (drmmode_crtc->scanout[1].pixmap)
2694 pixmap_unref_fb(drmmode_crtc->scanout[1].pixmap);
2783 drmmode_crtc_private_ptr drmmode_crtc = xf86_config->crtc[c]->driver_private;
2786 if (!drmmode_crtc->cursor_bo[i]) {
2787 drmmode_crtc->cursor_bo[i] =
2791 if (!(drmmode_crtc->cursor_bo[i])) {
2796 if (radeon_bo_map(drmmode_crtc->cursor_bo[i], 1))
2864 drmmode_crtc_private_ptr drmmode_crtc = xf86_config->crtc[c]->driver_private;
2866 if (drmmode_crtc->cursor_bo[0])