Lines Matching refs:scanout
502 struct drmmode_scanout *scanout)
504 if (scanout->pixmap) {
505 drmmode_destroy_bo_pixmap(scanout->pixmap);
506 scanout->pixmap = NULL;
509 radeon_buffer_unref(&scanout->bo);
525 &drmmode_crtc->scanout[0]);
527 &drmmode_crtc->scanout[1]);
534 drmmode_crtc_scanout_create(xf86CrtcPtr crtc, struct drmmode_scanout *scanout,
545 if (scanout->pixmap) {
546 if (scanout->width == width && scanout->height == height)
547 return scanout->pixmap;
549 drmmode_crtc_scanout_destroy(drmmode, scanout);
554 scanout->bo = radeon_alloc_pixmap_bo(pScrn, width, height, pScrn->depth,
557 if (!scanout->bo) {
558 ErrorF("failed to create CRTC scanout BO\n");
562 scanout->pixmap = drmmode_create_bo_pixmap(pScrn,
566 pitch, scanout->bo);
567 if (!scanout->pixmap) {
568 ErrorF("failed to create CRTC scanout pixmap\n");
572 if (radeon_pixmap_get_fb(scanout->pixmap)) {
573 scanout->width = width;
574 scanout->height = height;
576 ErrorF("failed to create CRTC scanout FB\n");
578 drmmode_crtc_scanout_destroy(drmmode, scanout);
581 return scanout->pixmap;
702 !drmmode_crtc->scanout[1].pixmap) {
706 drmmode_crtc_scanout_create(crtc, &drmmode_crtc->scanout[1],
726 drmmode_crtc->scanout[scanout_id].pixmap;
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);
759 drmmode_crtc_scanout_create(crtc, &drmmode_crtc->scanout[scanout_id],
763 &drmmode_crtc->scanout[scanout_id ^ 1],
767 if (drmmode_crtc->scanout[scanout_id].pixmap &&
769 drmmode_crtc->scanout[scanout_id ^ 1].pixmap)) {
783 *fb = radeon_pixmap_get_fb(drmmode_crtc->scanout[scanout_id].pixmap);
790 radeon_finish(scrn, drmmode_crtc->scanout[scanout_id].bo);
992 if (drmmode_crtc->scanout[scanout_id].pixmap &&
994 scanout[scanout_id].pixmap)) {
998 &drmmode_crtc->scanout[1]);
1378 if (!drmmode_crtc_scanout_create(crtc, &drmmode_crtc->scanout[0],
1384 !drmmode_crtc_scanout_create(crtc, &drmmode_crtc->scanout[1],
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);
2356 /* further restrictions for scanout */
2361 /* further restrictions for scanout */
3513 radeon_pixmap_get_fb(drmmode_crtc->scanout[scanout_id].pixmap));