Nová verzia vkd3d 1.3 už bola vydaná

Po roku a pol vývoja aon Wine projekt oznámil spustenie nová verzia balíka «vkd3d 1.3″ s implementáciou Direct3D 12, ktorá funguje prostredníctvom prekladu volaní do grafického API Vulkan.

Táto verzia obsahuje rôzne vylepšenia, z ktorých sú v tejto novej verzii najdôležitejšie počiatočná podpora zostavovania HLSL, ako aj Podpora poľa deskriptorov Shader Model 5.1, podpora pre odpojenie Direct3D shaderov a ďalšie.

Tí, ktorí balík nepoznajú, by to mali vedieť 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 grafových a výpočtových funkcií, zoznamov príkazov a frontov, deskriptorov a deskriptorov haldy, koreňových podpisov, neusporiadaného prístupu, vzorkovníkov, podpisov príkazov, koreňových konštánt, proxy reprezentácie atď.

libvkd3d-shader implementuje preklad bajtového kódu 4 a 5 tieňovacích modelov v medzireprezentácii SPIR-V. Podporované sú vrcholy, pixely, mozaikovanie, výpočtové a jednoduché geometrické shadery, serializácia koreňového podpisu 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 súbore demo aplikácií.

Hlavné nové funkcie verzie Vkd3d 1.3

V tejto novej verzii vkd3d 1.3, ktorá je prezentovaná, je zdôraznené, že pridaná počiatočná podpora pre kompiláciu a predbežné vykresľovanie shaderov v HLSL (vysokoúrovňový shader jazyk), ktorý je poskytovaný od DirectX 9.0.

Ďalšou zo zmien, ktorá vyniká v tejto novej verzii, je podpora dvojitej presnosti operácií s pohyblivou rádovou čiarkou v shaderoch, ako aj presmerovanie pre teselačné shadery, export šablón z shaderov, "presný" modifikátor shaderov a globálne bariéry pre zdroje v pamäti.

Môžeme tiež zistiť, že schopnosť rozobrať Direct3D shadery z kódu bajtov do reprezentácie assembleru, ako aj pridanú podporu pre analýzu starého formátu bajtového kódu Direct3D používaného v modeloch shaderov Direct3D 1, 2 a 3.

libvkd3d pridal funkcie Direct3D 12, ako sú podpisy koreňového adresára, počítadlá neusporiadaného vyhľadávania, výstupné zlučovacie booleany, režim adresovania textúry mirror_once a pridaná štruktúra vkd3d_host_time_domain_info.

Z ďalších zmien ktoré vyčnievajú z tejto novej verzie:

  • vkd3d_shader_preprocess_info rozširuje štruktúru vkd3d_shader_compile_info a možno ho použiť na špecifikáciu parametrov predbežného spracovania, ako sú definície makier preprocesora.
  • vkd3d_shader_hlsl_source_info rozširuje štruktúru vkd3d_shader_compile_info a možno ho použiť na špecifikáciu HLSL a parametrov zostavenia, ako je cieľový profil a vstupný bod.
  • Prepojte modely Direct3D 12 a Vulkan
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION možno použiť na určenie verzie API libvkd3d-shader, na ktorú je aplikácia zameraná. Ak nie je zadané, použije sa VKD3D_SHADER_API_VERSION_1_2.
  • vkd3d-compiler predvolene použije farebný výstup, ak dokáže určiť, že
    výstupom je farebná ďalekopis.
  • Pridaná podpora pre polia deskriptorov definované v Shader Model 5.1.

Konečne ak o tom chcete vedieť viac o tejto novej verzii si môžete pozrieť úplný 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ť.