vkd3d 1.2 wordt geleverd met compatibiliteitsverbeteringen, arcering en meer

El proyecto Wine heeft een nieuwe versie van het vkd3d 1.2-pakket uitgebracht met een Direct3D 12-implementatie die werkt door de aanroepen naar de Vulkan grafische API te vertalen.

Deze nieuwe versie van vkd3d 1.2 bevat verschillende verbeteringen, maar van de belangrijkste die opvallen zijn de beschikbaarheid van libvkd3d-shader als een openbare bibliotheek, shader-ondersteuning mozaïekpatroon, evenals de ondersteuning van de stroomuitvoer.

Het pakketen bevat libvkd3d-bibliotheken met Direct3D 12-implementaties, libvkd3d-shader met model 4 en 5 shader-vertaler en libvkd3d-utils met functies om de migratie van Direct3D 12-applicaties te vereenvoudigen, evenals een set demo's, inclusief de glxgears-poort naar Direct3D 12. De projectcode wordt gedistribueerd onder LGPLv2.1.

De bibliotheek libvkd3d ondersteunt de meeste Direct3D 12-functies, inclusief grafische en rekenfuncties, commandolijsten en wachtrijen, heap descriptors en descriptors, root signatures, ongeordende toegang, samplers, command signatures, root constants, indirecte representatie, enzovoort.

libvkd3d-shader implementeert de vertaling van bytecode 4 en 5 van de schaduwpatronen in de SPIR-V tussenweergave. Hoekpunten, pixels, mozaïekpatroon, computationele en eenvoudige geometrie-shaders, serialisatie van roothandtekeningen en deserialisatie worden ondersteund.

De arceringinstructies bevatten rekenkundige, atomaire en bitsgewijze bewerkingen, dataflowcontrole en vergelijkingsoperatoren, bemonstering, verzamelen en laden van instructies, ongeordende toegangsoperaties (UAV, ongeordende toegangsweergave).

In de huidige ontwikkelingsfase worden niet alle oproepen naar Direct3D 12 geïmplementeerd en de tests werden voornamelijk uitgevoerd op een set demo-applicaties. De release bevat geen functies die in ontwikkeling zijn, zoals ondersteuning voor complexe geometrie-shaders en tessellatie, evenals een aantal verbeteringen met betrekking tot de basismethoden en shaders van Direct3D 12. Deze functies zullen in een toekomstige release worden aangeboden.

Belangrijkste nieuwe kenmerken van Vkd3d 1.2

Van de belangrijkste wijzigingen die in de nieuwe versie worden gepresenteerd, is de libvkd3d-shader bibliotheek beschikbaarheid voor gebruik in projecten van derden, sinds Er zijn verschillende Direct3D 12-functies toegevoegd, zoals:

  • Meerdere bemonstering.
  • Gereserveerde middelen.
  • Doorgiftesnelheden voor instantiegegevens.
  • "Private data" API voor alle interfaces.
  • Toewijzingen van componenten voor Shader-resourceweergave.
  • VK_KHR_draw_indirect_count extensie.
  • Predikaat / voorwaardelijke vertegenwoordiging.
  • Diepteweergave zonder pixel-arcering.
  • Diepte uitsparing. Dit vereist de VK_EXT_depth_clip_enable extensie.
  • Gooi de rasterizer weg.
  • Dual source mixen.
  • In kaart brengen van geplaatste bronnen.
  • De ReadFromSubresource () en WriteToSubresource () ID3D12Resource-methoden.
  • Gelijktijdige toegang tot bronnen met meerdere wachtrijen.
  • Null-weergaven. Dat zijn weergaven zonder een onderliggende bron.
  • Nog enkele vragen over functieondersteuning.

Daarnaast Extra ondersteuning voor het converteren, serialiseren en deserialiseren van handtekeningen wordt ook benadrukt root (vkd3d_serialize_versioned_root_signature () en vkd3d_create_versioned_root_signature_deserializer (), evenals ondersteuning voor streaming output.

Een andere opvallende verandering is de implementatie omgevingsvariabele: VKD3D_CONFIG om opties in te stellen om het gedrag van libvkd3d te veranderen en VKD3D_VULKAN_DEVICE om het apparaat voor de Vulkan API te overschrijven.

Daarnaast ondersteuning toegevoegd voor schaduwinstructies bufinfo, eval_centroid, eval_sample_index, ld2ms, sample_b, sample_d, sample_info, samplepos en voorlopige ondersteuning voor model 5.1 shaders.

En ook ondersteuning voor OpenGL SPIR-V-doelomgevingen. Hierdoor kan SPIR-V geproduceerd door libvkd3d-shader worden gebruikt met GL_ARB_gl_spirv. Dit omvat ondersteuning voor OpenGL-atoomtellers en gecombineerde samplers.

Eindelijk als je er meer over wilt weten over deze nieuwe versie kunt u de volledige lijst met wijzigingen bekijken In de volgende link.

Hoe vkd3d op Linux te installeren?

Voor degenen die geïnteresseerd zijn in het kunnen installeren van vkd3d op hun systeem, moeten ze de broncode verkrijgen en doorgaan met de compilatie, hoewel ze voor praktische doeleinden of voor die nieuwelingen deze bibliotheek zonder veel moeite kunnen proberen. Hiervoor hoeven ze alleen lutris en binnen zijn configuraties te installeren.

Wie geïnteresseerd is in compilatie, moet de code verkrijgen met:

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

Ten slotte moeten de Vulkan-lagen worden ingeschakeld:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.