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

Reply via email to