Lines Matching full:crtc

43 xf86RotateCrtcRedisplay(xf86CrtcPtr crtc, RegionPtr region)  in xf86RotateCrtcRedisplay()  argument
45 ScrnInfoPtr scrn = crtc->scrn; in xf86RotateCrtcRedisplay()
48 PixmapPtr dst_pixmap = crtc->rotatedPixmap; in xf86RotateCrtcRedisplay()
56 if (crtc->driverIsPerformingTransform & XF86DriverTransformOutput) in xf86RotateCrtcRedisplay()
73 error = SetPictureTransform(src, &crtc->crtc_to_framebuffer); in xf86RotateCrtcRedisplay()
76 if (crtc->transform_in_use && crtc->filter) in xf86RotateCrtcRedisplay()
77 SetPicturePictFilter(src, crtc->filter, crtc->params, crtc->nparams); in xf86RotateCrtcRedisplay()
79 if (crtc->shadowClear) { in xf86RotateCrtcRedisplay()
83 crtc->mode.HDisplay, crtc->mode.VDisplay); in xf86RotateCrtcRedisplay()
84 crtc->shadowClear = FALSE; in xf86RotateCrtcRedisplay()
91 dst_box.x1 -= crtc->filter_width >> 1; in xf86RotateCrtcRedisplay()
92 dst_box.x2 += crtc->filter_width >> 1; in xf86RotateCrtcRedisplay()
93 dst_box.y1 -= crtc->filter_height >> 1; in xf86RotateCrtcRedisplay()
94 dst_box.y2 += crtc->filter_height >> 1; in xf86RotateCrtcRedisplay()
95 pixman_f_transform_bounds(&crtc->f_framebuffer_to_crtc, &dst_box); in xf86RotateCrtcRedisplay()
109 xf86CrtcDamageShadow(xf86CrtcPtr crtc) in xf86CrtcDamageShadow() argument
111 ScrnInfoPtr pScrn = crtc->scrn; in xf86CrtcDamageShadow()
117 damage_box.x2 = crtc->mode.HDisplay; in xf86CrtcDamageShadow()
119 damage_box.y2 = crtc->mode.VDisplay; in xf86CrtcDamageShadow()
120 if (!pixman_transform_bounds(&crtc->crtc_to_framebuffer, &damage_box)) { in xf86CrtcDamageShadow()
138 crtc->shadowClear = TRUE; in xf86CrtcDamageShadow()
149 xf86CrtcPtr crtc = xf86_config->crtc[c]; in xf86RotatePrepare() local
151 if (crtc->rotatedData && !crtc->rotatedPixmap) { in xf86RotatePrepare()
152 crtc->rotatedPixmap = crtc->funcs->shadow_create(crtc, in xf86RotatePrepare()
153 crtc->rotatedData, in xf86RotatePrepare()
154 crtc->mode. in xf86RotatePrepare()
156 crtc->mode. in xf86RotatePrepare()
166 xf86CrtcDamageShadow(crtc); in xf86RotatePrepare()
197 xf86CrtcPtr crtc = xf86_config->crtc[c]; in xf86RotateRedisplay() local
199 if (crtc->transform_in_use && crtc->enabled) { in xf86RotateRedisplay()
202 /* compute portion of damage that overlaps crtc */ in xf86RotateRedisplay()
203 RegionInit(&crtc_damage, &crtc->bounds, 1); in xf86RotateRedisplay()
208 xf86RotateCrtcRedisplay(crtc, &crtc_damage); in xf86RotateRedisplay()
244 xf86RotateDestroy(xf86CrtcPtr crtc) in xf86RotateDestroy() argument
246 ScrnInfoPtr pScrn = crtc->scrn; in xf86RotateDestroy()
251 if (crtc->rotatedPixmap || crtc->rotatedData) { in xf86RotateDestroy()
252 crtc->funcs->shadow_destroy(crtc, crtc->rotatedPixmap, in xf86RotateDestroy()
253 crtc->rotatedData); in xf86RotateDestroy()
254 crtc->rotatedPixmap = NULL; in xf86RotateDestroy()
255 crtc->rotatedData = NULL; in xf86RotateDestroy()
259 if (xf86_config->crtc[c]->rotatedData) in xf86RotateDestroy()
283 xf86CrtcPtr crtc = config->crtc[c]; in xf86RotateFreeShadow() local
285 if (crtc->rotatedPixmap || crtc->rotatedData) { in xf86RotateFreeShadow()
286 crtc->funcs->shadow_destroy(crtc, crtc->rotatedPixmap, in xf86RotateFreeShadow()
287 crtc->rotatedData); in xf86RotateFreeShadow()
288 crtc->rotatedPixmap = NULL; in xf86RotateFreeShadow()
289 crtc->rotatedData = NULL; in xf86RotateFreeShadow()
316 xf86RotateDestroy(xf86_config->crtc[c]); in xf86RotateCloseScreen()
320 xf86CrtcFitsScreen(xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb) in xf86CrtcFitsScreen() argument
322 ScrnInfoPtr pScrn = crtc->scrn; in xf86CrtcFitsScreen()
339 b.x2 = crtc->mode.HDisplay; in xf86CrtcFitsScreen()
340 b.y2 = crtc->mode.VDisplay; in xf86CrtcFitsScreen()
344 b.x1 += crtc->x; in xf86CrtcFitsScreen()
345 b.y1 += crtc->y; in xf86CrtcFitsScreen()
346 b.x2 += crtc->x; in xf86CrtcFitsScreen()
347 b.y2 += crtc->y; in xf86CrtcFitsScreen()
355 xf86CrtcRotate(xf86CrtcPtr crtc) in xf86CrtcRotate() argument
357 ScrnInfoPtr pScrn = crtc->scrn; in xf86CrtcRotate()
372 if (crtc->transformPresent) in xf86CrtcRotate()
373 transform = &crtc->transform; in xf86CrtcRotate()
375 if (!RRTransformCompute(crtc->x, crtc->y, in xf86CrtcRotate()
376 crtc->mode.HDisplay, crtc->mode.VDisplay, in xf86CrtcRotate()
377 crtc->rotation, in xf86CrtcRotate()
382 xf86CrtcFitsScreen(crtc, &f_crtc_to_fb)) { in xf86CrtcRotate()
387 xf86RotateDestroy(crtc); in xf86CrtcRotate()
388 crtc->transform_in_use = FALSE; in xf86CrtcRotate()
397 if (crtc->driverIsPerformingTransform & XF86DriverTransformOutput) { in xf86CrtcRotate()
398 xf86RotateDestroy(crtc); in xf86CrtcRotate()
406 int width = crtc->mode.HDisplay; in xf86CrtcRotate()
407 int height = crtc->mode.VDisplay; in xf86CrtcRotate()
408 void *shadowData = crtc->rotatedData; in xf86CrtcRotate()
409 PixmapPtr shadow = crtc->rotatedPixmap; in xf86CrtcRotate()
416 crtc->funcs->shadow_destroy(crtc, shadow, shadowData); in xf86CrtcRotate()
417 crtc->rotatedPixmap = NULL; in xf86CrtcRotate()
418 crtc->rotatedData = NULL; in xf86CrtcRotate()
420 shadowData = crtc->funcs->shadow_allocate(crtc, width, height); in xf86CrtcRotate()
423 crtc->rotatedData = shadowData; in xf86CrtcRotate()
450 crtc->funcs->shadow_destroy(crtc, shadow, shadowData); in xf86CrtcRotate()
451 crtc->rotatedPixmap = NULL; in xf86CrtcRotate()
452 crtc->rotatedData = NULL; in xf86CrtcRotate()
456 crtc->rotatedPixmap = in xf86CrtcRotate()
457 crtc->funcs->shadow_create(crtc, NULL, old_width, in xf86CrtcRotate()
481 crtc->transform_in_use = TRUE; in xf86CrtcRotate()
483 crtc->crtc_to_framebuffer = crtc_to_fb; in xf86CrtcRotate()
484 crtc->f_crtc_to_framebuffer = f_crtc_to_fb; in xf86CrtcRotate()
485 crtc->f_framebuffer_to_crtc = f_fb_to_crtc; in xf86CrtcRotate()
486 free(crtc->params); in xf86CrtcRotate()
487 crtc->params = new_params; in xf86CrtcRotate()
488 crtc->nparams = new_nparams; in xf86CrtcRotate()
489 crtc->filter = new_filter; in xf86CrtcRotate()
490 crtc->filter_width = new_width; in xf86CrtcRotate()
491 crtc->filter_height = new_height; in xf86CrtcRotate()
492 crtc->bounds.x1 = 0; in xf86CrtcRotate()
493 crtc->bounds.x2 = crtc->mode.HDisplay; in xf86CrtcRotate()
494 crtc->bounds.y1 = 0; in xf86CrtcRotate()
495 crtc->bounds.y2 = crtc->mode.VDisplay; in xf86CrtcRotate()
496 pixman_f_transform_bounds(&f_crtc_to_fb, &crtc->bounds); in xf86CrtcRotate()
499 xf86CrtcDamageShadow(crtc); in xf86CrtcRotate()
500 else if (crtc->rotatedData && !crtc->rotatedPixmap) in xf86CrtcRotate()