On Mon, Apr 14, 2008 at 2:29 PM, Leif Delgass <[EMAIL PROTECTED]> wrote:
> On Mon, Apr 14, 2008 at 11:26 AM, Robert Osfield
>
> <[EMAIL PROTECTED]> wrote:
>
>
> > Hi Mike,
>  >
>  >
>  > On Mon, Apr 14, 2008 at 4:11 PM, Mike Weiblen <[EMAIL PROTECTED]>
>  > wrote:
>  >
>  > > fyi I also have need for swap sync across a networked cluster, but at
>  > > the the generic OpenGL rather than OSG level.
>  >
>  > What do you mean by "generic OpenGL rather than OSG level"?  I am trying to
>  > get my head around the topic so specifics is very useful right now.
>  >
>  > > We've implemented an
>  > > out of band handshake protocol in our network pipeline, but would be
>  > > glad to adopt a GL standard if possible.  So I'm following this topic
>  > > w/ interest.
>  >
>  > So you've implemented a software swap ready barrier then?
>  >
>  > How do you currently wire this up with the OSG?
>  >
>  > Robert.
>  >
>
>  Hi Robert,
>
>  I have experience using both software-based swap ready, and the NVIDIA
>  hardware synchronization with OSG.  In both cases this was in
>  conjunction with VR Juggler handling the context setup and main loop
>  (with an OSG SceneView per window/node).  VR Juggler includes a
>  TCP-based software barrier.  For hardware sync, I had hacked support
>  into the VR Juggler context/window setup code, but there is now core
>  support for that in VR Juggler.  I would recommend having a software
>  method available as a fall back, because the NVIDIA hardware
>  implementation hasn't always worked for me, especially on large
>  clusters (I work with a 27-node tiled wall now), but I've mostly
>  worked with Quadro cards with the sync feature integrated vs. the new
>  G-Sync cards (we've used those in a 4 node system with success, IIRC).
>   There is finally a spec in the registry for NVIDIA's extension, which
>  is based on the old SGIX extensions:
>
>  http://www.opengl.org/registry/specs/NV/glx_swap_group.txt
>  http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt
>  http://www.opengl.org/registry/specs/SGIX/swap_group.txt
>  http://www.opengl.org/registry/specs/SGIX/swap_barrier.txt
>
>  Note that these also interact with the swap interval in
>  GLX_SGI/WGL_swap_control, so you can sync on a multiple of the
>  blanking interval.
>
>  I think in theory you can use the swap group to get your barrier for
>  multiple contexts on a single machine, and then bind the swap group to
>  the global swap barrier, but I've only worked with one context and one
>  screen per node (single card in each node).  In my case the NVIDIA
>  extension supported a single swap group for GLX windows on each
>  machine and a single global barrier (you can query the limit with the
>  NV extension).  I always have sync to vblank enabled either by
>  environment variable or through nvidia-settings, and you need to set
>  up all the cards and the sync master in the Frame Lock settings of
>  nvidia-settings as well (I usually have a shell script wrapper that
>  ensures all that is set up by calling nvidia-settings from the command
>  line).
>
>  Also, (as with any extensions) remember to check for the extension
>  string in the GLX extensions before attempting to use it, since some
>  implementations may return non-NULL entry points even if the extension
>  isn't supported.
>

I forgot to mention, you are correct that you don't need an explicit
sync, the normal swap buffers call is all you need once you have bound
the swap barrier (and enabled frame lock in the driver settings).

Leif
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to