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