diff options
author | Keith Packard <keithp@keithp.com> | 2009-01-13 20:01:49 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-01-13 20:01:49 -0800 |
commit | a4b023c17b9c3bd65fb9466ddb8a953f60244402 (patch) | |
tree | 82e2f3e7d03907974155c28c3bfdde1e3980c86a | |
parent | f659cc37e61364a408355b9a6a44d39f4d759935 (diff) |
Assign rotation memory dri_bo to rotation pixmap.
As the rotation memory and rotation pixmap are allocated separately (to make
rotation at startup work), the allocate dri_bo needs to be set in the pixmap
for acceleration to work. This restores the performance in rotated modes.
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | src/i830_display.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/i830_display.c b/src/i830_display.c index 50fbc4d8..4fba1fb2 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -1601,6 +1601,7 @@ static PixmapPtr i830_crtc_shadow_create(xf86CrtcPtr crtc, void *data, int width, int height) { ScrnInfoPtr pScrn = crtc->scrn; + I830CrtcPrivatePtr intel_crtc = crtc->driver_private; I830Ptr pI830 = I830PTR(pScrn); int rotate_pitch; PixmapPtr rotate_pixmap; @@ -1621,6 +1622,8 @@ i830_crtc_shadow_create(xf86CrtcPtr crtc, void *data, int width, int height) xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Couldn't allocate shadow pixmap for rotated CRTC\n"); } + if (intel_crtc->rotate_mem && intel_crtc->rotate_mem->bo) + i830_set_pixmap_bo(rotate_pixmap, intel_crtc->rotate_mem->bo); return rotate_pixmap; } |