X server multi-rendering for OpenGL and PEX

Mark J. Kilgard, Simon Hui, Allen A. Leinwand, Dave Spalding · 1994

To support OpenGL TM and PEX rendering within the Silicon Graphics X server without compromising interactivity, we devised and implemented a scheme named multi-rendering. Making minimal changes to the X Consortium sample server's overall structure, the scheme allows independent processes within the X server's address space to perform OpenGL rendering asynchronously to the X server's main thread of execution. The IRIX operating system's process share group facility, user-level and pollable semaphores, and support for virtualized direct access rendering are all leveraged to support multi-rendering. The Silicon Graphics implementation of PEX also uses the multi-rendering facility and works by converting rendering requests into OpenGL commands. Multi-rendering is contrasted with other schemes for improving server interactivity. Unlike co-routines, multi-rendering supports multi-processing; unlike multi-threading, multi-rendering requires minimal locking overhead. Introduction The curre...

Read the paper · More papers on PaperTik