XSGIStereoQueryExtension(3X11)

XSGIStereoQueryExtension, XSGIStereoQueryVersion, XSGIQueryStereoMode, XSGISetStereoMode, XSGISetStereoBuffer - X SGI stereo functions

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

     NAME
          XSGIStereoQueryExtension, XSGIStereoQueryVersion,
          XSGIQueryStereoMode, XSGISetStereoMode, XSGISetStereoBuffer
          - X SGI stereo functions

     SYNTAX
          #include <X11/extensions/SGIStereo.h>

          Bool XSGIStereoQueryExtension (
               Display * dpy,
               int * first_event,
               int * first_error);

          Status XSGIStereoQueryVersion (
               Display * dpy,
               int * major_version,
               int * minor_version);

          int XSGIQueryStereoMode(
               Display * dpy,
               Window win);

          Status XSGISetStereoMode (
               Display *dpy,
               Window win,
               unsigned short height,
               unsigned short offset,
               int mode);

          Status XSGISetStereoBuffer (
               Display *dpy,
               Window win,
               int buffer);

     ARGUMENTS
          dpy       Specifies the connection to the X server.

          first_event
                    Returns the code of the first custom event type
                    created by the extension.

          first_error
                    Returns the code of the first custom error defined
                    by the extension.

          major_version
                    Returns major version number for the extension.

          minor_version
                    Returns minor version number for the extension.

          win       Specifies the window on whose screen you want to
                    set or inquire the stereo mode.

          height
          offset    Specify the height of each stereo buffer, and the
                    vertical offset between each stereo buffer.

          mode      Specifies the stereo mode to be set. Valid values
                    are STEREO_OFF (0) to turn off stereo,
                    STEREO_BOTTOM (1) to turn on stereo and use the
                    bottom half of the screen as the primary buffer,
                    STEREO_TOP (2) to turn on stereo and use the top
                    half of the screen as the primary buffer.

          buffer    Identifies which buffer the GL will render to.


     DESCRIPTION
          XSGIStereoQueryExtension is used to check whether the X
          server supports the SGI Stereo extension.  If the Stereo
          extension is present, this routine will return True. If the
          extension involves additional event types, the base event
          type code is returned in first_event. Otherwise, zero is
          returned in first_event. If the extension involves
          additional error codes, the base error code is returned in
          first_error. Otherwise, zero is returned. If the SGI Stereo
          extension is present, you must still query the individual
          screens to find out if they support the extension, using
          XSGIQueryStereoMode.

          XSGIStereoQueryVersion is used to get the version number of
          the Stereo extension supported by the X server.

          XSGIQueryStereoMode is used to query the server for the
          current stereo mode. If the server supports the SGI Stereo
          extension, but win's screen does not, this routine will
          return X_STEREO_UNSUPPORTED (-1). If win's screen supports
          the SGI Stereo extension, this routine will return one of
          STEREO_OFF (0), STEREO_BOTTOM (1) or STEREO_TOP (2).

          XSGIQueryStereoMode can generate BadDrawable.

          XSGISetStereoMode is used to inform the X server that full-
          screen stereo is being turned on or off. It does not cause
          the actual video timing to change. Rather, if turning on
          stereo, this procedure informs the server that all future X
          rendering is to be duplicated from the primary buffer to the
          secondary buffer. Calling this procedure also causes the
          cursor to be restricted to the primary buffer. Non-stereo GL
          clients will render to the left eye, with the right eye
          cleared to black.

          Conversely, if turning off stereo, this procedure informs
          the server to return to the normal state, with X rendering
          allowed to the full screen and unrestricting the cursor.

          If turning on stereo, height and offset describe the height
          of each stereo buffer and the vertical offset between
          buffers. Typically, these values should be 492 and 532
          respectively. height and offset are ignored if turning off
          stereo.

          Stereo is turned off by setting mode to STEREO_OFF (0), and
          is turned on by setting mode to STEREO_BOTTOM or STEREO_TOP
          (1 or 2 respectively). Setting mode to STEREO_BOTTOM causes
          the bottom half of the screen to become the primary buffer,
          setting it to STEREO_TOP causes the top half of the screen
          to become the primary buffer.  To switch from using the top
          half of the screen as the primary buffer to using the bottom
          half of the screen as the primary buffer, XSGISetStereoMode
          should first be called with mode set to STEREO_OFF.

          NOTE: The application will not normally call this procedure.
          Instead, it will call setmonitor, which will update both the
          X server state and the actual video format.

          XSGISetStereoMode can generate BadDrawable and BadRequest.

          XSGISetStereoBuffer is used to inform the X server of which
          eye buffer the GL will render to next. The first time it's
          called for a window, it also informs the server that the
          window is a stereo window.  buffer identifies which buffer
          to set up. Valid values are STEREO_BUFFER_LEFT and
          STEREO_BUFFER_RIGHT. If stereo mode is turned on (by calling
          XSGISetStereoMode), a call to XSGISetStereoBuffer will cause
          the X server to set the clip and window origin appropriately
          for the GL client. OpenGL applications should call glXWaitGL
          before calling XSGISetStereoBuffer, to ensure that all GL
          rendering has completed before switching which buffer to
          render to.

          XSGISetStereoBuffer can generate BadDrawable and BadValue
          errors.

          Applications calling one of these routines should link with
          libXext.

     SEE ALSO
               setmon, setmonitor, viewport, winset, glXWaitGL