Vulkan

Android mendukung Vulkan, sebuah API lintas platform dengan overhead rendah untuk grafis 3D berperforma tinggi. Seperti OpenGL ES (GLES), Vulkan menyediakan alat untuk membuat grafis real-time berkualitas tinggi di aplikasi. Keuntungan menggunakan Vulkan mencakup pengurangan overhead CPU dan dukungan untuk bahasa SPIR-V Binary Intermediate.

Vendor sistem pada chip (SoC) seperti vendor hardware independen (IHV) GPU dapat menulis driver Vulkan untuk Android. OEM perlu mengintegrasikan driver ini untuk perangkat tertentu. Untuk mengetahui detail tentang cara driver Vulkan berinteraksi dengan sistem, cara menginstal alat khusus GPU, dan persyaratan khusus Android, lihat Menerapkan Vulkan.

Developer aplikasi menggunakan Vulkan untuk membuat aplikasi yang mengeksekusi perintah di GPU dengan overhead yang jauh lebih rendah. Vulkan juga memberikan pemetaan yang lebih langsung ke kemampuan yang ada di hardware grafis saat ini dibandingkan dengan EGL dan GLES, sehingga meminimalkan peluang terjadinya bug driver dan mengurangi waktu pengujian developer.

Untuk informasi umum tentang Vulkan, lihat Ringkasan Vulkan atau lihat daftar Resource.

Komponen Vulkan

Dukungan Vulkan mencakup komponen berikut.

Komponen
Vulkan

Gambar 1. Komponen Vulkan

Nama komponen Penyedia Deskripsi
Lapisan Validasi Vulkan Android (di NDK) Library yang digunakan selama pengembangan aplikasi Vulkan untuk menemukan error dalam penggunaan Vulkan API oleh aplikasi. Setelah error penggunaan API ditemukan, library ini harus dihapus.
Runtime Vulkan Android Library native, libvulkan.so, yang menyediakan Vulkan API native.

Sebagian besar fungsi Vulkan Runtime diimplementasikan oleh driver yang disediakan oleh vendor GPU. Vulkan Runtime membungkus driver, menyediakan kemampuan intersep API (untuk proses debug dan alat developer lainnya), serta mengelola interaksi antara driver dan dependensi platform.
Driver Vulkan SoC Memetakan Vulkan API ke perintah dan interaksi GPU khusus hardware dengan driver grafis kernel.

Komponen yang dimodifikasi

BufferQueue dan Gralloc mendukung Vulkan:

  • BufferQueue. Nilai dan metode enum tambahan di BufferQueue dan antarmuka ANativeWindow memungkinkan Runtime Vulkan terhubung ke BufferQueue melalui ANativeWindow.
  • Gralloc. Antarmuka opsional memungkinkan Gralloc menemukan apakah format tertentu dapat digunakan untuk kombinasi produsen/konsumen tertentu tanpa mengalokasikan buffer.

Untuk mengetahui detail tentang komponen ini, lihat BufferQueue dan gralloc. Untuk mengetahui detail tentang ANativeWindow, lihat EGLSurfaces dan OpenGL ES).

Referensi

Gunakan referensi berikut untuk mempelajari Vulkan lebih lanjut:

  • Vulkan Loader (libvulkan.so) di platform/frameworks/native/vulkan. Berisi pemuat Vulkan Android, serta beberapa alat terkait Vulkan yang berguna bagi developer platform.
  • Menerapkan Vulkan. Ditujukan untuk IHV GPU yang menulis driver Vulkan untuk Android dan OEM yang mengintegrasikan driver tersebut untuk perangkat tertentu. Dokumen ini menjelaskan cara driver Vulkan berinteraksi dengan sistem, cara menginstal alat khusus GPU, dan persyaratan penerapan khusus Android.
  • Panduan Vulkan Graphics API. Mencakup informasi tentang cara mulai menggunakan Vulkan di aplikasi Android, platform pedoman desain Vulkan Android, penggunaan compiler shader Vulkan, dan penggunaan lapisan validasi untuk membantu memastikan stabilitas di aplikasi yang menggunakan Vulkan.
  • Berita Vulkan. Mencakup acara, patch, tutorial, dan artikel berita terkait Vulkan lainnya.