On Fri, Sep 11, 2009 at 05:02:47AM +0100, Dave Airlie wrote:
> 
> They shouldn't have to. At build time they just require a certain version,
> you shouldn't be building half the features into the driver because it
> has an old _drm.h file. In an ideal world we would have all this stuff
> hidden at the libdrm level but that never happened. So generally drivers
> now do one of two things.
> 
> a) get a copy from kernel/libdrm, if its not new enough get a newer one
> installed, i.e. normal dependencies.
> b) ship a copy of the header file with the driver to build against it.
> 
> The kernel API is runtime compatible it shouldn't have incompatible 
> changes, so at driver startup it asks the kernel the version and does
> the right thing for that version, again this versioning has no use.
> 
> So if VIA drivers were developed in a reasonable fashion none of this
> would be necessary really, its seems like a technical workaround to a
> social issue, since no other DRI driver has required it.

What should the canonical source of such versioning information be?

* This header file defines the interface, and this versioning included 
in the same headerfile should then niquely identify this interface.
* driver builds against this header and should then require this version 
of the interface from the drm as well. It might choose to have some 
build time or run time workarounds if the developer decides to spend 
time on this, but it doesn't need to.
* drm gets built with this header and uses this versioning information 
to tell the driver what interface it is running against.

I really do not see what is wrong with providing interface versioning 
for a drm driver, and why this interface versioning information should 
not be coming with the interface definition.

I see a very logical and direct connection between the two.

> When someones sends patches to this list, I generally try to review them
> as I'm the kernel maintainer. Since VIA patches have been known to either
> a) languish b) be ignored c) spat on d) end up being political, I'd like
> to try and have some sort of actual technical input rather than, my 15th 
> branch, once removed VIA driver will break if you do this.
> 
> And VIA have requested I look at patches to help them figure out the
> process, you know actually be useful instead of bitch about the way
> things were 4 years ago every time anyone tries to move forward.

Now this patch, it is something that fixes up the issue with their own 
via driver. There was no attempt made to communicate with either real 
open source project to get this interface change accepted there too. So 
it fixes an issue that possibly might have been seen with VIAs own 
driver, which not that many people are shipping today still, but in 
return is breaking those driver(s) that people are shipping today.

Now the fact that there are three driver versions, each of which is 
hairy and defunct in its own particular way for its own particular 
reasons, is what is important here, not why this got to be such. What is 
important is how this situation is dealt with with respect to other 
parts of the graphics driver stack. And this "how" translates to "not at 
all".

This does not seem like "trying to move forward" to me.

Luc Verhaegen.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to