[PATCH 2/2] exa/mixed: devKind doesn't have to be set before calling ExaCopyDirty*
Maarten Maathuis
madman2003 at gmail.com
Wed Dec 2 00:35:25 PST 2009
2009/12/2 Michel Dänzer <michel at daenzer.net>:
> On Wed, 2009-12-02 at 08:42 +0100, Michel Dänzer wrote:
>> On Wed, 2009-12-02 at 00:16 +0100, Maarten Maathuis wrote:
>> > Signed-off-by: Maarten Maathuis <madman2003 at gmail.com>
>> > ---
>> > exa/exa_migration_mixed.c | 6 +-----
>> > 1 files changed, 1 insertions(+), 5 deletions(-)
>> >
>> > diff --git a/exa/exa_migration_mixed.c b/exa/exa_migration_mixed.c
>> > index a7fdf63..36afc86 100644
>> > --- a/exa/exa_migration_mixed.c
>> > +++ b/exa/exa_migration_mixed.c
>> > @@ -101,7 +101,6 @@ exaDoMigration_mixed(ExaMigrationPtr pixmaps, int npixmaps, Bool can_accel)
>> > if (pExaPixmap->pDamage && exaPixmapHasGpuCopy(pPixmap)) {
>> > ExaScreenPriv(pPixmap->drawable.pScreen);
>> >
>> > - pPixmap->devKind = pExaPixmap->fb_pitch;
>> > exaCopyDirtyToFb(pixmaps + i);
>> >
>> > if (pExaScr->deferred_mixed_pixmap == pPixmap)
>> > @@ -183,17 +182,14 @@ exaPrepareAccessReg_mixed(PixmapPtr pPixmap, int index, RegionPtr pReg)
>> > pixmaps[0].as_src = TRUE;
>> > pixmaps[0].pReg = NULL;
>> > }
>> > - pPixmap->devKind = pExaPixmap->fb_pitch;
>> > exaCopyDirtyToSys(pixmaps);
>> > }
>> >
>> > if (as_dst)
>> > exaPixmapDirty(pPixmap, 0, 0, pPixmap->drawable.width,
>> > pPixmap->drawable.height);
>> > - } else if (has_gpu_copy) {
>> > - pPixmap->devKind = pExaPixmap->fb_pitch;
>> > + } else if (has_gpu_copy)
>> > exaCopyDirtyToSys(pixmaps);
>> > - }
>> >
>> > pPixmap->devPrivate.ptr = pExaPixmap->sys_ptr;
>> > pPixmap->devKind = pExaPixmap->sys_pitch;
>>
>> NACK. Driver UploadTo/DownloadFromScreen hooks need to know the GPU copy
>> pitch, and they typically use exaGetPixmapPitch() or just the pixmap
>> devKind field directly for this.
>
> On second thought, exaCopyDirty() does set devKind to the GPU copy pitch
> temporarily, so the second hunk should be okay. However, the first hunk
> doesn't leave anything to ensure devKind keeps the GPU copy pitch, does
> it?
>
Yes you are right, i will correct this when i get home this evening.
>
> --
> Earthling Michel Dänzer | http://www.vmware.com
> Libre software enthusiast | Debian, X and DRI developer
>
More information about the xorg-devel
mailing list