Separate out screen size and screen pixmap sizes in RRScreenSizeSet

This provides for separate sizes for the screen scanout and rendering
buffer and the application-visible screen size.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
This commit is contained in:
Keith Packard
2010-12-05 20:57:47 -08:00
parent a88d70fb20
commit 752c368421
6 changed files with 96 additions and 41 deletions

View File

@@ -435,10 +435,9 @@ RRCrtcCurrentConfig(RRCrtcPtr crtc,
crtc_config->sprite_position_f_transform = crtc->client_sprite_f_position_transform;
crtc_config->sprite_image_f_transform = crtc->client_sprite_f_image_transform;
/* XXX add pixmap stuff */
crtc_config->pixmap = NULL;
crtc_config->pixmap_x = 0;
crtc_config->pixmap_y = 0;
crtc_config->pixmap = crtc->scanoutPixmap;
crtc_config->pixmap_x = crtc->x;
crtc_config->pixmap_y = crtc->y;
return TRUE;
}
@@ -1510,6 +1509,8 @@ RRConvertCrtcConfig(ClientPtr client, ScreenPtr screen,
if (x->pixmap == None)
pixmap = NULL;
else if (x->pixmap == RR_CurrentScanoutPixmap)
pixmap = crtc->scanoutPixmap;
else
{
rc = dixLookupResourceByType((pointer *) &pixmap, x->pixmap,