Replies: 1 comment
-
I am not super sure the Volkan APIs work on iOS out the box. But, I answered a similar question on .NET MAUI about this. There are ways. dotnet/maui#15889 (comment) However, it might be worth using Metal on iOS? All you need is a different construction for the |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm creating an SkSurface via SkSurface.Create (C#) that takes a GRBackendRenderTarget object created from a GRVkImageInfo object. The GRVkImageInfo object has the handle of existing Vulkan image (native C++), which has been created successfully and is working properly on all platforms. SkSurface.Create takes a GRContext parameter, which I create via GContext.CreateVulkan. GContext.CreateVulkan works on Windows and Android, but returns null on iOS.
Going deeper into the call stack, the backend context (GRVkBackendContext) that gets passed to CreateVulkan is fully populated with valid Vulkan handles/info, though, on iOS, the Extensions property has a null handle. I've set this using GRVkExtensions.Create, which gets passed a valid proc address delegate, Vulkan instance, physical device, and the same set of extensions that said instance and device were created with. On other platforms, the Extensions handle is non-null. I'm assuming it's this invalid Extensions object that is causing GRContext.CreateVulkan to fail on iOS.
Does GRVkExtensions.Create work on iOS? Is there something special I need to do that I'm missing? Do I need to link to MoltenVK or something somehow on the C# side, like I'm doing on the C++ side?
Beta Was this translation helpful? Give feedback.
All reactions