Le projet Wine a publié Vkd3d 1.17 avec l'implémentation de Direct3D 12

Le projet Wine a publié la version du paquet vkd3d 1.17 avec une implémentation de Direct3D 12, fonctionnant via la traduction des appels dans l'API graphique Vulkan. Le paquet contient des bibliothèques libvkd3d avec l'implémentation de Direct3D 12, libvkd3d-shader avec un traducteur pour les modèles de shaders 4 et 5, et libvkd3d-utils avec des fonctions pour faciliter le portage des applications Direct3D 12, ainsi qu'un ensemble d'exemples de démonstration, y compris le portage de glxgears sur Direct3D 12. Le code du projet est distribué sous la licence LGPLv2.1.

La bibliothèque libvkd3d supporte la plupart des fonctionnalités de Direct3D 12, y compris les outils pour les graphismes et le calcul, les files d'attente et les listes de commandes, les descripteurs et les descripteurs de tas, les signatures racines, l'accès désordonné, les Sampler, les signatures de commandes, les constantes racines, le rendu indirect, les méthodes Clear*() et Copy*(). Dans libvkd3d-shader, la translation du bytecode des modèles de shaders en représentation intermédiaire SPIR-V est réalisée. Les shaders de sommet, de pixel, de tessellation, de calcul et de géométrie simple sont supportés, ainsi que la sérialisation et la désérialisation des signatures racines. Parmi les instructions de shader, des opérations arithmétiques, atomiques et bit à bit, des opérateurs de comparaison et de contrôle de flux, des instructions sample, gather et load, ainsi que des opérations d'accès désordonné (UAV, Unordered Access View) ont été implémentées.

Dans la nouvelle version :

  • L'implémentation du langage de shaders HLSL a ajouté un support initial de la mémoire partagée des groupes de threads, a élargi le support des shaders géométriques et a ajouté un analyseur pour les ressources StructuredBuffer.
  • Le développement de l'implémentation du langage de shaders MSL (Metal Shading Language), utilisé par Apple dans l'API graphique Metal, se poursuit. Par exemple, MSL a ajouté le support des boucles, de l'adressage indirect des tampons constants, de l'échantillonnage de textures et de diverses opérations d'arithmétique et de comparaison sur des entiers.
  • Dans la bibliothèque libvkd3d, la méthode EnumerateMetaCommands() a été ajoutée à l'implémentation de l'interface ID3D12Device5.
  • Un nouveau type de shaders « tx » (VKD3D_SHADER_SOURCE_TX) a été ajouté, utilisé pour le chargement des shaders de traitement de textures.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster