Versionet e reja të Wine 11.10 dhe Vkd3d 2.0

U publikua një version eksperimental i implementimit të hapur të Win32 API — Wine 11.10. Që nga lëshimi i 11.9, janë ndalur 17 raportime të defekteve dhe janë bërë 248 ndryshime.

Ndryshimet më të rëndësishme:

  • Paketa e integruar Vkd3d me implementimin e Direct3D 12 është azhurnuar në versionin 2.0.
  • është propozuar një mbështetje e rishikuar për gjuhën XPath, e realizuar pa përdorimin e bibliotekës libxml2.
  • Është përmirësuar compatibiliteti me VBScript.
  • Në ntdll janë shtuar zëvendësime për API ALPC (Advanced Local Procedure Call): NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() dhe NtAlpcImpersonateClientOfPort().
  • është përmirësuar mbështetja për Bluetooth, janë shtuar metodat BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid dhe IGattDeviceService::get_AttributeHandle.
  • Në implementimin d3dx10 dhe d3dx11 është shtuar mundësia për të ngarkuar skedarë DDS me grupe teksturash. Në funksionin D3DX10LoadTextureFromTexture() është shtuar mbështetje për teksturat 3D, teksturat me nivele detajesh dhe gjenerimin e niveleve MIP (MipMap).
  • Në DLL win32u janë implementuar funksionet NtUserGetMessagePos() dhe NtUserSetMessageExtraInfo().
  • Janë mbyllur raportet e defekteve të lidhura me funksionimin e aplikacioneve: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
    TrackChecker.
  • Janë mbyllur raportet e defekteve të lidhura me funksionimin e lojrave: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties.

Projekti Wine gjithashtu publikoi versionin e paketës vkd3d 2.0 me implementimin e Direct3D 12, i cili punon përmes transmetimit të thirrjeve në API-në grafike Vulkan. Paketimi përfshin biblioteka libvkd3d me implementimin e Direct3D 12, libvkd3d-shader me përkthyesin e modeleve të shenjuesve dhe libvkd3d-utils me funksione për të thjeshtuar portimin e aplikacioneve Direct3D 12, si dhe një grup shembujsh demonstrues, duke përfshirë portimin e glxgears në Direct3D 12. Kodi i projektit distribuohet nën licencën LGPLv2.1.

Biblioteka libvkd3d mbështet shumicën e mundësive të Direct3D 12, duke përfshirë mjete për grafikë dhe llogaritje, radhë dhe lista komanduese, deskriptorë dhe deskriptorë kupë, nënshkrime rrënjësore, qasje të pa renditur, Sampler, nënshkrime komandash, konstanta rrënjësore, përshkrimin e të pavendosur (indirect) dhe metodet Clear*() dhe Copy*(). Në libvkd3d-shader është realizuar translacioni i kodit të bajtëve të modeleve të shenjuesve në përfaqësimin e ndërmjetëm SPIR-V. Mbështeten shenjues të majtë, piksel, tessellim, llogaritje dhe shenjues të thjeshtë gjeometrik, serializimi dhe deserializimi i nënshkrimeve rrënjësore. Nga instruksionet e shenjuesve janë realizuar operacione aritmetike, atomike dhe bitore, operatorë krahasimi dhe kontrolli të rrjedhës së të dhënave, instruksionet sample, gather dhe load, operacione qasjeje të pa renditur (UAV, Unordered Access View).

Në versionin e ri të vkd3d:

  • Në realizimin e gjuhës së shenjuesve HLSL është shtuar mbështetje fillestare për ciklet për 2-3 modele shenjuesish, është mundësuar shkruajtja në memorien e ndarë strukturale të grupeve të rrjedhave, janë realizuar funksionet e integruara tex3Dbias(), tex3Dlod() dhe texCUBElod(), është siguruar mbështetje për semantikët SV_ClipDistance, SV_CullDistance dhe SV_StencilRef për përpunimin e hyrjes dhe daljes nga shenjuesit.
  • Në kompilatorin e shenjuesve HLSL është realizuar heqja automatikisht e llogaritjeve të dyfishta, është siguruar llogaritja në fazën e kompilimit të shprehjeve të llojit x % y me vlera të njohura përpara, është përmirësuar shpërndarja e regjistrave temporal. Në përputhje me kërkesat e specifikimit HLSL është zgjeruar zona e dukshmërisë së variablave në ciklet 'for' (variabla mbetet e aksesueshme edhe pas përfundimit të ciklit). Gjatë përpunimit të numrave të thyeshëm është ndalur llogaritja e lokalitetit (si ndarës tani gjithmonë përdoret pika).
  • Është përmirësuar mbështetja për formatin e vjetër binar të shenjuesve Direct3D. Janë realizuar instruksionet m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth,
    texreg2ar, texreg2gb, texreg2rgb. Është shtuar mbështetje për modifikatorët '_dz', '_db', '_dw' dhe '_da', të cilët mund të përdoren me instruksionet texcrd dhe texld. Është shtuar mbështetje për regjistrat 'vFace' dhe 'vPos' për të punuar me shenjues piksel.
  • Në DXIL (Gjuha Ndërmjetëse Direct3D) në kodin, në operacionet e ngarkimit, ruajtjes, ndryshimit atomik dhe krahasimit është realizuar mundësia e përdorimit të treguesve në të dhëna, të shpallura më vonë.
  • Në asamblerin e shaderëve Direct3D u shtua mbështetje për konstantet e ndërtuara 16-b prejardhje, si dhe për flagjet ‘64UAVs’,
    ‘ROVs’,
    ‘UAVLoadAdditionalFormats’,
    ‘UAVsAtEveryStage’,
    ‘allResourcesBound’,
    ‘enable11_1ShaderExtensions’,
    ‘int64Ops’,
    ‘nativeLowPrecision’,
    ‘stencilRef’,
    ‘viewportAndRTArrayIndex’ dhe
    ‘waveOps’.
  • Janë realizuar opsione të kompilimit të shaderëve: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 dhe VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster