stephenj@deblil.Sun.COM (Stephen Johnson) (09/08/90)
DGA -- any workstation hardware vendor must use it to get around the inherent graphics inadequacies of X windows. What is Sun's DGA? On Sun systems, the X-windows applications programmer is allowed access to the underlying graphics hardware through either a Sun API or through the standard X protocol. The Sun API uses a combination of shared memory, device driver, and library interface code to get access to the raw hardware capabilities. This is DGA in its most fundemental form. The shared memory area is used to keep the client process in synch with the server process. The device driver code is used to make sure the kernel, the server process, and the DGA client process are all in sync with the hardware, and, finally, the library interface must be appropriate to take advantage of the hardare/DGA capabilities. This is what Xgl does. It remains synchronous with the server through the shared memory information and it remains on track with the hardware through the device driver and, finally, the libraray interface it most appropriate for X clients and X applications. Xgl is structured so that it runs within a X window. It is capable of producing hardware performance on a local host and Xlib performance on a network. At worst, Xgl always runs at Xlib performance. Xlib and Xgl will always coexist within a window. Xlib calls for rendering and Xgl calls for rendering always synchronize with the shared memory area before touching the hardware underlying the window. Thus, Xgl rendering calls and Xlib calls can coexist with little problem at the application level. Although, in reality, the Xlib programmer must perform a XFlush or a xgl_context_post before switching from one rendering methodology to the other. Thus, the Xgl programmer can use Xlib calls and Xgl calls intermixed to produce high performance graphics on Sun workstations. -Stephen Johnson - Xgl Graphics Software Engineer These are my personal opinions and the rest about ownership seems silly.