SGI® OpenGL Multipipe
User's Guide

Document Number: 007-4318-017

CONTRIBUTORS

Written by Ken Jones and Jenn Byrnes

Illustrated by Chrystie Danzer

Production by Karen Jacobson and Ken Jones

Engineering contributions by Ye Cong, Craig Dunwoody, Bill Feth, Alpana Kaulgud, Claude Knaus, Ravid Na'ali, Jeffrey Ungar, Christophe Winkler, Guy Zadicario, and Hansong Zhang

COPYRIGHT

© 2000–2005 Silicon Graphics, Inc. All rights reserved; provided portions may be copyright in third parties, as indicated elsewhere herein. No permission is granted to copy, distribute, or create derivative works from the contents of this electronic documentation in any manner, in whole or in part, without the prior written permission of Silicon Graphics, Inc.

LIMITED RIGHTS LEGEND

The software described in this document is “commercial computer software” provided with restricted rights (except as to included open/free source) as specified in the FAR 52.227-19 and/or the DFAR 227.7202, or successive sections. Use beyond license provisions is a violation of worldwide intellectual property laws, treaties and conventions. This document is provided with limited rights as defined in 52.227-14.

TRADEMARKS AND ATTRIBUTIONS

Silicon Graphics, SGI, the SGI logo, InfiniteReality, IRIS, IRIX, Onyx, Onyx2, OpenGL, and Reality Center are registered trademarks and GL, InfinitePerformance, InfiniteReality2, IRIS GL, Octane2, Onyx4, Open Inventor, the OpenGL logo, OpenGL Multipipe, OpenGL Performer, Power Onyx, SGI Advanced Linux, SGI Propack, Silicon Graphics Prism, Tezro, and UltimateVision are trademarks of Silicon Graphics, Inc., in the United States and/or other countries worldwide.

GNOME is a trademark of the GNOME Foundation. Intel is a registered trademark and Itanium is a trademark of Intel Corporation. KDE is a trademark of KDE e.V, Incorporated. Linux is a registered trademark of Linus Torvalds. MIPS and R10000 are registered trademarks of MIPS Technologies, Inc. used under license by Silicon Graphics, Inc. Netscape is a trademark of Netscape Communications Corporation. XFree86 is a trademark of The XFree86 Project, Inc. Xinerama, X Window System, and the X device are trademarks of The Open Group. All other trademarks mentioned herein are the property of their respective owners.

Record of Revision

Revision 001August 2000 
Beta release.

Revision 002November 2000 
Updated for release 1.0 of the OpenGL Multipipe product.

Revision 003February 2001 

Updated for release 1.1 of the OpenGL Multipipe product.

New features:

- Increased overall performance

- Support for overlapping screens, as in SGI Reality Center facilities



Revision 004May 2001 

Updated for release 1.2 of the OpenGL Multipipe product.

New features:

- Transparent OpenGL Pipe Management

- Subset of multipipe applications made aware of Xinerama



Revision 005August 2001 

Updated for release 1.3 of the OpenGL Multipipe product.

New features:

- Enhanced Support for Multithreaded Applications

- Enhanced tgl Script



Revision 006November 2001 

Updated for release 1.4 of the OpenGL Multipipe product.

Bugfixes:

- Enhanced GLX conformance for context manipulation

- Support for pixmaps, pbuffers, and GLXWindows

Beta features:

- Curved Screen Support

This allows you to run applications on a non-planar Reality Center in immersive mode by adapting the 3D projections to the display layout.

- Window Manager Support for Aware Windows

All applications started in aware mode can now be under window manager control by using the customized window manager included with this release.



Revision 007February 2002 

Updated for release 1.4.1 of the OpenGL Multipipe product.

Broader application support

Bugfixes:

- Enhanced OpenGL conformance for applications using glCallList() within
another display list

- Stability improvements to (beta) aware window manager



Revision 008April 2002 

Updated for release 1.4.2 of the OpenGL Multipipe product.

- Broader application support

- Stability improvements to (beta) aware window manager



Revision 009October 2002 

Updated for release 2.1 of the OpenGL Multipipe product.

Features:

Replacement of the Transparent OpenGL (TGL) layer with a proxy render library and render servers

Support for additional servers. The list of supported servers now includes the following:

- Silicon Graphics Onyx

- Silicon Graphics Onyx2

- SGI Onyx 3000, InfiniteReality

- SGI Onyx 3000, InfinitePerformance

- Silicon Graphics Octane2



Revision 010May 2003 

