La nouvelle version de vkd3d 1.3 est déjà sortie

Après un an et demi de développement, ete projet Wine a annoncé le lancement de la nouvelle version du package «vkd3d 1.3″ avec une implémentation Direct3D 12 qui fonctionne grâce à la traduction des appels vers l'API graphique Vulkan.

Cette version contient diverses améliorations et dont dans cette nouvelle version les points forts sont les prise en charge de la construction HLS initialeL, ainsi que le Prise en charge du tableau de descripteurs Shader Model 5.1, prise en charge du démontage des shaders Direct3D, etc.

Pour ceux qui ne connaissent pas le colis, ils doivent savoir que inclut les bibliothèques libvkd3d avec les implémentations Direct3D 12, libvkd3d-shader avec le traducteur de shader modèle 4 et 5 et libvkd3d-utils avec des fonctions pour simplifier la migration des applications Direct3D 12, ainsi qu'un ensemble de démos, y compris le port glxgears vers Direct3D 12. Le code du projet est distribué sous licence LGPLv2.1.

La bibliothèque libvkd3d prend en charge la plupart des fonctionnalités de Direct3D 12, y compris les fonctions de graphe et de calcul, les listes de commandes et les files d'attente, les descripteurs et les descripteurs de tas, les signatures racine, l'accès non ordonné, les échantillonneurs, les signatures de commande, les constantes racine, la représentation proxy, etc.

libvkd3d-shader implémente la traduction de l'octet code 4 et 5 des modèles d'ombrage dans la représentation intermédiaire SPIR-V. Les sommets, les pixels, la tessellation, les shaders de géométrie computationnelle et simple, la sérialisation de la signature racine et la désérialisation sont pris en charge.

Les instructions de shader incluent des opérations arithmétiques, atomiques et bit à bit, Opérateurs de contrôle et de comparaison de flux de données, instructions d'échantillonnage, de collecte et de chargement, opérations d'accès non ordonnées (UAV, vue d'accès non ordonné).

Au stade actuel de développement, tous les appels à Direct3D 12 ne sont pas implémentés et les tests ont été effectués principalement sur un ensemble d'applications de démonstration.

Principales nouveautés de Vkd3d 1.3

Dans cette nouvelle version de vkd3d 1.3 qui est présentée, il est mis en évidence que ajout du support initial pour la compilation et le pré-rendu des shaders dans HLSL (langage de shader de haut niveau), fourni depuis DirectX 9.0.

Un autre des changements qui se démarque dans cette nouvelle version est le prise en charge des opérations en virgule flottante à double précision dans les shaders, ainsi que l'indirection pour les shaders de tessellation, l'exportation de modèles à partir des shaders, le modificateur de shader "précis" et les barrières globales pour les ressources en mémoire.

Nous pouvons également constater que le possibilité de désassembler les shaders Direct3D du code d'octets à la représentation de l'assembleur, ainsi que la prise en charge de l'analyse de l'ancien format de bytecode Direct3D utilisé dans les modèles de shader Direct3D 1, 2 et 3.

libvkd3d a ajouté des fonctionnalités Direct3D 12, tels que les signatures racine, les compteurs de recherche non ordonnés, les booléens de fusion de sortie, le mode d'adressage de texture mirror_once et la structure vkd3d_host_time_domain_info ajoutée.

Des autres changements qui se démarquent de cette nouvelle version:

  • vkd3d_shader_preprocess_info étend la structure vkd3d_shader_compile_info et peut être utilisé pour spécifier des paramètres de prétraitement tels que des définitions de macros de préprocesseur.
  • vkd3d_shader_hlsl_source_info étend la structure vkd3d_shader_compile_info et peut être utilisé pour spécifier HLSL et construire des paramètres tels que le profil cible et le point d'entrée.
  • Lier les modèles Direct3D 12 et Vulkan
  • VKD3D_SHADER_COMPILE_OPTION_API_VERSION peut être utilisé pour spécifier la version de l'API libvkd3d-shader que l'application cible. S'il n'est pas spécifié, VKD3D_SHADER_API_VERSION_1_2 sera utilisé.
  • vkd3d-compiler utilisera par défaut la sortie couleur s'il peut déterminer que le
    la sortie est un téléimprimeur couleur.
  • Ajout de la prise en charge des tableaux de descripteurs définis dans Shader Model 5.1.

Enfin si vous voulez en savoir plus à propos de cette nouvelle version, vous pouvez consulter la liste complète des changements dans le lien suivant.

Comment installer vkd3d sur Linux?

Pour ceux qui souhaitent pouvoir installer vkd3d sur leur système, ils doivent obtenir le code source et procéder à la compilation, bien que pour des raisons pratiques ou pour ces débutants, ils puissent essayer cette bibliothèque sans trop d'effort. Pour cela, il leur suffit d'installer Lutris et dans ses configurations.

Quant à ceux qui s'intéressent à la compilation, ils doivent obtenir le code avec:

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

Enfin, les couches Vulkan doivent être activées:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
VKD3D_CONFIG=vk_debug


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.