Driver Vulkan NVIDIA “NVK” sumber terbuka dalam basis kode Mesa telah menggabungkan dukungan untuk ekstensi penting VK_EXT_shader_object dan VK_EXT_graphics_pipeline_library. Selain itu, sebagai bagian dari mendukung ekstensi baru ini, ini memperkenalkan kode untuk runtime Vulkan yang umum ke Mesa.
Sejak bulan Januari lalu, Anda mungkin ingat proposal Faith Ekstrand agar driver Mesa Vulkan menjadi lebih seperti Gallium3D dan mulai mengerjakan kode runtime Vulkan umum yang dapat dibagikan di antara driver Mesa Vulkan. Dengan penggabungan dukungan VK_EXT_shader_object dan VK_EXT_graphics_pipeline_library, bit paling awal dari kode runtime umum ini telah tersedia. Ekstrand menjelaskan dalam permintaan penggabungan:
“MR ini mengimplementasikan VK_EXT_shader_object dan VK_EXT_graphics_pipeline_library untuk NVK. Ia juga menambahkan kerangka umum ke runtime yang membuat penerapan objek shader serta semua variasi pipeline menjadi jauh lebih mudah. Dengan kerangka ini, semuanya tampak seperti VK_EXT_shader_object kecuali struct vk_graphics_pipeline_state dapat disediakan pada waktu kompilasi shader, dalam hal ini driver bebas memasukkan status ke dalam shader selama ia juga melakukan hash pada status tersebut di vk_driver_shader_ops::hash_graphics_pipeline_state().
Tujuan saya adalah agar MR ini berfungsi sebagai MR untuk kode runtime Vulkan yang umum. Saya akan menarik sekumpulan bit NVK ke dalam MR terpisah dan menggabungkannya terlebih dahulu, dan pada saat itu saya akan melakukan rebase MR ini. Saya mungkin juga mencoba untuk mendaratkan beberapa patch runtime vulkan tipe pembersihan secara terpisah, meninggalkan sebagian besar kerangka objek shader di sini. “Jadi penggabungan ini adalah kemenangan ganda pada awalnya untuk memungkinkan lebih banyak berbagi kode driver Vulkan di Mesa dan juga menerapkan fitur penting ESO dan GPL untuk driver NVK.
VK_EXT_shader_object memperkenalkan tipe objek VkShaderEXT untuk mewakili satu tahap shader yang dikompilasi. Objek shader Vulkan dimaksudkan agar lebih fleksibel dibandingkan objek pipa Vulkan dan merupakan perubahan mendasar untuk mengatasi masalah abstraksi pipa yang muncul dalam desain asli Vulkan.
Ekstensi VK_EXT_graphics_pipeline_library memungkinkan lebih banyak fleksibilitas dalam kompilasi pipeline grafis dan untuk mengkompilasi tahapan secara terpisah dan sesuai kebutuhan/tersedia daripada objek status pipeline penuh. Hal ini dapat berguna bagi mesin game untuk mengurangi hambatan waktu menggambar dan manfaat praktis lainnya.
Sangat menyenangkan melihat NVK dengan cepat mengejar ketinggalan dalam mendukung semua ekstensi penting Vulkan bersama dengan peningkatan driver kernel Nouveau yang sedang berlangsung untuk menghasilkan kinerja yang lebih baik untuk tumpukan driver sumber terbuka NVIDIA. Ekstensi baru dan kode runtime umum Vulkan ini akan menjadi bagian dari rilis Mesa 24.1 kuartal berikutnya.
Itulah berita seputar NVK Vulkan Driver Mendaratkan Objek Shader & Pustaka Pipeline Grafis, semoga bermanfaat. Disadur dari Phoronix.com.