Proyek Wine merilis Vkd3d 1.2 dengan implementasi Direct3D 12

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Wine diterbitkan rilis paket vkd3d 1.2 с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Direct3D 12, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² графичСский API Vulkan. Π’ состав ΠΏΠ°ΠΊΠ΅Ρ‚Π° входят Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libvkd3d с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Direct3D 12, libvkd3d-shader c транслятором 4 ΠΈ 5 ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΈ libvkd3d-utils с функциями для упрощСния портирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Direct3D 12, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π±ΠΎΡ€ дСмонстрационных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΡ€Ρ‚ glxgears Π½Π° Direct3D 12. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° didistribusikan oleh berlisensi di bawah LGPLv2.1.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libvkd3d mendukung Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ возмоТностСй Direct3D 12, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ срСдства для Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ вычислСний, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈ списки ΠΊΠΎΠΌΠ°Π½Π΄, дСскрипторы ΠΈ дСскрипторы ΠΊΡƒΡ‡ΠΈ, ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Π΅ подписи, нСупорядочСнный доступ, Sampler-Ρ‹, сигнатуры ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Π΅ константы, Π½Π΅ΠΏΡ€ΡΠΌΡƒΡŽ (indirect) отрисовку, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Clear*() ΠΈ Copy*().

libvkd3d-shader mengimplementasikan terjemahan bytecode 4 dan 5 model shader menjadi representasi perantara SPIR-V. Mendukung vertex, pixel, tessellation, komputasi dan shader geometri sederhana, serialisasi tanda tangan root dan deserialisasi. 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) diimplementasikan dari instruksi shader.

Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… inovasi Π² Vkd3d 1.2 Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ:

  • Π“ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libvkd3d-shader для использования Π² сторонних ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° тСссСляционных ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ².
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° прСобразования, сСриализации ΠΈ дСсСриализации ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… сигнатур (vkd3d_serialize_versioned_root_signature() ΠΈ vkd3d_create_versioned_root_signature_deserializer()).
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°.
  • РСализация ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π°Π½Π΅Π΅ нСдоступных возмоТностСй Direct3D 12, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΡΠΌΠΏΠ»ΠΈΠ½Π³Π°, рСзСрвирования рСсурсов,
    косвСнной индСксированной отрисовки, Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ Π±Π΅Π· ΠΏΠΈΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ², ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ рСсурсам ΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄, Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… прСдставлСний (Null-views).

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния: VKD3D_CONFIG для установки ΠΎΠΏΡ†ΠΈΠΉ для измСнСния повСдСния libvkd3d ΠΈ VKD3D_VULKAN_DEVICE для пСрСопрСдСлСния устройства для API Vulkan.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Π½Ρ‹Ρ… инструкций bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

Sumber: opennet.ru

Tambah komentar