Konsortium Khronos, yang membangunkan piawaian grafik, telah mengiktiraf pemacu NVK sumber terbuka sebagai serasi sepenuhnya dengan spesifikasi Vulkan 1.4 pada sistem dengan GPU NVIDIA berdasarkan mikroarkitek Maxwell (GTX 700/800/900), Pascal (GTX 1000) dan Volta (TITAN V). Pemandu telah berjaya melepasi semua ujian daripada CTS (Khronos Conformance Test Suite) dan termasuk dalam senarai pemandu yang diperakui. Mendapatkan pensijilan membolehkan anda mengisytiharkan pematuhan piawaian grafik secara rasmi dan menggunakan tanda dagangan Khronos yang dikaitkan dengannya.
Bermula dengan Mesa 25.1, pemacu NVK Vulkan akan didayakan secara lalai untuk GPU NVIDIA Maxwell, Pascal dan Volta. Dalam Mesa 25.2, sokongan OpenGL untuk GPU ini akan ditukar secara lalai daripada pemacu Nouveau kepada pemacu Zink bersama-sama dengan pemacu NVK Vulkan. Zink menyediakan pelaksanaan OpenGL 4.6 di atas Vulkan, mendayakan OpenGL dipercepatkan perkakasan pada peranti yang menyokong API Vulkan. Prestasi Zink adalah hampir dengan pelaksanaan OpenGL asli.
Sebelum ini, keserasian Vulkan 1.4 dalam NVK hanya disediakan untuk GPU NVIDIA baharu berdasarkan Turing (GeForce GTX 16xx, RTX 20xx, dan siri Quadro RTX), Ampere (GeForce RTX 30xx dan RTX A2000/4000/5000/6000 siri) dan Ada (GeForce RTX 4xx dan RTX A4000/4/5000/6000) dan Ada (GeForce RTX1.2RTX) XNUMXxxx/XNUMX/XNUMX Ada siri) microarchitectures. Kerja sedang dijalankan untuk menambah sokongan untuk GPU berasaskan Kepler dan Fermi kepada NVK, tetapi sokongan akan terhad kepada Vulkan XNUMX paling banyak disebabkan oleh pengehadan perkakasan.
Pemacu NVK dibina dari awal oleh pasukan termasuk Karol Herbst (pembangun Nouveau di Red Hat), David Airlie (penyelenggara subsistem DRM di Red Hat) dan Jason/Faith Ekstrand (pembangun Mesa aktif di Collabora). Semasa mencipta pemacu, pembangun menggunakan fail pengepala rasmi dan modul kernel terbuka yang diterbitkan oleh NVIDIA. Kod NVK menggunakan beberapa komponen asas pemacu OpenGL Nouveau di beberapa tempat, tetapi disebabkan oleh perbezaan dalam penamaan dalam fail pengepala NVIDIA dan nama kejuruteraan terbalik di Nouveau, adalah sukar untuk meminjam kod secara langsung dan sebahagian besarnya banyak perkara perlu difikirkan semula dan dilaksanakan dari awal.
Pembangunan itu dijalankan dengan tujuan untuk mencipta rujukan baharu pemacu Vulkan untuk Mesa, yang kodnya boleh dipinjam semasa mencipta pemandu lain. Untuk mencapai matlamat ini, apabila bekerja pada pemacu NVK, kami cuba mengambil kira semua pengalaman sedia ada dalam membangunkan pemacu Vulkan, mengekalkan asas kod dalam bentuk optimum dan meminimumkan pemindahan kod daripada pemacu Vulkan lain, melakukan apa yang perlu dilakukan untuk kerja yang optimum dan berkualiti tinggi, dan tidak menyalin secara membuta tuli apa yang dilakukan pada pemacu lain.
Sumber: opennet.ru