Updated for release 2.1.2 of the OpenGL Multipipe product.

Features:

- Performance enhancements over the OpenGL Multipipe 2.1.1 and 2.1  releases

- Increased application compatibility for vertex array applications

- Option of running in master render mode or slave-only mode

- Support for compositor-based systems

- Seamless cursor movement across overlapped or composited screen  regions (IRIX 6.5.20 or later required)

- Support for SGI-SCREEN-CAPTURE and ReadDisplay X extensions in  SGI Xinerama mode (IRIX 6.5.20 or later required)

- An API introduced for integration of multipipe applications with  SGI Xinerama

- Hardware swap-synchronization option (Swap Ready, Genlock)

- Support for additional platforms. The list of supported visualization  systems now includes the following:

 o SGI Onyx 3000 series with InfinitePerformance graphics

 o SGI Onyx 3000 series with InfiniteReality graphics

 o SGI Onyx 350

 o Silicon Graphics Octane2

 o Silicon Graphics Onyx

 o Silicon Graphics Onyx2



Revision 011July 2003 

Updated for release 2.2 of the OpenGL Multipipe product.

Features:

- Performance enhancements over the 2.1.2 release including the following:

 o Pixel drawing enhancements

 o Geometry culling, which can improve application performance for  some applications beyond what can be achieved on a single pipe

- Support for the DMX (Distributed Multihead X) meta display server

 - Support for DMX and SGI Xinerama meta display servers by the MPC API  for multipipe-aware applications

- Support for additional platforms. The list of supported visualization  systems now includes the following:

 o SGI Onyx 3000 series with InfinitePerformance graphics

 o SGI Onyx 3000 series with InfiniteReality graphics

 o SGI Onyx 350

 o Silicon Graphics Octane2

 o Silicon Graphics Onyx

 o Silicon Graphics Onyx2

 o Silicon Graphics Onyx4 UltimateVision



Revision 012December 2003 

Updated for release 2.3 of the OpenGL Multipipe product.

Features:

- Performance enhancement options including (disabled by default):
 o Geometry culling to optional, additional OpenGL clip planes
 o OpenGL viewport clipping and geometry culling to improve fill and geometry performance when using a compositor
 o Spatial partitioning of large display lists for efficient geometry culling
- Baseline performance enhancements over OpenGL Multipipe 2.2
 o Swap synchronization and frame latency control improvements between slave rendering processes
 o Improved performance when using geometry culling
- Support for Onyx4 OpenGL extensions
- Support for additional platforms. The list of supported visualization  systems now includes the following:

 o SGI Onyx 3000 series with InfinitePerformance graphics

 o SGI Onyx 3000 series with InfiniteReality graphics

 o SGI Onyx 350

 o Silicon Graphics Octane2

 o Silicon Graphics Onyx

 o Silicon Graphics Onyx2

 o Silicon Graphics Onyx4 UltimateVision

 o Silicon Graphics Tezro



Revision 013April 2004 

Updated for release 2.3.1 of the OpenGL Multipipe product.

Enhancements over OpenGL Multipipe 2.3:

- Capability to expand the OpenGL viewport size beyond the single-pipe limit

- Support for overlay visuals in the DMX proxy X server if supported by underlying X servers

- Support for applications that use GLX pbuffers or GLX pixmaps

- Improved application compatibility



Revision 014October 2004 

Updated for release 2.4 of the OpenGL Multipipe product.

Enhancements over OpenGL Multipipe 2.3.1:

- Support for most OpenGL Multipipe features on Silicon Graphics  Vizualization System for Linux 64-bit platforms

- Small object culling (small relative to screen space)

- Drawpixels culling

- Improved application compatibility



Revision 015November 2004 

Updated for release 2.4.1 of the OpenGL Multipipe product.

Enhancements over OpenGL Multipipe 2.4:

- Improved daemon processing

- Improved support for static tiling modes of hardware compositors

- Enhanced application compatibility



Revision 016January 2005 

Updated for release 2.5 of the OpenGL Multipipe product.

Enhancements over OpenGL Multipipe 2.4.1:

- Support for vertex buffer objects

- The optional use of the omprun command on selected platforms

- The use of X11 resources to control performance features as an alternative to command-line options on omprun

- Improved application stability



Revision 017June 2005 

Updated for release 2.5.2 of the OpenGL Multipipe product.

Enhancements over OpenGL Multipipe 2.5.1:

- Support fo

- Support for multiple compositors

- glDrawPixels() clipping now enabled by default (not tied to geometry  culling)

- Improved application stability and bugfixes