No problem (i think) only weird to make variables zero and one and assign both value zero. Laurens.
On Wed, Feb 17, 2016 at 5:09 PM, Robert Osfield <[email protected]> wrote: > Hi Laurens, > > On 17 February 2016 at 15:51, Voerman, L. <[email protected]> wrote: > >> I think GLuint64 will work reliably, and if it would generate warnings i >> would be more concerned about this line in >> daeRMaterials.cpp Line 94: int zero = 0, one = 0; >> > > I have merged my suggested change to Renderer.cpp to master and OSG-3.4 > branch. Let me know if there is any issue. > > What is the problem with the daeRMaterials.cpp? > > Robert. > > > >> >> Regards, Laurens. >> >> >> >> On Wed, Feb 17, 2016 at 4:33 PM, Robert Osfield <[email protected] >> > wrote: >> >>> Hi Laurens, >>> >>> You missed adding your file, but I can guess given the description. I'm >>> not clear on the portability of LL as well. How about the following - >>> using a GLuint64 one variable? >>> >>> diff --git a/src/osgViewer/Renderer.cpp b/src/osgViewer/Renderer.cpp >>> index 53c9abf..dc8069c 100644 >>> --- a/src/osgViewer/Renderer.cpp >>> +++ b/src/osgViewer/Renderer.cpp >>> @@ -228,11 +228,12 @@ void ARBQuerySupport::checkQuery(osg::Stats* >>> stats, osg::State* state, >>> // If the high bits on any of the timestamp bits are >>> // different then the counters may have wrapped. >>> const int hiShift = (tbits - 1); >>> - const GLuint64 hiMask = 1 << hiShift; >>> + const GLuint64 one = 1; >>> + const GLuint64 hiMask = one << hiShift; >>> const GLuint64 sum = (beginTimestamp >> hiShift) >>> + (endTimestamp >> hiShift) + (gpuTimestamp >> >>> hiShift); >>> if (sum == 1 || sum == 2) { >>> - const GLuint64 wrapAdd = 1 << tbits; >>> + const GLuint64 wrapAdd = one << tbits; >>> // Counter wrapped between begin and end? >>> if (beginTimestamp > endTimestamp) >>> { >>> >>> It's a bit hacky and may even generate a warning. Thoughts? >>> >>> Robert. >>> >>> >>> >>> On 16 February 2016 at 13:38, Voerman, L. <[email protected]> wrote: >>> >>>> Hi Robert, >>>> A warning from visual studio 2015 points at an actual (minor) bug: >>>> Renderer.cpp(231):const GLuint64 hiMask = 1 << hiShift; >>>> Renderer.cpp(235):const GLuint64 wrapAdd = 1 << tbits; // <- this will >>>> fail if tbits is 32, because "1" is an __int32 >>>> >>>> every ~4.3 seconds a 32 bit gpu timestamp will procuce invalid >>>> statistics. Aparently you had a driver/hardware combo in 2010 with a 32 bit >>>> timer query, not sure if that still exists. >>>> Bug and bugfix tested with both VS2013 and gcc , but I am not sure >>>> about the portability of the LL suffix. a cast to GLuint64 would work too. >>>> >>>> attached Renderer.zip contains a bugfix ( 1LL instead of 1 ) >>>> modified file: OpenSceneGraph\src\osgViewer\Renderer.cpp >>>> this file is only for the current git head. (file has other changes >>>> after 3.4 branch). >>>> >>>> OpenSceneGraph\src\osgViewer\Renderer.cpp(231): warning C4334: '<<': >>>> result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift >>>> intended?) >>>> OpenSceneGraph\src\osgViewer\Renderer.cpp(235): warning C4334: '<<': >>>> result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift >>>> intended?) >>>> >>>> >>>> _______________________________________________ >>>> 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 >>> >>> >> >> _______________________________________________ >> 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 > >
_______________________________________________ osg-submissions mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
