Lines Matching refs:crtc
75 xf86RotateCrtcRedisplay (xf86CrtcPtr crtc, RegionPtr region)
77 ScrnInfoPtr scrn = crtc->scrn;
80 PixmapPtr dst_pixmap = crtc->rotatedPixmap;
108 error = SetPictureTransform (src, &crtc->crtc_to_framebuffer);
111 if (crtc->transform_in_use && crtc->filter)
112 SetPicturePictFilter (src, crtc->filter,
113 crtc->params, crtc->nparams);
115 if (crtc->shadowClear)
120 crtc->mode.HDisplay, crtc->mode.VDisplay);
121 crtc->shadowClear = FALSE;
130 dst_box.x1 -= crtc->filter_width >> 1;
131 dst_box.x2 += crtc->filter_width >> 1;
132 dst_box.y1 -= crtc->filter_height >> 1;
133 dst_box.y2 += crtc->filter_height >> 1;
134 pixman_f_transform_bounds (&crtc->f_framebuffer_to_crtc, &dst_box);
148 xf86CrtcDamageShadow (xf86CrtcPtr crtc)
150 ScrnInfoPtr pScrn = crtc->scrn;
156 damage_box.x2 = crtc->mode.HDisplay;
158 damage_box.y2 = crtc->mode.VDisplay;
159 if (!pixman_transform_bounds (&crtc->crtc_to_framebuffer, &damage_box))
174 crtc->shadowClear = TRUE;
186 xf86CrtcPtr crtc = xf86_config->crtc[c];
188 if (crtc->rotatedData && !crtc->rotatedPixmap)
190 crtc->rotatedPixmap = crtc->funcs->shadow_create (crtc,
191 crtc->rotatedData,
192 crtc->mode.HDisplay,
193 crtc->mode.VDisplay);
203 xf86CrtcDamageShadow (crtc);
236 xf86CrtcPtr crtc = xf86_config->crtc[c];
238 if (crtc->transform_in_use && crtc->enabled)
242 /* compute portion of damage that overlaps crtc */
243 RegionInit(&crtc_damage, &crtc->bounds, 1);
248 xf86RotateCrtcRedisplay (crtc, &crtc_damage);
277 xf86RotateDestroy (xf86CrtcPtr crtc)
279 ScrnInfoPtr pScrn = crtc->scrn;
285 if (crtc->rotatedPixmap || crtc->rotatedData)
287 crtc->funcs->shadow_destroy (crtc, crtc->rotatedPixmap, crtc->rotatedData);
288 crtc->rotatedPixmap = NULL;
289 crtc->rotatedData = NULL;
293 if (xf86_config->crtc[c]->transform_in_use)
321 xf86CrtcPtr crtc = config->crtc[c];
323 if (crtc->rotatedPixmap || crtc->rotatedData) {
324 crtc->funcs->shadow_destroy(crtc, crtc->rotatedPixmap,
325 crtc->rotatedData);
326 crtc->rotatedPixmap = NULL;
327 crtc->rotatedData = NULL;
340 xf86RotateDestroy (xf86_config->crtc[c]);
344 xf86CrtcFitsScreen (xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb)
346 ScrnInfoPtr pScrn = crtc->scrn;
357 b.x2 = crtc->mode.HDisplay;
358 b.y2 = crtc->mode.VDisplay;
362 b.x1 += crtc->x;
363 b.y1 += crtc->y;
364 b.x2 += crtc->x;
365 b.y2 += crtc->y;
373 xf86CrtcRotate (xf86CrtcPtr crtc)
375 ScrnInfoPtr pScrn = crtc->scrn;
389 if (crtc->transformPresent)
390 transform = &crtc->transform;
392 if (!RRTransformCompute (crtc->x, crtc->y,
393 crtc->mode.HDisplay, crtc->mode.VDisplay,
394 crtc->rotation,
400 xf86CrtcFitsScreen (crtc, &f_crtc_to_fb))
406 xf86RotateDestroy (crtc);
407 crtc->transform_in_use = FALSE;
422 int width = crtc->mode.HDisplay;
423 int height = crtc->mode.VDisplay;
424 void *shadowData = crtc->rotatedData;
425 PixmapPtr shadow = crtc->rotatedPixmap;
434 crtc->funcs->shadow_destroy (crtc, shadow, shadowData);
435 crtc->rotatedPixmap = NULL;
436 crtc->rotatedData = NULL;
438 shadowData = crtc->funcs->shadow_allocate (crtc, width, height);
441 crtc->rotatedData = shadowData;
491 crtc->funcs->shadow_destroy (crtc, shadow, shadowData);
492 crtc->rotatedPixmap = NULL;
493 crtc->rotatedData = NULL;
497 crtc->rotatedPixmap = crtc->funcs->shadow_create (crtc,
503 crtc->transform_in_use = TRUE;
505 crtc->crtc_to_framebuffer = crtc_to_fb;
506 crtc->f_crtc_to_framebuffer = f_crtc_to_fb;
507 crtc->f_framebuffer_to_crtc = f_fb_to_crtc;
508 free(crtc->params);
509 crtc->params = new_params;
510 crtc->nparams = new_nparams;
511 crtc->filter = new_filter;
512 crtc->filter_width = new_width;
513 crtc->filter_height = new_height;
514 crtc->bounds.x1 = 0;
515 crtc->bounds.x2 = crtc->mode.HDisplay;
516 crtc->bounds.y1 = 0;
517 crtc->bounds.y2 = crtc->mode.VDisplay;
518 pixman_f_transform_bounds (&f_crtc_to_fb, &crtc->bounds);
521 xf86CrtcDamageShadow (crtc);