Thanks Leigh, changes looks sensible, now merged and submited to svn/trunk.
On 28 September 2012 00:03, Leigh Stivers <[email protected]> wrote: > Hi Robert, > > We had this problem which shows up with nVidia's latest Quadro driver, 305.93 > - and older drivers when the nVidia's setting "Thread Optimization" was > turned on, running Windows 7. The symptom, is that after creating a first > view and using it, and then creating a second view, the first view will never > render anything but black. > > What happens is this: > A view is created, and then the viewers thread is created and runs. > The setReleaseContextAtEndOfFrameHint is true. > To create a second view, the viewer is setDone(true), and we wait for the > thread exit. > > At this point, inside the ViewerBase::RenderingTraversals code, there are > places where it reads "if(_done) return;" > > The problem, is that it won't reach the code that will releaseContext(). > > Apparently, this driver won't let any other thread to makeCurrent(), if > another thread (dead or not) has ownership. So when the Viewers is > re-started, the first view won't be able to use the gc. > > The change attached (against rev 13153) corrects this. > > Thanks, > > -- Leigh > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=50338#50338 > > > > > _______________________________________________ > osg-submissions mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org > _______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
