Open DerRM opened 6 years ago
While VK_KHR_external_memory
solves half the problem, at the moment Android has no equivalent to SurfaceTexture
that works with Vulkan.
Are there any plans for supporting a Vulkan enabled SurfaceTexture in a future Android release?
I'm not on the AR team, but can answer the question. Internally, SurfaceTexture is a mutable texture: the same texture ID is used in multiple calls to glEGLImageTargetTexture2DOES to point the texture at different native buffers (gralloc buffers). Mutable textures do not exist in Vulkan and therefore it's not possible to add Vulkan support to SurfaceTexture. The Vulkan-compatible equivalent of SurfaceTexture is AImageReader, but using it with camera frames requires Vulkan 1.1 and the extension VK_ANDROID_external_memory_android_hardware_buffer, which is not supported by any GPU drivers yet.
@tweenk Thanks for the info!
I want to use ARCore with Vulkan, too. Any updates?
Any updates on this?
No updates on this so far, sorry.
Can't believe this is still an issue! I need Vulcan with Unity AR foundation for performance reasons! I hope Google supports Vulcan soon!
Same situation here, any news?
2 years have passed, just a little update to say why it's still not supported would be nice :)
Is this ever going to happen? I'm finding this to be very limiting. It has been 4 years.
Still waiting for vulkan. It is now one of the standard render APIs, it is the default in Unity now (where a lot of AR apps/games are made) and it hinders some features in Unity (such as VFX graph)
Same here! We need Vulkan support!
We also need Vulkan support! Particle System instead of VFX graph is NOT a high end solution in Unity!
It would be great if ArCore could have Vulkan support. Please consider adding it.
Any way to share the texture now?
Let me be the first voice calling for this in 2023. Happy New Year 🎊
Is there any update on that ?
The comment from @tweenk in 2018, referred to Vulkan 1.1 requirement is now fully addressed in 2023, as there is 77% of Android devices now supporting this version: https://developer.android.com/about/dashboards
The fact that all Unity apps using ARCore/ARFoundation have been limited for so many years on using an API which is getting old, not improved anymore is concerning, and really limit what can be done in term of quality/delivery on the app side.
Glad to see that finally added in 1.37 !
Are there any plans to support VK_KHR_external_memory or something similar with ArSession_setCameraTextureName? It would be great to use Vulkan as a render backend but as far as I understood you only can either use GLES or Vulkan for the same surface you render to.