[Mesa3d-dev] DRI SDK and modularized drivers.

Corbin Simpson mostawesomedude at gmail.com
Thu Mar 18 01:28:28 PDT 2010


On Wed, Mar 17, 2010 at 6:13 PM, Luc Verhaegen <libv at skynet.be> wrote:
> On Wed, Mar 17, 2010 at 12:28:39AM +0100, Luc Verhaegen wrote:
>> Modularized dri drivers and an SDK enabled mesa tree are available in my
>> personal git repos at http://cgit.freedesktop.org/~libv/
>>
>> The SDK enabled mesa tree adds to the mesa build system to create shared
>> libraries libmesadri and libmesadricommon. It creates the relevant .pc
>> files and installs the necessary headers include/mesa/ (and updates
>> glcore.h). The patch is about 300 lines each time, and only adjusts the
>> build system.
>>
>> The modularized drivers are fully autotooled and can be built and
>> installed the familiar way once the dependencies are available
>> (currently, libdrm and the dri sdk, and some driver specific libdrms for
>> i9xx and radeon). These drivers are i810, i9xx (i915 and i965), mach64,
>> mga, r128, radeon (also includes r200, r300 and r600), savage, sis, tdfx
>> and unichrome.
>>
>> This work was done for currently 16 versions between mesa 7.0 and the
>> freshly tagged 7.8-rc1, all were extensively and oft repeatedly built
>> through. 5 versions were also run tested (glxinfo, glxgears) for the
>> radeon and unichrome drivers, and the swrast driver was also tested
>> several times. Such a large range of versions was handled to prove the
>> long term feasability of this.
>>
>> This work satisfies my requirements from my "TODO: Mesa" slide from my
>> fosdem talk, for which the slides are available at:
>> http://people.freedesktop.org/~libv/graphics_driver_stack_(FOSDEM2010_-_slides)$
>>
>> This only handles the DRI part of things, gallium seems to be more in
>> flux atm, and from what i hear, it should be easier to have modular
>> drivers there.
>>
>> Comments, additions, changes?
>>
>> Thanks,
>>
>> Luc Verhaegen.
>
> After giving the mesa3d-dev list the opportunity to have a whole day of
> deafening silence, maybe the other lists should join in on that fun :p

Hey Luc,

Wow. This is pretty nifty. Lots of work here, obviously. I do have a
couple of questions, though:

~) Did you know about or use the automake branch that Eric and I have
had floating around for a while?

~) Do you think it's gonna be tenable to ship the drivers with lots of
shared code (i915/i965, radeon/r200/r300/r600) like this? Seems like
we might run into the situation we've got right now with the X server
and DDX drivers, where it might be easier to move some drivers back
in. Also (warning: sore subject!) it reminds me of the mesa/drm tree
and the same problems with keeping code in two locations... Maybe
that's just me.

As far as Gallium goes, I really wouldn't worry about it. From what I
can tell, the people that actually care about header stability have
been using really specific versions of the interface in their own
shipped bundles, and there's far too much mainline work going on right
now to really even attempt this kind of splitting. I think there's a
total of five branches right now that will change the entire Gallium
interface, all getting prepared for merge? Lots of churn. Gallium's
all mix'n'match though, so it shouldn't be a big deal further down the
road.

Sorry for not speaking up sooner; it's finals week and my attention to
every single email in my box is rather limited. :3

~ C.

-- 
When the facts change, I change my mind. What do you do, sir? ~ Keynes

Corbin Simpson
<MostAwesomeDude at gmail.com>



More information about the xorg mailing list