GPU open source driver& IP value?

pMax

Regular
Hi,

I was curious to understand something: on linux, there are free opensource AMD/NVIDIA gpu driver that sucks, and all drivers in general that use private IP of said companies (I am referring to initialization sequence, register names&meaning etc. i.e. imagine PureVideo register mapping etc.) are strictly closed source.

I was wondering, what is the effective value of such IPs? Why such information is strictly closed source and it is not possible i.e. to have it to make good open source drivers for i.e. Linux.

Note that I am not saying that the AMD/NVIDIA drivers should be open source (I suppose they are filled with custom tricks, speedups, tweaks), but why such IPs are so well kept hidden.
Anyone has some good understanding on this? I am quite puzzled by the question, and could not find an answer...
 
I think part of the reason is the large effort required to open up stuff. Chips have lots of bugs that are usually very easy to work around in SW. But if you open up your register spec, you suddenly have to deal with outsiders who'll run into those issues.

E.g. We had a chip once where loading a byte immediately after loading a 32-bit word always gave the wrong value. The fix was simple: don't do that, and run a script on the compiled binary to flag cases where the rule was overlooked. The thing went into production and gave us no further trouble. It would have been an interesting errata and fix report if this had to be documented to the outside world. ;)
 
It will be interesting to see if Intel's and AMD's more open approaches will lead to more design wins for them. Also, even if you don't publish your specs people can still find out, like this guy doing a FREE mali driver: http://libv.livejournal.com/
 
Back
Top