Die Wyn-projek het Vkd3d 1.2 vrygestel met Direct3D 12-implementering

Wynprojek опубликовал pakket vrystelling vkd3d 1.2 met 'n Direct3D 12-implementering wat werk deur uitsaai-oproepe na die Vulkan-grafiese API. Die pakket bevat libvkd3d-biblioteke met implementering van Direct3D 12, libvkd3d-shader met 'n vertaler van shader-modelle 4 en 5 en libvkd3d-utils met funksies om die oordrag van Direct3D 12-toepassings te vereenvoudig, sowel as 'n stel demo-voorbeelde, insluitend 'n poort van glxgears na Direct3D 12. Projekkode versprei deur gelisensieer onder LGPLv2.1.

libvkd3d biblioteek ondersteun Meeste van die kenmerke van Direct3D 12, insluitend grafika en rekenaarfasiliteite, rye en opdraglyste, handvatsels en hoophandvatsels, wortelhandtekeninge, buite-orde toegang, monsternemers, opdraghandtekeninge, wortelkonstantes, indirekte weergawe, Clear*() metodes en Kopieer*().

In libvkd3d-shader word die vertaling van greepkode van shader-modelle 4 en 5 in 'n intermediêre SPIR-V-voorstelling geïmplementeer. Vertex-, pixel-, tessellasie-, berekenings- en eenvoudige meetkunde-skakerings, wortelhandtekening-serialisering en deserialisering word ondersteun. Shader-instruksies sluit in rekenkundige, atoom- en bisbewerkings, vergelykings- en datavloeibeheeroperateurs, monster-, versamel- en laai-instruksies, ongeordende toegangsbewerkings (UAV, Unordered Access View).

Onder die belangrikste innovasies in Vkd3d 1.2 word die volgende uitgelig:

  • Die libvkd3d-shader-biblioteek is gereed vir gebruik in derdeparty-projekte.
  • Tessellation shader ondersteuning.
  • Ondersteuning vir omskakeling, serialisering en deserialisering van wortelhandtekeninge (vkd3d_serialize_versioned_root_signature() en vkd3d_create_versioned_root_signature_deserializer()).
  • Ondersteuning vir stroomuitset.
  • Implementering van baie voorheen onbeskikbare Direct3D 12-kenmerke, insluitend ondersteuning vir multisteekproefneming, hulpbronreservering,
    indirekte geïndekseerde weergawe, diepte-weergawe sonder pixel shaders, gelyktydige toegang tot hulpbronne vanaf verskillende opdragrye, Nul-aansigte.

  • Bygevoeg omgewing veranderlikes: VKD3D_CONFIG om opsies te stel om libvkd3d gedrag te verander en VKD3D_VULKAN_DEVICE om die toestel vir die Vulkan API te ignoreer.
  • Bygevoeg ondersteuning vir buffinfo shader instruksies,
    eval_sentroid,
    eval_sample_index,
    ld2ms,
    monster_b,
    monster_d,
    voorbeeld_inligting,
    monsterpos.

Bron: opennet.ru

Voeg 'n opmerking