vkd3d 1.2 prichádza s vylepšeniami kompatibility, tieňovaním a ďalšími

Projekt Spoločnosť Wine vydala novú verziu balíka vkd3d 1.2 s implementácia Direct3D 12 ktorý funguje tak, že sa prekladajú hovory do grafického rozhrania Vulkan API.

Táto nová verzia vkd3d 1.2 obsahuje rôzne vylepšenia, ale z tých hlavných, ktoré vynikajú, sú dostupnosť libvkd3d-shaderu ako verejnej knižnice, podpora shaderov mozaikovanie, ako aj podpora výstupu prietoku.

Balíka obsahuje knižnice libvkd3d s implementáciami Direct3D 12, libvkd3d-shader s prekladačom shaderov modelu 4 a 5 a libvkd3d-utils s funkciami na zjednodušenie migrácie aplikácií Direct3D 12, ako aj so súborom ukážok vrátane portu glxgears na Direct3D 12. Kód projektu je distribuovaný pod LGPLv2.1.

Knižnica libvkd3d podporuje väčšinu funkcií Direct3D 12, vrátane grafických a výpočtových funkcií, fronty príkazov a zoznamy, deskriptory a deskriptory hald, podpisy root, neusporiadaný prístup, vzorkovače, podpisy príkazov, rootovské konštanty, nepriame znázornenie atď.

libvkd3d-shader implementuje preklad bajtového kódu 4 a 5 vzorov tieňovania v medziriadkovej reprezentácii SPIR-V. Podporované sú vrcholy, pixely, mozaikovanie, shadery výpočtovej a jednoduchej geometrie, serializácia podpisov koreňov a deserializácia.

Pokyny pre shader zahŕňajú aritmetické, atómové a bitové operácie, operátory riadenia a porovnávania toku údajov, vzorkovanie, zhromažďovanie a načítanie pokynov, operácie neusporiadaného prístupu (UAV, neusporiadaný prístupový pohľad).

V súčasnej fáze vývoja nie sú implementované všetky volania na Direct3D 12 a testy sa vykonávali hlavne na množine demo aplikácií. Toto vydanie nezahŕňa funkcie vo vývoji, ako je podpora komplexných shaderov geometrie a mozaikovania, ako aj množstvo vylepšení týkajúcich sa základných metód a shaderov Direct3D 12. Tieto funkcie budú ponúkané v budúcom vydaní.

Hlavné nové funkcie verzie Vkd3d 1.2

Z najdôležitejších zmien, ktoré sú v novej verzii predstavené, je dostupnosť knižnice libvkd3d-shader na použitie v projektoch tretích strán, od Boli pridané rôzne funkcie Direct3D 12, napríklad:

  • Viacnásobné vzorkovanie.
  • Rezervované zdroje.
  • Rýchlosti prenosu údajov o inštancii.
  • „Súkromné ​​údaje“ API pre všetky rozhrania.
  • Mapovanie komponentov Shader resource view.
  • Rozšírenie VK_KHR_draw_indirect_count.
  • Predikátové / podmienené znázornenie.
  • Hĺbkové vykreslenie bez shaderu pixelov.
  • Hĺbkový výrez. To si vyžaduje rozšírenie VK_EXT_depth_clip_enable.
  • Zrušte rasterizátor.
  • Miešanie z dvoch zdrojov.
  • Mapovanie umiestnených zdrojov.
  • Metódy ID3D12Resource ReadFromSubresource () a WriteToSubresource ().
  • Simultánny prístup k prostriedkom s viacerými radmi.
  • Nulové výhľady. To znamená, že zobrazenia bez podkladového zdroja.
  • Niekoľko ďalších otázok týkajúcich sa podpory funkcií.

Okrem toho Zvýraznená je aj pridaná podpora pre prevod, serializáciu a deserializáciu podpisov root (vkd3d_serialize_versioned_root_signature () a vkd3d_create_versioned_root_signature_deserializer (), ako aj podpora pre streamovaný výstup.

Ďalšou zmenou, ktorá vyniká, je implementácia premenných prostredia: VKD3D_CONFIG na nastavenie možností na zmenu správania libvkd3d a VKD3D_VULKAN_DEVICE na prepísanie zariadenia pre Vulkan API.

okrem toho pridaná podpora pre tieniace pokyny bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos a predbežná podpora pre shadery modelu 5.1.

A tiež podpora cieľových prostredí OpenGL SPIR-V. Toto umožňuje použitie SPIR-V produkovaného libvkd3d-shader s GL_ARB_gl_spirv. To zahŕňa podporu pre počítadlá atómov v OpenGL a kombinované vzorkovače.

Konečne ak o tom chcete vedieť viac o tejto novej verzii si môžete pozrieť kompletný zoznam zmien Na nasledujúcom odkaze.

Ako nainštalovať vkd3d na Linuxe?

Pre tých, ktorí majú záujem o inštaláciu vkd3d na svoj systém, by si mali zaobstarať zdrojový kód a pokračovať v kompilácii, hoci pre praktické účely alebo pre tých nováčikov si môžu túto knižnicu bez veľkého úsilia vyskúšať. Z tohto dôvodu musia inštalovať iba lutris a v rámci jeho konfigurácií.

Pokiaľ ide o záujemcov o kompiláciu, musia získať kód s:

git clone git://source.winehq.org/git/vkd3d.git/
./autogen.sh
./configure
make
../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Nakoniec musia byť povolené vrstvy Vulkan:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.