EXA classic problem with Xv

Yves De Muyter yves at connected.be
Thu Jul 22 11:18:06 PDT 2010


Hello,

I have now ported the driver to exa_mixed (also because the exa_classic bugfix is not being backported to 1.7 and this way we bypass the issue).

Driver seems to work fine, just like it did under exa_classic.

But the same issue remains, mplayer and others still use the fullscreen pixmap as a Xv pixmap and that one is 'pinned'. Once it is pinned I cannot access the base address and thus can't blit the XV image onto the pixmap...
I wonder if i need to do exaPrepareAccess() too to make exaMoveInPixmap() actually do something...

Can someone also explain what the 'pinned' system is all about on the pixmaps score?

-Yves


On Thu, Jun 10, 2010 at 09:16:44PM +0200, Maarten Maathuis wrote:
> On Thu, Jun 10, 2010 at 8:56 PM, Corbin Simpson
> <mostawesomedude at gmail.com> wrote:
> > 2010/6/10 Yves De Muyter <yves at alfavisio.be>:
> >> Is there any documentation available about the differences between
> >> exa_mixed and exa_driver ? Is exa_driver like complete handover of
> >> pixmap migration to the driver ?
> >
> > The three flavors:
> > ~ Classic. EXA handles offscreen pixmaps itself. Simple, except when it breaks.
> > ~ Driver. EXA lets the driver control pixmap allocation and placement.
> > Great if you have a memory manager.
> > ~ Mixed. Like driver, but certain things have been tweaked to optimize
> > certain kinds of acceleration in a way that was never really explained
> > to me.
> 
> mixed has parts from classic that avoid touching driver pixmaps
> directly for fallbacks (vram is slow to access from the cpu). Xorg's
> unique access patterns are not well suited to modern gpu's IMO. That's
> why mixed was made. Mixed would be useless if our world was 100% gpu
> accelerated, but unfortunately it's not.
> 
> For mixed you can also fail prepare access on the frontbuffer, which
> allows you to make a driver that doesn't allow mapping of vram,
> provided you have a UTS and DFS hook that always works.
> 
> For igp'ish hardware without dedicated memory and a decent memory
> manager, exa driver is preferred because it's the simplest driver mode
> and avoids overhead that is unneeded for such hardware.
> 
> >
> > To go from driver to mixed is pretty simple; here's an example commit:
> > http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=577ff3ce922e457cc32f80d4365cb1da81552e72
> >
> > ~ C.
> >
> > --
> > When the facts change, I change my mind. What do you do, sir? ~ Keynes
> >
> > Corbin Simpson
> > <MostAwesomeDude at gmail.com>
> > _______________________________________________
> > xorg at lists.freedesktop.org: X.Org support
> > Archives: http://lists.freedesktop.org/archives/xorg
> > Info: http://lists.freedesktop.org/mailman/listinfo/xorg
> > Your subscription address: madman2003 at gmail.com
> >
> 
> 
> 
> -- 
> Life spent, a precious moment, in the wink of an eye we live and we die.
> _______________________________________________
> xorg at lists.freedesktop.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: http://lists.freedesktop.org/mailman/listinfo/xorg
> Your subscription address: yves at connected.be



More information about the xorg mailing list