[PATCH] exa/mixed: Partially restore deferred pixmap handling for frontbuffer.
Michel Dänzer
michel at daenzer.net
Thu Feb 10 09:42:20 PST 2011
On Don, 2011-02-10 at 18:21 +0100, Maarten Maathuis wrote:
> - It's not needed to set deferred_mixed_pixmap to NULL, because
> exaDoMigration_mixed will handle that.
True, so...
> @@ -721,9 +721,13 @@ ExaBlockHandler(int screenNum, pointer blockData, pointer pTimeout,
> ExaScreenPriv(pScreen);
>
> /* Move any deferred results from a software fallback to the driver pixmap */
> - if (pExaScr->deferred_mixed_pixmap)
> + if (pExaScr->deferred_mixed_pixmap) {
> exaMoveInPixmap_mixed(pExaScr->deferred_mixed_pixmap);
>
> + if (pExaScr->deferred_mixed_pixmap == pScreen->GetScreenPixmap(pScreen))
> + pExaScr->last_time_front_mixed_pixmap = GetTimeInMillis();
> + }
... pExaScr->deferred_mixed_pixmap == NULL here, and this test will
always fail. :) Just move it before the exaMoveInPixmap_mixed call.
> + if (pPixmap == pScreen->GetScreenPixmap(pScreen)) {
> + CARD32 now = GetTimeInMillis();
> + if ((now - pExaScr->last_time_front_mixed_pixmap) > 50) {
> + pExaScr->last_time_front_mixed_pixmap = now;
> + exaMoveInPixmap_mixed(pPixmap);
> + return;
Indentation is still wrong here.
Looks good otherwise.
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
More information about the xorg-devel
mailing list