[PATCH] exa: add low VRAM option.

Michel Dänzer michel at daenzer.net
Mon Oct 5 02:25:52 PDT 2009

On Mon, 2009-10-05 at 14:42 +1000, Dave Airlie wrote: 
> On Mon, 2009-09-28 at 10:13 +0200, Michel Dänzer wrote:
> > On Mon, 2009-09-28 at 14:57 +1000, Dave Airlie wrote: 
> > > From: Dave Airlie <airlied at linux.ie>
> > > 
> > > This basically stops any accel to non screen pixmap and non
> > > window pixmaps when this option is enabled. It makes my
> > > RN50 at least useable again under KMS.
> > > 
> > > I'm mainly producing this to open discussions on whether
> > > there is a better way. I'm defining low VRAM as < 32MB.
> > 
> > There has to be a better way in the long run, but in the meantime this
> > could be handled in the driver PixmapIsOffscreen hook?
> > 
> http://people.freedesktop.org/~airlied/scratch/radeon-return-FALSE-offscreen.patch
> I tried this, it fails, server crashes doing a composite operation in
> pixman.
> maybe you need to explain a bit better why you think this should work,
> as to me PixmapIsOffscreen seems like something you call possibly
> after migrating the pixmap.

Right, I was thinking of the code in exaFinishAccess_mixed which checks
IsOffscreen first, but of course that doesn't apply here.

Might it be feasible to return NULL from the CreatePixmap(2) hook for
non-screen pixmaps (or whichever ones you don't want in VRAM)? AFAICT
the mixed pixmaps code should basically handle that, though maybe we
should change exaCreateDriverPixmap_mixed to mark the pixmap as pinned
to prevent repeated calls of the CreatePixmap(2) hook.

Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer

More information about the xorg-devel mailing list