See vulkan_handler.cc for an example of how to render an AR application using Vulkan.
Supported devices
Vulkan rendering support is only available on Android API levels 27 and
above. Additionally, the device must support the VK_ANDROID_external_memory_android_hardware_buffer extension.
Require Vulkan in your app's manifest
Google Play uses <uses-feature> declared in your app manifest to filter your
app from devices that don't meet its hardware and software feature requirements.
Devices using Vulkan 1.0 might not support the required extension, but devices
compatible with Vulkan 1.1 must have the required extension starting in Android 10 (API level 29).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-28 UTC."],[[["ARCore can provide the camera image as an Android hardware buffer for efficient Vulkan rendering when `TextureUpdateMode.EXPOSE_HARDWARE_BUFFER` is enabled."],["This hardware buffer can be accessed using `Frame.getHardwareBuffer()` and bound to a Vulkan `VkImage` for rendering."],["Vulkan rendering with ARCore requires Android API level 27 or higher and device support for the `VK_ANDROID_external_memory_android_hardware_buffer` extension."],["The `hello_ar_vulkan_c` sample app demonstrates how to implement Vulkan rendering with ARCore."],["To ensure your app is only available on compatible devices, declare the Vulkan feature requirement in your app's manifest."]]],["To utilize hardware buffer output, set `Config.TextureUpdateMode` to `EXPOSE_HARDWARE_BUFFER` during session configuration. This enables ARCore to provide a hardware buffer via `Session.update()`. Retrieve this buffer using `Frame.getHardwareBuffer()`. It can then be bound to a Vulkan `VkImage`. Vulkan rendering is demonstrated in the `hello_ar_vulkan_c` sample app. Support requires Android API level 27+, with the `VK_ANDROID_external_memory_android_hardware_buffer` extension and ensure your manifest declares Vulkan usage.\n"]]