Wine Announcement

The Wine development release 5.9 is now available.

What's new in this release (see below for details):
  - Major progress on the WineD3D Vulkan backend.
  - Initial support for splitting dlls into PE and Unix parts.
  - Support for generating PDB files when building PE dlls.
  - Timestamp updates in the Kernel User Shared Data.
  - Various bug fixes.

The source is available from the following locations:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.


Bugs fixed in 5.9 (total 28):

  15489  Build should optionally produce .pdb file suitable for use with symbol server
  29168  Multiple games and applications need realtime updates to KSYSTEM_TIME members in KUSER_SHARED_DATA (Star Wars: The Old Republic game client, Blizzard games, GO 1.4+ runtime, Denuvo Anti-Tamper x64 #2)
  29806  Hype The Time Quest: DirectX Media (DXM) v6.0 runtime installer fails (advpack.ExecuteCab should extract the INF from CAB before running the install part)
  30814  Age of Empires II scrolling gets stuck after Alt-Tab away and back
  42125  4k/8k demos often fail with 'Bad EXE Format' or 'error c0000020' due to Crinkler executable file compressor's "optimized" usage of PE header fields (loader compatibility)
  43959  webservices/reader tests fail on arm
  43960  rpcrt4/cstub tests fail on arm
  43962  msvcrt/string tests fail on arm
  44860  4k/8k demos crash due to Crinkler executable file compressor expecting PEB address in %ebx on process entry
  48186  every wine process shows a definite leak in dlls/ntdll/env.c
  48289  Grand Theft Auto 5 crashes after loading (GTA5 expects Vista+ PEB_LDR_DATA structure fields)
  48441  mouse coordinates cannot exceed initial desktop size during startup of wineserver
  48471  Mismatching behavior of GetEnvironmentVariableW for empty / long values
  48490  Restored minimized windows have wrong height
  48775  Microsoft Teams 1.3.x crashes on unimplemented function IPHLPAPI.DLL.NotifyRouteChange2
  49105  Deus Ex GOTY fails to start with Direct3D renderer
  49115  Hitman (2016) and Hitman 2 (2018) fail to launch in DX11 mode
  49128  Good Company crash on launch
  49130  NVIDIA RTX Voice installer crashes on unimplemented function setupapi.dll.SetupDiGetActualSectionToInstallExW
  49131  wineboot fails to start
  49139  Regression: Wine crashes on startup on FreeBSD >= 5.7
  49140  Windows 10 SDK installer hangs on startup
  49142  Horizontal mouse scroll events (X11 buttons 6 and 7) should not be translated to back/forward events
  49146  Hearts of Iron IV needs api-ms-win-crt-private-l1-1-0.dll._o_sin
  49173  widl generates invalid code for Gecko's ISimpleDOM.idl
  49175  Duplicated checking canonicalized inside kernelbase/path.c
  49200  Steam hangs after login
  49203  Possible incorrect usage >= instead <= in shlview.c


Changes since 5.8:

Akihiro Sagawa (3):
      po: Update Japanese translation.
      winegstreamer: Unref the GstCaps object in init_new_decoded_pad().
      strmbase: Allow NULL pin_get_media_type() callback in source_Connect().

Alex Henrie (8):
      ntdll: Implement RtlIpv6StringToAddress(Ex)[AW].
      iphlpapi: Implement ParseNetworkString for IPv6 addresses and services.
      ws2_32/tests: Put WSAStringToAddress tests in tables.
      ws2_32: Reimplement WSAStringToAddress on top of ntdll functions.
      ws2_32: Set WSAEINVAL in InetPtonW if the address string is unparsable.
      ws2_32: Reimplement inet_pton on top of ntdll functions.
      ws2_32/tests: Fix typos in test_WSAStringToAddress.
      ws2_32: Don't set output length in WSAStringToAddress on error.

Alexandre Julliard (54):
      ntdll/tests: Enable RtlDowncaseUnicodeString() test.
      ntdll: Add a few printf functions.
      ntdll: Merge new features from msvcrt's printf implementation.
      ntdll: Implement RtlFormatMessage().
      ntdll/tests: Add some printf tests.
      ntdll/tests: Add tests for RtlFormatMessage().
      kernelbase: Reimplement FormatMessageA/W using RtlFormatMessage().
      kernel32/tests: Add some tests for FormatMessageA/W buffer sizes.
      attrib: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
      cmd: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
      net: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
      reg: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
      regedit: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
      regsvr32: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
      uninstaller: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
      xcopy: FormatMessage() now reports ERROR_NO_WORK_DONE error for empty string.
      ntdll: Initialize server directory on macOS when sending Mach port.
      ntdll: Fix __sync_bool_compare_and_swap() usage.
      ntdll: Handle already relocated .dynamic entries.
      winegcc: Allow the output file to end in .so.
      makefiles: Add support for building Unix .so libraries.
      ntdll: Initial version of the Unix library.
      ntdll: Allow to be loaded before wine_init() has run.
      ntdll: Set up virtual memory layout in the Unix library.
      loader: Try to load before libwine initialization.
      ntoskrnl.exe: Avoid a few more ntdll forwards.
      ntdll: Move the mmap reserved area functions to the Unix library.
      ntdll: Store reserved areas in the Unix library.
      ntdll: Move the debug functions to the Unix library.
      ntdll: Move the Wine version functions to the Unix library.
      ntdll: Do the pre-exec checks in the Unix library.
      ntdll: Store main() arguments in the Unix library.
      ntdll: Move configuration paths setup to the Unix library.
      ntdll: Move the wineloader exec support to the Unix library.
      ntdll: Don't use libwine during the Unix library initialization.
      ntdll: Move the wineserver exec support to the Unix library.
      ntdll: Move the Unix codepage initialization to the Unix library.
      ntdll: Move setting the process name to the Unix library.
      wineboot: Use wide character string literals.
      include: Update the KUSER_SHARED_DATA structure.
      ntdll: Make the windows directory a global variable.
      ntdll: Add some more CPU feature flags.
      ntdll: Centralize initialization of the user shared data.
      ntdll: Use the user shared data to implement NtGetTickCount().
      ntdll: Use the user shared data to implement RtlQueryUnbiasedInterruptTime().
      kernelbase: Move WaitOnAddress implementation to sync.c.
      kernelbase: Use the user shared data to implement GetTickCount().
      kernel32: Use the user shared data to implement GetTickCount().
      kernel32: Move GetProcessTimes() implementation to kernelbase and ntdll.
      kernel32: Move GetSystemTimes() implementation to kernelbase.
      ntdll: Implement SystemTimeAdjustmentInformation class.
      kernel32: Move Get/SetSystemTimeAdjustment to kernelbase.
      kernel32: Move the *PreferredUILanguages functions to kernelbase and ntdll.
      ntdll: Silence a va_start compiler warning.

Alistair Leslie-Hughes (2):
      shell32: Correct if condition.
      loader: http.sys belongs in the driver directory.

Alon Barzilai (1):
      ntdll: Add missing RtlQueryEnvironmentVariable function.

André Hentschel (1):
      ntdll: Fix SystemRecommendedSharedDataAlignment on ARM.

Aurimas Fišeras (1):
      po: Update Lithuanian translation.

Austin English (1):
      mshtml: Mark tests that need wine-gecko as todo on arches without it.

Biswapriyo Nath (2):
      include/dwrite_1.idl: Fix typo in DWRITE_PANOSE_STROKE_VARIATION symbol name.
      include/dwrite.idl: Fix typo in DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME member name.

Brendan Shanks (1):
      ntdll: Fix length calculation of generated SMBIOS tables.

Charles Davis (8):
      wined3d: Have ARB_fbo imply EXT_packed_depth_stencil.
      winemac.drv: Use InitOnceExecuteOnce to initialize OpenGL.
      preloader: Depend on wine_info.plist.
      d3d11: Implement d3d11_immediate_context_FinishCommandList().
      d3d11: Implement d3d11_immediate_context_GetContextFlags().
      wined3d: Introduce wined3d_device_flush().
      d3d11: Implement d3d11_immediate_context_Flush().
      d3d11: Implement d3d10_device_Flush().

Connor McAdams (4):
      d2d1: Introduce a helper to check for Bézier segments.
      d2d1: Introduce a helper to check for split Bézier segments.
      d2d1: Allow inserting multiple Bézier control points into a figure at once.
      d2d1: Allow appending multiple Bézier control points to a figure at once.

Damjan Jovanovic (2):
      ntdll: Fix ELF initializer address calculations on FreeBSD.
      libwine: Add support for mmap at fixed start addresses on FreeBSD.

Daniel Lehman (1):
      vcruntime140_1: Use return address from catch block routine if not provided by catch block info.

Derek Lesho (2):
      mf/samplegrabber: Attach markers to previously queued sample, not the next.
      mfreadwrite/reader: Add recognition of ftypemp42 mp4 header.

Dmitry Timoshkov (5):
      server: All fields up to CheckSum are mandatory regardless of SizeOfOptionalHeader value.
      ntdll: Don't try to map the PE file past the size of the backing file.
      kernel32: On process entry store PEB address in %ebx.
      kernel32/tests: Add a PE test image that resembles format of some of 8k demos.
      crypt32: pwszContainerName or pwszProvName could be NULL in CRYPT_KEY_PROV_INFO.

Emilio Cobos Álvarez (2):
      widl: Use DECLSPEC_ALIGN in MSVC compatible way for return types too.
      api-ms-win-crt-private-l1-1-0: Implement _o__fileno, _o__setmode, _o__wfopen.

Esme Povirk (7):
      joy.cpl: Add a description.
      gdiplus: Don't set a palette when loading non-indexed images.
      gdiplus: Return an error retrieving the palette for a metafile.
      gdiplus: Add tests for image palette size.
      gdiplus: Implement GdipGetMetafileDownLevelRasterizationLimit.
      gdiplus: Improve GdipSetMetafileDownLevelRasterizationLimit.
      maintainers: Changing my name.

François Gouget (5):
      windowscodecs/tests: Fix the spelling of a couple of variable names.
      msvcrt: Fix a couple of spelling errors in comments.
      wineusb.sys: Fix the spelling of an ERR() message.
      winebus.sys: Fix the spelling of HID_USAGE_SIMULATION_ACCELERATOR.
      rsaenh: Remove an unnecessary reference to wine-devel.

Gabriel Ivăncescu (2):
      winex11.drv: Use a helper to retrieve the decoration rect for managed windows.
      winex11.drv: Fix X11DRV_X_to_window_rect to handle windows smaller than the decoration.

Gijs Vermeulen (10):
      advpack: Extract inf file before installing in ExecuteCab().
      dxgi: Introduce helper to convert between dxgi and wined3d scanline ordering types.
      dwrite: Set ret on unimplemented lookup in opentype_layout_apply_gsub_lookup.
      include: Fix SetupDiGetActualSectionToInstallExA/W definitions.
      setupapi: Add SetupDiGetActualSectionToInstallExA/W.
      winemac: Add default case in isMouseMoveEventType.
      setupapi: Correct SetupDiGetActualSectionToInstall[Ex]A/W .spec file entries.
      advapi32: Set last error directly in GetUserName.
      ucrtbase: Add more _o forwards.
      ntdll: Fix number of arguments passed to mmap_remove_reserved_area in apple_create_wine_thread.

Hans Leidekker (4):
      wbemprox: Fix allocation size.
      crypt32: Recognize 'Microsoft Root Certificate Authority 2010' when verifying the Microsoft root policy.
      crypt32: Microsoft root policy does not include the base policy.
      wbemprox: Get the operating system serial number from the registry.

Henri Verbeet (34):
      wined3d: Introduce WINED3D_BITMAP_SIZE.
      wined3d: Check for a bound compute shader in wined3d_cs_exec_dispatch().
      wined3d: Introduce a SPIR-V shader backend for the Vulkan adapter.
      wined3d: Implement adapter_vk_dispatch_compute().
      wined3d: Implement Vulkan constant buffer descriptors.
      wined3d: Implement Vulkan image shader resource view descriptors.
      wined3d: Implement Vulkan buffer shader resource view descriptors.
      wined3d: Implement Vulkan sampler descriptors.
      wined3d: Implement Vulkan buffer unordered access view descriptors.
      wined3d: Implement Vulkan image unordered access view descriptors.
      wined3d: Implement Vulkan unordered access view counter descriptors.
      wined3d: Implement Vulkan NULL buffer shader resource view descriptors.
      wined3d: Implement Vulkan NULL 1D image shader resource view descriptors.
      wined3d: Implement Vulkan NULL 2D image shader resource view descriptors.
      wined3d: Reference shader resources in wined3d_context_vk_update_descriptors().
      wined3d: Add a supported extensions array to the wined3d_vk_info structure.
      wined3d: Implement Vulkan draws.
      wined3d: Implement indirect Vulkan draws.
      wined3d: Implement indexed Vulkan draws.
      wined3d: Create Vulkan pipeline objects.
      wined3d: Bind Vulkan vertex buffers.
      wined3d: Implement scissor rectangle support for the Vulkan adapter.
      wined3d: Implement blend object support for the Vulkan adapter.
      wined3d: Implement rasterisation object support for the Vulkan adapter.
      wined3d: Store the wined3d primitive type in the wined3d state structure.
      wined3d: Store the wined3d patch vertex count in the wined3d state structure.
      wined3d: Implement different primitive topologies for the Vulkan adapter.
      wined3d: Implement primitive restart for the Vulkan adapter.
      wined3d: Set the correct patch vertex count for the Vulkan adapter.
      wined3d: Implement depth tests and writes for the Vulkan adapter.
      wined3d: Implement stencil tests for the Vulkan adapter.
      wined3d: Implement alpha to coverage multisampling for the Vulkan adapter.
      wined3d: Implement vertex attribute divisors for the Vulkan adapter.
      wined3d: Move the swapchain fps counter to wined3d_cs_exec_present().

Jacek Caban (24):
      dbghelp: Use debuggee environment in search_unix_path.
      notepad: Use int for point size value.
      dmscript: Remove unused function.
      winegcc: Introduce --debug-file option for generating separated symbol files.
      configure: Allow specifying cross debug format.
      makedep: Support split debug for cross compiled modules.
      configure: Check if --disable-stdcall-fixup is supported before using it.
      makedep: Install also generated typelib for installed idl files.
      oleacc.idl: Generate tlb file for importlib.
      winnt.h: Add ARRAYSIZE macro.
      wine/test.h: Remove NAN and INFINITY macros.
      dmusicf.h: Move typedef below enum declarations.
      gdiplusenums.h: Remove PaletteFlags.
      winegcc: Default to ucrtbase.
      configure: Use cross compiler for EXCESS_PRECISION_CFLAGS check when available.
      winegcc: Pass only raw compiler and linker arguments in forward mode.
      include: Add winapifamily.h file.
      include: Avoid redefinition warnings when basetyps.h is used together with winnt.h or objbase.h.
      stdlib.h: Remove _strtold declaration.
      stdlib.h: Provide strtold as an inline wrapper.
      configure: Remove no longer needed -Wno-incompatible-library-redeclaration.
      ucrtbase: Use MSVCRT prefix for __stdio_common_vsprintf implementation.
      math.h: Provide copysign declaration for ucrt.
      math.h: Add scalbn declaration.

Jactry Zeng (6):
      include: Add some interface definitions for axextend.idl.
      qcap/tests: Add interface tests for video capture filter.
      qcap/videocapture: Initialize caps struct.
      qcap/tests: Correct CLSID in aggregation tests of smart tee filter.
      qcap/videocapture: Implement IAMFilterMiscFlags interface.
      qcap/videocapture: Implement IAMVideoControl interface.

Józef Kucia (3):
      wined3d: Introduce a (stub) SPIR-V fixed-function vertex pipe implementation.
      wined3d: Introduce a (stub) SPIR-V fixed-function fragment pipe implementation.
      wined3d: Implement shader_spirv_select().

Louis Lenders (3):
      iphlpapi: Add stub for NotifyRouteChange2.
      setupapi: Add stub for CM_Get_Device_Interface_Alias{A,W}.
      shcore: Return S_OK in SetCurrentProcessExplicitAppUserModelID.

Markus Engel (2):
      user32: Force undefined bits in GetKeyState() and GetKeyboardState() to zero.
      user32/tests: Add more tests for GetKeyState().

Martin Storsjo (5):
      ntdll: Fix arm64 unwind across ELF/PE boundaries.
      ntdll: Pass a nonnull handler_data when continuing after a collided unwind on arm64.
      ntdll: Properly restore x29/x30 for arm64 packed unwind data with local stack.
      ucrtbase: Add tests and fix more zero length __stdio_common_vs[w]printf cases.
      ucrtbase: Extend the printf tests even further.

Michael Stefaniuc (1):
      dmusic: Remove an unused function.

Murray Colpman (1):
      winex11.drv: Interpret mouse 6/7 as horiz scroll.

Nikolay Sivov (40):
      dxgi: Translate DXGI_USAGE_UNORDERED_ACCESS to corresponding wined3d bind flag.
      mf: Add a helper for session commands without parameters.
      mf: Add a helper to set closed state for the session.
      mf: Add a helper to set paused state for the session.
      mf: Move locking from individual command helpers to command callback.
      mf: Serialize session commands.
      mf: Add internal placeholder command for end-of-presentation.
      shlwapi: Forward SHRegDuplicateHKey() to shcore.dll.
      shlwapi: Forward SHRegGetPath() to shcore.dll.
      shlwapi: Forward SHRegSetPath() to shcore.dll.
      shlwapi: Forward SHGetValue() to shcore.dll.
      shlwapi: Forward SHQueryInfoKey() to shcore.dll.
      shlwapi: Forward SHDeleteValueW() to shcore.dll.
      shlwapi: Forward SHSetValue() to shcore.dll.
      shlwapi: Forward SHQueryValueExA() to shcore.dll.
      mf: Add flags field for additional SAR state.
      mf: Avoid unnecessary prerolling calls in SAR.
      mf: Preroll on sink start.
      mf/sar: Implement sample processing.
      mf/sar: Implement stream flushing.
      mf/sar: Use MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS attribute to configure audio client.
      mf/sar: Use MF_AUDIO_RENDERER_ATTRIBUTE_SESSION_ID to initialize audio client.
      mfreadwrite/reader: Consider end-of-stream state when picking stream for MF_SOURCE_READER_ANY_STREAM requests.
      mf/samglegrabber: Dump pending items on shutdown.
      mf/samplegrabber: Remove now unnecessary shutdown state check.
      mf/samplegrabber: Test shutdown state under the lock for methods that modify item queue.
      quartz/dsoundrenderer: Remove dead method call.
      dwrite: Remove feature duplicates before applying them.
      dwrite: Set feature indices before collecting lookups.
      dwrite: Enable 'vert' feature.
      dwrite: Append enabled user features that apply to whole text.
      dwrite: Keep user features values.
      dwrite: Propagate feature mask to lookups collected from it.
      dwrite: Keep track of shaping stage feature applies to.
      dwrite: Set per-glyph feature mask.
      dwrite: Silence warning for name entries with platform 3/encoding 10.
      dwrite: Use mirrored character only if font supports it.
      mf/topology: Setting tee node input type does not create input stream.
      mf/topology: Remove logic already present in stream resize helper.
      include: Add IMFTopologyNodeAttributeEditor definition.

Paul Gofman (4):
      wined3d: Allow setting user memory for mipmapped textures in wined3d_texture_update_desc().
      ntoskrnl.exe: Emulate full user shared data area range.
      ntoskrnl.exe: Support 'or Ev, Gv' opcode for x86_64.
      ntoskrnl.exe: Support 'xor Ev, Gv' opcode for x86_64.

Philip Rebohle (4):
      include: Add IDXGIFactory6.
      dxgi: Implement IDXGIFactory6.
      include: Add IDXGIFactory7.
      dxgi: Add stubs for IDXGIFactory7.

Piotr Caban (1):
      ucrtbase: Add remaining _o_* functions forwards.

Rémi Bernon (4):
      ntdll/tests: Add tests for USD timestamp updates.
      ntdll/tests: Add tests for USD memory basic info.
      server: Add USD support with timestamp updates.
      ntdll: Reduce USD section size to 0x1000.

Stefan Dösinger (2):
      wined3d: Implement Vulkan NULL 3D image shader resource view descriptors.
      wined3d: Implement Vulkan NULL cube image shader resource view descriptors.

Vijay Kiran Kamuju (1):
      include: Add new defines and fix struct WNODE_HEADER.

Vladimir Panteleev (3):
      kernelbase: Preserve last error when GetEnvironmentVariableA succeeds.
      kernelbase: Don't return ERROR_INSUFFICIENT_BUFFER from GetEnvironmentVariableW.
      kernelbase: Fix GetEnvironmentVariableW return for empty variables.

Zebediah Figura (49):
      include: Add dpfilter.h.
      quartz/tests: Fix a test failure on 32-bit Windows.
      quartz/tests: Add some tests for windowless video size.
      quartz: Set VMR9AllocationInfo dimension members to the video dimensions.
      quartz: Get rid of the texture drawing path.
      quartz/vmr9: Get rid of VMR9_SurfaceAllocator_UpdateDeviceReset().
      quartz/vmr9: Perform image stretching in Present() instead of StretchRect().
      quartz/vmr9: Allow the aspect ratio parameters to be NULL in IVMRWindowlessControl9::GetNativeVideoSize().
      quartz/vmr9: Remove a redundant check from VMR9_SurfaceAllocator_InitializeDevice().
      quartz/vmr9: Rename hWndClippingWindow to clipping_window.
      quartz/vmr9: Render to the clipping window in windowless mode.
      quartz/vmr9: Destroy the window when set to windowless or renderless mode.
      quartz/vmr9: Partially implement IVMRFilterConfig9::SetNumberOfStreams().
      quartz/vmr9: Implement IVMRFilterConfig9::GetNumberOfStreams().
      quartz/vmr9: Add IVMRMixerControl9.
      quartz/vmr9: Set the stream count to 4 in IVMRWindowlessControl9::SetVideoClippingWindow().
      quartz/vmr9: Allocate the surface array in allocate_surfaces().
      qcap/tests: Get rid of the VFW capture filter tests.
      devenum: Use calloc() in enum_moniker_create().
      devenum: Use wide string literals.
      quartz/tests: Fix a crash in test_allocate_surface_helper().
      quartz/tests: Test filter mapper interfaces.
      quartz/tests: Fix a leak in test_fm2_enummatchingfilters().
      quartz: Pass the matching filter count to IEnumRegFiltersImpl_Construct().
      devenum: Return filter data for DMO monikers.
      quartz/tests: Test enumerating DMOs.
      quartz/tests: Fix a crash in test_renderless_formats().
      quartz/tests: Fix a test failure in Windows 7 and higher.
      quartz/tests: Relax an intermittently failing test.
      quartz/filtergraph: Get rid of tracing for outer IUnknown methods.
      shell32/tests: Add more tests for IShellWindows.
      explorer: Implement IShellWindows::Register() and IShellWindows::Revoke().
      explorer: Implement IShellWindows::OnNavigate().
      explorer: Implement IShellWindows::FindWindowSW() for non-desktop windows.
      explorer: Look for an existing window browsing the given path first.
      quartz: Complain louder if a filter reports the wrong state.
      quartz: Implement IMediaControl::StopWhenReady().
      ntdll: Remove extraneous newline from debugstr_ObjectAttributes().
      d3dcompiler: Synthesize a variable when subscripting a non-deref node.
      d3dcompiler: Synthesize a variable when indexing a non-deref node.
      d3dcompiler: Do not store matrix and vector indexes as deref instructions.
      include: Add asferr.h.
      quartz/tests: Move the test for filter mapper aggregation to filtergraph.c.
      quartz: Merge enumregfilters.c into filtermapper.c.
      quartz: Merge enummoniker.c into filtermapper.c.
      wine.inf: Install some driver libraries in the system32/drivers subdirectory.
      ntoskrnl.exe: Protect the two relocated pages independently.

Zhiyi Zhang (21):
      dxgi: Search all adapters for the containing output of a swapchain.
      ddraw/tests: Test window position.
      d3d8/tests: Test window position.
      d3d9/tests: Test window position.
      ddraw/tests: Add get display mode tests.
      d3d8/tests: Add more get display mode tests.
      d3d9/tests: Add more get display mode tests.
      winex11.drv: Resize desktop upon display change events.
      winex11.drv: Move update_windows_on_desktop_resize().
      dxgi/tests: Test IDXGISwapChain_GetContainingOutput() after Alt+Enter.
      d3d8: Store a struct d3d8 in struct d3d8_device.
      wined3d: Specify a wined3d output for swapchain creation.
      wined3d: Determine output from window position in wined3d_hook_proc().
      wined3d: Get output from swapchain state.
      kernelbase: Check NULL canonicalized_len parameter in UrlCanonicalizeW().
      shlwapi/tests: Test NULL UrlCanonicalizeA/W() parameters.
      wined3d: Move device window to the correct output when handling WM_ACTIVATEAPP with full screen swapchains.
      wined3d: Restore display mode for the previous output before changing to another output.
      wined3d: Remove no longer needed output parameter in wined3d_swapchain_state_set_fullscreen().
      dxgi: Remove dxgi_swapchain_set_fullscreen_state().
      wined3d: Remove no longer needed output parameter in wined3d_swapchain_state_resize_target().

Ziqing Hui (3):
      windowscodecs/tests: Add tests for IWICDdsDecoder_GetParameters().
      windowsccodecs: Implement DdsDecoder_Dds_GetParameters().
      windowscodecs/tests: Add tests for DdsDecoder_GetFrame() and DdsFrameDecode_GetSize().

Alexandre Julliard