Tech Focus: IMG on PowerVR mobile graphics
IMG talk graphics tech featured in iPad 2 and Sony NGP
We essentially have two strands to our IP - one is focused on OpenGL ES, the other adds some additional silicon area for DX. We plan to continue with that differentiation. That said DX is obviously further ahead in terms of feature set, as is desktop OpenGL, and both are used as references to design the optimised embedded Khronos APIs - so some similarity is to be expected.
Over time DX might become more significant if Windows does manage to get a foothold in mobile devices. We've been shipping WHQL compliant DX9 capable mobile parts for several years and have seen an increased interest in licensing of DX10 and DX11 capable parts over the last few months.
Historically CPU vendors have tried to push close links between CPUs and GPUs as beneficial but the reality is that for best performance CPU and GPU should be as autonomous as possible.
The combination of an ARM processor and our PowerVR graphics is a bit of a classic in the mobile and embedded space, so if Windows on ARM does take off we'd expect to do well out of it and we're certainly offering a roadmap that will support it very capably.
It varies. We often host engineers from our partners who come to work with us here and we send engineers to work with partners too. We often help with bring-up of new SoC and even with OEMs using those SoCs in end products. On occasion we design entire SoCs, but that's relatively rare. What generally happens is we work very closely with new partners while they get up to speed, but given the kind of partners we have, they are more than capable of picking things up quickly and then doing future designs more autonomously.
Almost all use of PowerVR is in an SoC for those very reasons: bandwidth and power efficiency. Historically CPU vendors have tried to push close links between CPUs and GPUs as beneficial but the reality is that for best performance CPU and GPU should be as autonomous as possible. PowerVR SGX is designed to offload the CPU as much as possible with the SGX GPU handling events locally to ensure optimal parallel processing with no direct CPU control impact.
It's difficult to comment on upcoming API (and hardware) specifications which have not yet been announced but occlusion queries offer interesting usage cases and are obviously being considered.
However it's also important to stress the difference between mobile and PC space, in the PC space it's easy to push a lot of work to the GPU (massive bandwidth, memory and power usage) and let it handle occlusion processing however in the mobile space efficiency is king so trying to remove processing as early as possible (e.g. no submission at all) is even more important so pushing all the workload to the GPU might be less efficient than advanced high-level culling on the CPU side. Still, over time such balance points will shift and even in the mobile space occlusion processing on the GPU will become more efficient over time.
Our Series5XT architecture (SGX543/544/554) is a significant mid-life update to the Series5 architecture (SGX520/530/531/535/540) which was driven based on market and customer feedback. Key in this feedback was increased interest in compute performance both for GP-GPU via OpenCL but also for higher-quality pixels via more complex shaders as a result we doubled the floating point performance per pipeline in the newer cores while maintaining efficiency via co-issue (dual instruction) capabilities.
Additionally there was an increased interest in compositing User Interfaces and as a result we added dedicated hardware for YUV formats to enable optimal integration with video and camera image streaming. Most of the other changes are much lower level and focused on improving the efficiency of the design including both improved performance and further reduced bandwidth usage - a specific area of focus has been anti-aliasing and polygon throughput.
Yes, graphics cores are inherently parallel processors which means that they work on data independently (one pixel does not impact the processing of another pixel) which means that performance can be scaled near linear compared to CPUs where adding more cores often gives a very low return (data does depend on the processing of other data elements).
It's important to note that SGX543 offers true and complete load-balance based scaling of performance across both geometry processing and pixel processing workloads - many other designs only scale pixel processing leading to unbalanced designs. Basically the hardware splits all processing tasks (geometry, pixels, GP-GPU) up into small batches which are assigned to GPU cores on demand - this results in high efficiency and avoids impact by hotspots since even if one core is very busy with a complex area of the screen the other cores will continue to process the rest of the screen. Obviously this is also designed to avoid increases in bandwidth usage per frame between multi-core and single-core processing.
Anything demanding performance: console, computing etc.
Absolutely. SGX already has OpenCL conformance and all SGX parts are OpenCL capable. There's all kinds of things that you can use that for from game-world physics to image processing and enhancement.