opengl calls / profiling

Hey guys, 2 questions

As far as I know, there is no way to profile opengl calls under linux yet… is this still true?

Secondly, with normal function calls, the cpu goes through the function, returns after it’s completed everything inside and u get a accurate time of how long it took to run that function.
With opengl, the function is called and command is sent to the server, and function returns but the processing time of the actual command is unknown because function returns potentially before the command is executed or complete. Is this correct?

if so, then isn’t recording FPS potentially very inaccurate? because you could put lots and lots of gl calls on the queue, and on cpu, the frames are counting up whereas on the gpu, the instructions are piling up?
What’s the deal here?

I must be wrong somewhere… can someone point out where?

Joe.

As far as I know, there is no way to profile opengl calls under linux yet… is this still true?
If you mean an IHV tool of some kind, I don’t think so. NVIDIA has a whole host of performance tools, but I’m pretty sure they’re only for Windows at this point. At the very least you can grab quite a few white papers and presentations on performance, which give generic tips and a wide range of GPU optimization techniques, including suggestions for bottleneck isolation and disposal. It’s all at the developer website.
http://developer.nvidia.com/page/documentation.html
http://developer.nvidia.com/page/tools.html