Post

Replies

Boosts

Views

Activity

Reply to iPadOS: [API] Failed to create 0x88 image slot (alpha=1 wide=0) (client=0xfbe80e61) [0x5 (os/kern) failure]
I have a simple SceneKit app that uses SCNRenderer to render into an offscreen Metal texture. Working fine on macOS and iPhone OS but on iPad OS it runs with the above error message as well. If it is running under Xcode debugger the view appears and renders correctly, but when running on the device without the debugger it just crashes. com.apple.scenekit.renderingQueue.SCNView0x107b05380 Thread 1 Crashed: 0 libsystem_kernel.dylib 0x1c57f7558 __pthread_kill + 8 1 libsystem_pthread.dylib 0x1e62b1118 pthread_kill + 268 2 libsystem_c.dylib 0x18e8ea178 abort + 180 3 libsystem_c.dylib 0x18e9420a4 __assert_rtn + 272 4 Metal 0x18217921c MTLReportFailure.cold.1 + 48 5 Metal 0x1821580b8 MTLReportFailure + 464 6 Metal 0x18206dab8 -[_MTLCommandBuffer addCompletedHandler:] + 128 7 OrbEnergy 0x104500544 MTLOffscreenContext.offscreenRender(withTextureTarget:clearColor:waitUntilCompleted:sceneRender:) + 2984 8 OrbEnergy 0x1045077d4 OrbSCNScene2Metal2MetalViewController.renderOffscreenSCNRenderer(atRenderTime:) + 544 9 OrbEnergy 0x104507a04 OrbSCNScene2Metal2MetalViewController.renderer(_:updateAtTime:) + 68 10 OrbEnergy 0x104507a4c @objc OrbSCNScene2Metal2MetalViewController.renderer(_:updateAtTime:) + 60 11 SceneKit 0x1d44f048c -[SCNRenderer _update:] + 360 12 SceneKit 0x1d44f0014 -[SCNRenderer _drawSceneWithNewRenderer:] + 156 13 SceneKit 0x1d44eff14 -[SCNRenderer _drawScene:] + 44 14 SceneKit 0x1d44e90fc -[SCNRenderer _drawAtTime:] + 504 15 SceneKit 0x1d44e8cdc -[SCNView _drawAtTime:] + 372 16 SceneKit 0x1d4606b84 _ The exact error message is: [API] Failed to create 0x88 image slot (alpha=1 wide=1) (client=0x18960791) [0x5 (os/kern) failure]
Topic: Programming Languages SubTopic: Swift Tags:
Oct ’23
Reply to Which attribute should I use to know which eye in the fragment shader?
Elsewhere in the forum under a discussion of WWDC 23 "Discover Metal for Spatial Computing" there is a link to some GitHub sample code provided by indie developers. In particular, this sample illustrates how to pass eye-specific parameters to a shader: github.com/musesum/SpatialMetal2 My recommendation is to modify the Uniforms struct in ShaderTypes.h to include whatever eye specific data you require: struct Uniforms { matrix_float4x4 projection; matrix_float4x4 viewModel; }; struct UniformEyes { Uniforms eye[2]; }; Unfortunately this sample code uses parallel declarations of these structs which, to my knowledge, is not the correct way to pass structs from Swift to Metal. Structs that are destined for use in Metal must be declared in the C-language and imported into Swift using the Bridging header. Swift can reorder struct members and may use different rules for padding and alignment. To that end your solution should probably be based off the Xcode template with modifications which have the same functionality as this sample.
Topic: Graphics & Games SubTopic: General Tags:
Dec ’23