From 152cda38df79cf04aae589f1d721de3cac1cd49e Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 4 Feb 2019 20:28:17 +0100 Subject: [PATCH] Release 4.1. Signed-off-by: Alexandre Julliard --- ANNOUNCE | 871 +++++++++++++++++++++++++----------------------------- AUTHORS | 4 + VERSION | 2 +- configure | 18 +- 4 files changed, 418 insertions(+), 477 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 5b749584427..761e340f161 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,19 +1,17 @@ -The Wine team is proud to announce that the stable release Wine 4.0 -is now available. +The Wine development release 4.1 is now available. -This release represents a year of development effort and over 6,000 -individual changes. It contains a large number of improvements that -are listed in the release notes below. The main highlights are: - - - Vulkan support. - - Direct3D 12 support. - - Game controllers support. - - High-DPI support on Android. +What's new in this release (see below for details): + - Support for NT kernel spinlocks. + - Better glyph positioning in DirectWrite. + - More accurate reporting of CPU information. + - Context handle fixes in the IDL compiler. + - Preloader fixes on macOS. + - Various bug fixes. The source is available from the following locations: - https://dl.winehq.org/wine/source/4.0/wine-4.0.tar.xz - http://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.tar.xz + https://dl.winehq.org/wine/source/4.x/wine-4.1.tar.xz + http://mirrors.ibiblio.org/wine/source/4.x/wine-4.1.tar.xz Binary packages for various distributions will be available from: @@ -29,461 +27,400 @@ AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- -What's new in Wine 4.0 -====================== - - -*** Direct3D - -- Initial support for Direct3D 12 is implemented. Direct3D 12 support - requires the vkd3d library, and a Vulkan-capable graphics card. - -- The Multi-Threaded Command Stream feature is enabled by default. - -- OpenGL core contexts are always used by default when available. In - the previous release, these were already used by default for - Direct3D 10 and 11 applications on AMD and Intel graphics - cards. That has been extended to all graphics cards, and all - versions of Direct3D before 12. - -- Among others, the following notable Direct3D 10 and 11 features are - implemented: - - Multi-sample textures and views, as well as multi-sample resolves. - - Per-sample fragment shading. - - Support for 1D textures. - - Draws without render target views or depth/stencil views. - - Multiple viewports and scissor rectangles per draw. - - Depth clipping control. - - Depth bias clamping. - - Stream output without geometry shaders. - - Several more capability queries. - - Several more resource formats. - -- The "depth bias clamping" feature mentioned above requires the - ARB_polygon_offset_clamp/EXT_polygon_offset_clamp OpenGL - extension. All Direct3D 10+ capable hardware should be able to - support that extension, but it has come to our attention that some - NVIDIA "Legacy Drivers" do not. We encourage affected users to - explore whether the Free Software Nouveau drivers meet their needs. - -- Several Direct3D 11 interfaces have been updated to version 11.2, - and several DXGI interfaces have been update to version 1.6. This - allows applications requiring those newer interfaces to start - working. - -- The first steps towards more fine-grained locking in the Direct3D - implementation have been taken. This will be an ongoing effort to - take better advantage of modern high core count CPUs. - -- Support for using the correct swap interval is implemented, for both - DXGI and DirectDraw applications. - -- Application-configurable frame latency is implemented for Direct3D - 9Ex and DXGI applications. - -- S3TC-compressed 3D textures are supported. S3TC-compressed 2D - textures were already supported, provided the OpenGL drivers - supported them. - -- When the ARB_query_buffer_object OpenGL extension is available, - query results can be polled with lower latency, resulting in a - modest performance improvement in specific cases. - -- Validation of Direct3D 8 and 9 resource pool and usage restrictions, - as well as blit restrictions, has been improved. - -- The Direct3D graphics card database recognizes more graphics cards. - -- New HKEY_CURRENT_USER\Software\Wine\Direct3D registry keys: - - "MultisampleTextures" (REG_DWORD) - Enable (0x1, default) or disable (0x0) support for multi-sample - textures. - - "Renderer" (REG_SZ) - The backend API to target. Possible values are "gl" (default) for - OpenGL and "gdi" for GDI. - -- Deprecated HKEY_CURRENT_USER\Software\Wine\Direct3D registry key: - - "DirectDrawRenderer" - This has been superseded by the "Renderer" setting above. - -- Removed HKEY_CURRENT_USER\Software\Wine\Direct3D registry key: - - "StrictDrawOrdering" - This feature was previously deprecated in favor of the - multi-threaded command stream feature, and has been completely - removed. - - -*** Graphics - -- A complete Vulkan driver is implemented, using the host Vulkan - libraries under X11, or MoltenVK on macOS. - -- A builtin vulkan-1 loader is provided as an alternative to the SDK - loader. - -- Icons in PNG format are supported, enabling loading high-resolution - 256x256 icons. - -- The standard icons include a 256x256 version to take advantage of - the PNG support. - -- Many Direct2D interfaces have been updated to version 1.2. - -- New HKEY_CURRENT_USER\Software\Wine\Direct2D registry key: - - "max_version_factory" (REG_DWORD) - Limit the interface version of the ID2D1Factory interface to the - specified version. 0x0 for ID2D1Factory, 0x1 for ID2D1Factory1, - etc. By default there is no limit. - -- Using an ARGB visual as default X11 visual is supported. - -- The old 16-bit DIB.DRV driver is implemented using the DIB engine. - -- Polygon drawing in the DIB engine is much faster for large polygons. - -- A0, A1 and A2 paper sizes are supported for generic printers. - -- Arrows are supported in GdiPlus. - - -*** Kernel - -- Support for running DOS binaries under Wine is removed. When - execution of a DOS binary is requested, an external DOSBox instance - is launched. This doesn't apply to Win16 binaries, which are still - supported internally. - -- All the CPU control and debug registers can be accessed by kernel - drivers, including on 64-bit. - -- Events, semaphores, mutexes and timers are implemented in kernel - mode for device drivers. - -- The WaitOnAddress synchronization primitives are supported. - -- Reported processor information correctly distinguishes logical and - physical CPU cores to support hyper-threading. - -- Detailed BIOS information can be queried on Linux platforms. - -- The various debugger APIs support manipulating a 32-bit Wow64 - process from a 64-bit process context. - -- Application settings, compatibility information and execution levels - are recognized in application manifests. - -- The various file I/O completion modes are implemented. - -- Debug registers are supported on NetBSD. - - -*** User interface - -- The infrastructure for setting DPI awareness and scaling of non - DPI-aware applications is implemented. However, actual scaling of - window contents is only supported on Android at this point. - Scaling is disabled by default and can be enabled by setting the - "DpiScalingVer" value under HKEY_CURRENT_USER\Control Panel\Desktop. - -- Window class redirection is supported, enabling support of Common - Controls version 6 features for standard USER controls like buttons. - -- The standard USER controls Button, Listbox, Combobox, Edit and - Static support version 6 features, including theming. - -- The standard Task Dialog is implemented, including support for - icons, hyperlinks, progress bars, and various other UI elements. - -- Cue banners are supported in version 6 of the Edit control. - - -*** Desktop integration - -- Exporting MIME-type file associations to the native desktop can be - disabled with a checkbox under the Desktop Integration tab in - winecfg. It can be configured programmatically by setting the - "Enable" value under - HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations. - -- The File Dialog can display file properties like size, times and - attributes. - -- The File Dialog optionally shows the Places toolbar on the left-hand - side. - -- The shell folder Public is used instead of AllUsersProfile to follow - the behavior of recent Windows versions. - -- The shell File Browser supports keyboard shortcuts to rename (F2 - key) and delete (Delete key) shell folders. - -- Many standard icons are added to the Shell library. - -- Shell Autocompletion is supported. - -- In desktop mode the taskbar won't be displayed on top of fullscreen - windows. - -- Additional names are provided for standard cursors to better match - existing X11 cursor themes. - - -*** Input devices - -- HID game controllers are supported in the XInput and Raw Input APIs. - -- An SDL driver is implemented to make SDL game controllers - available through the HID interface. - - -*** Internet and networking - -- JScript has an EcmaScript compliant mode, which supports a number of - features not available in legacy mode. - -- JavaScript property accessors are supported. - -- HTML style object is rewritten to support standard-compliant mode. - -- HTML documents respect X-UA-Compatible HTTP header, allowing web - pages to request specific compatibility mode. The - HKEY_CURRENT_USER\Software\Wine\MSHTML\CompatMode key may be used to - override the requested mode. - -- MSHTML supports non-HTML elements, allowing limited SVG support. - -- A number of new HTML APIs are supported. - -- The proxy server can be configured through the Internet Control - Panel applet. - -- Stream I/O is implemented in WebServices. - -- The Web Services on Devices API (WSDAPI) is implemented, including - sending and receiving the various message types. - -- More system information is reported through WBEM, including CPU, - BIOS, video controller, and network adapter properties. - - -*** Cryptography - -- Asymmetric encryption keys, as well as RSA and ECDSA signature - verification are supported. - -- The GCM and ECB encryption chaining modes are supported. - -- Optimal Asymmetric Encryption Padding (OAEP) is supported in RSA - encryption. - -- A Kerberos security provider is implemented, supporting Kerberos - authentication. - -- A selection dialog for public key certificates is implemented. - -- If available, GnuTLS is used on macOS in preference to the - CommonCrypto framework. - - -*** Text and fonts - -- Character tables are based on version 11.0.0 of the Unicode Standard. - -- The new subpixel font rendering of FreeType >= 2.8.1 is supported. - -- When a font face is missing, FontConfig is queried to provide - possible substitutions. - -- The font selected in the console emulator properly scales with the - display DPI. - -- Memory font resources are supported in DirectWrite. - -- The builtin Wingdings font contains clock images. - - -*** Audio - -- The Windows Media Player interfaces are implemented and support - media playback. - -- An MP3 decoder is provided as DirectX Media Object. - - -*** macOS - -- The preloader is implemented on macOS, for better address space - layout compatibility. - -- The Command key can be mapped to Ctrl, by setting the - "LeftCommandIsCtrl" or "RightCommandIsCtrl" values under - HKEY_CURRENT_USER\Software\Wine\Mac Driver. - -- The App Nap energy-saving feature is disabled by default in GUI - processes. It can be re-enabled by setting the "EnableAppNap" value - under HKEY_CURRENT_USER\Software\Wine\Mac Driver. - - -*** Android - -- Setting the mouse cursor is supported using the APIs available in - Android >= 7. - -- The new version of the Android graphics buffer allocator API is - supported, to enable graphics support on Android >= 8. - -- Android x86-64 platforms are supported also in 64-bit mode, however - WoW64 mode is not supported yet in the WineHQ packages. - - -*** ARM platforms - -- Stubless COM proxies are implemented on ARM. - -- The Windows calling convention for variadic functions is supported - on ARM64. - -- Exception handling and debugging is better supported on ARM64 - platforms. - -- The MinGW toolchain is supported for cross-compilation to ARM64. - - -*** Built-in applications - -- The Ping program provides actual pinging functionality using - IcmpSendEcho. - -- The SchTasks task scheduler program can create and delete tasks. - -- The RegEdit registry editor has an improved hex editor for binary - values. - -- FOR loops are properly handled in the Command Interpreter. - -- The XCopy program supports the /k (keep attributes) option. - - -*** Internationalization - -- The Japanese 106 keyboard is properly supported. - -- Translation of timezone names is supported. - -- There is a partial translation to the Sinhala language. - -- More locales are supported in the Resource Compiler (wrc) and - Message Compiler (wmc). - - -*** Development tools - -- winedbg supports debugging WoW64 processes. - -- In gdb proxy mode, winedbg supports a --port option to specify the - port used to connect to gdb. - -- winegcc uses better heuristics for finding the appropriate lib - directory for 32/64-bit cross-compiles. - -- winegcc supports building native subsystem libraries. - -- winegcc also looks for includes in the top-level include directory - of the installation prefix. - -- winebuild supports a -mfpu option for specifying the FPU - architecture on ARM platforms. - -- winedump supports dumping SLTG-format typelibs. - - -*** IDL compiler - -- Application Configuration Files (ACF) are supported. - -- Asynchronous interfaces are supported. - -- Type and method serialization using encode/decode attributes is - supported. - -- The defaultvalue() attribute is supported for pointer types. - -- Generated files are always specific to the target platform. The - target can be specified the same way as with the other tools, - using the cpu-manufacturer-os platform specification. - -- Nesting of pointers and arrays works correctly. - -- Correct size and alignment are generated for encapsulated unions. - -- The __int32 type is supported. - -- The -robust command line option is recognized (but ignored) for - compatibility with the Microsoft IDL compiler. - -- Multiple typelibs can be generated into a single resource file. - - -*** .NET - -- 32-bit CIL-only .NET binaries are supported on 64-bit. - -- The Mono engine is updated to version 4.7.5 with some upstream Mono - fixes. - - -*** RPC/COM - -- The typelib marshaller is reimplemented. It generates format strings - and then uses the standard NDR marshalling routines; this way it - also works on 64-bit and ARM platforms. - - -*** Installers - -- MSI custom actions run in a separate process, enabling proper - support for mixed 32/64-bit installers. - -- Deferred installation actions are supported in MSI. - - -*** Build infrastructure - -- The test framework supports building helper dlls inside a test, to - allow testing features that require loading an external library. - -- The test framework supports testing Windows kernel drivers. - -- It is possible to build and run a WoW64 tree from inside the Wine - source directory. Previously an out-of-tree build was required. - -- A .editorconfig file is provided with the recommended indentation - parameters. - - -*** Miscellaneous - -- The Task Scheduler service and APIs are implemented. - -- The Windows Management Instrumentation service is implemented. - -- The OPC Services (Open Packaging Conventions, used for Microsoft - Office XML files) library is implemented. - -- The HKEY_PERFORMANCE_DATA magic registry key is partially - implemented. - - -*** New external dependencies - -- The Vulkan library is used to implement the Vulkan graphics driver. - -- The Vkd3d library is used to implement Direct3D 12 on top of Vulkan. - -- The SDL library is used to support game controllers. - -- The GSSAPI library is used to implement Kerberos authentication. - +Bugs fixed in 4.1 (total 30): + + 11070 importpfx fails, needs PFXImportCertStore implementation + 33456 D3DXMatrixTransformation: Broken calculation when scalingrotation and scaling is used + 38274 White water in Heroes VI (DXTn volume textures) + 38558 cmd.exe bundled with Windows XP messed up when using FOR /F + 39663 GOG Galaxy client 1.x hangs or reports 'Something went wrong during DeelevateStrategy' error in Win7 mode (GOG Galaxy service needs wtsapi32.WTSQueryUserToken implementation) + 39890 Orcish Inn fails to start with exception System.NotImplementedException + 40441 Chicken tournament crashes when loading texture + 42491 wine builds are not reproducible (widl needs initializization of datatype2 in add_typedef_typeinfo) + 43252 IcmpSendEcho doesn't work with a ReplySize<56 + 43322 Regression in Test Drive Unlimited 2, visual artifacts + 44469 Multiple apps using Windows 10 v1507+ UCRT crash due to multiple missing api-ms-win-crt-private-l1-1-0.dll._o__xxx stubs/forwards (Win10 DISM pkgmgr.exe, MS DirectX Shader Compiler) + 44941 Bioshock Remastered doesn't start in windowed mode + 45326 Multiple 64-bit kernel drivers crash on unimplemented function ntoskrnl.exe.__C_specific_handler (NoxPlayer 6.x, MTA:SA 1.5.x) + 45447 [World of Tanks] Borderless window broken since 1.0.2 + 46137 NI Kontakt 5 crashes on unimplemented function msvcp140.dll.?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z + 46298 Middle-earth: Shadow of War (steam appid 356190) crashes on launch + 46303 Warcraft 3: Reign of Chaos (Czech language) can't be installed from CD + 46453 The Testament of Sherlock Holmes crashes while loading level with builtin d3dx9_43 + 46465 Visual Studio 2015 crashes on unimplemented function msvcp140.dll._Equivalent + 46469 Only the first XInput controller is detected in wine 4.0 + 46479 64-bit mono crashes in RtlAddGrowableFunctionTable + 46482 Gas Guzzlers Combat Carnage crashes when changing screen resolution + 46485 PBM_STEPIT crashes with division by zero when MinVal == MaxVal == 0 + 46488 Diablo 2 LoD: Direct3D regression: Unhandled exception: Access_violation (c0000005) + 46489 ClrMamePro crashes on update attempt + 46494 64bit WinMerge crash after clicking "About WinMerge" + 46499 Multiple games crash in GetRawInputData when exiting(House Party, Murderous Pursuits, ICEY) + 46520 Kindred Spirits on the Roof crashes + 46536 Empire Earth (GOG version) main menu rendering is broken + 46569 ToDoList 7.1 : fails to launch after WINE upgrade to 4.0 version + +---------------------------------------------------------------- + +Changes since 4.0: + +Alex Henrie (1): + shell32: Rename SHELL32_714 to PathIsTemporaryW. + +Alexandre Julliard (7): + ntdll: Don't crash on empty table in RtlAddFunctionTable(). + ntdll: Implement RtlIsProcessorFeaturePresent(). + ntdll: Round header size to page boundary before checking it in PE header conversion. + ntdll: Support loading old runtime versions of IL-only images. + kernel32/tests: Add helper function for machine type manipulations. + kernel32/tests: Try loading the dll also for matching platform type. + kernel32/tests: Add tests for dll fallback when image type doesn't match current platform. + +Alistair Leslie-Hughes (8): + ole32/tests: Test for the correct IID. + mfreadwrite: Add initial tests. + include: Add MFSetAttributeSize/MFSetAttributeRatio inline functions. + crypt32: Fix compile error on older gnutls. + crypt32: Fix compile error on older gnutls. + uiautomationcore: Update spec file. + mfreadwrite: Add DllGetClassObject/DllCanUnloadNow functions. + mfreadwrite: Register MFReadWriteClassFactory interface. + +Andrey Gusev (5): + d3drm/tests: Add missing HRESULT. + d3dcompiler: Add support for two other versions of ID3D11ShaderReflection. + mshtml: Remove redundant condition. + d3dx11: Fix D3DX11CreateShaderResourceViewFromMemory spec entry. + d3dx11_42: Share source with d3dx11_43. + +Daniel Lehman (3): + msvcrt: _towlower_l only lowercase A-Z in C locale. + msvcrt: _towupper_l only uppercase a-z in C locale. + ucrtbase/tests: Add tests for C locale. + +David Adam (3): + ddraw/tests: Add tests for the "dwMipMapCount" field of texture sub-levels. + ddraw: Fix the "dwMipMapCount" field of texture sub-levels. + d3dx9/tests: Add more tests for D3DXMatrixTransformation(). + +Dmitry Timoshkov (12): + crypt32: Make sure that the provider supports the specified signature algorithm. + crypt32: Make sure that the provider supports the specified hash algorithm. + wininet: Return proper cache path from GetUrlCacheConfigInfo. + wininet: Make GetUrlCacheConfigInfo() return actual dwQuota and dwCacheSize. + crypt32: Add support for CERT_COMPARE_KEY_IDENTIFIER to CertFindCertificateInStore. + crypt32: Add support for CRYPT_ACQUIRE_SILENT_FLAG to CryptAcquireCertificatePrivateKey. + crypt32: Simplify the code. + windowscodecs: Implement IWICPalette::InitializeFromBitmap. + gdiplus: Implement GdipInitializePalette. + gdiplus/tests: Add some tests for GdipInitializePalette. + windowscodecs: Add support for converting to 8bppIndexed format. + windowscodecs: Add a NULL check to 8bpp gray converter. + +Eric Bissonnette (1): + dbghelp: Support full memory dumps. + +Fabian Maurer (3): + api-ms-win-crt-private-l1-1-0: Update to 10.0.17134.12 (WinBuild.160101.0800). + ucrtbase: Forward a few functions for dxil.dll and pkgmgr.exe. + mscoree: Allow loading of registration free .NET COM objects. + +Gabriel Ivăncescu (7): + shell32/autocomplete: Don't autoappend on Paste if ACO_AUTOAPPEND is off. + shell32/autocomplete: Always expand if the enumerator was reset. + libport: Handle partially overlapping buffers. + kernel32/tests: Test partially overlapping buffers for MultiByteToWideChar. + shell32/shfldr_desktop: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set. + shell32/shfldr_mycomp: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set. + shell32/tests: Test GetDisplayNameOf for special folders with both SHGDN_FORPARSING and SHGDN_FORADDRESSBAR. + +Gijs Vermeulen (5): + msvcp140: Export _Equivalent and port tests. + msvcp: Set correct error code on non-existing path in _Open_dir. + msvcp: Set target to null on error in _Open_dir. + kernel32/tests: Add CopyFile[Ex]A NULL handling tests. + msvcp: Return ERROR_INVALID_PARAMETER on NULL input in _Copy_file. + +Hans Leidekker (12): + wbemprox: Support cpuid on 64-bit. + wbemprox: Strip trailing spaces from processor name. + wbemprox: Include extended model and family fields in processor properties. + wbemprox: Fix processor caption on AMD 64-bit. + wbemprox: Create one processor object per package. + crypt32: Initial implementation of PFXImportCertStore. + winhttp: Implement WINHTTP_OPTION_CLIENT_CERT_CONTEXT. + crypt32: Add support for importing RSA private keys from PFX blobs. + crypt32: Support password protected PFX blobs. + wineboot: More accurate reporting of AMD and Intel processors. + secur32: Ignore spurious callbacks on macOS. + crypt32: Add support for PFX objects in CryptQueryObject. + +Henri Verbeet (2): + ddraw: Implement ddraw7_FlipToGDISurface(). + ddraw: Return the correct swapchain surface in ddraw7_GetGDISurface(). + +Isira Seneviratne (2): + po: Update Sinhala translation. + po: Update Sinhala translation. + +Jacek Caban (23): + widl: Fix HANDLE_PARAM_IS_RETURN flag handling. + widl: Use public HANDLE_PARAM_IS_* flags. + mshtml.idl: Add IDOMCustomEvent declaration. + rpcrt4: Fix comment about HANDLE_PARAM_IS_RETURN. + rpcrt4/tests: Run RPC tests in both mixed and fully interpreted mode. + rpcrt4/tests: Use --prefix-client to avoid duplicated function implementations. + widl: Fix context handle as return value handling. + widl: Default to input param if [out] nor [in] attribut is specified in get_contexthandle_flags. + mshtml: Add IDOMCustomEvent interface stub implementation. + rpcrt4: Fix context handle return value marshaling. + rpcrt4: Fix context handle return value unmarshaling. + rpcrt4/tests: Add context handle marshaling tests. + mshtml: Add IDOMCustomEvent::initCustomEvent implementation. + mshtml: Add IDOMCustomEvent::detail property implementation. + mshtml: Expose IDOMCustomEvent to scripts. + advapi32/tests: Add test using NotifyServiceStatusChange on different handles of the same service. + services: Store a list of service handles in service_entry. + services: Associate notify handle with service handle instead of service entry. + widl: Check function return values for additional prototype types. + widl: Fix handling context handle return type in mixed mode. + ntoskrnl.exe: Add __C_specific_handler entry. + ntoskrnl.exe: Add KeEnterGuardedRegion and KeLeaveGuardedRegion stubs. + ntoskrnl.exe: Implement KeExpandKernelStackAndCallout and KeExpandKernelStackAndCalloutEx. + +Jon Doron (2): + kernel32: Fix MoveFileWithProgressW from closing same handle twice. + kernel32: Fix MOVEFILE_REPLACE_EXISTING between devices. + +Joshua Ashton (2): + include: Mark IDirect3D9Ex::GetAdapterDisplayModeEx() as PURE. + include: Add a few missing d3d9 constants. + +Julien D'ascenzio (1): + ntdll: Correct space/mark parity. + +Józef Kucia (9): + d3d9: Validate surface parameter in d3d9_device_ColorFill(). + d3d10core/tests: Add test for sample_c_lz instruction. + d3d10core/tests: Add option to enable debug layer. + d3d10core/tests: Fix crashes with debug layer enabled. + d3d10core/tests: Avoid "skipping tests" in skip() messages. + wined3d: Move wined3d_bit_scan() to public header. + d3d8: Use wined3d_bit_scan() instead of open-coding it. + d3d9: Use wined3d_bit_scan() instead of open-coding it. + ddraw: Pass correct box when mapping system memory vertex buffers. + +Ken Thomases (2): + libwine: On Mac, disable ASLR for Wine processes. + loader: On Mac, move the top-down allocations area down to avoid regions reserved by the system. + +Matteo Bruni (24): + d3dx9/tests: Expect plain render target creation to work. + d3dx9/tests: Fix a couple of ok() messages. + d3d9/tests: Add a D3D9Ex test for drawing with D3DPOOL_SYSTEMMEM buffers. + d3d9/tests: Test drawing with D3DPOOL_SYSTEMMEM textures. + d3d8/tests: Test drawing with D3DPOOL_SYSTEMMEM textures. + ddraw/tests: Test drawing with system memory textures. + d3dx9: Improve D3DXMatrixTransformation() implementation. + d3dx9: Improve D3DXMatrixTransformation2D(). + d3dx9/tests: Avoid some 64-bit test failures. + d3d9/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability. + d3d9/tests: Test D3D9Ex vertex buffer lock address stability. + d3d8/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability. + d3d9: Drop map read access from the internal buffers used for user-pointer draws. + d3d8: Drop map read access from the internal buffers used for user-pointer draws. + ddraw: Drop map read access from the internal buffers used for user-pointer draws. + d3d9: Take usage flags into account when assigning map flags. + d3d8: Take usage flags into account when assigning map flags. + d3d9: Don't allow map read access to D3DUSAGE_WRITEONLY buffers. + d3d8: Don't allow map read access to D3DUSAGE_WRITEONLY buffers. + wined3d: Replace WINED3DUSAGE_WRITEONLY with resource access flags. + d3d9/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags(). + d3d8/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags(). + d3dx11: Downgrade ERR() to WARN() in D3DX11CreateAsyncResourceLoader*(). + d3dcompiler: Actually define the correct ID3D11ShaderReflection GUIDs. + +Michael Stefaniuc (10): + dmloader: Fix a memory leak. + wineandroid.drv: Use the ARRAY_SIZE() macro. + regedit: Remove redundant NULL check before heap_free(). + reg: Remove redundant NULL check before heap_free(). + strmbase: Remove redundant NULL check before CoTaskMemFree(). + ole32: Remove redundant NULL check before CoTaskMemFree(). + windowscodecs: Use the ARRAY_SIZE() macro. + windowscodecs: Remove redundant NULL check before HeapFree(). + mshtml: Print the debug string and not the pointer to it. + shell32: Avoid FALSE : TRUE conditional expressions. + +Nikolay Sivov (40): + d3d11: Implement d3d11_device_GetImmediateContext1(). + api-ms-win-core-libraryloader-l1-2-1: Add missing FindResourceW() forward. + comctl32/progress: Handle min == max case in PBM_STEPIT. + ntdll: Store range upper boundary for dynamic unwind entry. + ntdll: Keep unwind table entry count instead of a size. + ntdll: Implement growable unwind tables API. + user32/dialog: Fix setting negative dialog item ids. + dwrite: Use array for script tags. + dwrite: Use helper to trace 4 byte tags. + dwrite: Remove special case for vertical variants. + dwrite/layout: Improve overhangs metrics computation. + dwrite: Use a helper for design advances. + dwrite/analyzer: Preserve inter-cluster spacing when apply spacing properties. + dwrite/tests: Some more tests for ComputeGlyphOrigins(). + dwrite: Validate font data when retrieving supported unicode ranges data. + dwrite: Validate 'gasp' data before accessing it. + dwrite: Validate 'CPAL' data before using it. + comctl32/rebar: Do not use global variable for debug buffer (Coverity). + ntdll: Make LdrFindResource_U() and LdrFindResourceDirectory_U() patchable. + shell32: Remove duplicated assignment (Coverity). + usp10/tests: Add missing return value checks (Coverity). + include: Fix a typo in D2D1_WINDOW_STATE values. + ole32: Implement chained IInitializeSpy support. + ole32/tests: Test flags passed to spy methods. + d3dx9: Use wincodecs directly without initializing COM system. + dwrite: Validate 'COLR' data before using it. + dwrite: Validate 'CBLC' data before using it. + dwrite: Validate 'sbix' data before using it. + dwrite: Validate 'VDMX' data before using it. + dwrite/tests: Add some tests for setting glyph properties from GDEF. + dwrite: Add a helper to get shaped glyph positions. + dwrite: Resolve script and language to apply positional features. + dwrite: Collect and sort positional lookups. + dwrite: Add a helper to apply positional lookup. + dwrite: Implement masking with positional lookup flags. + winhttp/tests: Add a couple of return value tests (Coverity). + dwrite: Implement single adjustment, GPOS lookup 1. + dwrite: Implement pair adjustment, GPOS lookup 2. + dwrite: Implement cursive attachment, GPOS lookup 3. + dwrite: Implement mark-to-base attachment, GPOS lookup 4. + +Orhan Kavrakoğlu (3): + crypt32: Add CryptImportPublicKeyInfoEx2 stub. + crypt32: Implement CryptHashCertificate2. + crypt32/tests: Add tests for CryptHashCertificate2. + +Paul Gofman (6): + d3dx9: Factor out {lock|unlock}_surface() functions. + d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures. + d3dx9/tests: Add test for D3DXFillVolumeTexture() with default pool texture. + d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory(). + d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures. + d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory(). + +Piotr Caban (4): + msvcrt: Optimize tolower function when locale was never changed. + msvcrt: Optimize toupper function when locale was never changed. + wbemprox: Add Win32_NetworkAdapter DeviceAdapterID property. + wbemprox: Add Win32_NetworkAdapter Description property. + +Sebastian Lackner (1): + wtsapi32: Improve WTSQueryUserToken stub. + +Sven Baars (18): + dswave/tests: Fix a memory leak (Valgrind). + dmband/tests: Fix a memory leak (Valgrind). + dmcompos/tests: Fix a memory leak (Valgrind). + dmscript/tests: Fix a memory leak (Valgrind). + dmstyle/tests: Fix a memory leak (Valgrind). + dmusic/tests: Fix a memory leak (Valgrind). + msscript.ocx/tests: Fix some memory leaks (Valgrind). + kernel32/tests: Fix a memory leak (Valgrind). + hlink/tests: Fix some memory leaks (Valgrind). + gdiplus/tests: Fix a memory leak (Valgrind). + windowscodecs: Fix a memory leak (Valgrind). + gdiplus: Fix a memory leak on error path (Valgrind). + gdiplus/tests: Add some font family pointer tests. + wsdapi: Fix some memory leaks (Valgrind). + dmime/tests: Fix a memory leak (Valgrind). + dinput/tests: Fix some memory leaks (Valgrind). + dinput: Free the device after a callback (Valgrind). + strmbase: Fix some memory leaks (Valgrind). + +Zebediah Figura (78): + d3d8/tests: Add a test for MultiplyTransform(). + d3d9/tests: Add a test for MultiplyTransform(). + ddraw/tests: Add a test for MultiplyTransform(). + wined3d: Remove stateblock handling from wined3d_device_multiply_transform(). + msi/tests: Introduce a variadic check_record() helper. + msi/tests: Use check_record() in test_columnorder(). + msi/tests: Use check_record() in test_dbmerge(). + msi/tests: Use check_record() in test_select_column_names(). + msi/tests: Use check_record() in test_join(). + setupapi: Store the path to the driver key in the device key. + setupapi: Don't use the devnode to allocate driver keys. + setupapi/tests: Create the setup class key before trying to create the driver key. + setupapi: Also remove the driver key in remove_device(). + wined3d: Remove stateblock handling from wined3d_device_set_shader_resource_view(). + wined3d: Remove stateblock handling from wined3d_device_set_sampler(). + wined3d: Remove stateblock handling from wined3d_device_set_pipeline_unordered_access_view(). + wined3d: Remove stateblock handling from wined3d_device_set_stream_output(). + wined3d: Remove stateblock handling from wined3d_device_set_constant_buffer(). + hal: Limit exports to the appropriate architectures. + ntoskrnl.exe: Implement KeInitializeSpinLock(). + hal: Implement KeReleaseSpinLock(). + ntoskrnl.exe: Implement KeReleaseSpinLock(). + hal: Implement KeAcquireSpinLock(). + ntoskrnl.exe: Implement KeAcquireSpinLockRaiseToDpc(). + msi/tests: Use check_record() in more places. + msi: Get rid of the find_matching_rows() view operation. + msi: Get rid of the remove_column() view operation. + msi: Use a BOOL to track string persistence. + msi: Use 0-indexed row numbers in the modify() view operation. + ntoskrnl.exe: Implement IoReleaseCancelSpinLock(). + ntoskrnl.exe: Implement IoAcquireCancelSpinLock(). + ntoskrnl.exe: Implement ExInterlockedRemoveHeadList(). + ntoskrnl.exe: Implement PsTerminateSystemThread(). + wined3d: Remove stateblock handling from wined3d_device_set_geometry_shader(). + wined3d: Remove stateblock handling from wined3d_device_set_compute_shader(). + wined3d: Remove stateblock handling from wined3d_device_set_predication(). + d3d9/tests: Add more tests for reset state after DrawIndexedPrimitiveUP(). + d3d8/tests: Port test_draw_primitive() from d3d9. + msi: Factor out int_to_table_storage(). + msi: Set table values directly in msi_select_update(). + msi: Get rid of the get_row() view operation. + msi: Remove an unnecessary call to SELECT_get_dimensions(). + msi: Store the IStorage list as an array of STORAGE structures. + ntoskrnl.exe/tests: Open the test file for synchronous I/O. + ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel(). + ntoskrnl.exe: Implement KeAcquireSpinLockAtDpcLevel(). + ntoskrnl.exe: Implement plain spinlock functions on top of DPC-level ones. + hal: Implement plain spinlock functions on top of DPC-level ones. + wined3d: Introduce a separate structure for stateblock state and store vertex shader state therein. + wined3d: Store vertex shader floating point constants in the wined3d_stateblock_state structure. + wined3d: Store vertex shader integer constants in the wined3d_stateblock_state structure. + wined3d: Store vertex shader boolean constants in the wined3d_stateblock_state structure. + wined3d: Store the pixel shader in the wined3d_stateblock_state structure. + msi: Support setting streams in msi_select_update(). + msi: Implement UPDATE queries using msi_select_update(). + msi: Factor out msi_view_refresh_row(). + msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row(). + msi: Don't check the primary keys when handling MSIMODIFY_DELETE. + ntoskrnl.exe: Implement DPC-level queued spinlock functions. + ntoskrnl.exe: Implement plain queued spinlock functions on top of DPC-level ones. + hal: Implement plain queued spinlock functions on top of DPC-level ones. + wined3d: Store pixel shader floating point constants in the wined3d_stateblock_state structure. + wined3d: Store pixel shader integer constants in the wined3d_stateblock_state structure. + wined3d: Store pixel shader boolean constants in the wined3d_stateblock_state structure. + wined3d: Factor our init_default_render_states(). + wined3d: Store render states in the wined3d_stateblock_state structure. + msi/tests: Add some more tests for MsiViewModify() applied to joins. + msi: Translate records as appropriate in SELECT_modify(). + msi/tests: Add more tests for MSIMODIFY_ASSIGN. + msi/tests: Add more tests for MSIMODIFY_REFRESH. + msi/tests: Add more tests for MSIMODIFY_MERGE. + msi/tests: Add more tests for MSIMODIFY_INSERT. + include: Add ExInitializeFastMutex() definition. + ntoskrnl.exe: Implement APC-level fast mutex functions. + hal: Implement plain fast mutex functions on top of APC-level ones. + hal: Implement ExTryToAcquireFastMutex(). + ntoskrnl.exe: Avoid accessing fields of sync objects outside of the sync CS. + wined3d: Factor out init_default_texture_state(). + +Zhiyi Zhang (4): + user32: Check for null handle in GetRawInputData(). + user32: Fix a memory leak. + msacm32: Reference count local drivers. + d3d8: Fix building on Mac. -- Alexandre Julliard diff --git a/AUTHORS b/AUTHORS index 7bd000f9e9d..746c3f8eabd 100644 --- a/AUTHORS +++ b/AUTHORS @@ -429,6 +429,7 @@ Emmanuel Maillard Enrico Horn Erez Volk Eric Anholt +Eric Bissonnette Eric Frias Erich Hoover Eric Kohl @@ -802,6 +803,7 @@ Joseph Pranevich Jose Rostagno Josh DuBois Josh Juran +Joshua Ashton Joshua Beck Joshua Davies Joshua Thielen @@ -820,6 +822,7 @@ Jukka Kangas Jukka-Pekka Iivonen Julian Rüger Julien Cegarra +Julien D'ascenzio Julien Muchembled Julio César Gázquez Julio E. Gonzalez P @@ -1171,6 +1174,7 @@ Olivier Houchard Olli-Pekka Wallin Ondrej Macek Onno Hovers +Orhan Kavrakoğlu Orion Poplawski Ori Pessach Ove Kåven diff --git a/VERSION b/VERSION index eb0ae98b626..9839d17dfb9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Wine version 4.0 +Wine version 4.1 diff --git a/configure b/configure index 663b6dc1ae0..ec211a538b1 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Wine 4.0. +# Generated by GNU Autoconf 2.69 for Wine 4.1. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Wine' PACKAGE_TARNAME='wine' -PACKAGE_VERSION='4.0' -PACKAGE_STRING='Wine 4.0' +PACKAGE_VERSION='4.1' +PACKAGE_STRING='Wine 4.1' PACKAGE_BUGREPORT='wine-devel@winehq.org' PACKAGE_URL='https://www.winehq.org' @@ -2390,7 +2390,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Wine 4.0 to adapt to many kinds of systems. +\`configure' configures Wine 4.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2460,7 +2460,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Wine 4.0:";; + short | recursive ) echo "Configuration of Wine 4.1:";; esac cat <<\_ACEOF @@ -2692,7 +2692,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Wine configure 4.0 +Wine configure 4.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3376,7 +3376,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Wine $as_me 4.0, which was +It was created by Wine $as_me 4.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -20871,7 +20871,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Wine $as_me 4.0, which was +This file was extended by Wine $as_me 4.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20942,7 +20942,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Wine config.status 4.0 +Wine config.status 4.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\"