Jenny Zhao (zhz++at++dandan.engr.sgi.com)
Fri, 7 May 1999 19:17:25 -0700
This is what you need to set to direct your DPLEX pipes (hyperpipes).
For example, to configurate a 3 channel reality center screen as
1 single pipe for the center channel, 1 hyperpipe for left and 1 hyperpipe for
right channel:
pipe channel
0 0
1 1
2 2
3 1
4 2
where the center channel is channel 0, left is channel 1, right is channel 2.
(I am not good at drawing a picture in plain text. Try it on your paper)
Then the options are:
-M 2,h=0, /* hyperpipe 0 consists of pipe(1, 3) */
h=1, /* hyperpipe 1 consists of pipe(2, 4) */
s=:0.0 /* single pipe for display :0.0 */
-C 0, 2, 1 /* the first pipe is for center, 2nd for L, 3rd for R */
Here is a section of our new (unreleased) Performer manpage on Hyperpipe:
man pfConfig:
..
void pfHyperpipe(int n);
int pfGetHyperpipe(pfPipe *pipe);
int pfGetPipeHyperId(const pfPipe *pipe);
...
pfHyperpipe supports the hyperpipe hardware feature of
VGXT/Skywriter and Onyx/RealityEngine2 research systems, as well
as Onyx/InfiniteReality and Onyx2/InfiniteReality systems with
the DPLEX option.
n indicates the number of pfPipes that
should be configured together in hyperpipe mode.
pfHyperpipe should be called once for each hyperpipe group in the system that
is used by the application.
The first pfPipe in the new hyperpipe group will be the lowest
numbered pfPipe that is not currently assigned to another
hyperpipe group. This pfPipe is the master pfPipe. The slave
pfPipes are the next n-1 consecutive pfPipes. The master
pfPipe manages the pfPipeWindows and pfPipeVideoChannels for
the slave pfPipes. The application need only create or change
pfPipeWindows and pfPipeVideoChannels on the master pfPipe.
Performer will ensure that most attributes are propagated
to the slave objects. Those attributes that are graphics pipe
specific (i.e., VisualID or FBConfig) are not propagated, however.
Hyperpipes will run at a fraction of the system frame rate as defined
by pfFrameRate. For example, if the number of pipes in the hyperpipe
group is 2, then each pfPipe in the hyperpipe group will run at half the
system frame rate. Their aggregate rate will be equal to the system frame
rate.
pfGetHyperpipe returns the total number of pfPipes in the hyperpipe
group in which the given pfPipe belongs. pfGetPipeHyperId returns
the position of the given pfPipe in its hyperpipe group. The following
example configures a two-pipeline hyperpipe system. In this example, the
hyperpipe group pipes are screens 1 and 2 of the X display :0. This example
also configures screen 0 as a single, non-hyperpipe pipe.
Example 5: Hyperpipe Example
pfMultipipe(3); /* need 3 pipes, 2 for hyperpipe, 1 for single */
pfHyperpipe(2); /* configure the hyperpipe (pfPipe 0 and 1) */
pfConfig(); /* configure Performer */
/* assign screens 1 and 2 to the hyperpipe pfPipes 0 and 1 */
pfPipeScreen(pfGetPipe(0), 1);
pfPipeScreen(pfGetPipe(1), 2);
/* assign screen 0 to the single pfPipe 2 */
pfPipeScreen(pfGetPipe(2), 0);
/* create the pfPipeWindow and pfChannel for the hyperpipe */
pwin = pfNewPWin(pfGetPipe(0));
/*
* config this pwin as needed
*
* if fbconfig or visualid must be assigned directly then get
* the pwin using:
* pwin = pfGetPipePWin(pfGetPipe(1), 0);
*
*/
chan = pfNewChan(pfGetPipe(0));
/*
* config the channel as needed
*/
/* create the pfPipeWindow and pfChannel for the single pipe */
pwin = pfNewPWin(pfGetPipe(2));
chan = pfNewChan(pfGetPipe(2));
The hyperpipe group configuration can be queried directly from GLX
(see glXQueryHyperpipeNetworkSGIX(3) for more information). This
information can be used to map pfPipes to physical screens.
On May 7, 3:26am, Lawrence Bertoldi wrote:
> Subject: DPLEX
> Hi Folks,
>
> I am looking for some info on running DPLEX mode in perfly.
>
> I am familiar with coding "hiperpipeness" (if you will) in performer,
> but I have not done this or witnessed it being set up.
> (I also don't happen to have a dplex machine in my back pocket to test
> with)
>
> I got the -M 2 and the -c <number of channels (or pipes)>
> but I'm not sure about if -C < a,b,c (which pipes to run as DPLEX)>
> is needed>
>
> Anyone out there currently running DPLEX?
> --
> See Ya,
>
> Lawrence Eugene Bertoldi Technical Consultant
> vnet 238-8949 Silicon Graphics
> phone 301-572-8949 Silver Spring MD.
> email lberto++at++clubfed.sgi.com
>
> "Bla Bla Bla!!"
> ~;-}>
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
>-- End of excerpt from Lawrence Bertoldi
-- Jenny Zhao zhz++at++engr.sgi.com 650 933-5091 IRIS Performer Manager
This archive was generated by hypermail 2.0b2 on Fri May 07 1999 - 19:17:28 PDT