Funding Radeon driver development
dnusinow at speakeasy.net
Mon Apr 16 07:11:14 PDT 2007
On Mon, Apr 16, 2007 at 04:50:38PM +0930, Peter Hutterer wrote:
> On 16/04/2007, at 16:26 , Alex Deucher wrote:
> >Not really. Most hardware operates very similarly. If you learn one,
> >others make sense easily. Most modern display hardware has one or
> >more crtcs, several outputs (DACs, TMDS, LVDS, etc.) and some routing
> >regs. Almost all 2D engines operate in the same surface based manner:
> >src and dst surfaces with x/y and w/h rectangles. And finally fixed
> >function 3D engines generally follow the same pattern too: a small
> >number of state and offset regs and a bunch of vertex and texture regs
> >that more often than not, follow D3D or OpenGL formats.
> >And it's not just crash and burn, you can look at the driver functions
> >to see which regs do what. For example in the radeon driver:
> >RADEON*CRTC() - crtc1 regs (primary display controller; the primary
> >RADEON*CRTC2() - crtc2 regs
> >RADEON*PLL() - primary video clock
> >RADEON*PLL2() - secondary video clock
> >RADEON*DAC() - primary DAC
> >RADEON*FP() - internal TMDS
> >* = Init or Restore or Save
> >Init - set up the register state
> >Restore - write the state back to the hardware
> >Save - save state
> >All that aside, what sort of documentation do you feel would help you
> >understand this better? A conceptual overview of how modern cards
> >work? A basic tutorial on setting a mode?
> I have virtually no knowledge of video drivers but your last email
> was very interesting.
> it took me about 2 minutes to read it and understand it. it would
> take me several hours to extrapolate this information from the bits
> and pieces of the code.
> IMHO, we need a lot more of those explanations on the wiki.
I agree with Peter. Perhaps tutorials on the wiki would be helpful. If you
like, I can convert what you write and put them in to the xorg-docs package
as well if it'd be helpful.
- David Nusinow
More information about the xorg