Wine loyihasi Direct3D 1.2 amalga oshirilishi bilan Vkd3d 12 ni chiqardi

Vino loyihasi chop paketni chiqarish vkd3d 1.2 Vulkan grafik API-ga qo'ng'iroqlarni uzatish orqali ishlaydigan Direct3D 12 ilovasi bilan. Paketga Direct3D 3 ilovalari bilan libvkd12d kutubxonalari, 3 va 4 shader modellari tarjimoniga ega libvkd5d-shader va Direct3D 3 ilovalarini ko'chirishni soddalashtirish funktsiyalariga ega libvkd12d-utils, shuningdek portni o'z ichiga olgan demo-misollar to'plami kiradi. Direct3D uchun glxgears 12. Loyiha kodi tarqaladi LGPLv2.1 ostida litsenziyalangan.

libvkd3d kutubxonasi qo'llab-quvvatlash Direct3D 12 ning ko'pgina xususiyatlari, jumladan grafik va hisoblash vositalari, navbatlar va buyruqlar ro'yxati, tutqichlar va yig'ish tutqichlari, ildiz imzolari, tartibsiz kirish, Namuna oluvchilar, buyruq imzolari, ildiz konstantalari, bilvosita renderlash, Clear*() usullari va Nusxalash*().

Libvkd3d-shaderda 4 va 5 shader modellarining bayt-kodlarini oraliq SPIR-V tasviriga tarjima qilish amalga oshiriladi. Vertex, piksel, tessellation, hisoblash va oddiy geometriya shaderlari, ildiz imzosini ketma-ketlashtirish va seriyadan chiqarish qo'llab-quvvatlanadi. Shader ko'rsatmalariga arifmetik, atom va bit operatsiyalari, taqqoslash va ma'lumotlar oqimini boshqarish operatorlari, namuna olish, yig'ish va yuklash ko'rsatmalari, tartibsiz kirish operatsiyalari (UAV, tartibsiz kirish ko'rinishi) kiradi.

Eng muhimlari orasida innovatsiyalar Vkd3d 1.2 da quyidagilar ta'kidlangan:

  • libvkd3d-shader kutubxonasi uchinchi tomon loyihalarida foydalanishga tayyor.
  • Tessellation shader qo'llab-quvvatlash.
  • Ildiz imzolarni konvertatsiya qilish, seriyalashtirish va seriyadan chiqarishni qo'llab-quvvatlash (vkd3d_serialize_versioned_root_signature() va vkd3d_create_versioned_root_signature_deserializer()).
  • Oqimli chiqishni qo'llab-quvvatlash.
  • Oldin mavjud bo'lmagan ko'plab Direct3D 12 funksiyalarini amalga oshirish, shu jumladan multisampling, resurslarni zahiralash,
    bilvosita indekslangan renderlash, piksel shaderlarisiz chuqurlikni ko'rsatish, turli buyruqlar navbatlaridan resurslarga bir vaqtning o'zida kirish, Null-ko'rinishlar.

  • Qo'shilgan muhit o'zgaruvchilari: libvkd3d xatti-harakatlarini o'zgartirish uchun opsiyalarni o'rnatish uchun VKD3D_CONFIG va Vulkan API uchun qurilmani bekor qilish uchun VKD3D_VULKAN_DEVICE.
  • Bufinfo shader ko'rsatmalari uchun qo'shimcha yordam,
    eval_centroid,
    baho_namunaviy_indeks,
    ld2ms,
    namuna_b,
    namuna_d,
    namuna_ma'lumoti,
    namunalar.

Manba: opennet.ru

a Izoh qo'shish