debian/changelog | 8 + debian/patches/107-submit-batch-buffers-from-flush-callback-chain.patch | 66 ++++++++++ debian/patches/series | 1 3 files changed, 75 insertions(+)
New commits: commit 96ba0f7c582afe17cc217ee14062c2690f226099 Author: Robert Hooker <sarv...@ubuntu.com> Date: Mon Oct 4 11:07:49 2010 -0400 Backport a commit from 2.13 to fix text rendering issues with compiz. diff --git a/debian/changelog b/debian/changelog index 56d4a66..6a626fa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +xserver-xorg-video-intel (2:2.12.0-1ubuntu5.1) maverick; urgency=low + + * Add 107-submit-batch-buffers-from-flush-callback-chain.patch: + Fixes a text rendering issue in many applications when compiz is + enabled. Backport of upstream commit 69d65f918. (LP: #644943, #635258) + + -- Robert Hooker <robert.hoo...@canonical.com> Mon, 04 Oct 2010 10:53:59 -0400 + xserver-xorg-video-intel (2:2.12.0-1ubuntu5) maverick; urgency=low [ Robert Hooker ] diff --git a/debian/patches/107-submit-batch-buffers-from-flush-callback-chain.patch b/debian/patches/107-submit-batch-buffers-from-flush-callback-chain.patch new file mode 100644 index 0000000..c8f86b7 --- /dev/null +++ b/debian/patches/107-submit-batch-buffers-from-flush-callback-chain.patch @@ -0,0 +1,66 @@ +diff -upNr xf86-video-intel-2.12.0.orign/src/i830_driver.c xf86-video-intel-2.12.0/src/i830_driver.c +--- xf86-video-intel-2.12.0.orign/src/i830_driver.c 2010-09-13 20:59:08.722629729 +0200 ++++ xf86-video-intel-2.12.0/src/i830_driver.c 2010-09-13 20:59:46.783566903 +0200 +@@ -865,16 +865,8 @@ I830BlockHandler(int i, pointer blockDat + intel->BlockHandler = screen->BlockHandler; + screen->BlockHandler = I830BlockHandler; + +- if (scrn->vtSema) { +- /* Emit a flush of the rendering cache, or on the 965 and beyond +- * rendering results may not hit the framebuffer until significantly +- * later. +- */ +- intel_batch_submit(scrn, +- intel->need_mi_flush || +- !list_is_empty(&intel->flush_pixmaps)); ++ if (scrn->vtSema == TRUE) + drmCommandNone(intel->drmSubFD, DRM_I915_GEM_THROTTLE); +- } + + i830_uxa_block_handler(screen); + +@@ -1072,6 +1064,24 @@ I830UeventFini(ScrnInfoPtr scrn) + } + } + ++static void ++intel_flush_callback(CallbackListPtr *list, ++ pointer user_data, pointer call_data) ++{ ++ ScrnInfoPtr scrn = user_data; ++ intel_screen_private *intel = intel_get_screen_private(scrn); ++ ++ if (scrn->vtSema) { ++ /* Emit a flush of the rendering cache, or on the 965 ++ * and beyond rendering results may not hit the ++ * framebuffer until significantly later. ++ */ ++ intel_batch_submit(scrn, ++ intel->need_mi_flush || ++ !list_is_empty(&intel->flush_pixmaps)); ++ } ++} ++ + static Bool + I830ScreenInit(int scrnIndex, ScreenPtr screen, int argc, char **argv) + { +@@ -1248,6 +1258,9 @@ I830ScreenInit(int scrnIndex, ScreenPtr + intel->BlockHandler = screen->BlockHandler; + screen->BlockHandler = I830BlockHandler; + ++ if (!AddCallback(&FlushCallback, intel_flush_callback, scrn)) ++ return FALSE; ++ + screen->SaveScreen = xf86SaveScreen; + intel->CloseScreen = screen->CloseScreen; + screen->CloseScreen = I830CloseScreen; +@@ -1402,6 +1415,8 @@ static Bool I830CloseScreen(int scrnInde + intel->front_buffer = NULL; + } + ++ DeleteCallback(&FlushCallback, intel_flush_callback, scrn); ++ + intel_batch_teardown(scrn); + + if (IS_I965G(intel)) + diff --git a/debian/patches/series b/debian/patches/series index 478c050..2fa3dd7 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,3 +5,4 @@ 104_sandybridge_id_update.patch 105_sandybridge_dri_disable.patch 106_backport_vblank_on_server_regenerate_fix.patch +107-submit-batch-buffers-from-flush-callback-chain.patch -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1p2mgi-00040u...@alioth.debian.org