vkd3d 1.2 přináší vylepšení kompatibility, stínování a další

El Proyecto Společnost Wine vydala novou verzi balíčku vkd3d 1.2 s implementace Direct3D 12 který funguje převodem volání na grafické rozhraní Vulkan.

Tato nová verze vkd3d 1.2 obsahuje různá vylepšení, ale hlavní, které vynikají, jsou dostupnost libvkd3d-shaderu jako veřejné knihovnyse podpora shaderu mozaikování, stejně jako podpora výstupu toku.

Balíka zahrnuje libvkd3d knihovny s implementacemi Direct3D 12, libvkd3d-shader s překladačem shaderů modelu 4 a 5 a libvkd3d-utils s funkcemi pro zjednodušení migrace aplikací Direct3D 12, stejně jako sada ukázek, včetně portu glxgears na Direct3D 12. Kód projektu je distribuován s licencí pod LGPLv2.1.

Knihovna libvkd3d podporuje většinu funkcí Direct3D 12, včetně grafických a výpočetních funkcí, seznamů příkazů a front, deskriptorů a deskriptorů haldy, podpisů root, neuspořádaného přístupu, vzorníků, podpisů příkazů, kořenových konstant, nepřímé reprezentace atd.

libvkd3d-shader implementuje překlad byte kódu 4 a 5 vzorů stínování v mezilehlé reprezentaci SPIR-V. Podporovány jsou vrcholy, pixely, mozaikování, výpočetní a jednoduchá shadery geometrie, serializace podpisů root a deserializace.

Pokyny shaderu zahrnují aritmetické, atomové a bitové operace, operátory řízení a porovnávání toku dat, pokyny pro vzorkování, sběr a načítání, operace neuspořádaného přístupu (UAV, zobrazení neuspořádaného přístupu).

V současné fázi vývoje nejsou implementována všechna volání Direct3D 12 a testy byly prováděny hlavně na sadě demo aplikací. Tato verze neobsahuje vývojové funkce, jako je podpora shaderů složité geometrie a mozaikování, stejně jako řada vylepšení souvisejících se základními metodami a shadery Direct3D 12. Tyto funkce budou nabízeny v budoucím vydání.

Hlavní nové funkce Vkd3d 1.2

Z nejdůležitějších změn, které jsou v nové verzi představeny, je dostupnost knihovny libvkd3d-shader pro použití v projektech třetích stran Byly přidány různé funkce Direct3D 12, například:

  • Vícenásobné vzorkování.
  • Rezervované zdroje.
  • Rychlost předávání dat instance.
  • „Soukromá data“ API pro všechna rozhraní.
  • Mapování komponent shaderu pro zobrazení zdrojů.
  • Rozšíření VK_KHR_draw_indirect_count.
  • Predikátové / podmíněné vyjádření.
  • Hloubkové vykreslení bez shaderu pixelů.
  • Hloubkový výřez. To vyžaduje rozšíření VK_EXT_depth_clip_enable.
  • Zrušte rasterizer.
  • Míchání dvou zdrojů.
  • Mapování umístěných zdrojů.
  • Metody ID3D12Resource ReadFromSubresource () a WriteToSubresource ().
  • Simultánní přístup k prostředkům s více frontami.
  • Nulové pohledy. To znamená, pohledy bez podkladového zdroje.
  • Několik dalších dotazů na podporu funkcí.

Kromě toho přidána je také podpora pro převod, serializaci a deserializaci podpisů root (vkd3d_serialize_versioned_root_signature () a vkd3d_create_versioned_root_signature_deserializer (), stejně jako podpora pro streamovaný výstup.

Další změnou, která vyniká, je implementace proměnné prostředí: VKD3D_CONFIG k nastavení možností pro změnu chování knihoven libvkd3d a VKD3D_VULKAN_DEVICE k přepsání zařízení pro rozhraní Vulkan API.

kromě toho přidána podpora pro pokyny pro stínování bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos a předběžná podpora pro shadery modelu 5.1.

A také podpora pro cílová prostředí OpenGL SPIR-V. To umožňuje použití SPIR-V produkovaného libvkd3d-shaderem s GL_ARB_gl_spirv. To zahrnuje podporu pro počítadla atomů OpenGL a kombinované vzorkovače.

Konečně pokud o tom chcete vědět víc o této nové verzi můžete zkontrolovat kompletní seznam změn Na následujícím odkazu.

Jak nainstalovat vkd3d na Linux?

Pro ty, kteří mají zájem o instalaci vkd3d na svůj systém, by měli získat zdrojový kód a pokračovat v kompilaci, i když z praktických důvodů nebo pro nováčky mohou tuto knihovnu bez velké námahy vyzkoušet. K tomu musí nainstalovat pouze lutris a v rámci jeho konfigurací.

Pokud jde o zájemce o kompilaci, musí získat 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"

Nakonec musí být povoleny vrstvy vulkánu:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.