Új verziók: Wine 11.10 és Vkd3d 2.0

Kiadásra került a Win32 API nyílt megvalósításának kísérleti verziója — Wine 11.10. A 11.9-es kiadás óta 17 hibajelentést zártak le, és 248 módosítást hajtottak végre.

A legfontosabb változások:

  • A beépített Vkd3d csomag, amely a Direct3D 12 megvalósítását tartalmazza, frissült a 2.0-ás verzióra.
  • Javasolták az XPath nyelv újratervezett támogatását, amely libxml2 könyvtár használata nélkül valósult meg.
  • Javítva a VBScript-tel való kompatibilitás.
  • Az ntdll-be új API ALPC (Advanced Local Procedure Call) funkciók kerültek: NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() és NtAlpcImpersonateClientOfPort().
  • Javították a Bluetooth támogatását, új módszereket adtak hozzá: BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid és IGattDeviceService::get_AttributeHandle.
  • A d3dx10 és d3dx11 megvalósítása lehetővé tette a DDS fájlok betöltését textúra tömbökkel. A D3DX10LoadTextureFromTexture() funkcióban támogatják a 3D-s textúrákat, a részletességi szintekkel rendelkező textúrákat és a MIP-szintek (MipMap) generálását.
  • A win32u DLL-ben implementálták az NtUserGetMessagePos() és NtUserSetMessageExtraInfo() funkciókat.
  • Lezárták a hibajelentéseket, amelyek a következő alkalmazások működésével kapcsolatosak: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3.
    TrackChecker.
  • Lezárták a hibajelentéseket, amelyek a következő játékok működésével kapcsolatosak: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties.

A Wine projekt szintén kiadta a vkd3d 2.0 csomagot a Direct3D 12 megvalósításával, amely a hívások átirányításával működik a Vulkan grafikus API-n keresztül. A csomag tartalmazza a libvkd3d könyvtárakat a Direct3D 12 megvalósításával, libvkd3d-shader-t a shadermodellek fordítójával, és libvkd3d-utils-t a Direct3D 12 alkalmazások portolásának megkönnyítésére, valamint egy sor bemutató példát, beleértve a glxgears portját a Direct3D 12-re. A projekt kódja az LGPLv2.1 licenc alatt érhető el.

A libvkd3d könyvtár a Direct3D 12 legtöbb funkcióját támogatja, beleértve a grafikai és számítási eszközöket, a parancslapokat és parancssorokat, a leírókat és a leíró tömböket, a gyökér aláírásokat, a rendezett hozzáférést, a Sampler-eket, a parancsok aláírásait, a gyökér konstansokat, az indirekt rajzolást, valamint a Clear*() és Copy*() metódusokat. A libvkd3d-shader könyvtárban a shader modellek bájt-kódjának átírása valósult meg SPIR-V köztes formába. Támogatottak a vertex, pixel, tessellációs, számítási és egyszerű geometriai shaderek, a gyökér aláírás szérializációja és deszérializációja. Az árnyékolási utasítások közül megvalósultak a matematikai, atomikus és bit műveletek, az összehasonlító operátorok és az adatáramlás vezérlő utasítások, a sample, gather és load utasítások, az Unordered Access View (UAV) műveletek.

Az új vkd3d verzióban:

  • A HLSL shader nyelv megvalósításába kezdeti ciklus-támogatást vezettek be 2-3 shader modellhez, lehetőséget biztosítva a strukturált megosztott memória írására a szálcsoportok számára, implementálták a beépített tex3Dbias(), tex3Dlod() és texCUBElod() funkciókat, valamint támogatják az SV_ClipDistance, SV_CullDistance és SV_StencilRef szemantikákat a shaderek bemeneti és kimeneti feldolgozásához.
  • A HLSL shadert fordítóban automatikus duplikált számítások eltávolítása valósult meg, előre ismert értékek esetén megoldva az x % y kifejezések fordítását a fordítási fázisban, valamint javult a temporális regiszterek elosztása. Az HLSL specifikáció követelményeinek megfelelően kibővült a változók láthatósága a 'for' ciklusokban (a változó a ciklus befejezése után is elérhető marad). A tizedes számok elemzésekor megszűnt a lokalizáció figyelembevétele (a szeparátor mostantól mindig pont).
  • Javult a régi Direct3D shaderek bináris formátumának támogatása. Megvalósultak az m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth utasítások.
    texreg2ar, texreg2gb, texreg2rgb. Hozzáadták a 'dz', 'db', 'dw' és 'da' módosítók támogatását, amelyeket a texcrd és texld utasításokkal lehet használni. Hozzáadták a 'vFace' és 'vPos' regiszterek támogatását a pixel shaderekkel való munkához.
  • A DXIL-ben (Direct3D Intermediate Language) a kódban, a betöltési, mentési, atomikus változtatási és összehasonlítási műveletekben megvalósították az adatokra mutató mutatók használatának lehetőségét, amelyek később lettek deklarálva.
  • A Direct3D shaderek assembly-jéhez hozzáadták a 16-bites beépített konstansok támogatását, valamint az '64UAVs',
    'ROVs',
    'UAVLoadAdditionalFormats',
    'UAVsAtEveryStage',
    'allResourcesBound',
    'enable11_1ShaderExtensions',
    'int64Ops',
    'nativeLowPrecision',
    'stencilRef',
    'viewportAndRTArrayIndex' és
    'waveOps'.
  • A shaderek fordításának opciói: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 és VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster