Vulkan Mesh Shaders Untuk Mencerminkan Kemampuan Direct3D 12 Dari Dekat

  • Post author:
  • Post category:Linux

Sudah lama diketahui bahwa Grup Khronos dan kelompok kerja Vulkan-nya telah mengerjakan ekstensi lintas vendor untuk shader mesh yang serupa dengan apa yang sudah ditawarkan oleh Direct3D 12 dan dengan NVIDIA oleh ekstensi VK_NV_mesh_shader mereka. Beberapa detail lebih lanjut tentang dukungan shader mesh Vulkan yang akan datang telah dirinci hari ini.
Telah diketahui secara publik bahwa kelompok kerja Vulkan sedang mengejar ekstensi mesh shader lintas vendor untuk Vulkan API sekarang karena GPU AMD RDNA2 dan GPU Intel Arc “Alchemist” juga memiliki dukungan yang diperlukan untuk mesh shader, mengikuti jejak NVIDIA Di area ini. Mesh shader menggabungkan pemrosesan vertex dan primitif sebagai perubahan mendasar pada pipeline rendering grafis. Namun detail seputar ekstensi Vulkan API yang belum dipublikasikan masih sangat minim. Kami telah melihat meskipun pengembang Mesa mengerjakan persiapan shader mesh Vulkan dari orang-orang seperti Intel dan pengembang Valve yang berkontribusi pada driver Radeon “RADV”.
Timur Kristóf dari tim driver grafis Linux Valve dapat mengkonfirmasi secara terbuka beberapa detail hari ini seputar dukungan shader mesh Vulkan ini. Yang paling signifikan pada tingkat tinggi adalah bahwa ekstensi shader mesh Vulkan akan sangat mirip dengan pendekatan dan kemampuan dengan apa yang tersedia di Direct3D 12. Timur mengomentari tiket GitHub publik:
Kami sepakat di Khronos bahwa kami sekarang dapat membagikan beberapa informasi tentang ekstensi mesh shader lintas-vendor yang akan datang secara publik (meskipun saya tidak dapat memberikan janji tentang kapan itu akan dirilis). Untuk ekstensi ini, kompatibilitas dengan DirectX 12 sangat penting bagi kami, oleh karena itu kami mengikuti kemampuan dan batasan utama yang sama. Model pemrograman shader juga sangat mirip. Singkatnya: jika Anda dapat melakukan sesuatu dengan shader mesh DirectX, Anda juga dapat melakukannya di Vulkan.
Ada dua tahap shader baru: mesh shader dan task shader (opsional, juga dikenal sebagai shader amplifikasi di DirectX), yang dapat menggantikan jalur grafik saat ini. Ekstensi baru akan mendukung pengiriman 3 dimensi (bukan 1D di NV_mesh_shader) dan output mesh shader lebih seperti DirectX 12 (shader harus menyatakan jumlah simpul keluaran/primitif terlebih dahulu, mirip dengan SetMeshOutputCounts).
– Kedua tahap shader baru mengikuti model pemrograman seperti komputasi.
– Mesh shader akan mendukung atribut output per-vertex dan per-primitif. Output mereka diproduksi secara kooperatif oleh kelompok kerja dan dikonsumsi langsung oleh rasterizer.
– Task shader memiliki tujuan utama mengirimkan kelompok kerja mesh shader dan output payload opsional yang bekerja seperti memori bersama. Menjadi sangat dekat dengan desain shader mesh Direct3D 12 akan bermanfaat untuk portabilitas di seluruh API dan juga membantu VKD3D-Proton dengan mampu memetakan secara efisien dari D3D12 ke Vulkan untuk game Windows modern.
Tinjauan sederhana dan tingkat tinggi Microsoft tentang DirectX 12 mesh shader.

Tidak ada komentar tentang kapan ekstensi shader mesh Vulkan lintas vendor ini diharapkan akan dipublikasikan. Setidaknya ketika diumumkan, driver Intel dan RADV Mesa Vulkan seharusnya tidak jauh tertinggal dalam dukungan mereka, dan mungkin NVIDIA akan memiliki driver beta hari yang sama.

Itulah berita seputar Vulkan Mesh Shaders Untuk Mencerminkan Kemampuan Direct3D 12 Dari Dekat, semoga bermanfaat. Disadur dari Phoronix.com.