[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