vkd3d 1.2 hadir dengan peningkatan kompatibilitas, bayangan, dan lainnya

Proyek Wine telah merilis versi baru dari paket vkd3d 1.2 dengan implementasi Direct3D 12 yang berfungsi dengan menerjemahkan panggilan ke API grafis Vulkan.

Versi baru vkd3d 1.2 berisi berbagai perbaikan, tetapi yang utama yang menonjol adalah ketersediaan libvkd3d-shader sebagai perpustakaan umum, The dukungan shader tessellation, serta dukungan keluaran aliran.

Paketdan termasuk pustaka libvkd3d dengan implementasi Direct3D 12, libvkd3d-shader dengan model 4 dan 5 shader translator dan libvkd3d-utils dengan fungsi untuk menyederhanakan migrasi aplikasi Direct3D 12, serta sekumpulan demo, termasuk port glxgears ke Direct3D 12. Kode proyek didistribusikan dengan lisensi di bawah LGPLv2.1.

Perpustakaan libvkd3d mendukung sebagian besar fitur Direct3D 12, termasuk grafik dan fungsi komputasi, daftar perintah dan antrian, deskriptor dan deskriptor heap, tanda tangan root, akses tidak berurutan, sampler, tanda tangan perintah, konstanta root, representasi tidak langsung, dan sebagainya.

Libvkd3d-shader.dll mengimplementasikan terjemahan kode byte 4 dan 5 dari pola bayangan dalam representasi SPIR-V menengah. Simpul, piksel, tessellation, shader geometri komputasi dan sederhana, serialisasi tanda tangan root, dan deserialisasi didukung.

Instruksi shader termasuk operasi aritmatika, atom dan bitwise, kontrol aliran data dan operator perbandingan, pengambilan sampel, instruksi pengumpulan dan pemuatan, operasi akses tak berurutan (UAV, tampilan akses tak berurutan).

Pada tahap pengembangan saat ini, tidak semua panggilan ke Direct3D 12 diimplementasikan dan pengujian terutama dilakukan pada satu set aplikasi demo. Rilis ini tidak menyertakan fitur dalam pengembangan seperti dukungan untuk shader geometri kompleks dan tessellation, serta sejumlah peningkatan terkait dengan metode dasar dan shader Direct3D 12. Fitur ini akan ditawarkan dalam rilis mendatang.

Fitur baru utama Vkd3d 1.2

Perubahan terpenting yang disajikan dalam versi baru, adalah ketersediaan pustaka libvkd3d-shader untuk digunakan dalam proyek pihak ketiga, sejak Berbagai fungsi Direct3D 12 ditambahkan, seperti:

  • Multi-pengambilan sampel.
  • Sumber daya yang dipesan.
  • Tingkat kelulusan data instance.
  • API "Data pribadi" untuk semua antarmuka.
  • Pemetaan komponen tampilan sumber daya shader.
  • Ekstensi VK_KHR_draw_indirect_count.
  • Predikat / representasi bersyarat.
  • Rendering kedalaman tanpa pixel shader.
  • Pemotongan kedalaman. Ini membutuhkan ekstensi VK_EXT_depth_clip_enable.
  • Buang rasterizer tersebut.
  • Pencampuran sumber ganda.
  • Pemetaan sumber daya yang ditempatkan.
  • Metode ReadFromSubresource () dan WriteToSubresource () ID3D12Resource.
  • Akses simultan ke sumber daya multi-antrian.
  • Tampilan kosong. Artinya, tampilan tanpa sumber daya yang mendasarinya.
  • Beberapa pertanyaan dukungan fitur lainnya.

Selain itu, Dukungan tambahan untuk mengonversi, membuat serial, dan deserialisasi tanda tangan juga disorot root (vkd3d_serialize_versioned_root_signature () dan vkd3d_create_versioned_root_signature_deserializer (), serta dukungan untuk keluaran streaming.

Perubahan lain yang menonjol adalah implementasi variabel lingkungan: VKD3D_CONFIG untuk menyetel opsi untuk mengubah perilaku libvkd3d dan VKD3D_VULKAN_DEVICE untuk mengganti perangkat untuk Vulkan API.

Selain itu menambahkan dukungan untuk petunjuk bayangan bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, info_sample, samplepos dan dukungan awal untuk shader model 5.1.

Dan juga dukungan untuk lingkungan target OpenGL SPIR-V. Ini memungkinkan SPIR-V yang diproduksi oleh libvkd3d-shader untuk digunakan dengan GL_ARB_gl_spirv. Ini termasuk dukungan untuk penghitung atom OpenGL dan sampel gabungan.

Akhirnya jika Anda ingin tahu lebih banyak tentang itu tentang versi baru ini, Anda dapat memeriksa daftar lengkap perubahan Di tautan berikut.

Bagaimana cara menginstal vkd3d di Linux?

Bagi mereka yang tertarik untuk menginstal vkd3d di sistem mereka, mereka harus mendapatkan kode sumber dan melanjutkan kompilasi, meskipun untuk tujuan praktis atau untuk pemula, mereka dapat mencoba perpustakaan ini tanpa banyak usaha. Untuk ini, mereka hanya perlu menginstal lutris dan di dalam konfigurasinya.

Sedangkan bagi yang tertarik dengan kompilasi harus mendapatkan kode dengan:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Terakhir, lapisan Vulkan harus diaktifkan:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.