-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello,
On Sep 25, 2009, at 4:44 PM, Daniel Stone wrote: > Hi, > > On Fri, Sep 25, 2009 at 03:28:48PM -0400, Michael wrote: >> On Fri, Sep 25, 2009 at 6:07 AM, Jonathan Morton <[email protected] >>> wrote: >>> EXA *can* cope with non-mappable framebuffers, provided you either >>> accelerate every possible operation involving it, or (preferably) >>> you >>> provide a way to retrieve a copy of it to system or mappable memory. >> >> Even then I still have the problem that EXA wants to access off- >> screen >> memory in a linear way while many older once fairly high end >> graphics chips >> work with a fixed, hardcoded pitch, usually something like 2048 >> pixels or >> 8192 bytes, and no such thing as offsets in bytes - everthing is one, >> usually fairly large coordinate space. > > Errr ... you know that EXA can handle pitch != (width * bpp), right? I tried that. If I give EXA the hardware's pitch it will waste most off-screen memory by putting all pixmaps at x=0 and do nothing with the space to the right of them. > Most GPUs with EXA drivers that people actually use tend to have pitch > alignment requirements, and the one for omapfb deals with the case > where > there's a fixed 2048px pitch (when using the hardware rotation > engine), > which works just fine. See above - is there a way to avoid that which I'm just not aware of? >> Is there an easy way to replace EXA's off-screen memory manager with >> something that works like XAA's? If that was the case I'd switch >> over to EXA >> in a heartbeat. > > Well, given that you have complete control of pixmap allocation with > EXA_HANDLES_PIXMAPS and CreatePixmap2(), you can have one large > offscreen window which you suballocate if you feel like, and then do > the > requisite co-ordinate transforms in your drawing routines. So, basically, replace the off-screen memory allocator. I can probably recycle XAA's code here or look for prior art in other drivers. Is the omapfb driver you mentioned above available on freedesktop.org or do I have to look elsewhere? I've never seen it before. have fun Michael -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) iQEVAwUBSr1ApspnzkX8Yg2nAQL98ggAowAvKOE4h1s+6rdc6gwAP22D5W+pb7YK dLuZ3e61TED6EgNntbIYkqynbkARLeVM8uht+piAP7Noojsof/FROhD0OPK9+Evu nliDydQmk+4UpFpoexBx9B9dr4PCsTq3KRCwUYtmgdfVoosTc9uutNbv1D21xvA8 rAEHhZdSTKWFOLNlxZxMhBg4EkzM/KO8F3mUWJJ9XEbxvS5iopzgCZjSjdBkjXqx L9L+22bNA7/KnIt0OE3wApJ9X9phZ6zxzqD68Na1X6kcjhkZNgPu9cFuPOxvy1X/ qWAJFWpxeeDe/7C+C7m7N2VSGQQvup5B886ZTPHfaSE9C1SOgM4Osw== =ZjMd -----END PGP SIGNATURE----- _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
