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

Reply via email to