Re: [osg-users] nVidia bug with multiple windows
FYI - This bug is fixed as of the 320.00 Beta drivers. -Baker -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=53868#53868 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] nVidia bug with multiple windows
Just as an update, I submitted this issue to NVIDIA and they were able to reproduce it on their end. They are currently working on it, although they do not have an ETA at this point. In addition to our workaround of enabling VBOs, they offered up this possible fix (I have not tried it, very busy and just using VBO w/ NVIDIA at the moment): “A possible WAR for the developer would be to call glClientActiveTexture(GL_TEXTURE0) explicitly where texture unit 0 is used.” If I'm notified they have a driver fix I'll update this thread. Regards- Baker -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=51271#51271 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] nVidia bug with multiple windows
Hi Leigh, Thanks for the pointer to that revision, however our issue persists at revision 13170. I posted that repro case to their dev support email address, and they let me know they're taking a look at it. I'll update this thread with any progress made. Thanks- Baker Searles -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=50720#50720 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] nVidia bug with multiple windows
Hi Baker. Perhaps your issue is the same that i fixed and submitted 9/27/2012. http://forum.openscenegraph.org/viewtopic.php?t=11124 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. -- Leigh -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=50682#50682 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] nVidia bug with multiple windows
Hi J-S, That's a good idea, and I just submitted the example to them. I'll go ahead and post the zip file here too just for posterity, as it's self-contained other than the Visual Studio 2010 runtimes. Actually, I posted it via their website and not directly to that e-mail address, perhaps I'll do that as well. My initial plan was to put it on their dev forums, but apparently they're still down from the big security breach a few months ago! Thanks- Baker -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=50650#50650 Attachments: http://forum.openscenegraph.org//files/20121017_nvidia_osg_multiplewindowissue_180.zip ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] nVidia bug with multiple windows
Hi Bradley, Good detective work on getting a minimal repro example. In the past, I've reported a few driver bugs to devsupp...@nvidia.com and gotten pretty quick responses. I encourage you to submit your example to them, just make sure you include all necessary DLLs so they can run it. They will be able to fix it with just a binary repro example, they don't need source. Good luck, J-S On 16/10/2012 2:50 PM, Bradley Baker Searles wrote: Hi, Short Version Run the attached files with the osgCamera example on your nVidia Geforce GPU (we're on Windows), with the parameters -s -3 [FILENAME]. You'll notice the file 1_UV.OSG renders the single triangle fine. 2_UV.OSG does not render correctly across the windows (it added only a second UV set). Has anyone else seen this and have any other solutions or workarounds, other than enabling VBO and/or multi-threaded viewer? Long Version We've identified an issue with nVidia Geforce hardware and geometry with multiple UV sets when being displayed on multiple windows. This may be a driver bug, as we don't see it on Intel or AMD GPUs (or interestingly, an nVidia Quadro in a laptop here), but there are some interesting details. I've narrowed the problem down to an OSG file containing a single triangle, and I can reproduce the issue in the osgCamera example. I will attach the minimal example files. The issue only seems to appear in the single threaded viewer model. When running with the parameters -s -3 in osgCamera, we get the following behavior: 1_UV.OSG - Single triangle with one texture, one UV set. Works fine. 2_UV.OSG - Same as above, but added one additional UV set. Initially it was another texture added as well, but that is unnecessary to generate the problem. Triangle only renders in one of the spawned windows. 2_UV_VBO.OSG - Same as 2_UV.OSG, but with VBO turned on. Renders fine across all windows. So the two workarounds we've found so far is to enable VBO on all geometry, or enable the multi-threaded viewer. Using VBO across the board does give us a performance hit in our application, from 5% to 35% depending on the scene being rendered and the GPU/Driver combo (including Intel and AMD). When we first enabled it on our OSG Composite Viewer, the multi-threaded mode was set, but startThreading was never called (we're creating our own windows, so realize is not called). Interestingly, this seems to have made the geometry corruption issue go away even though the additional threads were not spawned... Enabling the multi-threaded viewer properly has caused some other misbehavior in our app, but we may be able to work around the problems. Platform: Windows 7 x64 16 GB RAM nVidia 680, driver 306.97 (we've tried back to 275.33 with a 460 board) OSG 3.0.0 via VS 2010 SP1 Two monitors (so my osgCamera example spawns across them both, although we've reproduced the issues on a single monitor machine). Any help, suggestions, or commiseration would be appreciated :) Thanks! Baker Searles -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=50634#50634 Attachments: http://forum.openscenegraph.org//files/20121016_nvidia_multi_context_render_corruption_191.zip ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- __ Jean-Sebastien Guay jean_...@videotron.ca http://whitestar02.dyndns-web.com/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org