"Keith Packard's talk started with that theme. When he spoke at
LCA2008, there were a few missing features in X.org. Small things
like composited three-dimensional graphics, monitor hotplugging,
shared graphical objects, kernel-based mode setting, and
kernel-based two-dimensional drawing. One of the main things
holding all of that work back was the lack of a memory manager
which could work with the graphics processor (GPU). It was, Keith
said, much like programming everything in early Fortran; doing
things with memory was painful.
"That problem is history; X now has a kernel-based memory
management system. It can be used to allocate persistent objects
which are shared between the CPU and the GPU. Since graphical
objects are persistent, applications no longer need to make backup
copies of everything; these objects will not disappear. Objects
have globally-visible names, which, among other things, allows them
to be shared between applications. They can even be shared between
different APIs, with objects being transformed between various
types (image, texture, etc.) as needed. It looks, in fact, an awful
lot like a filesystem; there may eventually be a virtual filesystem
interface to these objects."