Imagination PowerVR SDK Blog

Future of the sdk for IOS 8, and vs Metal


#1

Dear Team



i think developers might be interested to know about :

qestion 1 :

How will evolve the sdk on the ios part ,knowing that Swift language is coming and it s pretty impossible to share libray using c++.

sure it is possible to bridge objective c-c header.

qestion 2

Metal shader doesnt follow any open standard and seems to be performant, only a developer can reduce call, i mean i dont believe in magic.

Anyway it s seems perfomant , if it is more performant than the sdk …we are in trouble no?



kind regards

david





ps

about swift integration

  1. Swift cannot bridge C++. Period. You have to work on your headers to be C and C++ clean using #ifdef __cplusplus. Otherwise, Swift’s processor will simply fail to understand what your headers are doing. And this of course means you need C wrappers for your C++ objects to work with them and manipulate them.
  2. Once you’ve wrapped your C++ objects up with C APIs, then you’ll likely see linker failures. Swift can’t link against C++ by itself. You will need an empty cpp file in your Swift target in order to make it clear to the linker that you need the C++ runtime linked in along with the static lib. If you are using a dylib or Framework, you can avoid this step. It only affects static libraries.

#2

Hi David,



We haven’t made any definitive plans of how Metal will be supported in future SDKs. My understanding is that Objective-C will still be supported by Apple, so we’ll still be able to use it as a bridge for C++ code. If Objective-C is deprecated in the future, we can consider alternative options. Potentially, changes will be made to future versions of Swift to improve language interoperability before we have to worry about it :slight_smile:



Our goal is to support all public, relevant graphics APIs used by PowerVR devices. It’s likely that we will support Metal along with OpenGL ES so developers can choose the API most suitable to them.



Joe


#3

Hello Joe,

thanks it make sens , i get scared after seeing what i ve seen…if you support Metal shaders in the future,wooow , we can already thing about all the sample running in metal.



good stuff and not a suprise that you already anticipate that…



regards

advid


#4
Dear Team

i think developers might be interested to know about :
qestion 1 :
How will evolve the sdk on the ios part ,knowing that Swift language is coming and it s pretty impossible to share libray using c++.
sure it is possible to bridge objective c-c header.
qestion 2
Metal shader doesnt follow any open standard and seems to be performant, only a developer can reduce call, i mean i dont believe in magic.
Anyway it s seems perfomant , if it is more performant than the sdk ....we are in trouble no?

There is no magic .. My understanding of Metal is simply as client-side "prebaked" sets of more-less native GPU commands (states etc) that you can submit almost directly to the GPU without going thru the translation layer ( as it is the case with GLES )
It won't make your GPU faster but it will lower your CPU load quite significantly.

#5

Hello Warmi,



i look at the video technical presentation of Metal and how they improve the bandwith and cpu A7 work, very very impressive.Special the COMMAND ENCODERS, they did improve both work on both layer, supra impressive…so

i warmup my CUDA for k1 or metal for IOS 8…