Proyek anggur diterbitkan Vkd3d 1.7 dengan implementasi Direct3D 12

Proyek Wine telah menerbitkan rilis paket vkd3d 1.7 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 grafis 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 yang jelas *( ) 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).

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

  • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ компилятора ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² Π½Π° языкС HLSL (High-Level Shader Language):
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ использования массивов Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² SV_DispatchThreadID, SV_GroupID ΠΈ SV_GroupThreadID.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt(), step(), transpose().
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΠΉ точности с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Β«min16floatΒ».
  • Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² Direct3D 1/2/3.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ API для Ρ€Π°Π·Π±ΠΎΡ€Π° (vkd3d_shader_parse_dxbc) ΠΈ сСриализации (vkd3d_shader_serialize_dxbc) Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… DXBC.

Sumber: opennet.ru

Tambah komentar