Lines Matching refs:drmmode_crtc

295 	drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
301 if (drmmode_crtc->dpms_mode == DPMSModeOn && mode != DPMSModeOn) {
318 drmmode_crtc->dpms_last_ust = ust;
319 drmmode_crtc->dpms_last_seq = seq;
327 drmmode_crtc->dpms_last_fps = nominal_frame_rate;
330 drmmode_crtc->dpms_mode = mode;
332 } else if (drmmode_crtc->dpms_mode != DPMSModeOn && mode == DPMSModeOn) {
341 else if (drmmode_crtc->dpms_last_ust) {
343 time_elapsed = ust - drmmode_crtc->dpms_last_ust;
344 delta_seq = time_elapsed * drmmode_crtc->dpms_last_fps;
346 drmmode_crtc->interpolated_vblanks += delta_seq;
350 drmmode_crtc->dpms_mode = DPMSModeOn;
357 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
363 drmModeSetCrtc(pRADEONEnt->fd, drmmode_crtc->mode_crtc->crtc_id,
365 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->fb, NULL);
366 } else if (drmmode_crtc->dpms_mode != DPMSModeOn)
462 drmmode_crtc_private_ptr drmmode_crtc = xf86_config->crtc[i]->driver_private;
464 if (drmmode_crtc->mode_crtc->buffer_id)
465 fbcon_id = drmmode_crtc->mode_crtc->buffer_id;
515 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
517 if (drmmode_crtc->scanout_update_pending) {
519 radeon_drm_abort_entry(drmmode_crtc->scanout_update_pending);
520 drmmode_crtc->scanout_update_pending = 0;
524 drmmode_crtc_scanout_destroy(drmmode_crtc->drmmode,
525 &drmmode_crtc->scanout[0]);
526 drmmode_crtc_scanout_destroy(drmmode_crtc->drmmode,
527 &drmmode_crtc->scanout[1]);
529 if (drmmode_crtc->scanout_damage)
530 DamageDestroy(drmmode_crtc->scanout_damage);
539 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
540 drmmode_ptr drmmode = drmmode_crtc->drmmode;
587 drmmode_crtc_private_ptr drmmode_crtc = closure;
589 if (drmmode_crtc->ignore_damage) {
591 drmmode_crtc->ignore_damage = FALSE;
603 drmmode_crtc_private_ptr drmmode_crtc = closure;
605 drmmode_crtc->scanout_damage = NULL;
606 RegionUninit(&drmmode_crtc->scanout_last_region);
644 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
647 drmmode_crtc->tear_free = FALSE;
661 drmmode_crtc->tear_free = TRUE;
699 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
701 if (drmmode_crtc->tear_free &&
702 !drmmode_crtc->scanout[1].pixmap) {
706 drmmode_crtc_scanout_create(crtc, &drmmode_crtc->scanout[1],
709 region = &drmmode_crtc->scanout_last_region;
719 if (scanout_id != drmmode_crtc->scanout_id) {
724 if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
726 drmmode_crtc->scanout[scanout_id].pixmap;
731 if (!drmmode_crtc->tear_free) {
734 ValidateGC(&drmmode_crtc->scanout[0].pixmap->drawable, gc);
735 gc->ops->CopyArea(&drmmode_crtc->scanout[1].pixmap->drawable,
736 &drmmode_crtc->scanout[0].pixmap->drawable,
740 radeon_finish(scrn, drmmode_crtc->scanout[0].bo);
744 *fb = radeon_pixmap_get_fb(drmmode_crtc->scanout[scanout_id].pixmap);
746 drmmode_crtc->scanout_id = scanout_id;
757 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
759 drmmode_crtc_scanout_create(crtc, &drmmode_crtc->scanout[scanout_id],
761 if (drmmode_crtc->tear_free) {
763 &drmmode_crtc->scanout[scanout_id ^ 1],
767 if (drmmode_crtc->scanout[scanout_id].pixmap &&
768 (!drmmode_crtc->tear_free ||
769 drmmode_crtc->scanout[scanout_id ^ 1].pixmap)) {
773 if (!drmmode_crtc->scanout_damage) {
774 drmmode_crtc->scanout_damage =
778 TRUE, screen, drmmode_crtc);
780 drmmode_crtc->scanout_damage);
783 *fb = radeon_pixmap_get_fb(drmmode_crtc->scanout[scanout_id].pixmap);
789 RegionEmpty(DamageRegion(drmmode_crtc->scanout_damage));
790 radeon_finish(scrn, drmmode_crtc->scanout[scanout_id].bo);
792 if (!drmmode_crtc->flip_pending) {
793 radeon_drm_abort_entry(drmmode_crtc->
804 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
808 drmmode_crtc->mode_crtc->crtc_id, size, red, green,
819 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
843 drmmode_crtc->mode_crtc->crtc_id,
848 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->fb, fb);
867 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
870 drmmode_ptr drmmode = drmmode_crtc->drmmode;
900 if (drmmode_crtc->tear_free)
901 scanout_id = drmmode_crtc->scanout_id;
903 drmmode_crtc->scanout_id = 0;
905 if (drmmode_crtc->prime_scanout_pixmap) {
908 } else if (drmmode_crtc->rotate.pixmap) {
909 fb = radeon_pixmap_get_fb(drmmode_crtc->rotate.pixmap);
913 (drmmode_crtc->tear_free ||
933 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->fb, NULL);
934 drmmode_crtc->fb = fb;
952 drmmode_crtc->need_modeset = FALSE;
992 if (drmmode_crtc->scanout[scanout_id].pixmap &&
993 fb != radeon_pixmap_get_fb(drmmode_crtc->
996 } else if (!drmmode_crtc->tear_free) {
998 &drmmode_crtc->scanout[1]);
1017 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1028 drmmode_crtc->cursor_x = x;
1029 drmmode_crtc->cursor_y = y;
1031 drmModeMoveCursor(pRADEONEnt->fd, drmmode_crtc->mode_crtc->crtc_id, x, y);
1132 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1133 unsigned id = drmmode_crtc->cursor_id;
1139 if (drmmode_crtc->cursor &&
1140 XF86_CRTC_CONFIG_PTR(pScrn)->cursor != drmmode_crtc->cursor)
1144 ptr = (uint32_t *)(drmmode_crtc->cursor_bo[id]->ptr);
1187 if (id != drmmode_crtc->cursor_id) {
1188 drmmode_crtc->cursor_id = id;
1211 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1214 drmModeSetCursor(pRADEONEnt->fd, drmmode_crtc->mode_crtc->crtc_id, 0,
1216 drmmode_crtc->cursor = NULL;
1224 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1233 drmmode_crtc->cursor = xf86_config->cursor;
1237 arg.handle = drmmode_crtc->cursor_bo[drmmode_crtc->cursor_id]->handle;
1239 arg.crtc_id = drmmode_crtc->mode_crtc->crtc_id;
1271 if (xhot != drmmode_crtc->cursor_xhot || yhot != drmmode_crtc->cursor_yhot) {
1273 arg.x = drmmode_crtc->cursor_x += drmmode_crtc->cursor_xhot - xhot;
1274 arg.y = drmmode_crtc->cursor_y += drmmode_crtc->cursor_yhot - yhot;
1275 drmmode_crtc->cursor_xhot = xhot;
1276 drmmode_crtc->cursor_yhot = yhot;
1302 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1304 if (!drmmode_crtc_scanout_create(crtc, &drmmode_crtc->rotate, width,
1314 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1317 drmmode_crtc_scanout_create(crtc, &drmmode_crtc->rotate, width,
1321 return drmmode_crtc->rotate.pixmap;
1327 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1328 drmmode_ptr drmmode = drmmode_crtc->drmmode;
1330 drmmode_crtc_scanout_destroy(drmmode, &drmmode_crtc->rotate);
1360 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1361 unsigned scanout_id = drmmode_crtc->scanout_id;
1366 if (radeon_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
1373 drmmode_crtc->prime_scanout_pixmap = NULL;
1378 if (!drmmode_crtc_scanout_create(crtc, &drmmode_crtc->scanout[0],
1383 if (drmmode_crtc->tear_free &&
1384 !drmmode_crtc_scanout_create(crtc, &drmmode_crtc->scanout[1],
1391 drmmode_crtc->prime_scanout_pixmap = ppix;
1395 drmmode_crtc->scanout[scanout_id].pixmap,
1398 PixmapStartDirtyTracking(ppix, drmmode_crtc->scanout[scanout_id].pixmap,
1401 PixmapStartDirtyTracking2(ppix, drmmode_crtc->scanout[scanout_id].pixmap,
1404 PixmapStartDirtyTracking(ppix, drmmode_crtc->scanout[scanout_id].pixmap, 0, 0);
1431 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1432 return drmmode_crtc->hw_id;
1437 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1445 tmp = drmmode_crtc->mode_crtc->crtc_id;
1449 drmmode_crtc->hw_id = -1;
1452 drmmode_crtc->hw_id = tmp;
1459 drmmode_crtc_private_ptr drmmode_crtc;
1467 drmmode_crtc = xnfcalloc(sizeof(drmmode_crtc_private_rec), 1);
1468 drmmode_crtc->mode_crtc = drmModeGetCrtc(pRADEONEnt->fd, mode_res->crtcs[num]);
1469 drmmode_crtc->drmmode = drmmode;
1470 drmmode_crtc->dpms_mode = DPMSModeOff;
1471 crtc->driver_private = drmmode_crtc;
1760 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1762 if (drmmode_crtc->need_modeset)
2614 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
2616 objects[i++] = drmmode_crtc->mode_crtc->crtc_id;
2676 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
2682 if (drmmode_crtc->flip_pending == *fb) {
2683 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->flip_pending,
2699 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
2713 if (drmmode_crtc->flip_pending == *fb) {
2715 &drmmode_crtc->flip_pending, NULL);
2717 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->fb, *fb);
2771 drmmode_crtc_private_ptr drmmode_crtc, int fb_id,
2775 return drmModePageFlip(pRADEONEnt->fd, drmmode_crtc->mode_crtc->crtc_id,
2781 drmmode_crtc_private_ptr drmmode_crtc,
2789 drmmode_crtc->mode_crtc->crtc_id,
2795 return drmmode_page_flip(pRADEONEnt, drmmode_crtc, fb_id, flags,
2801 drmmode_crtc_private_ptr drmmode_crtc,
2809 drmmode_crtc->mode_crtc->crtc_id,
2815 return drmmode_page_flip(pRADEONEnt, drmmode_crtc, fb_id, flags,
3436 drmmode_crtc_private_ptr drmmode_crtc = config->crtc[0]->driver_private;
3445 flipdata = calloc(1, sizeof(*flipdata) + drmmode_crtc->drmmode->count_crtcs *
3476 drmmode_crtc = crtc->driver_private;
3480 (drmmode_crtc->tear_free && crtc != ref_crtc))
3496 if (drmmode_crtc->tear_free) {
3500 int scanout_id = drmmode_crtc->scanout_id ^ 1;
3513 radeon_pixmap_get_fb(drmmode_crtc->scanout[scanout_id].pixmap));
3523 if (drmmode_crtc->scanout_update_pending) {
3526 radeon_drm_abort_entry(drmmode_crtc->scanout_update_pending);
3527 drmmode_crtc->scanout_update_pending = 0;
3535 drmmode_crtc,
3543 drmmode_crtc,
3550 if (drmmode_crtc->tear_free) {
3551 drmmode_crtc->scanout_id ^= 1;
3552 drmmode_crtc->ignore_damage = TRUE;
3555 drmmode_fb_reference(pRADEONEnt->fd, &drmmode_crtc->flip_pending,