Alzeon
Alzeon

Reputation: 283

MTLCreateSystemDefaultDevice() returning nil on iPad with iOS 10.3

I am trying to do some fluid simulation with Google's Liquidfun and Metal, using an iPad running iOS 10.3. However, the initial call to MTLCreateSystemDefaultDevice() is returning nil.

I have the following console log, so I know that Metal is supported on the iPad, but I am not sure how to debug this issue.

2018-07-02 20:28:44.547645-0500 chem-lab-practical[529:464344] [DYMTLInitPlatform].
platform initialization successful 2018-07-02 20:28:44.781763-0500 
chem-lab-practical[529:464294] Metal GPU Frame Capture Enabled 2018-07-02 
20:28:44.783609-0500 chem-lab-practical[529:464294] Metal API Validation Enabled 
(lldb)

I have not found similar questions on stack overflow and am a beginner to using Metal, so I am not sure how to begin to debug this issue.

Upvotes: 1

Views: 1407

Answers (1)

Alzeon
Alzeon

Reputation: 283

So... I guess I wasn't looking hard enough because I've found an answer here (iOS code to identify metal support in runtime?).

According to the post,

Note that just testing for the presence of a Metal framework class doesn't help — those classes are there on any device running iOS 8 (all the way back to iPhone 4s & iPad 2), regardless of whether that device has a Metal-capable GPU.

For reference, this is a list of Metal compatible iOS devices (https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/HardwareGPUInformation/HardwareGPUInformation.html)

Upvotes: 1

Related Questions