Smitty wrote: > > Howzit Jens? > > > Did you see the flow chart at > > http://dri.sourceforge.net/doc/control_flow_poster.jpg > > Yes, and I've worked through it.
Great, that's where the real technical detail is. > I am referring to: > http://dri.sourceforge.net/doc/data_flow.jpg Well, this is really I higher level diagram for non-technical types. We are just showing that 3D data bypasses the typical X protocol path. > IMHO it doesnt make it any clearer what happens once the 2D > & 3D data arrives at the X Server (with its Decode & Dispatch, > DDX Driver, Mesa Software Renderer). None of the diagrams do a detailed job for the indirect case. Direct rendering is the whole point of the diagrams. > Yes I can see that the data arrives at the X server, something > happens to it and then it leaves (transformed). > > What happens in there is what I'm after. I'll be glad to fill in this detail if it will help. However, since we'll be getting technical; let's start with the detailed diagram at http://dri.sourceforge.net/doc/control_flow_poster.jpg > What is the sequence in those various paths through the X Server > which I laid out in my previous email. 2D commands flow: Protocol Decode DIX (Not shown, but would be about where the "X Server" label is) XAA DDX Driver Hardware Indirect 3D commands flow: Protocol Decode GLX Mesa (including SW rasterizer) DDX Driver (to push pixels) DRI Resource Mgmt commands flow: Protocol Decode DRI DRM Driver (Not show, but should be where Kernel DRI Module is) A couple of architectural changes since these diagrms where created: 1) We no longer have a driver/sub driver architecture for the kernel. Now, we just have monolithic DRM drivers. No generic sub driver, no device independent DRI kernel module. 2) We now have a single libGL.so library that loads the appropriate OpenGL core rendering driver. So, the entire box labeled "X11/OpenGL Based Application (Using 3D Direct Rendering)" is really something like this: +-----------------------------------+ | X11/OpenGL Based Application | | (Using 3D Direct Rendering) | +----------------------+------------+ | OpenGL Library | XLib | | +----+----+ | | | GLXLib | | +-------------+---+----+ | | | Mesa | DRILib | | | | | +----+----+-------+ +-------------+ | Protocol Encode | | Mesa Driver | | | | +-----+---+-----------------+ | | DRM Lib | | +-------+---------+ | | | | V | | | X Transport V V V MMIO IOCTL SHM Note: The Mesa and Mesa Driver can be replaced with any OpenGL compatible core renderer. 3) The poster uses a color key: Red == Device Specific Modules Grey == Mesa (kernel modules shouldn't be grey) Green == X Transport Gold == All Other Device Independent Modules In the above diagram update (2), all modules would be gold except: Mesa (Grey) Mesa Driver (Red) Protocol Encode (Green) I can go on and on...but perhaps it would be better if you had specific questions. Regards, Jens -- /\ Jens Owen / \/\ _ [EMAIL PROTECTED] / \ \ \ Steamboat Springs, Colorado _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel