Vulkan

Android mendukung Vulkan, 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 Mengimplementasikan Vulkan.

Developer aplikasi menggunakan Vulkan untuk membuat aplikasi yang menjalankan perintah di GPU dengan overhead yang berkurang secara signifikan. Vulkan juga menyediakan pemetaan yang lebih langsung ke kemampuan yang ditemukan di hardware grafis saat ini dibandingkan dengan EGL dan GLES, sehingga meminimalkan peluang untuk bug driver dan mengurangi waktu pengujian developer.

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

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. Runtime Vulkan menggabungkan driver, menyediakan kemampuan intersepsi API (untuk proses debug dan alat developer lainnya), dan 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 Vulkan Runtime terhubung ke BufferQueue melalui ANativeWindow.
  • Gralloc. Antarmuka opsional memungkinkan Gralloc menemukan apakah format tertentu dapat digunakan untuk kombinasi produsen/konsumen tertentu tanpa mengalokasikan buffering.

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 loader Vulkan Android, serta beberapa alat terkait Vulkan yang berguna bagi developer platform.
  • Mengimplementasikan Vulkan. Diperuntukkan bagi 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 alat khusus GPU harus diinstal, dan persyaratan penerapan khusus Android.
  • Panduan Vulkan Graphics API. Menyertakan informasi tentang cara memulai penggunaan Vulkan di aplikasi Android, platform pedoman desain Vulkan Android, menggunakan compiler shader Vulkan, dan menggunakan lapisan validasi untuk membantu memastikan stabilitas di aplikasi yang menggunakan Vulkan.
  • Vulkan News. Mencakup peristiwa, patch, tutorial, dan artikel berita lainnya yang terkait dengan Vulkan.