Hmm, wouldn't it have been easier if the code was documented as it was written, by those who wrote the code in the first place? It doesn't sound like a very difficult thing to do. Now when it's incredibly complex, I can see it being a problem, but it makes me wonder if it's a problem just because of poor coding habits...
Announcement
Collapse
No announcement yet.
Radeon HD 7000 Series Open-Source Still A Mess
Collapse
X
-
Originally posted by entropy View PostMaybe it's just me, but I'd say it's really the complexity which keeps people from contributing.
The threshold to enter that business seems rather high.
I doubt any kind of documentation for new GPU driver developers will be worth the invested resources its authors will put into it.
Looking back, I think the most difficult thing for me was building and installing Mesa for the first time. At least that should be documented somewhere.
Comment
-
Originally posted by GreatEmerald View PostHmm, wouldn't it have been easier if the code was documented as it was written, by those who wrote the code in the first place? It doesn't sound like a very difficult thing to do. Now when it's incredibly complex, I can see it being a problem, but it makes me wonder if it's a problem just because of poor coding habits...
In some cases (eg r600g shader compiler) the code was known to be temporary when it was written so it would be hard to justify requiring high quality documentation for the initial code (which is also the current code). I haven't asked him, but I imagine Jerome would have wanted to spend any time he had for documentation on the "final" design he had been working on, not the initial "write this so we can get the rest of the stack running" code that runs today.
Another challenge is that the underlying hardware is constantly evolving, so even the line between hardware and software keeps changing. That, in turn, drives change all through the stack and makes the old "a job done right never needs to be done again" line into a bit of a joke.
There probably are some sections of the code which the developers expect to keep around for a while and there's no reason why those sections couldn't / shouldn't be documented, but you might be surprised how many bits of the current driver stack the devs expect to have to rewrite in the next couple of years. That's why I think staying with higher level documentation (basically enough to get new developers to a general area of code and give them an idea about how that code relates to the rest of the stack) is the most likely to be successful for the near future.Test signature
Comment
-
Originally posted by marek View PostI can tell you from my experience that all you need to know is OpenGL and GLSL and you need to know them really well.
If you're trying to learn graphics *and* hardware/drivers at the same time, it's really difficult and IMO no documentation in the world is going to make that easy.Last edited by bridgman; 25 November 2012, 06:46 PM.Test signature
Comment
-
Originally posted by marek View PostI think anyone who can write a decent game rendering engine (that's why you learned OpenGL in the first place, right?) has already enough knowledge to write GPU drivers.
For one, you don't learn OGL to make game rendering engines. More often, its for working on some CAD program.
Secondly, writing hardware drivers is a totally different beast then working within the confines of some stand alone program. I've worked on systems where you have to send some I/O directly to the H/W. In this realm, we CARE that it takes some switch inside the H/W some amount of time to fully settle, and this drives how the S/W is developed. We care that it might take x amount of time to access some data if its located in RAM. And so on. To an application developer, all this is invisible, because its all handled for you driver side.
Comment
-
Tom and others have been doing a lot of work on enabling the new LLVM-based shader compiler for r6xx through NI hardware, so if that works out OK then there's probably no need for anything else.
I haven't discussed it with Jerome, but I imagine he is torn between hoping the LLVM stack succeeds so he doesn't have to write a new shader compiler and hoping it fails so he does have a good excuse to write a new shader compilerTest signature
Comment
-
Originally posted by gamerk2 View PostFor one, you don't learn OGL to make game rendering engines. More often, its for working on some CAD program.
Originally posted by gamerk2 View PostSecondly, writing hardware drivers is a totally different beast then working within the confines of some stand alone program.
Comment
-
Originally posted by bridgman View PostOriginally posted by Hamish Wilson View PostI am interested in the word "we're" in your statement. What exactly is your involvement with the driver?
Comment
Comment