diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2018-03-08 19:07:21 +0100 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2018-04-23 17:06:49 +0200 |
commit | 72c3e9c7308fbcdf85708b72f9be14a5f2f8e7b5 (patch) | |
tree | 28586a047d7ca4a45eb0a7b997d81a69fa5f4749 | |
parent | 4dcda0b48d62944c841cd9540f4ad4c7ac8dee47 (diff) |
Simplify drmmode_crtc_scanout_update
Use our own BoxRec for the extents, and RegionEmpty for clearing the
scanout damage region.
-rw-r--r-- | src/drmmode_display.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/drmmode_display.c b/src/drmmode_display.c index d752e71..240e88b 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -727,8 +727,8 @@ drmmode_crtc_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode, if (drmmode_crtc->scanout[scanout_id].pixmap && (!drmmode_crtc->tear_free || drmmode_crtc->scanout[scanout_id ^ 1].pixmap)) { - RegionPtr region; - BoxPtr box; + BoxRec extents = { .x1 = 0, .y1 = 0, + .x2 = scrn->virtualX, .y2 = scrn->virtualY }; if (!drmmode_crtc->scanout_damage) { drmmode_crtc->scanout_damage = @@ -740,21 +740,13 @@ drmmode_crtc_scanout_update(xf86CrtcPtr crtc, DisplayModePtr mode, drmmode_crtc->scanout_damage); } - region = DamageRegion(drmmode_crtc->scanout_damage); - RegionUninit(region); - region->data = NULL; - box = RegionExtents(region); - box->x1 = 0; - box->y1 = 0; - box->x2 = max(box->x2, scrn->virtualX); - box->y2 = max(box->y2, scrn->virtualY); - *fb = amdgpu_pixmap_get_fb(drmmode_crtc->scanout[scanout_id].pixmap); *x = *y = 0; amdgpu_scanout_do_update(crtc, scanout_id, screen->GetWindowPixmap(screen->root), - *box); + extents); + RegionEmpty(DamageRegion(drmmode_crtc->scanout_damage)); amdgpu_glamor_finish(scrn); } } |