Wine 11.10 เปเบฅเบฐ Vkd3d 2.0 เบฅเบธเป‰เบ™เปƒเปเปˆ

เบเบฒเบ™เบ›เปˆเบญเบเบ—เบปเบ”เบฅเบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ‚เบญเบ‡ Win32 API, Wine 11.10, เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ. เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบญเบ 11.9, 17 เบฅเบฒเบเบ‡เบฒเบ™ bug เป„เบ”เป‰เบ–เบทเบเบ›เบดเบ”เปเบฅเบฐ 248 เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”:

  • เปเบžเบฑเบเป€เบเบฑเบ” Vkd3d เบ—เบตเปˆเบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” Direct3D 12 เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบฑเบ™เป€เบงเบตเบŠเบฑเบ™ 2.0.
  • ะŸั€ะตะดะปะพะถะตะฝะฐ ะฟะตั€ะตั€ะฐะฑะพั‚ะฐะฝะฝะฐั ะฟะพะดะดะตั€ะถะบะฐ ัะทั‹ะบะฐ XPath, ั€ะตะฐะปะธะทะพะฒะฐะฝะฝะฐั ะฑะตะท ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ะฑะธะฑะปะธะพั‚ะตะบะธ libxml2.
  • เบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบš VBScript.
  • ะ’ ntdll ะดะพะฑะฐะฒะปะตะฝั‹ ะทะฐะณะปัƒัˆะบะธ ะดะปั API ALPC (Advanced Local Procedure Call): NtAlpcCreatePort(), NtAlpcConnectPort(), NtAlpcAcceptConnectPort(), NtAlpcSendWaitReceivePort(), NtAlpcDisconnectPort() ะธ NtAlpcImpersonateClientOfPort().
  • ะฃะปัƒั‡ัˆะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ Bluetooth, ะดะพะฑะฐะฒะปะตะฝั‹ ะผะตั‚ะพะดั‹ BluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice::get_DeviceId, IBluetoothLEDevice::get_GattServices, IGattDeviceService::get_Uuid ะธ IGattDeviceService::get_AttributeHandle.
  • ะ’ ั€ะตะฐะปะธะทะฐั†ะธะธ d3dx10 ะธ d3dx11 ะดะพะฑะฐะฒะปะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะทะฐะณั€ัƒะทะบะธ DDS-ั„ะฐะนะปะพะฒ ั ะผะฐััะธะฒะฐะผะธ ั‚ะตะบัั‚ัƒั€. ะ’ ั„ัƒะฝะบั†ะธัŽ D3DX10LoadTextureFromTexture() ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ 3D-ั‚ะตะบัั‚ัƒั€, ั‚ะตะบัั‚ัƒั€ ั ะฟะพะดะดะตั€ะถะบะพะน ัƒั€ะพะฒะฝะตะน ะดะตั‚ะฐะปะธะทะฐั†ะธะธ ะธ ะณะตะฝะตั€ะฐั†ะธะธ MIP-ัƒั€ะพะฒะฝะตะน (MipMap).
  • ะ’ DLL win32u ั€ะตะฐะปะธะทะพะฒะฐะฝั‹ ั„ัƒะฝะบั†ะธะธ NtUserGetMessagePos() ะธ NtUserSetMessageExtraInfo().
  • ะ—ะฐะบั€ั‹ั‚ั‹ ะพั‚ั‡ั‘ั‚ั‹ ะพะฑ ะพัˆะธะฑะบะฐั…, ัะฒัะทะฐะฝะฝั‹ะต ั ั€ะฐะฑะพั‚ะพะน ะฟั€ะธะปะพะถะตะฝะธะน: IrfanView, Kodak EasyShare, Git for Windows, Family Tree Maker 2017, Foxit PhantomPDF Business 10.0, Vocaloid 6, Photolemur 3,
    TrackChecker.
  • ะ—ะฐะบั€ั‹ั‚ั‹ ะพั‚ั‡ั‘ั‚ั‹ ะพะฑ ะพัˆะธะฑะบะฐั…, ัะฒัะทะฐะฝะฝั‹ะต ั ั€ะฐะฑะพั‚ะพะน ะธะณั€: Star Wars Racer, Star Wars: Knights of the Old Republic, Age of Empires III: The Asian Dynasties.

ะŸั€ะพะตะบั‚ Wine ั‚ะฐะบะถะต ะพะฟัƒะฑะปะธะบะพะฒะฐะป ะฒั‹ะฟัƒัะบ ะฟะฐะบะตั‚ะฐ vkd3d 2.0 ั ั€ะตะฐะปะธะทะฐั†ะธะตะน Direct3D 12, ั€ะฐะฑะพั‚ะฐัŽั‰ะตะน ั‡ะตั€ะตะท ั‚ั€ะฐะฝัะปัั†ะธัŽ ะฒั‹ะทะพะฒะพะฒ ะฒ ะณั€ะฐั„ะธั‡ะตัะบะธะน API Vulkan. ะ’ ัะพัั‚ะฐะฒ ะฟะฐะบะตั‚ะฐ ะฒั…ะพะดัั‚ ะฑะธะฑะปะธะพั‚ะตะบะธ libvkd3d ั ั€ะตะฐะปะธะทะฐั†ะธะน Direct3D 12, libvkd3d-shader c ั‚ั€ะฐะฝัะปัั‚ะพั€ะพะผ ะผะพะดะตะปะตะน ัˆะตะนะดะตั€ะพะฒ ะธ libvkd3d-utils ั ั„ัƒะฝะบั†ะธัะผะธ ะดะปั ัƒะฟั€ะพั‰ะตะฝะธั ะฟะพั€ั‚ะธั€ะพะฒะฐะฝะธั ะฟั€ะธะปะพะถะตะฝะธะน Direct3D 12, ะฐ ั‚ะฐะบะถะต ะฝะฐะฑะพั€ ะดะตะผะพะฝัั‚ั€ะฐั†ะธะพะฝะฝั‹ั… ะฟั€ะธะผะตั€ะพะฒ, ะฒะบะปัŽั‡ะฐั ะฟะพั€ั‚ glxgears ะฝะฐ Direct3D 12. ะšะพะด ะฟั€ะพะตะบั‚ะฐ ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝัะตั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธะตะน LGPLv2.1.

เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ” libvkd3d เบฎเบญเบ‡เบฎเบฑเบšเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡ Direct3D 12 เบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบฅเบงเบกเบ—เบฑเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบŸเบดเบ เปเบฅเบฐเบ„เบญเบกเบžเบดเบงเป€เบ•เบต, เบ„เบดเบงเบ„เบณเบชเบฑเปˆเบ‡ เปเบฅเบฐเบฅเบฒเบเบเบฒเบ™, เบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบ เปเบฅเบฐเบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบ heap, เบฅเบฒเบเป€เบŠเบฑเบ™เบ‚เบญเบ‡เบฎเบฒเบ, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบšเบšเบšเปเปˆเบกเบตเบฅเบณเบ”เบฑเบš, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบฅเบฒเบเป€เบŠเบฑเบ™เบ„เบณเบชเบฑเปˆเบ‡, เบฎเบฒเบเบ„เบปเบ‡เบ—เบตเปˆ, เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เบ—เบฒเบ‡เบญเป‰เบญเบก, เบฅเป‰เบฒเบ‡*() เปเบฅเบฐเบงเบดเบ—เบตเบ„เบฑเบ”เบฅเบญเบ*(). libvkd3d-shader เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบ›เบ‚เบญเบ‡ shader model bytecode เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบฅเบฐเบ”เบฑเบšเบ›เบฒเบ™เบเบฒเบ‡ SPIR-V. Vertex, pixels, tessellation, compute and simple geometry shaders, root signature serialization เปเบฅเบฐ deserialization เปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ‚เบญเบ‡ shader เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเป€เบฅเบเบ„เบฐเบ™เบดเบ”, เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบฅเปเบฒเบกเบฐเบ™เบนเปเบฅเบฐเบšเบดเบ”, เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเปเบฅเบฐเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป„เบซเบผเป€เบ‚เบปเป‰เบฒเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบฅเบงเบšเบฅเบงเบกเปเบฅเบฐเป‚เบซเบผเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ, เปเบฅเบฐเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ unordered access view (UAV).

เปƒเบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เปƒเบซเบกเปˆโ€‹เบ‚เบญเบ‡ vkd3dโ€‹:

  • ะ’ ั€ะตะฐะปะธะทะฐั†ะธัŽ ัะทั‹ะบะฐ ัˆะตะนะดะตั€ะพะฒ HLSL ะดะพะฑะฐะฒะปะตะฝะฐ ะฝะฐั‡ะฐะปัŒะฝะฐั ะฟะพะดะดะตั€ะถะบะฐ ั†ะธะบะปะพะฒ ะดะปั 2-3 ะผะพะดะตะปะตะน ัˆะตะนะดะตั€ะพะฒ, ะฟะพัะฒะธะปะฐััŒ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะทะฐะฟะธัะธ ะฒ ัั‚ั€ัƒะบั‚ัƒั€ะธั€ะพะฒะฐะฝะฝัƒัŽ ั€ะฐะทะดะตะปัะตะผัƒัŽ ะฟะฐะผัั‚ัŒ ะณั€ัƒะฟะฟั‹ ะฟะพั‚ะพะบะพะฒ, ั€ะตะฐะปะธะทะพะฒะฐะฝั‹ ะฒัั‚ั€ะพะตะฝะฝั‹ะต ั„ัƒะฝะบั†ะธะธ tex3Dbias(), tex3Dlod() ะธ texCUBElod(), ะพะฑะตัะฟะตั‡ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะตะผะฐะฝั‚ะธะบ SV_ClipDistance, SV_CullDistance ะธ SV_StencilRef ะดะปั ะพะฑั€ะฐะฑะพั‚ะบะธ ะฒะฒะพะดะฐ ะธ ะฒั‹ะฒะพะดะฐ ะพั‚ ัˆะตะนะดะตั€ะพะฒ.
  • ะ’ ะบะพะผะฟะธะปัั‚ะพั€ะต ัˆะตะนะดะตั€ะพะฒ HLSL ั€ะตะฐะปะธะทะพะฒะฐะฝะพ ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะพะต ัƒะดะฐะปะตะฝะธะต ะดัƒะฑะปะธั€ัƒัŽั‰ะธั…ัั ะฒั‹ั‡ะธัะปะตะฝะธะน, ะพะฑะตัะฟะตั‡ะตะฝะพ ะฒั‹ั‡ะธัะปะตะฝะธะต ะฝะฐ ัั‚ะฐะฟะต ะบะพะผะฟะธะปัั†ะธะธ ะฒั‹ั€ะฐะถะตะฝะธะน ะฒะธะดะฐ x % y ั ะทะฐั€ะฐะฝะตะต ะธะทะฒะตัั‚ะฝั‹ะผะธ ะทะฝะฐั‡ะตะฝะธัะผะธ, ัƒะปัƒั‡ัˆะตะฝะพ ั€ะฐัะฟั€ะตะดะตะปะตะฝะธะต ะฒั€ะตะผะตะฝะฝั‹ั… ั€ะตะณะธัั‚ั€ะพะฒ. ะ’ ัะพะพั‚ะฒะตั‚ัั‚ะฒะธะธ ั ั‚ั€ะตะฑะพะฒะฐะฝะธัะผะธ ัะฟะตั†ะธั„ะธะบะฐั†ะธะธ HLSL ั€ะฐััˆะธั€ะตะฝะฐ ะพะฑะปะฐัั‚ัŒ ะฒะธะดะธะผะพัั‚ะธ ะฟะตั€ะตะผะตะฝะฝั‹ั… ะฒ ั†ะธะบะปะฐั… ยซforยป (ะฟะตั€ะตะผะตะฝะฝะฐั ะพัั‚ะฐั‘ั‚ัั ะดะพัั‚ัƒะฟะฝะฐ ะฟะพัะปะต ะทะฐะฒะตั€ัˆะตะฝะธั ั†ะธะบะปะฐ). ะŸั€ะธ ะฟะฐั€ัะธะฝะณะต ะดั€ะพะฑะฝั‹ั… ั‡ะธัะตะป ะฟั€ะตะบั€ะฐั‰ั‘ะฝ ัƒั‡ั‘ั‚ ะปะพะบะฐะปะธ (ะบะฐะบ ั€ะฐะทะดะตะปะธั‚ะตะปัŒ ั‚ะตะฟะตั€ัŒ ะฒัะตะณะดะฐ ะธัะฟะพะปัŒะทัƒะตั‚ัั ั‚ะพั‡ะบะฐ).
  • ะฃะปัƒั‡ัˆะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัั‚ะฐั€ะพะณะพ ะฑะธะฝะฐั€ะฝะพะณะพ ั„ะพั€ะผะฐั‚ะฐ ัˆะตะนะดะตั€ะพะฒ Direct3D. ะ ะตะฐะปะธะทะพะฒะฐะฝั‹ ะธะฝัั‚ั€ัƒะบั†ะธะธ m4x4, m3x4, m4x3, m3x3, m3x2, phase, texdepth,
    texreg2ar, texreg2gb, texreg2rgb. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะผะพะดะธั„ะธะบะฐั‚ะพั€ะพะฒ ยซ_dzยป, ยซ_dbยป, ยซ_dwยป ะธ ยซ_daยป, ะบะพั‚ะพั€ั‹ะต ะผะพะถะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ั ะธะฝัั‚ั€ัƒะบั†ะธัะผะธ texcrd ะธ texld. ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ั€ะตะณะธัั‚ั€ะพะฒ ยซvFaceยป ะธ ยซvPosยป ะดะปั ั€ะฐะฑะพั‚ั‹ ั ะฟะธะบัะตะปัŒะฝั‹ะผะธ ัˆะตะนะดะตั€ะฐะผะธ.
  • ะ’ DXIL (Direct3D Intermediate Language) ะฒ ะบะพะดะต, ะฒ ะพะฟะตั€ะฐั†ะธัั… ะทะฐะณั€ัƒะทะบะธ, ัะพั…ั€ะฐะฝะตะฝะธั, ะฐั‚ะพะผะฐั€ะฝะพะณะพ ะธะทะผะตะฝะตะฝะธั ะธ ัั€ะฐะฒะฝะตะฝะธั ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธั ัƒะบะฐะทะฐั‚ะตะปะตะน ะฝะฐ ะดะฐะฝะฝั‹ะต, ะพะฑัŠัะฒะปะตะฝะฝั‹ะต ะฟะพะทะถะต.
  • ะ’ ะฐััะตะผะฑะปะตั€ ัˆะตะนะดะตั€ะพะฒ Direct3D ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ 16-ั€ะฐะทั€ัะดะฝั‹ั… ะฒัั‚ั€ะพะตะฝะฝั‹ั… ะบะพะฝัั‚ะฐะฝั‚, ะฐ ั‚ะฐะบะถะต ั„ะปะฐะณะพะฒ โ€˜64UAVsโ€™,
    โ€˜ROVsโ€™,
    โ€˜UAVLoadAdditionalFormatsโ€™,
    โ€˜UAVsAtEveryStageโ€™,
    โ€˜allResourcesBoundโ€™,
    โ€˜enable11_1ShaderExtensionsโ€™,
    โ€˜int64Opsโ€™,
    โ€˜nativeLowPrecisionโ€™,
    โ€˜stencilRefโ€™,
    โ€˜viewportAndRTArrayIndexโ€™ ะธ
    โ€˜waveOpsโ€™.
  • ะ ะตะฐะปะธะทะพะฒะฐะฝั‹ ะพะฟั†ะธะธ ะบะพะผะฟะธะปัั†ะธะธ ัˆะตะนะดะตั€ะพะฒ: VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32, VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 ะธ VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORM.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เบŠเบทเป‰เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡ DDoS, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ VPS VDS ๐Ÿ”ฅ เบŠเบทเป‰เป€เบงเบฑเบšเป„เบŠเบ—เปŒเป‚เบฎเบ”เบ•เบดเป‰เบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ DDoS, เป€เบŠเบตเบšเป€เบงเบต VPS VDS | ProHoster