Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ glxhyperpipeconfigsgix(3G) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



glXHyperpipeConfigSGIX(3G)  OpenGL Reference - GLX  glXHyperpipeConfigSGIX(3G)



NAME
     glXHyperpipeConfigSGIX - Configure a hyperpipe


C SPECIFICATION
     int glXHyperpipeConfigSGIX( Display *dpy,
                                 int networkId,
                                 int npipes,
                                 GLXHyperpipeConfigSGIX *cfg,
                                 int *hpId )


PARAMETERS
     dpy        Specifies the connection to the X server.


     networkId  Specifies the physical hyperpipe network id.


     npipes     Specifies the number of pipes in the configuration.


     cfg        An array of participating pipes.


     hpId       Returns the hyperpipe id assigned to this configuration.



DESCRIPTION
     glXHyperpipeConfigSGIX is part of the SGIXhyperpipe extension.

     glXHyperpipeConfigSGIX specifies the logical configuration of the
     hyperpipe. The physical connectivity of a hyperpipe is determined by the
     cabling of the hardware. It is possible to use only a subset of the pipes
     physically connected together. These participant pipes may contribute to
     the hyperpipe in a temporally interleaved manner and/or spatially
     subdivided  manner. The configuration information specifies which pipes
     participate in the hyperpipe. It also specifies the relative order of
     these pipes and their type of contribution (spatial or temporal). This
     configuration cannot be arbitrary and is subject to some hardware
     constraints.


     The configuration information consists of a physical network id
     networkId, determined by glXQueryHyperpipeNetworkSGIX.

     npipes specifies the total number of pipes in the configuration.

     cfg is an array. Each entry within the array specifies the pipe, the
     channel associated with the pipes, the participation type (rendering,
     display) and the time slice to which a pipe contributes. A pipe can



                                                                        Page 1





glXHyperpipeConfigSGIX(3G)  OpenGL Reference - GLX  glXHyperpipeConfigSGIX(3G)



     contribute to a hyperpipe by rendering data which is finally assembled on
     the display pipe. This type of contribution is termed as rendering. A
     pipe can be designated to assemble the rendered data and display it on
     its local channel. This type of contribution is termed as display.  In a
     hyperpipe there can be multiple rendering pipes but only one display
     pipe. The time slice can range from 0 to npipes-1.

     hpId is a unique id assigned to this configuration. Subsequent hyperpipe
     calls like glXBindHyperpipeSGIX require the use of this id.



     typedef struct {

     char pipeName[GLX_HYPERPIPE_PIPE_NAME_LENGTH];  /* String */

     int channel; /* The channel  number associated with the pipe */

     unsigned int participationType; /* participationType is a bitmask
     describing the  attributes of a participating pipe. The bitmask may
     contain one or more  of the following attributes:
     GLX_HYPERPIPE_DISPLAY_PIPE  GLX_HYPERPIPE_RENDERING_PIPE */

     int timeSlice; /* The timeSlice is ignored if the  participationType is
     GLX_HYPERPIPE_DISPLAY_PIPE only.  */

     } GLXHyperpipeConfigSGIX;


     If the pipes contribute in a spatially subdivided manner, then the screen
     is divided evenly between them. This division can be subsequently changed
     in a swap synchronous manner.



RETURN VALUES
     Returns GLXBADHYPERPIPECONFIGSGIX if the specified configuration is
     invalid.

     Returns 0 if the call succeeds.


NOTES
     glXHyperpipeConfigSGIX returns a hpId which identifies a hyperpipe group
     uniquely. In the case of a multi process application, the master process
     should configure the hyperpipe. Any child process using other pipes to
     render into the hyperpipe should call glXBindHyperpipeSGIX with the same
     hpId as the master process.

     If another process attempts a configuration using already allocated
     pipes, the second configuration will fail.




                                                                        Page 2





glXHyperpipeConfigSGIX(3G)  OpenGL Reference - GLX  glXHyperpipeConfigSGIX(3G)



MACHINE DEPENDENCIES
     GLX_SGIX_hyperpipe extension is currently supported only on IR2/DPLEX.

     All the pipes in a hyperpipe need to be genlocked together and should
     have a swap ready line connecting them.

     Similar video formats should be loaded on all the participating
     hyperpipes.

     Hyperpipe functionality does not take effect on single buffered visuals.
     The visuals should be double buffered.

     DPLEX makes uses of the swap ready line for hyperpipe operation.
     glXBindSwapBarrierSGIX and glXJoinSwapGroupSGIX calls have no effect on
     pipes bound to a hyperpipe. However, two hyperpipes can be made swap
     synchornous by connecting their swap ready lines. Also, a hyperpipe
     program can be made to swap with a non-hyperpipe program. The non-
     hyperpipe progam should call glXBindSwapBarrierSGIX in the usual manner.



SEE ALSO
     glXQueryHyperpipeNetworkSGIX glXQueryHyperpipeConfigSGIX
     glXDestroyHyperpipeConfigSGIX glXBindHyperpipeSGIX hyperpipe































                                                                        Page 3



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026