Project vinum Vkd3d 1.2 dimissum cum Direct3D 12 implementation

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

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

libvkd3d-shader instrumentorum translationis bytecode 4 et 5 exemplarium umbrariorum in media repraesentatione SPIR-V. Vertex, pixel, tessellatio computant et simplicem geometriae umbram, radix signatura serialization et deserialization. Arithmetica, atomica et frenum operationes, comparatio et notitia fluunt operatorium imperium, instructiones, specimen, collige et onera, operationes accessus inordinatas (UAV, Unordered Access View) ex umbris instructionibus adducuntur.

Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… innovations Π² 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.

Source: opennet.ru