diff options
author | Keith Packard <keithp@keithp.com> | 2009-01-13 20:01:49 -0800 |
---|---|---|
committer | Zhenyu Wang <zhenyu.z.wang@intel.com> | 2009-01-14 14:57:08 +0800 |
commit | d994978488648a68ade0d518e5dd40d100e953ed (patch) | |
tree | 9d6670447c3ee681a2f5d97c4dec8f93ec7d1961 | |
parent | 7c5afbbd3e7570224ceb4fa793fe230fd3a383fe (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>
(cherry picked from commit a4b023c17b9c3bd65fb9466ddb8a953f60244402)
-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 7a9999a2..82a068c0 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -1594,6 +1594,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); unsigned long rotate_pitch; PixmapPtr rotate_pixmap; @@ -1614,6 +1615,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; } |