[PATCH 1/2] exa: Calling exaMarkSync after UTS is the drivers responsibility.

Maarten Maathuis madman2003 at gmail.com
Sat Feb 7 06:34:56 PST 2009


On Sat, Feb 7, 2009 at 3:22 PM, Michel Dänzer <michel at daenzer.net> wrote:
> On Fri, 2009-02-06 at 21:16 +0100, Maarten Maathuis wrote:
>> ---
>>  exa/exa_migration.c |    4 ++--
>>  1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/exa/exa_migration.c b/exa/exa_migration.c
>> index 19e0f71..8fb6d2f 100644
>> --- a/exa/exa_migration.c
>> +++ b/exa/exa_migration.c
>> @@ -231,7 +231,7 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc,
>>
>>      if (access_prepared)
>>       exaFinishAccess(&pPixmap->drawable, fallback_index);
>> -    else if (need_sync)
>> +    else if (need_sync && sync)
>>       sync (pPixmap->drawable.pScreen);
>>
>>      pExaPixmap->offscreen = save_offscreen;
>> @@ -276,7 +276,7 @@ exaCopyDirtyToFb (ExaMigrationPtr migrate)
>>      exaCopyDirty(migrate, &pExaPixmap->validFB, &pExaPixmap->validSys,
>>                pExaScr->info->UploadToScreen, pExaPixmap->sys_ptr,
>>                pExaPixmap->fb_ptr, pExaPixmap->sys_pitch,
>> -              pExaPixmap->fb_pitch, EXA_PREPARE_DEST, exaMarkSync);
>> +              pExaPixmap->fb_pitch, EXA_PREPARE_DEST, NULL);
>>  }
>
> Won't this break existing drivers?
>
> What's the problem you're trying to solve with this?
>
>
> --
> Earthling Michel Dänzer           |                http://www.vmware.com
> Libre software enthusiast         |          Debian, X and DRI developer
>

It's just a correctness fix, exa.h clearly states:

     * If UploadToScreen() is performed asynchronously, it is up to the driver
     * to call exaMarkSync().  This is in contrast to most other acceleration
     * calls in EXA.

Maarten.


More information about the xorg-devel mailing list