> On Sun, 2010-05-23 at 11:36 +0000, Marcin Kościelnicki wrote:
> > This will be useful for computing GPU-CPU latency, including
> > GL_ARB_timer_query extension.
>
> Looks fine, just a quick question as to whether this is necessary?  I
> seem to recall that on nv40, the QUERY methods actually return
> timestamps in the "notifier" that one would assume are from PTIMER.
>
> Is there some way to do this on G80+ also?

There is. Notifiers and QUERYs and PFIFO FENCEs all return PTIMER time. But 
that's not the point - all of these commands execute on GPU inside the GPU 
command stream, and we want a CPU version. See the GL_ARB_timer_query 
extension for details... generic idea:

1. Submit lots of commands 
2. Add a GPU timestamp query at the end
3. Fire
4. Get current GPU time at the moment of firing [via the above getparam]
5. Do something else for some time, like rendering another frame
6. Substract results from 2. and 4. to measure how far ahead the CPU is at the 
end of a frame [CPU-GPU latency]

Using another query at the beginning of the command buffer won't do the trick, 
since GPU could still be busy rendering previous frame.  Unless you glFinish, 
but this results in pipeline stalls.

Marcin Kościelnicki
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to