Re: pfPipeWindows and overlay

New Message Reply Date view Thread view Subject view Author view

From: Robert Wolfe (rwolfe++at++dciem.dnd.ca)
Date: 02/12/2001 12:06:53


I would like to clarify the meaning of some of the potentially
shared properties between pfPipeWindows in a share group.
Am I out to lunch on these definitions ? I can find almost no
documentation for them. Can anybody provide clarification on
items with a question mark ?

Also, I invite any comments on rendering speed where I create
a few windows instead of viewports to make best use of screenspace.
Everybody talks about the importance of sharing graphics context
in this case but are there other things to consider ?
If the same scene graph is being displayed in each window,
then it is safe to assume that I would want to use PFWIN_SHARE_GL_OBJS?
What kind of performance hit will I have for managing different
scene graphs in each window (apart from duplicating memory
requirements)?
And what are the implications on my share choices if I decide to
use overlays or present graphics performance statistics?

Thanks,

Robert

PFWIN_SHARE_MODE -same origin, border type, auto-resize, overlay, window
manager exit information

PFWIN_SHARE_FBCONFIG -same framebuffer configuration meaning that an
overlay window (or a stats window?) will not be part of the share group
because an overlay window necessarily requires a different framebuffer
configuration

PFWIN_SHARE_GL_CXT -same graphics context: foreground pixel, background
pixel, line width, clipping region,etc.

PFWIN_SHARE_GL_OBJS -same display lists and textures; must be specified
before opening window

PFWIN_SHARE_STATE -same full state information (WHAT STATE IS THIS
REFERRING TO?)

PFWIN_SHARE_OVERLAY_WIN -same overlay for each window such as having the
same HUD on each window? is there an implication for sharing framebuffer
configuration?

PFWIN_SHARE_STATS_WIN -same graphics statistics window for each window?
is there an
implication for sharing framebuffer configuration?

PFWIN_SHARE_TYPE -NOPORT (for querying graphics resources and accessing
the Video Sync Clock), X, OVERLAY, PBUFFER, STATS, UNMANAGED; must be
specified before opening window

PFWIN_SHARE_WSDRAWABLE -same drawable (screen of the graphics context
and appropriate window depth, as specified by window or pixmap ID)

PFWIN_SHARE_WSWINDOW -same root window (which should be true for the
overlay window, stats window, and any other windows in the pfWindow
list).

Isabelle Lafon wrote:
>
> Hi, performer specialists,
>
> I have a question regarding pfPipeWindow and overlay windows.
>
> I have several pfPipeWindow all of them have the following type, mode
> and share mode. All of them are attached to the same share group.
>
> pwin_[idx]->setFBConfigAttrs( attrib );
> pwin_[idx]->setWinType( PFPWIN_TYPE_X | PFPWIN_TYPE_SHARE |
> PFPWIN_TYPE_NOXEVENTS | PFPWIN_TYPE_UNMANAGED );
> pwin_[idx]->setMode( PFWIN_NOBORDER, true );
> pwin_[idx]->setMode( PFWIN_ORIGIN_LL, true );
> pwin_[idx]->setMode( PFWIN_HAS_OVERLAY, true );
> pwin_[idx]->setShare( PFWIN_SHARE_WSWINDOW |
> PFWIN_SHARE_TYPE |
> PFWIN_SHARE_MODE |
> PFWIN_SHARE_GL_OBJS
> PFWIN_SHARE_FBCONFIG | PFWIN_SHARE_GL_CXT | PFWIN_SHARE_STATE );
>
> My problem arise when I add an overlay window to these pfPipeWindows.
>
> The overlay window is simply created by:
> overlay = new pfWindow();
> overlay->setWinType( PFWIN_TYPE_X | PFWIN_TYPE_OVERLAY );
>
> Then added to the pfPipeWindows :
> pwin_[idx]->setMode( PFWIN_HAS_OVERLAY, true );
> pwin_[idx]->setOverlayWin( overlay );
>
> with PFWIN_SHARE_OVERLAY_WIN share mode, so my setShare becomes :
> pwin_[idx]->setShare( PFWIN_SHARE_OVERLAY_WIN | PFWIN_SHARE_WSWINDOW |
> PFWIN_SHARE_TYPE |
> PFWIN_SHARE_MODE |
> PFWIN_SHARE_GL_OBJS
> PFWIN_SHARE_FBCONFIG | PFWIN_SHARE_GL_CXT | PFWIN_SHARE_STATE );
>
> And I obtain an X error :
> X Error of failed request: BadValue (integer parameter out of range for
> operation)
> Major opcode of failed request: 86 (X_AllocColorCells)
> Value in failed request: 0x0
> Serial number of failed request: 47
> Current serial number in output stream: 47
>
> This error occurs because of sharing modes :
> PFWIN_SHARE_FBCONFIG, PFWIN_SHARE_GL_CXT & PFWIN_SHARE_STATE.
>
> Does it means that when setting an overlay window on a pfPipeWindow,
> this
> overlay window is automatically put in the pfPipeWindow share group ?
> That could explain the X error since the pfPipeWindow and the overlay
> window have different graphic context.
> That important for us to share graphic context and states between the
> pfPipeWindows but we also need an overlay. What can we do ? Any Idea ?
>
> Note: Working with Performer 2.4 Beta.
> Thanks in advance for your help
>
> Isabelle.
>
> --
> Isabelle Lafon Discreet Logic
> Tel: (514) 954-7157 10 Duke
> Fax: (514) 393-0110 Montreal (Quebec)
> isabelle++at++discreet.com Canada, H3C 2L7
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com

