|
Performance Inspector Show GPU/CPU Execution?Would it be possible for Performance Inspector to be able to show if CIFilter and/or GLSL patches were being executed on the GPU, or were falling-back to software-rendering? I have a feeling this is a pretty complex issue, but it would be good to know if a particular chunk of CIKernel/GLSL code was causing software-fallback or not. Any thoughts, guys?
|
To see if CoreImage executes in software mode or not, simply look for lines like this in Console.app:
To see if GLSL executes on the GPU, inspect the output -- if you see what you expect, it's working on the GPU, otherwise, it fails (fragment shaders are tricky to virtualize in software -- vertex shaders not as difficult). The graphics card drivers can silently drop to software, but no one has access to when that happens -- when compiling GLSL shaders, you simply get a pass/fail result, and possibly a descriptive string saying why it failed ("Parse Error on line 42", or "76/64 alu insns, 30/32 tex insns, 2/4 tex indirections" or similar).