ĂshtĂ« botuar njĂ« version eksperimental i implementimit tĂ« hapur tĂ« Win32 API â Wine 11.10. QĂ« nga versioni 11.9 janĂ« mbyllur 17 raportet pĂ«r gabime 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 dummy 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 e 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 mbështetje për nivelet e detajeve dhe gjenerimin e niveleve MIP (MipMap).
- Në DLL win32u janë realizuar funksionet NtUserGetMessagePos() dhe NtUserSetMessageExtraInfo().
- Janë mbyllur raportet për gabime që lidhen me funksionimin e aplikacioneve: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
TrackChecker. - Raportet për probleme të mbyllura që lidhen me lojërat: 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, që funksionon përmes transmetimit të thirrjeve në API-në grafike Vulkan. Paketa përfshin bibliotekat libvkd3d me implementimin e Direct3D 12, libvkd3d-shader me përkthyesin e modeleve të shenjuesve dhe libvkd3d-utils me funksione për lehtësimin e portimit të aplikacioneve Direct3D 12, si dhe një grup shembujsh demonstrues, duke përfshirë portin glxgears në Direct3D 12. Kodi i projektit shpërndahet 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ën dhe llogaritjet, radhët dhe listat e komandave, deskriptorët dhe deskriptorët e kupës, nënshkrimet rrënjësore, aksesin e paorganizuar, Sampler-at, nënshkrimet e komandave, konstantet rrënjësore, vizatimin indirekt, metodet Clear*() dhe Copy*(). Në libvkd3d-shader është realizuar translacioni i kodit bajt të modeleve të shenjuesve në përfaqësimin e ndërmjetëm SPIR-V. Përkrahen shenjuesit e nyjave, pikselit, tessellation, llogaritës dhe geometrikët e thjeshtë, si dhe serializimi dhe deserializimi i nënshkrimit rrënjësor. Nga instrukcionet e shenjuesve janë realizuar operacione aritmetike, atomike dhe bitore, operatorët e krahasimit dhe të kontrollit të fluksit të transmetimit të të dhënave, instrukcionet sample, gather dhe load, si dhe operacionet e aksesit të paorganizuar (UAV, Unordered Access View).
NĂ« versionin e ri vkd3d:
- Në implementimin e gjuhës së shenjave HLSL është shtuar mbështetje fillestare për ciklet për 2-3 modele shenjash, është mundësuar të shkruhet në memorien e ndarë të strukturave të grupit të rrjedhave, janë realizuar funksionet e integruara tex3Dbias(), tex3Dlod() dhe texCUBElod(), dhe është siguruar mbështetje për semantikën SV_ClipDistance, SV_CullDistance dhe SV_StencilRef për përpunimin e hyrjeve dhe daljeve nga shenjat.
- Në kompilatorin e shenjave HLSL është realizuar heqja automatike e llogaritjeve të dyfishta, është siguruar llogaritja në fazën e kompilaimit të shprehjeve nga lloji x % y me vlera të njohura paraprakisht, është përmirësuar shpërndarja e regjistrave të përkohshëm. Sipas kërkesave të specifikacionit HLSL, është zgjeruar zona e dukshmërisë së variablave në ciklet "for" (variabla mbetet e aksesueshme edhe pas përfundimit të ciklit). Gjatë analizimit të numrave me pika dhë është ndaluar mbajtja parasysh e vendndodhjes (si ndarës, tani gjithmonë përdoret pika).
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r formatin e vjetĂ«r binar tĂ« shenjave Direct3D. JanĂ« realizuar instrukcionet m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth,
texreg2ar, texreg2gb, texreg2rgb. Shtesa e mbështetjes për modifikuesit «_dz», «_db», «_dw» dhe «_da», të cilët mund të përdoren me komandat texcrd dhe texld. Shtesa e mbështetjes për regjistrat «vFace» dhe «vPos» për funksionimin me shenjues pixelësh. - Në DXIL (Direct3D Intermediate Language), në kod, në operacionet e ngarkimit, ruajtjes, ndryshime atomike dhe krahasimit, është implementuar mundësia e përdorimit të piktorëve për të dhëna të deklaruara më vonë.
- NĂ« assemblerin e shenjuesve Direct3D Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r konstantat e ndĂ«rtuara 16-bit, si dhe pĂ«r flamujt â64UAVsâ
âROVsâ
âUAVLoadAdditionalFormatsâ
âUAVsAtEveryStageâ
âallResourcesBoundâ
âenable11_1ShaderExtensionsâ
âint64Opsâ
ânativeLowPrecisionâ
âstencilRefâ
âviewportAndRTArrayIndexâ dhe
âwaveOpsâ. - JanĂ« realizuar opsionet pĂ«r kompaktimin e shenjuesve: 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
