Page 1 of 1

Open GL software fallback on OS X

PostPosted: Sat Oct 20, 2012 4:58 pm
by bouscram
Hi.

I was quite annoyed by the behavior I was talking about in this thread, so I played a little bit with OpenGL Profiler (previously bundled with developer tools, now a separate download from developer.apple.com).

It is possible to attach a process (here Autopano) and to set a breakpoint everytime there is a software fallback.

With Autopano 2.6.4, the process is never interrupted. With Autopano 3.0B2, the program starts correctly using the ATI driver, but with the breakpoints, I can see that it keeps going to the software driver and back (even for the preview in the main window), which explains why everything looks like it is using the GPU, but is very slow... I guess Autopano uses now something which is not supported in hardware, explaining the fallback - or there is a big stupid bug somewhere ;-).

I don't know if the developpers have seen this, as my ATI X1600 GPU is quite old - and I don't expect them to fix it if they now use too advanced functions - but it would be nice to find a way to better check the capabilities of the hardware renderer.

PostPosted: Mon Oct 22, 2012 8:11 am
by ThomasV
Hello,

Thanks for pointing that. In Autopano 3, we try to use the gpu to do more work to improve customer experience during edition. But, as you might know, doing more job on the gpu also mean using more functions in our shader programs. Ensuring compatibilty with older gpu is very hard, and we do our best. Just consider that: our programs only needs glsl v1.2 and the latest version is v4.3.

If it is quite easy to know which part of drivers are software emulated for a specific card and a specific driver version, then it might be possible to report it in a better way.

Thanks,
Thomas

PostPosted: Mon Oct 22, 2012 11:12 pm
by bouscram
From what I understand (but I am really not a Mac nor Open GL developer), the properties and functions reported by the driver should all be done in hardware ; if something isn't supported, the system changes the renderer to the (software) Apple renderer - as I see with Open GL Profiler. I don't think there is software emulation in the GPU renderer (why should there be, if the system can change "on the fly" ?)

But maybe you use a resource which is not supported by my particular hardware, even if the functions using it are supported (there is very little difference in the capabilities of both drivers if I check them with Open GL Extension Viewer). Or this is a bug, triggered by the new way of using the GPU.

What puzzles me is that this behaviour happens also in the rendering of the small preview, when loading a project. Is this also using more GPU than in 2.x versions ?