Nouvelles versions de Wine 11.10 et Vkd3d 2.0

Une version expĂ©rimentale de l'implĂ©mentation open source de l'API Win32 — Wine 11.10 a Ă©tĂ© publiĂ©e. Depuis la sortie de 11.9, 17 rapports de bogues ont Ă©tĂ© fermĂ©s et 248 modifications ont Ă©tĂ© apportĂ©es.

Modifications les plus importantes :

  • Le package intĂ©grĂ© Vkd3d avec l'implĂ©mentation de Direct3D 12 a Ă©tĂ© mis Ă  jour vers la version 2.0.
  • Un support retravaillĂ© pour le langage XPath a Ă©tĂ© proposĂ©, rĂ©alisĂ© sans utiliser la bibliothĂšque libxml2.
  • La compatibilitĂ© avec VBScript a Ă©tĂ© amĂ©liorĂ©e.
  • Des stubs pour l'API ALPC (Appel de procĂ©dure locale avancĂ©) ont Ă©tĂ© ajoutĂ©s dans ntdll : NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() et NtAlpcImpersonateClientOfPort().
  • Le support Bluetooth a Ă©tĂ© amĂ©liorĂ©, des mĂ©thodes BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid et IGattDeviceService::get_AttributeHandle ont Ă©tĂ© ajoutĂ©es.
  • L'implĂ©mentation de d3dx10 et d3dx11 a Ă©tĂ© amĂ©liorĂ©e pour charger des fichiers DDS avec des tableaux de textures. La fonction D3DX10LoadTextureFromTexture() prend dĂ©sormais en charge les textures 3D, les textures avec niveaux de dĂ©tail et la gĂ©nĂ©ration de niveaux MIP (MipMap).
  • Les fonctions NtUserGetMessagePos() et NtUserSetMessageExtraInfo() ont Ă©tĂ© implĂ©mentĂ©es dans la DLL win32u.
  • Des rapports de bogues liĂ©s Ă  des applications ont Ă©tĂ© fermĂ©s : IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
    TrackChecker.
  • Des rapports de bogues liĂ©s Ă  des jeux ont Ă©tĂ© fermĂ©s : Star Wars Racer, Star Wars : Knights of the Old Republic, Age of Empires III : The Asian Dynasties.

Le projet Wine a également publié une version du package vkd3d 2.0 avec une implémentation de Direct3D 12, fonctionnant par la traduction d'appels vers l'API graphique Vulkan. Le package comprend des bibliothÚques libvkd3d avec l'implémentation de Direct3D 12, libvkd3d-shader avec le traducteur de modÚles de shaders et libvkd3d-utils avec des fonctions pour faciliter le portage d'applications Direct3D 12, ainsi qu'un ensemble d'exemples de démonstration, y compris le port glxgears vers 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 de vkd3d :

  • La prise en charge des boucles a Ă©tĂ© ajoutĂ©e Ă  l'implĂ©mentation du langage de shaders HLSL pour 2-3 modĂšles de shaders, permettant l'Ă©criture dans la mĂ©moire partagĂ©e structurĂ©e du groupe de threads, ainsi que les fonctions intĂ©grĂ©es tex3Dbias(), tex3Dlod() et texCUBElod(). La prise en charge des sĂ©mantiques SV_ClipDistance, SV_CullDistance et SV_StencilRef a Ă©tĂ© ajoutĂ©e pour le traitement des entrĂ©es et sorties des shaders.
  • Le compilateur de shaders HLSL rĂ©alise la suppression automatique des calculs dupliquĂ©s, permettant le calcul lors de la compilation d'expressions de la forme x % y avec des valeurs connues, et amĂ©liorant la rĂ©partition des registres temporaires. En conformitĂ© avec les spĂ©cifications HLSL, la portĂ©e des variables dans les boucles "for" a Ă©tĂ© Ă©largie (la variable reste accessible aprĂšs la fin de la boucle). Lors de l'analyse des nombres dĂ©cimaux, la prise en compte de la locale a Ă©tĂ© arrĂȘtĂ©e (le point est dĂ©sormais toujours utilisĂ© comme sĂ©parateur).
  • La prise en charge de l'ancien format binaire de shaders Direct3D a Ă©tĂ© amĂ©liorĂ©e. Les instructions m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth ont Ă©tĂ© implĂ©mentĂ©es.
    texreg2ar, texreg2gb, texreg2rgb. La prise en charge des modificateurs «_dz», «_db», «_dw» et «_da» a Ă©tĂ© ajoutĂ©e, qui peuvent ĂȘtre utilisĂ©s avec les instructions texcrd et texld. La prise en charge des registres «vFace» et «vPos» a Ă©tĂ© ajoutĂ©e pour travailler avec les shaders de pixel.
  • Dans DXIL (Direct3D Intermediate Language), dans le code, lors des opĂ©rations de chargement, de sauvegarde, de modification atomique et de comparaison, la possibilitĂ© d'utiliser des pointeurs sur des donnĂ©es dĂ©clarĂ©es ultĂ©rieurement a Ă©tĂ© implĂ©mentĂ©e.
  • Le shader d'assembleur Direct3D a introduit la prise en charge des constantes intĂ©grĂ©es de 16 bits, ainsi que des indicateurs ‘64UAVs’,
    ‘ROVs’,
    ‘UAVLoadAdditionalFormats’,
    ‘UAVsAtEveryStage’,
    ‘allResourcesBound’,
    ‘enable11_1ShaderExtensions’,
    ‘int64Ops’,
    ‘nativeLowPrecision’,
    ‘stencilRef’,
    ‘viewportAndRTArrayIndex’ et
    ‘waveOps’.
  • Des options de compilation de shaders ont Ă©tĂ© mises en Ɠuvre : VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 et VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

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