diff --git a/radeon-modeset.patch b/radeon-modeset.patch index 3739c3e..d038e15 100644 --- a/radeon-modeset.patch +++ b/radeon-modeset.patch @@ -1,3 +1,19 @@ +commit 8883244a965896052de172aec3c4aea97adb6731 +Author: Dave Airlie +Date: Mon Nov 10 11:18:27 2008 +1000 + + radeon: fix crtc dpms + + need to find a better way to switch displays off + +commit d36e1bf4d64ed9e2c63d2d7aa985857af51e1281 +Author: Dave Airlie +Date: Mon Nov 10 11:18:02 2008 +1000 + + radeon: fix textured video corruption + + at least workaround it + commit e62421656dcf49633380fa698d5c94394069403f Author: Dave Airlie Date: Sat Nov 8 14:48:29 2008 +1000 @@ -661,7 +677,7 @@ index d65a3e4..ff54329 100644 + radeon_dri_bufmgr.h diff --git a/src/drmmode_display.c b/src/drmmode_display.c new file mode 100644 -index 0000000..d3ba7db +index 0000000..3cb2fb9 --- /dev/null +++ b/src/drmmode_display.c @@ -0,0 +1,864 @@ @@ -795,8 +811,8 @@ index 0000000..d3ba7db + + /* bonghits in the randr 1.2 - uses dpms to disable crtc - bad buzz */ + if (mode == DPMSModeOff) { -+ drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id, -+ 0, 0, 0, NULL, 0, NULL); ++// drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id, ++// 0, 0, 0, NULL, 0, NULL); + } +} + @@ -7997,7 +8013,7 @@ index c14241e..8ef7381 100644 typedef struct { diff --git a/src/radeon_textured_video.c b/src/radeon_textured_video.c -index c185b46..1c54256 100644 +index c185b46..1ff5a7f 100644 --- a/src/radeon_textured_video.c +++ b/src/radeon_textured_video.c @@ -39,6 +39,7 @@ @@ -8032,17 +8048,23 @@ index c185b46..1c54256 100644 #include "radeon_textured_videofuncs.c" -@@ -189,7 +193,8 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, +@@ -188,13 +192,8 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, + break; } - #ifdef XF86DRI +-#ifdef XF86DRI - if (info->directRenderingEnabled && info->DMAForXv) -+ if ((info->directRenderingEnabled || info->drm_mode_setting) -+ && info->DMAForXv ) - /* The upload blit only supports multiples of 64 bytes */ - dstPitch = (dstPitch + 63) & ~63; - else -@@ -207,6 +212,9 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, +- /* The upload blit only supports multiples of 64 bytes */ +- dstPitch = (dstPitch + 63) & ~63; +- else +-#endif +- dstPitch = (dstPitch + 15) & ~15; ++ /* always align to 64 bytes - fixes issue with non-CP code */ ++ dstPitch = (dstPitch + 63) & ~63; + + if (pPriv->video_memory != NULL && size != pPriv->size) { + radeon_legacy_free_memory(pScrn, pPriv->video_memory); +@@ -207,6 +206,9 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, size * 2, 64); if (pPriv->video_offset == 0) return BadAlloc; @@ -8052,7 +8074,7 @@ index c185b46..1c54256 100644 } /* Bicubic filter loading */ -@@ -219,6 +227,9 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, +@@ -219,6 +221,9 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, pPriv->bicubic_src_offset = pPriv->bicubic_offset + info->fbLocation + pScrn->fbOffset; if (pPriv->bicubic_offset == 0) pPriv->bicubic_enabled = FALSE; @@ -8062,7 +8084,7 @@ index c185b46..1c54256 100644 } if (pDraw->type == DRAWABLE_WINDOW) -@@ -248,8 +259,19 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, +@@ -248,8 +253,19 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, left = (x1 >> 16) & ~1; npixels = ((((x2 + 0xffff) >> 16) + 1) & ~1) - left; @@ -8084,7 +8106,7 @@ index c185b46..1c54256 100644 pPriv->src_pitch = dstPitch; pPriv->size = size; pPriv->pDraw = pDraw; -@@ -290,8 +312,24 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, +@@ -290,8 +306,24 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, } /* Upload bicubic filter tex */ @@ -8111,7 +8133,7 @@ index c185b46..1c54256 100644 /* update cliplist */ if (!REGION_EQUAL(pScrn->pScreen, &pPriv->clip, clipBoxes)) { -@@ -308,8 +346,10 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, +@@ -308,8 +340,10 @@ RADEONPutImageTextured(ScrnInfoPtr pScrn, pPriv->w = width; pPriv->h = height; diff --git a/xorg-x11-drv-ati.spec b/xorg-x11-drv-ati.spec index 3c06884..62ecf24 100644 --- a/xorg-x11-drv-ati.spec +++ b/xorg-x11-drv-ati.spec @@ -5,7 +5,7 @@ Summary: Xorg X11 ati video driver Name: xorg-x11-drv-ati Version: 6.9.0 -Release: 42%{?dist} +Release: 43%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X Hardware Support @@ -82,6 +82,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man4/radeon.4* %changelog +* Mon Nov 10 2008 Dave Airlie 6.9.0-43 +- radeon-modeset.patch: fix dpms + xv (#470050) + * Sat Nov 08 2008 Dave Airlie 6.9.0-42 - radeon-modeset.patch: fix rotation + dpms