pfuMCO(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages pfuMCO(3pf)NAME
pfuConfigMCO, pfuGetNumMCOChannels, pfuTileChans, pfuTileChan - Multi-
Channel Option configuration utilities.
FUNCTION SPECIFICATION
#include <Performer/pfutil.h>
void pfuConfigMCO(pfChannel **chn, int nChans);
int pfuGetNumMCOChannels(pfPipe *p);
void pfuTileChans(pfChannel **chn, int nChans, int ntilesx,
int ntilesy);
void pfuTileChan(pfChannel **chn, int thisChan, int nChans, float l,
float r, float b, float t);
DESCRIPTION
These functions serve as a generic way of initializing channels when
using the integrated multi-channel hardware available on most current SGI
platorms, including RealityEngine, InfiniteReality, Impact, Octane
graphics systems. The multi-channel technique divides the frame buffer
into several tiles and then outputs these different tiles to different
displays through different video outputs. This allows multiple video
outputs to be driven efficiently by one pfPipeWindow with multiple
pfChannels whose viewports match the framebuffer boundaries. For
example, on RealityEngine, the MCO can be configured to drive up to six
display channels at resolutions varying from 1280x1024 60Hz non-
interlaced to 640x480 30Hz interlaced. The InfiniteReality has up to
eight channels per single graphics pipeline. Impact and Octane can each
do four. These framebuffer boundaries and other information can be
queried via a pfPipeVideoChannel that is attached to the desired hardware
video channel. The utility functions use a basic knowledge or queries
of how the configurations tile the frame buffer to configure pfChannels
appropriately for most configurations. For more details on video
channels, refer to the pfPipeVideoChannel and XSGIvc(3) reference pages.
pfuConfigMCO takes the array of pfChannel pointers chn of size nChans and
formats the viewports such that each channel's viewport divides the
framebuffer in the same way the MCO does. Each channel is thus mapped to
a different display.
pfuGetNumMCOChannels returns the number of channel subdivisions the MCO
is currently configured to use. This is the number of displays that the
MCO has tiled the frame buffer into based on the current video output
format specification (see setmon).
pfuTileChans is a tiling routine that takes nChans channels and divides
them into a grid of ntilesx by ntilesy viewports that all fit into the
range 0 to 1 in both the x and y directions.
pfuTileChan is a utility function that sets the chn[thisChan] viewport to
Page 1
pfuMCO(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages pfuMCO(3pf)
the specified left (l), right(r), bottom(b), and top(t) values where each
value is between 0 and 1. nChans is usually the number of channel
subdivisions the MCO is configured to use. thisChan should be at most
nChans.
NOTES
MCO is not currently supported under Linux.
The libpfutil source code, object code and documentation are provided as
unsupported software. Routines are subject to change in future releases.
SEE ALSO
pfChannel, pfPipe, pfPipeVideoChannel, setmon, XSGIvc
Page 2