---
title: 'How to Share Vulkan and OpenCL Workloads on Android with Qualcomm Adreno GPUs'
url: 'https://vulkan.org/news/auto-24777-1b42bcb51592e207b561c971cdbaa346'
markdown: 'https://vulkan.org/news/auto-24777-1b42bcb51592e207b561c971cdbaa346.md'
date: '2026-10-26'
taxonomy:
  tag:
    - opencl
---

#  How to Share Vulkan and OpenCL Workloads on Android with Qualcomm Adreno GPUs 

  October 26th at 2:36pm

 In this Qualcomm Developer Blog tutorial, Zimu Guan shows how Android apps can share GPU memory and coordinate work directly between Vulkan and OpenCL on Adreno GPUs, avoiding CPU copies when a Vulkan renderer hands data to OpenCL kernels for compute, ML, denoising or super-resolution. The post walks through a full Vulkan to OpenCL to Vulkan workflow using Khronos external memory and external semaphore extensions. Vulkan exports allocations as opaque fds that OpenCL imports, with Qualcomm’s cl_qcom_external_memory_vulkan_opaque_fd extension handling optimal-tiling images. Synchronization uses one-shot sync-fd semaphores, with a fresh export and import at each handoff. It includes code for each step and points to the opencl_interop sample in the Adreno GPU Vulkan Code Sample Framework. Support is device- and driver-dependent, so apps should rely on runtime capability queries, and a follow-up on Android Hardware Buffer interop is planned. 

 [ Read More  ](https://www.qualcomm.com/developer/blog/2026/10/how-to-share-vulkan-opencl-workloads-android-adreno-gpus)

---

## Navigation

- Parent: [News](https://vulkan.org/news.md)
- Next: [KosmicKrisp Achieves Vulkan 1.4 Conformance on Apple Silicon](https://vulkan.org/news/auto-24759-86ebe20cf5f40ab4904c8c7353f6ca54.md)
