Proyek Wine merilis Vkd3d 1.4 dengan implementasi Direct3D 12

Proyek Wine telah menerbitkan rilis paket vkd3d 1.4 dengan implementasi Direct3D 12 yang bekerja melalui panggilan penyiaran ke API grafis Vulkan. Paket ini mencakup perpustakaan libvkd3d dengan implementasi Direct3D 12, libvkd3d-shader dengan penerjemah model shader 4 dan 5 dan libvkd3d-utils dengan fungsi untuk menyederhanakan porting aplikasi Direct3D 12, serta serangkaian contoh demo, termasuk port dari glxgears ke Direct3D 12. Kode proyek didistribusikan dengan lisensi di bawah LGPLv2.1.

Pustaka libvkd3d mendukung sebagian besar fitur Direct3D 12, termasuk fasilitas grafik dan komputasi, antrian dan daftar perintah, pegangan dan pegangan tumpukan, tanda tangan akar, akses tidak berurutan, Sampler, tanda tangan perintah, konstanta akar, rendering tidak langsung, metode Hapus *( ) dan Salin*().

Di libvkd3d-shader, terjemahan bytecode model shader 4 dan 5 ke dalam representasi SPIR-V perantara diimplementasikan. Mendukung vertex, pixel, tessellation, komputasi dan shader geometri sederhana, serialisasi tanda tangan root dan deserialisasi. Instruksi shader mencakup operasi aritmatika, atom dan bit, operator perbandingan dan kontrol aliran data, instruksi pengambilan sampel, pengumpulan dan pemuatan, operasi akses tidak berurutan (UAV, Tampilan Akses Tidak Terurut).

ΠΎΠ²ΠΎΠΉ Срсии:

  • Banyak perbaikan telah dilakukan pada kompiler shader HLSL (High-Level Shader Language) yang disediakan sejak DirectX 9.0.
  • Implementasi baru dari Descriptor Heap telah diusulkan, menggunakan ekstensi Vulkan VK_EXT_descriptor_indexing.
  • Menambahkan implementasi pagar baru berdasarkan ekstensi Vulkan K_KHR_timeline_semaphore.

Sumber: opennet.ru

Tambah komentar