vkd3d 1.2 dilengkapi dengan peningkatan keserasian, bayangan dan banyak lagi

Projek itu Wine telah mengeluarkan versi baru dari pakej vkd3d 1.2 dengan pelaksanaan Direct3D 12 yang berfungsi dengan menterjemahkan panggilan ke API grafik Vulkan.

Versi baru vkd3d 1.2 ini mengandungi pelbagai penambahbaikan, tetapi yang utama yang menonjol adalah ketersediaan libvkd3d-shader sebagai perpustakaan awam, The sokongan shader pengesahan, serta sokongan output aliran.

Pakej itudan merangkumi perpustakaan libvkd3d dengan pelaksanaan Direct3D 12, libvkd3d-shader dengan penterjemah shader model 4 dan 5 dan libvkd3d-utils dengan fungsi untuk mempermudah penghijrahan aplikasi Direct3D 12, serta sekumpulan demo, termasuk port glxgears ke Direct3D 12. Kod projek diedarkan berlesen di bawah LGPLv2.1.

Perpustakaan libvkd3d menyokong sebahagian besar ciri Direct3D 12, termasuk fungsi grafik dan pengiraan, senarai perintah dan barisan, penerangan dan penerangan timbunan, tandatangan root, akses tanpa susunan, sampler, tandatangan arahan, pemalar root, perwakilan tidak langsung, dan sebagainya.

libvkd3d-shader melaksanakan terjemahan kod byte 4 dan 5 corak lorekkan dalam perwakilan SPIR-V pertengahan. Vertices, pixel, tessellation, computational and geometry shader shaders, root signature serial, dan deserialization disokong.

Arahan shader merangkumi operasi aritmetik, atom dan bitwise, pengendali aliran data dan pengendali perbandingan, contoh, arahan pengumpulan dan pemuatan, operasi akses tanpa pesanan (UAV, paparan akses tidak teratur).

Pada tahap perkembangan semasa, tidak semua panggilan ke Direct3D 12 dilaksanakan dan ujian dijalankan terutamanya pada satu set aplikasi demo. Rilis ini tidak termasuk ciri-ciri dalam pengembangan seperti sokongan untuk pengukuran dan shader geometri yang kompleks, serta sejumlah peningkatan yang berkaitan dengan kaedah dan shader dasar Direct3D 12. Fitur-fitur ini akan ditawarkan dalam rilis yang akan datang.

Ciri baru utama Vkd3d 1.2

Dari perubahan terpenting yang disajikan dalam versi baru, adalah ketersediaan perpustakaan libvkd3d-shader untuk digunakan dalam projek pihak ketiga, sejak Berbagai fungsi Direct3D 12 ditambahkan, seperti:

  • Pelbagai persampelan.
  • Sumber simpanan.
  • Kadar penghantaran data contoh.
  • API "Data peribadi" untuk semua antara muka.
  • Pemetaan komponen paparan sumber Shader.
  • VK_KHR_draw_indirect_count sambungan.
  • Perwakilan predikat / bersyarat.
  • Rendering Kedalaman tanpa shader piksel.
  • Potongan kedalaman Ini memerlukan pelanjutan VK_EXT_depth_clip_enable.
  • Buang rasterizer.
  • Pencampuran sumber berganda.
  • Pemetaan sumber yang diletakkan.
  • Kaedah ReadFromSubresource () dan WriteToSubresource () ID3D12Resource.
  • Akses serentak ke sumber berbilang barisan.
  • Pandangan kosong. Iaitu, pandangan tanpa sumber asas.
  • Beberapa lagi pertanyaan sokongan ciri.

Selain itu, sokongan tambahan untuk menukar, membuat siri dan deserialisasi tandatangan juga disorot root (vkd3d_serialize_versioned_root_signature () dan vkd3d_create_versioned_root_signature_deserializer (), serta sokongan untuk output streaming.

Perubahan lain yang menonjol adalah pelaksanaan pemboleh ubah persekitaran: VKD3D_CONFIG untuk menetapkan pilihan untuk mengubah tingkah laku libvkd3d dan VKD3D_VULKAN_DEVICE untuk menimpa peranti untuk API Vulkan.

selain itu sokongan tambahan untuk arahan teduhan bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos dan sokongan awal untuk model 5.1 shader.

Dan juga sokongan untuk persekitaran sasaran OpenGL SPIR-V. Ini membolehkan SPIR-V yang dihasilkan oleh libvkd3d-shader digunakan dengan GL_ARB_gl_spirv. Ini termasuk sokongan untuk pembilang atom OpenGL dan gabungan sampler.

Akhirnya sekiranya anda ingin mengetahui lebih lanjut mengenainya mengenai versi baru ini, anda boleh menyemak senarai perubahan yang lengkap Dalam pautan berikut.

Bagaimana cara memasang vkd3d di Linux?

Bagi mereka yang berminat untuk memasang vkd3d pada sistem mereka, mereka harus mendapatkan kod sumber dan meneruskan penyusunannya, walaupun untuk tujuan praktikal atau untuk pemula itu, mereka dapat mencuba perpustakaan ini tanpa banyak usaha. Untuk ini mereka hanya perlu memasang lutris dan mengikut konfigurasinya.

Bagi mereka yang berminat dalam penyusunan, mereka mesti mendapatkan kod 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"

Akhirnya, lapisan Vulkan mesti diaktifkan:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.