diff options
author | Dave Airlie <airlied@redhat.com> | 2010-08-12 11:18:06 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-08-12 11:18:06 +1000 |
commit | 5a9865d90c23c4ce0f46d380ea9119eac87a99eb (patch) | |
tree | 7321b5466e6effc20e309b1fc0fdcba75fea6ad6 /src/radeon_cursor.c | |
parent | 8351bb9f085fde5dc47b115375efcc61adc23859 (diff) |
evergreen: fix multi-head cursor support
Diffstat (limited to 'src/radeon_cursor.c')
-rw-r--r-- | src/radeon_cursor.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/radeon_cursor.c b/src/radeon_cursor.c index 538c8b20..8eff9d1f 100644 --- a/src/radeon_cursor.c +++ b/src/radeon_cursor.c @@ -225,7 +225,7 @@ radeon_crtc_hide_cursor (xf86CrtcPtr crtc) if (IS_DCE4_VARIANT) { evergreen_lock_cursor(crtc, TRUE); evergreen_setup_cursor(crtc, FALSE); - evergreen_lock_cursor(crtc, TRUE); + evergreen_lock_cursor(crtc, FALSE); } else if (IS_AVIVO_VARIANT) { avivo_lock_cursor(crtc, TRUE); avivo_setup_cursor(crtc, FALSE); @@ -265,7 +265,12 @@ radeon_crtc_set_cursor_position (xf86CrtcPtr crtc, int x, int y) if (yorigin >= CURSOR_HEIGHT) yorigin = CURSOR_HEIGHT - 1; if (IS_DCE4_VARIANT) { - /* XXX - does evergreen need a similar hack as below? */ + /* avivo cursor spans the full fb width */ + if (crtc->rotatedData == NULL) { + x += crtc->x; + y += crtc->y; + } + evergreen_lock_cursor(crtc, TRUE); OUTREG(EVERGREEN_CUR_POSITION + radeon_crtc->crtc_offset, ((xorigin ? 0 : x) << 16) | (yorigin ? 0 : y)); |