Lines Matching refs:drmmode_crtc

523 	drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
524 DrawablePtr dst = &drmmode_crtc->scanout[scanout_id]->drawable;
525 DrawablePtr src = &drmmode_crtc->scanout[scanout_id ^ 1]->drawable;
526 RegionPtr last_region = &drmmode_crtc->scanout_last_region;
574 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
577 drmmode_crtc->scanout_update_pending = 0;
579 if (drmmode_crtc->flip_pending == fb) {
580 drmmode_fb_reference(pAMDGPUEnt->fd, &drmmode_crtc->flip_pending,
590 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
593 drmmode_fb_reference(pAMDGPUEnt->fd, &drmmode_crtc->fb, fb);
654 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
656 drmmode_crtc->scanout_update_pending = 0;
741 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
743 if (amdgpu_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap))
755 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
760 if (amdgpu_dirty_src_equals(dirty, drmmode_crtc->prime_scanout_pixmap)) {
770 if (drmmode_crtc->tear_free) {
774 RegionCopy(&drmmode_crtc->scanout_last_region, region);
776 dirty->secondary_dst = drmmode_crtc->scanout[scanout_id];
794 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
797 drmmode_crtc->scanout_update_pending = 0;
807 drmmode_crtc_private_ptr drmmode_crtc;
813 drmmode_crtc = xf86_crtc->driver_private;
814 if (drmmode_crtc->scanout_update_pending ||
815 !drmmode_crtc->scanout[drmmode_crtc->scanout_id] ||
816 drmmode_crtc->dpms_mode != DPMSModeOn)
832 drmmode_crtc->scanout_update_pending = drm_queue_seq;
836 if (!(drmmode_crtc->scanout_status & DRMMODE_SCANOUT_VBLANK_FAILED)) {
840 drmmode_crtc->scanout_status |= DRMMODE_SCANOUT_VBLANK_FAILED;
843 drmmode_crtc->drmmode->event_context.vblank_handler(pAMDGPUEnt->fd,
846 drmmode_crtc->wait_flip_nesting_level++;
851 if (drmmode_crtc->scanout_status ==
861 drmmode_crtc->scanout_status &= ~DRMMODE_SCANOUT_VBLANK_FAILED;
871 drmmode_crtc_private_ptr drmmode_crtc;
879 drmmode_crtc = crtc->driver_private;
880 scanout_id = drmmode_crtc->scanout_id ^ 1;
881 if (drmmode_crtc->scanout_update_pending ||
882 !drmmode_crtc->scanout[scanout_id] ||
883 drmmode_crtc->dpms_mode != DPMSModeOn)
889 fb = amdgpu_pixmap_get_fb(drmmode_crtc->scanout[scanout_id]);
907 if (drmmode_page_flip_target_relative(pAMDGPUEnt, drmmode_crtc,
910 if (!(drmmode_crtc->scanout_status & DRMMODE_SCANOUT_FLIP_FAILED)) {
914 drmmode_crtc->scanout_status |= DRMMODE_SCANOUT_FLIP_FAILED;
921 if (drmmode_crtc->scanout_status & DRMMODE_SCANOUT_FLIP_FAILED) {
923 drmmode_crtc->scanout_status &= ~DRMMODE_SCANOUT_FLIP_FAILED;
926 drmmode_crtc->scanout_id = scanout_id;
927 drmmode_crtc->scanout_update_pending = drm_queue_seq;
928 drmmode_fb_reference(pAMDGPUEnt->fd, &drmmode_crtc->flip_pending, fb);
955 drmmode_crtc_private_ptr drmmode_crtc = NULL;
958 drmmode_crtc = crtc->driver_private;
960 if (drmmode_crtc && drmmode_crtc->tear_free)
990 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
997 !drmmode_crtc->scanout[scanout_id] ||
1001 pDraw = &drmmode_crtc->scanout[scanout_id]->drawable;
1005 if (drmmode_crtc->tear_free) {
1007 RegionCopy(&drmmode_crtc->scanout_last_region, &region);
1072 drmmode_crtc_private_ptr drmmode_crtc = event_data;
1074 drmmode_crtc->scanout_update_pending = 0;
1081 drmmode_crtc_private_ptr drmmode_crtc = event_data;
1083 RegionPtr region = DamageRegion(drmmode_crtc->scanout_damage);
1086 !drmmode_crtc->flip_pending &&
1087 drmmode_crtc->dpms_mode == DPMSModeOn) {
1088 if (amdgpu_scanout_do_update(crtc, drmmode_crtc->scanout_id,
1102 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
1111 drmmode_crtc->scanout_update_pending ||
1112 drmmode_crtc->flip_pending ||
1113 drmmode_crtc->dpms_mode != DPMSModeOn)
1116 pDamage = drmmode_crtc->scanout_damage;
1133 drmmode_crtc,
1140 amdgpu_scanout_update_handler(xf86_crtc, 0, 0, drmmode_crtc);
1144 drmmode_crtc->scanout_update_pending = drm_queue_seq;
1148 if (!(drmmode_crtc->scanout_status & DRMMODE_SCANOUT_VBLANK_FAILED)) {
1152 drmmode_crtc->scanout_status |= DRMMODE_SCANOUT_VBLANK_FAILED;
1155 drmmode_crtc->drmmode->event_context.vblank_handler(pAMDGPUEnt->fd,
1158 drmmode_crtc->wait_flip_nesting_level++;
1163 if (drmmode_crtc->scanout_status ==
1173 drmmode_crtc->scanout_status &= ~DRMMODE_SCANOUT_VBLANK_FAILED;
1180 drmmode_crtc_private_ptr drmmode_crtc = xf86_crtc->driver_private;
1181 RegionPtr region = DamageRegion(drmmode_crtc->scanout_damage);
1188 if (drmmode_crtc->scanout_update_pending ||
1189 drmmode_crtc->flip_pending ||
1190 drmmode_crtc->dpms_mode != DPMSModeOn)
1193 scanout_id = drmmode_crtc->scanout_id ^ 1;
1202 fb = amdgpu_pixmap_get_fb(drmmode_crtc->scanout[scanout_id]);
1220 if (drmmode_page_flip_target_relative(pAMDGPUEnt, drmmode_crtc,
1223 if (!(drmmode_crtc->scanout_status & DRMMODE_SCANOUT_FLIP_FAILED)) {
1227 drmmode_crtc->scanout_status |= DRMMODE_SCANOUT_FLIP_FAILED;
1231 RegionCopy(DamageRegion(drmmode_crtc->scanout_damage),
1232 &drmmode_crtc->scanout_last_region);
1233 RegionEmpty(&drmmode_crtc->scanout_last_region);
1235 drmmode_crtc_scanout_destroy(&drmmode_crtc->scanout[scanout_id]);
1236 drmmode_crtc->tear_free = FALSE;
1240 if (drmmode_crtc->scanout_status & DRMMODE_SCANOUT_FLIP_FAILED) {
1242 drmmode_crtc->scanout_status &= ~DRMMODE_SCANOUT_FLIP_FAILED;
1245 drmmode_crtc->scanout_id = scanout_id;
1246 drmmode_crtc->scanout_update_pending = drm_queue_seq;
1247 drmmode_fb_reference(pAMDGPUEnt->fd, &drmmode_crtc->flip_pending, fb);
1268 drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
1270 if (drmmode_crtc->rotate)
1273 if (drmmode_crtc->tear_free)
1275 else if (drmmode_crtc->scanout[drmmode_crtc->scanout_id])
1881 drmmode_crtc_private_ptr drmmode_crtc =
1884 drmmode_fb_reference(pAMDGPUEnt->fd, &drmmode_crtc->fb, NULL);
2291 drmmode_crtc_private_ptr drmmode_crtc;
2304 drmmode_crtc = crtc->driver_private;
2306 if (!drmmode_crtc->fb)
2328 drmmode_crtc = crtc->driver_private;
2330 if (drmmode_crtc->fb) {
2335 drmmode_crtc->mode_crtc->crtc_id, 0,
2338 &drmmode_crtc->fb, NULL);
2342 if (drmmode_crtc->scanout[0])
2343 pixmap_unref_fb(drmmode_crtc->scanout[0]);
2344 if (drmmode_crtc->scanout[1])
2345 pixmap_unref_fb(drmmode_crtc->scanout[1]);
2416 drmmode_crtc_private_ptr drmmode_crtc = xf86_config->crtc[c]->driver_private;
2419 if (!drmmode_crtc->cursor_buffer[i]) {
2420 drmmode_crtc->cursor_buffer[i] =
2425 if (!(drmmode_crtc->cursor_buffer[i])) {
2430 if (amdgpu_bo_cpu_map(drmmode_crtc->cursor_buffer[i]->bo.amdgpu,
2431 &drmmode_crtc->cursor_buffer[i]->cpu_ptr))