On Wed, Nov 24, 2010 at 2:00 PM, Robert Osfield <[email protected]>wrote:

> Hi Tim,
>
> I've continued to try various combinations of tests out and can't yet
> figure out why the call
>
>   GLint bits = 0;
>   extensions->glGetQueryiv(GL_TIMESTAMP, GL_QUERY_COUNTER_BITS_ARB, &bits);
>
> Is resulting in a 'invalid enumerant' error.  I also added another
> test alongside the GL_TIMESTAMP one:
>
> extensions->glGetQueryiv(TIME_ELAPSED, GL_QUERY_COUNTER_BITS_ARB, &bits),
>
> And this works fine and returns a value of 32 for bits, so it would at
> seem like the driver just doesn't like GL_TIMESTAMP and
> GL_QUERY_COUNTER_BITS_ARB together.
>
> Yes, this seems to be a driver bug.

> Curiously I'm getting values out of the State::frameCompleted()
> method, an sample of the output I get if I ignore the
> getTimestampBits() being set to 0.
>
> State::frameCompleted() setting time stamp. timestamp=7378321843000
> State::frameCompleted() setting time stamp. timestamp=7378377420000
> State::frameCompleted() setting time stamp. timestamp=7378377669000
> State::frameCompleted() setting time stamp. timestamp=7378378034000
> State::frameCompleted() setting time stamp. timestamp=7378389865000
> State::frameCompleted() setting time stamp. timestamp=7378443963000
> State::frameCompleted() setting time stamp. timestamp=7378444120000
> State::frameCompleted() setting time stamp. timestamp=7378444335000
>
> What type of values do you get for timestamp for NVidia?
>
> Something similar, for example  18587884632000. You do seem to be getting
valid timestamps that are longer than 32 bits long. Perhaps the simplest
thing is to assume a 64 bit counter if the extension is supported and live
with any glitches in the statistics output.

Tim
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to