Projekt Wine vydal Vkd3d 1.2 s implementací Direct3D 12.

Projekt Wine vydal vydání balíčku vkd3d 1.2 s implementací Direct3D 12, která pracuje prostřednictvím překladu volání do grafického API Vulkan. Balíček obsahuje knihovny libvkd3d s implementací Direct3D 12, libvkd3d-shader s překladačem shaderů modelů 4 a 5 a libvkd3d-utils s funkcemi pro usnadnění portování aplikací Direct3D 12, stejně jako sadu demonstračních příkladů, včetně portu glxgears na Direct3D 12. Kód projektu distribuováno je licencován pod LGPLv2.1.

Knihovna libvkd3d srcset pokryje většinu funkcí Direct3D 12, včetně prostředků pro grafiku a výpočty, front a seznamů příkazů, popisovačů a hromadných popisovačů, kořenových podpisů, neřazeného přístupu, samplerů, podpisů příkazů, kořenových konstant, nepřímého vykreslování, metod Clear*() a Copy*().

V libvkd3d-shader je implementován překlad bajtkódu modelů shaderů 4 a 5 do mezilehlého formátu SPIR-V. Podporovány jsou vrcholové, pixelové, tesselační, výpočetní a jednoduché geometrické shadery, serializace a deserializace kořenového podpisu. Z shaderových instrukcí jsou implementovány aritmetické, atomární a bitové operace, operátory porovnání a řízení toku dat, instrukce sample, gather a load, operace neřazeného přístupu (UAV, Unordered Access View).

Mezi nejvýznamnější novinky v Vkd3d 1.2 patří:

  • Připravenost knihovny libvkd3d-shader pro použití ve třetích projektech.
  • Podpora tesselačních shaderů.
  • Podpora překladu, serializace a deserializace kořenových podpisů (vkd3d_serialize_versioned_root_signature() a vkd3d_create_versioned_root_signature_deserializer()).
  • Podpora streamování.
  • Implementace mnoha dříve nedostupných funkcí Direct3D 12, včetně podpory multisampling, rezervace prostředků,
    nepřímého indexovaného vykreslování, vykreslování hloubky bez pixelových shaderů, souběžného přístupu k prostředkům z různých příkazových front, nulových pohledů (Null-views).
  • Byly přidány proměnné prostředí: VKD3D_CONFIG pro nastavení možností pro změnu chování libvkd3d a VKD3D_VULKAN_DEVICE pro přep override zařízení pro API Vulkan.
  • Byla přidána podpora shaderových instrukcí bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster