De nieuwe versie van vkd3d 1.3 is al uitgebracht

Na anderhalf jaar van ontwikkeling, ene Wine-project kondigde de lancering aan van de nieuwe versie van het pakket «vkd3d 1.3″ met een Direct3D 12-implementatie die werkt door de vertaling van oproepen naar de Vulkan grafische API.

Deze versie bevat diverse verbeteringen en waarvan in deze nieuwe versie de highlights de initiële ondersteuning voor HLS-buildL, evenals de Ondersteuning voor Shader Model 5.1 descriptorarray, ondersteuning voor het ontkoppelen van Direct3D shaders en meer.

Voor degenen die niet op de hoogte zijn van het pakket, moeten ze weten dat: 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 grafiek- en rekenfuncties, commandolijsten en wachtrijen, descriptors en heapdescriptors, roothandtekeningen, ongeordende toegang, samplers, commandohandtekeningen, rootconstanten, proxyrepresentatie, enz.

libvkd3d-shader implementeert de vertaling van bytecode 4 en 5 van de schaduwmodellen in de SPIR-V tussenweergave. Vertices, pixels, mozaïekpatroon, computationele en eenvoudige geometrie shaders, root handtekening serialisatie 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 reeks demo-applicaties.

Belangrijkste nieuwe kenmerken van Vkd3d 1.3

In deze nieuwe versie van vkd3d 1.3 die wordt gepresenteerd, wordt benadrukt dat: initiële ondersteuning toegevoegd voor het compileren en pre-rendering van shaders in HLSL (shadertaal op hoog niveau), die wordt aangeboden sinds DirectX 9.0.

Een andere van de veranderingen die opvalt in deze nieuwe versie is de ondersteuning voor drijvende-kommabewerkingen met dubbele precisie in shaders, evenals indirectie voor tessellation shaders, sjabloonexport van shaders, de "precieze" shader-modifier en globale barrières voor in-memory resources.

We kunnen ook vinden dat de mogelijkheid om Direct3D shaders uit code te demonteren van bytes naar de assembler-representatie, evenals toegevoegde ondersteuning voor het ontleden van het oude Direct3D bytecode-formaat dat wordt gebruikt in Direct3D 1, 2 en 3 shader-modellen.

libvkd3d heeft Direct3D 12-functies toegevoegd, zoals roothandtekeningen, ongeordende opzoektellers, output merge booleans, mirror_once textuuradresseringsmodus en toegevoegde vkd3d_host_time_domain_info-structuur.

Van de andere veranderingen die zich onderscheiden van deze nieuwe versie:

  • vkd3d_shader_preprocess_info breidt de vkd3d_shader_compile_info-structuur uit en kan worden gebruikt om preprocessing-parameters op te geven, zoals preprocessor-macrodefinities.
  • vkd3d_shader_hlsl_source_info breidt de vkd3d_shader_compile_info-structuur uit en kan worden gebruikt om HLSL te specificeren en parameters te bouwen zoals doelprofiel en ingangspunt.
  • Link Direct3D 12- en Vulkan-modellen
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION kan worden gebruikt om de libvkd3d-shader API-versie te specificeren waarop de toepassing zich richt. Indien niet gespecificeerd, wordt VKD3D_SHADER_API_VERSION_1_2 gebruikt.
  • vkd3d-compiler zal standaard kleurenuitvoer gebruiken als het kan bepalen dat de
    de uitvoer is een teleprinter met kleurenfunctionaliteit.
  • Ondersteuning toegevoegd voor descriptor-arrays gedefinieerd in Shader Model 5.1.

Eindelijk als je er meer over wilt weten over deze nieuwe versie kunt u de volledige lijst met wijzigingen raadplegen 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.