Don Burns wrote:
>
> Isabelle,
>
> Try not using PFWIN_SHARE_FBCONFIG in the share mode. By definition an
> overlyay window and a normal window cannot have exactly the same
> framebuffer configuration.
>
> What's interesting is that the X error you get reports a value of 0x0 on
> AllocColorCells, which means that XCreateColormap probably failed and was
> not caught earlier in the code.
>
> -don
>
> On Tue, 7 Nov 2000, Isabelle Lafon wrote:
>
> > Hi, performer specialists,
> >
> > I have a question regarding pfPipeWindow and overlay windows.
> >
> ...
>
> >
> > And I obtain an X error :
> > X Error of failed request: BadValue (integer parameter out of range for
> > operation)
> > Major opcode of failed request: 86 (X_AllocColorCells)
> > Value in failed request: 0x0
> > Serial number of failed request: 47
> > Current serial number in output stream: 47
> >
> > This error occurs because of sharing modes :
> > PFWIN_SHARE_FBCONFIG, PFWIN_SHARE_GL_CXT & PFWIN_SHARE_STATE.
> >
> > Does it means that when setting an overlay window on a pfPipeWindow,
> > this
> > overlay window is automatically put in the pfPipeWindow share group ?
> > That could explain the X error since the pfPipeWindow and the overlay
> > window have different graphic context.
> > That important for us to share graphic context and states between the
> > pfPipeWindows but we also need an overlay. What can we do ? Any Idea ?
> >
> > Note: Working with Performer 2.4 Beta.
> > Thanks in advance for your help
> >
> > Isabelle.
> >
> > --
> > Isabelle Lafon Discreet Logic
> > Tel: (514) 954-7157 10 Duke
> > Fax: (514) 393-0110 Montreal (Quebec)
> > isabelle++at++discreet.com Canada, H3C 2L7
> > -----------------------------------------------------------------------
> > List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> > Submissions: info-performer++at++sgi.com
> > Admin. requests: info-performer-request++at++sgi.com
> >
>
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com

-- 
Robert Wolfe, M.Eng., software consultant
Simulation and Modelling for Acquisition, Rehearsal, and Training
Defence and Civil Institute of Environmental Medicine
1133 Sheppard Ave. West,
P.O. Box 2000,
Toronto, Ontario
CANADA
M3M 3B9
(416) 635-2065 
FAX (416) 635-2013
robert.wolfe++at++dciem.dnd.ca


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon Feb 12 2001 - 12:02:25 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.