home *** CD-ROM | disk | FTP | other *** search
- XXX - Not complete yet!!!
-
- Name
-
- SGI_swap_control
-
- Name Strings
-
- GLX_SGI_swap_control
-
- Version
-
- $Date: 1995/09/30 02:32:28 $ $Revision: 1.1 $
-
- Number
-
- 40
-
- Dependencies
-
- None
-
- Overview
-
- This extension allows an application to specify a minimum periodicity
- of color buffer swaps, measured in display retrace periods. It also
- allows multiple hardware rendering accelerators to be sequenced in
- round-robin fashion (increasing rendering throughput at the expense
- of latency) or to be operated independently with their color buffer
- swaps synchronized.
-
- Issues
-
- When the display is interlaced, does swap interval operate on fields or
- frames?
-
- I had to change the type of the <interval> parameter to
- glXSwapIntervalSGI. (sizei cannot be used because zero is not an
- accepted value, and also perhaps because it is a GL type.)
-
- There is no way to query the swap mode.
-
- There is no way for an application to determine what MUXPIPE masks
- are valid.
-
- glXSwapModeivSGI parameter <params> is valid only for a subset of
- possible <mode> tokens. Passing useless data is inconsistent with the
- design of the OpenGL API.
-
- New Procedures and Functions
-
- int glXSwapIntervalSGI(int interval)
-
- int glXSwapModeivSGI(enum mode,
- const int* params)
-
- New Tokens
-
- Accepted by the <mode> parameter of glXSwapModeivSGI:
-
- GLX_SWAP_DEFAULT_SGI
- GLX_SWAP_MUXPIPE_SGI
- GLX_SWAP_GANG_SGI (* not public)
-
- Accepted by the <params> parameter of glXSwapModeivSGI, when its
- <mode> parameter is GLX_SWAP_MUXPIPE_SGI:
-
- GLX_MUXPIPE0_SGI
- GLX_MUXPIPE1_SGI
- GLX_MUXPIPE2_SGI
-
- Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
-
- None
-
- Additions to Chapter 3 of the 1.0 Specification (Rasterization)
-
- None
-
- Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations and
- the Framebuffer)
-
- None
-
- Additions to Chapter 5 of the 1.0 Specification (Special Functions)
-
- None
-
- Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
-
- None
-
- Additions to the GLX Specification
-
- [Add the following to Section 3.2.6 of the GLX Specification (Double
- Buffering)]
-
- glXSwapIntervalSGI specifies the minimum number of display retraces
- per buffer swap. (e.g. a value of two means that the color buffers
- will be swapped at most every other display retrace.) A return value
- of zero indicates success; otherwise an error occurred. The interval
- takes effect when glXSwapBuffers is first called subsequent to the
- glXSwapIntervalSGI call.
-
- glXSwapModeivSGI() specifies a mode that modifies the behavior of
- glXSwapBuffers. It also specifies any additional parameters that
- affect the new mode. <mode> is one of:
-
- GLX_SWAP_MUXPIPE_SGI <params> points to a bitfield that
- indicates a set of pipes which are being
- multiplexed into the same video output
- channel. It can be any bitwise OR of the
- valid set of masks, which are identified as
- GLX_MUXPIPE0_SGI, GLX_MUXPIPE1_SGI, and
- GLX_MUXPIPE2_SGI. In this mode, buffer
- swaps are interlocked among the pipes in
- round-robin order. BAD_VALUE_SGI is
- returned if <params> specifies an invalid
- mask.
-
- GLX_SWAP_GANG_SGI <params> is not used. Buffer swaps are
- synchronized across all pipes in the gang
- configuration.
-
- GLX_SWAP_DEFAULT_SGI <params> is not used. The semantics of
- glXSwapBuffers are as specified in the 1.0
- GLX Specification.
-
- SWAP_DEFAULT_SGI is the only mode supported for indirect contexts. A
- return value of zero indicates success; otherwise an error occurred.
- The specified mode takes effect when glXSwapBuffers is first called
- subsequent to the call to glXSwapModeivSGI.
-
- Errors
-
- glXSwapIntervalSGI returns GLX_BAD_VALUE if parameter <interval> is
- less than or equal to zero.
-
- glXSwapIntervalSGI returns GLX_BAD_CONTEXT if there is no current
- GLXContext.
-
- glXSwapModeivSGI returns GLX_BAD_ENUM if parameter <mode> is not
- GLX_SWAP_MUXPIPE_SGI, GLX_SWAP_GANG_SGI, or GLX_SWAP_DEFAULT_SGI.
-
- glXSwapModeivSGI returns GLX_BAD_CONTEXT if the current context is
- indirect and parameter <mode> is not GLX_SWAP_DEFAULT_SGI, or if there
- is no current GLXContext.
-
- New State
-
- Get Value Get Command Type Initial Value
- --------- ----------- ---- -------------
- [swap mode] [none] Z3 GLX_SWAP_DEFAULT_SGI
- [swap muxpipe] [none] bitfield [none]
-
- New Implementation Dependent State
-
- None
-