
Originally Posted by
Craig73
I was thinking I had a rough handle on the architecture of Gallium3D (a state tracker, connected to a virtualization of modern graphics hardware as an IR, then a translation layer between the IR and graphics hardware, possibly that translation layer replaced with LLVM optimizing compiler and an LLVM hardware description. Also the winsys library to isolate the communications with the OS/windowing system.)
What confuses me is when we lump DRI2, EGL, G3DVL, GLX, Python, WGL, and Xorg all in as state trackers. I mean it makes sense (to me) that we have a GLX state tracker - it manages OpenGL running on the machine, and makes the appropriate calls via Gallium's IR to handle OpenGL requests.
But what is the Python state machine? And why is DRI2 called a statemachine (when it seems much more like the winsys layer to me) [Isn't DRI2 in the kernel? Is Gallium3D a userspace driver or it just Xorg that will be moving to userspace with KMS?]