Wine-Announce
By message
wine-announce@list.winehq.org
By month
Threads by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 698 discussions
The Wine development release 9.9 is now available.
What's new in this release:
- Support for new Wow64 mode in ODBC.
- Improved CPU detection on ARM platforms.
- Removal of a number of obsolete features in WineD3D.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.9.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.9/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.9 (total 38):
- #25009 Password Memory 2010 - Titlebar color rendering error
- #26407 Shadowgrounds Survivor crashes after viewing the map
- #26545 Crysis2: Red color on highlights of Bumpmap/Specular Highlights
- #27745 Racer is unplayable
- #28192 regedit: The usage message arrives too late in the wine console
- #29417 Mouse pointer laggy/slow in Dweebs and Dweebs 2 when virtual desktop mode is enabled
- #31665 Femap unexpected crash on rebuild database (or any command that involves it i.e. import)
- #32346 Window is too large with Batman and Head Over Heels remakes
- #39532 Assassin's Creed Unity doesn't run
- #40248 Some .NET applications throw unhandled exception: System.NotImplementedException: 'System.Management.ManagementObjectSearcher.Get' when using Wine-Mono
- #44009 Syberia Gog version: crash after cinematics
- #44625 Cybernoid 2 exits but x window drawing updates are frozen
- #44863 Performance regression in Prince of Persia 3D
- #45358 Assassin's Creed Syndicate (AC Unity; AC Odyssey) broken graphics
- #49674 Feature Request: Restoring previous resolution upon an app crashing
- #51200 High repaint label volume causes freezing
- #53197 Total War: Shogun 2 crashes on unimplemented function d3dx11_42.dll.D3DX11LoadTextureFromTexture
- #55513 Paint.NET 3.5.11 runs unstable on Wine 8.x (and later) because of a bug in Mono
- #55939 Moorhuhn Director's Cut crashes after going in-game
- #56000 Window title is not set with winewayland
- #56422 Exact Audio Copy installer crashes
- #56429 Applications crash with BadWindow X error
- #56483 ShellExecute changes in Wine 9.5 broke 64-bit Winelib loading in WoW64 builds
- #56485 Visual novel RE:D Cherish! displays white screen instead of logo video
- #56492 Opentrack/TrackIR head tracking broken
- #56498 Incorrect substring expansion for magic variables
- #56506 strmbase TRACEs occasionally fail to print floats
- #56527 Final Fantasy XI Online: Opening movie triggers a 'GStreamer-Video-CRITICAL'.
- #56579 Setupapi fails to read correct class GUID and name from INF file containing %strkey% tokens
- #56588 FlatOut 1 display resolution options limited to current desktop resolution using old wow64
- #56595 Fallout 3 is slow
- #56607 steam: no tray icon starting with wine 9.2
- #56615 Spelunky won't start (GLSL version 1.20 is too low; 1.20 is required)
- #56653 GetLogicalProcessorInformation can be missing Cache information
- #56655 X11 Driver fails to load
- #56661 Project Diablo 2 crashes
- #56671 Disney Ratatouille demo renders upside down on Intel graphics
- #56682 msvcrt:locale prevents the msvcrt:* tests from running on Windows 7
### Changes since 9.8:
```
Akihiro Sagawa (2):
quartz/tests: Test read position after MPEG splitter connection.
winegstreamer: Seek to the end after MPEG splitter connection.
Alex Henrie (1):
dinput: Don't include every version of DirectInputCreate in every DLL.
Alexandre Julliard (38):
nls: Update locale data to CLDR version 45.
winedump: Dump registry scripts resources as text.
winedump: Dump typelib resources in structured format.
atl: Remove empty clsid registration.
dhtmled.ocx: Remove empty clsid registration.
widl: Don't generate empty interface registrations.
ntdll: Use null-terminated strings instead of explicit lengths to build SMBIOS data.
ntdll: Cache the generated SMBIOS data.
ntdll: Build the SMBIOS table incrementally.
ntdll: Generate dummy SMBIOS data on non-supported platforms.
ntdll: Store the CPU vendor and id during detection.
ntdll: Add processor information to the SMBIOS data.
configure: Restore warning for missing PE compiler.
ntdll: Report the correct processor details on ARM platforms.
ntdll: Update PROCESSOR_ARCHITECTURE variable correctly for ARM platforms.
wineboot: Create CPU environment keys together with other hardware keys.
wineboot: Get the CPU model details with NtQuerySystemInformation(SystemCpuInformation).
wineboot: Report the correct model number on ARM platforms.
wineboot: Support multiple SMBIOS entries of the same type.
wineboot: Retrieve CPU details through the SMBIOS table.
winemac.drv: Remove some no longer used code.
wbemprox: Get the processor caption from the registry.
wbemprox: Support multiple SMBIOS entries of the same type.
wbemprox: Get the processor manufacturer from the SMBIOS table.
wbemprox: Get the processor name from the SMBIOS table.
wbemprox: Get the processor count from the SMBIOS table.
wbemprox: Get the processor id from the SMBIOS table.
wbemprox: Get a few more processor details from the SMBIOS table.
wbemprox: Get the processor type and model with SystemCpuInformation.
wbemprox: Use RtlGetNativeSystemInformation directly to get the correct info on ARM platforms.
msvcrt/tests: Don't link to _setmaxstdio.
msvcrt: Update some mangled names on ARM.
ntdll: Add default values for cache parameters.
msvcrt: Resync cxx.h with msvcp90.
msvcrt: Unify __CppXcptFilter implementations.
msvcrt: Unify __CxxQueryExceptionSize implementations.
msvcrt: Unify __CxxDetectRethrow implementations.
msvcrt: Unify checks for valid C++ exception.
Alexandros Frantzis (3):
win32u: Enable dibdrv wglDescribePixelFormat through p_get_pixel_formats.
user32/tests: Skip affected keyboard tests if a spurious layout change is detected.
user32/tests: Remove workaround for SendInput keyboard tests on zh_CN.
Alistair Leslie-Hughes (1):
include: Add some D3D12_FEATURE_DATA_D3D12_OPTIONS* types.
Anton Baskanov (2):
winegstreamer: Recognize MFAudioFormat_MPEG and MFAudioFormat_MP3.
winegstreamer: Add missing format fields to WMA support check.
Billy Laws (2):
ntdll: Allocate wow64 environment block within the 32-bit address space.
ntdll: Don't restore PC from LR after unwinding through frame switches.
Biswapriyo Nath (1):
include: Avoid a C++ keyword.
Brendan McGrath (3):
winex11.drv: Increment mode_idx in {xrandr10,xf86vm}_get_modes.
winegstreamer: Pass filename to wg_parser when available.
mplat/tests: Test Media Source is freed if immediately released.
Brendan Shanks (1):
winemac.drv: Fix warning in macdrv_get_pixel_formats.
Connor McAdams (4):
d3dx9/tests: Add a test for negative values in the source rectangle passed to D3DXLoadSurfaceFromMemory.
d3dx9/tests: Add a new compressed surface loading test.
d3dx9: Only do direct copies of full blocks for compressed formats.
d3dx9: Fix destination rectangles passed from D3DXLoadSurfaceFromMemory() to d3dx_load_image_from_memory().
Daniel Lehman (2):
msvcrt/tests: Add result for Turkish_Türkiye.1254.
msvcrt/tests: Add tests for _wcsicmp_l.
Dmitry Timoshkov (2):
kernelbase: Add support for FileDispositionInfoEx to SetFileInformationByHandle().
user32/tests: Offset child CS_PARENTDC window from parent to make more bugs visible.
Elizabeth Figura (38):
wined3d: Retrieve the VkCommandBuffer from wined3d_context_vk after executing RTV barriers.
wined3d: Submit command buffers after 512 draw or dispatch commands.
ddraw: Use system memory for version 4 vertex buffers.
ddraw: Upload only the used range of indices in d3d_device7_DrawIndexedPrimitive().
ddraw/tests: Test GetVertexBufferDesc().
wined3d: Fix GLSL version comparison.
maintainers: Change the full form of my name.
wined3d: Remove the offscreen_rendering_mode setting.
wined3d: Use wined3d_resource_is_offscreen() directly in ffp_blitter_clear_rendertargets().
wined3d: Remove no longer used support for drawing to an onscreen render target.
wined3d: Remove the no longer used render_offscreen field from struct ds_compile_args.
wined3d: Remove the no longer used Y correction variable.
d3d9/tests: Clarify and expand point size tests.
d3d9/tests: Expand test_color_vertex().
d3d9/tests: Add some tests for default diffuse values.
d3d9/tests: Test default attribute components.
wined3d: Remove the GL FFP vertex pipeline.
wined3d: Remove the GL FFP fragment pipeline.
wined3d: Remove the NV_register_combiners fragment pipeline.
wined3d: Remove the ATI_fragment_shader fragment pipeline.
wined3d: Remove the ARB_fragment_program blitter.
wined3d: Remove the ARB fragment pipeline.
wined3d: Remove the ARB shader backend.
amstream: Link to msvcrt instead of ucrtbase.
evr: Link to msvcrt instead of ucrtbase.
qasf: Link to msvcrt instead of ucrtbase.
qcap: Link to msvcrt instead of ucrtbase.
qdvd: Link to msvcrt instead of ucrtbase.
qedit: Link to msvcrt instead of ucrtbase.
quartz: Link to msvcrt instead of ucrtbase.
winegstreamer: Link to msvcrt instead of ucrtbase.
wined3d: Remove no longer used support for emulated non-power-of-two textures.
wined3d: Remove no longer used support for rectangle textures.
wined3d: Remove texture non-power-of-two fixup.
wined3d: Remove the last vestiges of ARB_texture_rectangle support.
wined3d: Collapse together NPOT d3d_info flags.
wined3d: Remove the redundant "pow2_width" and "pow2_height" fields.
wined3d: Fix inversion in shader_get_position_fixup().
Eric Pouech (19):
cmd/tests: Test using %%0-%%9 as loop variables.
cmd/tests: Test nested loop variables expansion.
cmd/tests: Test delayed expansion with spaces in IF and FOR.
cmd/tests: Test calling batch files named as builtin commands.
cmd/tests: Test success/failure of commands.
cmd: Consistenly use the same variable to identify current command.
cmd: No longer keep track of last element in command list.
cmd: Introduce xrealloc helper.
cmd: Use CRT's popen instead of rewriting it.
cmd: Remove malloc attribute from xrealloc.
cmd: Introduce CMD_NODE structure.
cmd: Add helpers to handle list in degenerated binary tree.
cmd: Move operator from CMD_COMMAND to CMD_NODE.
msvcrt: Demangle std::nullptr_t datatype.
winedump: Demangle std::nullptr_t datatype.
msvcrt: Don't consider end of list encoding as real data types.
winedump: Don't consider end of list encoding as real data types.
msvcrt: Correctly unmangle qualified pointer to function/method.
winedump: Correctly unmangle qualified pointer to function/method.
Esme Povirk (20):
gdiplus: Add a function to bracket HDC use.
gdiplus: Bracket HDC use in gdi_alpha_blend.
gdiplus: Bracket HDC use in alpha_blend_pixels_hrgn.
gdiplus: Bracket hdc use in brush_fill_path.
gdiplus: Bracket HDC use in draw_cap.
gdiplus: Bracket HDC use in draw_poly.
gdiplus: Bracket HDC use in trace_path.
gdiplus: Do not use hdc directly in get_graphics_bounds.
gdiplus: Accept an HDC in get_gdi_transform.
gdiplus: Fix background key.
gdiplus: Bitmap stride is ignored when Scan0 is non-NULL.
gdiplus: Support anchors on thin paths.
gdiplus: Remove unnecessary math in add_anchor.
gdiplus: Fix signs on custom line cap rotation in add_anchor.
gdiplus: Reorder filled arrow cap points to match native.
gdiplus: Add a test for GdipWidenPath with Custom linecaps.
gdiplus: Do not create gdi32 objects for Bitmap objects.
gdiplus: Bracket HDC use in GdipDrawImagePointsRect.
gdiplus: Bracket HDC use in GDI32_GdipFillPath.
gdiplus: Bracket HDC use in GDI32_GdipFillRegion.
Fabian Maurer (2):
win32u: Factor out scroll timer handling.
win32u: Only set scroll timer if it's not running.
Fotios Valasiadis (1):
ntdll/unix: Fix building on musl by explicitly including asm/ioctls.h.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.285.
Hans Leidekker (8):
odbc32: Forward SQLDataSourcesA() to SQLDataSources() and GetDiagRecA() to GetDiagRec().
odbc32: Make Unix call parameters Wow64 compatible.
odbc32: Load_odbc() returns NTSTATUS.
odbc32: Move replication of ODBC settings to the Unix lib.
odbc32: Add Wow64 thunks.
include: Add missing Unicode SQL function declarations.
odbc32: Don't load libodbc.so dynamically.
odbc32/tests: Add tests.
Hongxin Zhao (1):
po: Add a missing \t in the Simplified Chinese translation.
Huw D. M. Davies (3):
nsi/tests: Use NSI_IP_COMPARTMENT_TABLE instead of hard coding the integer.
mmdevapi: Remove unused ACImpl typedef.
maintainers: Remove Andrew Eikum.
Jacek Caban (25):
winecrt0: Support __os_arm64x_dispatch_call symbol on ARM64EC.
d3dx9/tests: Remove xfile dumping functionality.
mshtml: Introduce DISPEX_IDISPATCH_IMPL.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlnode.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlbody.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlanchor.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlarea.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlattribute.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlcomment.c.
mshtml: Use DISPEX_IDISPATCH_IMPL in htmlcurstyle.c.
mshtml: Use DISPEX_IDISPATCH_IMPL for DocumentType object implementation.
winebuild: Use .drectve section for exports on ARM64EC.
mshtml: Use DISPEX_IDISPATCH_IMPL for HTMLElement object implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlelem.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlelemcol.c.
mshtml: Use DISPEX_IDISPATCH_IMPL for HTMLEventObj object implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlevent.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlform.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlframe.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlgeneric.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlhead.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlimg.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmlinput.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmllink.c.
mshtml: Use DISPEX_IDISPATCH_IMPL macro in htmllocation.c.
Nikolay Sivov (7):
d2d1/tests: Add a test for effect output image interface query.
d2d1/effect: Fix GetImageLocalBounds() prototype.
d2d1/tests: Add some vertex buffer tests.
d2d1/effect: Use more generic naming for loaded shaders array.
d2d1/effect: Add a stub vertex buffer object.
d2d1/effect: Implement SetPassthroughGraph().
d2d1/effect: Implement ConnectNode().
Paul Gofman (7):
xaudio2: Use FAudioVoice_DestroyVoiceSafeEXT() in destroy_voice().
bcrypt: Support RSA/PKCS1 signatures with unspecified hash algorithm.
win32u: Update last message time in NtUserGetRawInputBuffer().
ntdll: Allocate crit section debug info by default for Windows versions before 8.
opengl32: Prefer formats with depth if unspecified in wglChoosePixelFormat().
xaudio2/tests: Fix test failures with xaudio2_8 in test_submix().
nsiproxy.sys: Return success and zero count from ipv6_forward_enumerate_all() if IPV6 is unsupported.
Piotr Caban (4):
ucrtbase: Handle empty list in variadic template.
winedump: Handle empty list in variadic template.
msvcrt/tests: Don't link to _wcsicmp_l and _create_locale.
ntdll: Don't use gmtime concurrently.
Rémi Bernon (37):
winex11: Only request display modes driver data when needed.
win32u: Read / write source modes as a single registry blob.
win32u: Remove now unnecessary reset_display_manager_ctx.
win32u: Use struct pci_id in struct gdi_gpu.
win32u: Remove driver-specific id from struct gdi_gpu.
win32u: Pass gdi_gpu structure members as add_gpu parameters.
win32u: Return STATUS_ALREADY_COMPLETE from UpdateDisplayDevices.
mfreadwrite/tests: Add some source reader D3D11 awareness tests.
mf/tests: Test video processor D3D11 awareness.
winegstreamer/video_processor: Implement D3D awareness.
mfreadwrite/reader: Pass the device manager to the stream transforms.
winegstreamer: Introduce a new wg_transform_create_mf helper.
winegstreamer: Introduce a new check_audio_transform_support helper.
winegstreamer: Introduce a new check_video_transform_support helper.
mfplat: Fix MFCreateMFVideoFormatFromMFMediaType videoInfo.VideoFlags masks.
mfplat: Use IMFMediaType_GetBlobSize instead of IMFMediaType_GetBlob.
mfplat: Introduce a new init_video_info_header helper.
mfplat: Use media_type_get_uint32 in more places.
mfplat: Factor AM_MEDIA_TYPE video format allocation.
mfplat: Set AM_MEDIA_TYPE bTemporalCompression and bFixedSizeSamples.
mfplat: Implement FORMAT_MPEGVideo for MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement FORMAT_MPEG2Video for MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement MFInitMediaTypeFromMPEG1VideoInfo.
mfplat: Implement MFInitMediaTypeFromMPEG2VideoInfo.
mfplat: Implement MFCreateVideoMediaType.
winebus: Don't advertise hidraw devices as XInput compatible.
winebus: Report whether devices are connected over bluetooth.
winebus: Move Sony controllers report fixups to PE side.
mfreadwrite/reader: Shutdown the queue when public ref is released.
mfplat: Add MFVideoFormat_ABGR32 format information.
mf/tests: Add video processor tests with MFVideoFormat_ABGR32 format.
mfreadwrite/tests: Add tests with MFVideoFormat_ABGR32 output format.
winegstreamer: Support MFVideoFormat_ABGR32 output in the video processor.
mfreadwrite/reader: Fixup MFVideoFormat_ABGR32 subtype to enumerate the video processor.
win32u: Set DEVMODEW dmSize field.
wineandroid: Set DEVMODEW dmSize field.
winemac: Set DEVMODEW dmSize field.
Tim Clem (7):
mountmgr.sys: Do not create drive letters or volumes for unbrowsable macOS volumes.
mountmgr.sys: Do not add drive letters or volumes for macOS volumes without mount paths.
winemac.drv: Document mode_is_preferred.
winemac.drv: Prefer display modes that are marked as usable for desktop.
winemac.drv: Do not consider the "valid" and "safe" flags as making a display mode unique.
Revert "winemac.drv: Hide app's dock icon when it wouldn't have a taskbar item on Windows.".
winemac.drv: Exclude dictation when looking for input methods.
Yuxuan Shui (3):
rtworkq: Avoid use-after-free.
mfplat/tests: Validate MFCancelWorkItem releases the callback.
rtworkq: Release cancelled work items.
Ziqing Hui (1):
winegstreamer/video_decoder: Make output_plane_align specific to h264.
```
1
0
The Wine development release 9.8 is now available.
What's new in this release:
- Mono engine updated to version 9.1.0.
- IDL-generated files use fully interpreted stubs.
- Improved RPC/COM support on ARM platforms.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.8.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.8/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.8 (total 22):
- #3689 Microsoft Office 97 installer depends on stdole32.tlb be in v1 (SLTG) format
- #33270 Cursor disappears during Installshield install
- #37885 Battle.net launcher fails to set permissions on WoW files
- #38142 Approach fields box only show 3/4 of one line
- #44388 gldriverquery.exe crash on wineboot and company of heroes says no 3d
- #45035 Buttons of the Radiosure program are missing
- #46455 Desktop syncing app for Remarkable devices crashes on startup
- #47741 Lotus Approach: Initial "Welcome" dialog not shown on startup
- #51361 SimSig with Wine 6.18 breaks after upgrading from libxml2 2.9.10 to 2.9.12
- #54997 msys2: gpg.exe fails because "NtSetInformationFile Unsupported class (65)" / FileRenameInformationEx
- #55736 Solid Edge crashes after a couple of minutes
- #55844 Paper tray options missing. Landscape orientation is ignored
- #56041 iZotope Product Portal crashes
- #56248 VTFEdit: Exception When Loading .VTF Files
- #56309 Across Lite doesn't show the letters properly when typing
- #56324 Falcon BMS launcher fails to start (native .Net 4.6.1 needed)
- #56407 SaveToGame hangs during DWM initialization
- #56472 Recettear opening movie blackscreen in Wine 9.5
- #56581 Corsair iCUE 4: needs unimplemented function SHELL32.dll.SHAssocEnumHandlersForProtocolByApplication
- #56598 Calling [vararg] method via ITypeLib without arguments via IDispatch fails
- #56599 HWMonitor 1.53 needs unimplemented function pdh.dll.PdhConnectMachineA
- #56609 vcrun2008 fails to install
### Changes since 9.7:
```
Aida Jonikienė (1):
msvcp140_atomic_wait: Implement __std_*_crt().
Akihiro Sagawa (3):
quartz/tests: Add tests to reject unsupported contents for MPEG splitter.
winegstreamer: Reject unexpected formats on init.
winegstreamer: Implement input media type enumeration in MPEG splitter.
Alex Henrie (3):
setupapi: Don't set RequiredSize when SetupDiGetClassDescription* fails.
shell32: Add SHAssocEnumHandlersForProtocolByApplication stub.
pdh: Add PdhConnectMachineA stub.
Alexandre Julliard (57):
include: Update a couple of RPC structures.
rpcrt4: Add a wrapper for client calls from stubless proxies.
rpcrt4: Move the FPU register conversion to the stubless proxy wrapper.
rpcrt4: Remap registers to the stack for stubless proxies on ARM platforms.
rpcrt4: Stop passing the actual FPU regs pointer to client call functions.
rpcrt4: Remove obsolete version comments from spec file.
rpcrt4: Fix stack alignment and by-value parameters for typelibs on ARM platforms.
rpcrt4: Generate the parameter extension data for typelibs on ARM platforms.
rpcrt4: Extend 8- and 16-bit parameters on ARM.
oleaut32: Extend 8- and 16-bit parameters on ARM.
rpcrt4: Use fully interpreted IDL stubs.
rpcrt4/tests: Use fully interpreted IDL stubs.
schedsvc: Use fully interpreted IDL stubs.
schedsvc/tests: Use fully interpreted IDL stubs.
sechost: Use fully interpreted IDL stubs.
taskschd: Use fully interpreted IDL stubs.
ntoskrnl.exe: Use fully interpreted IDL stubs.
plugplay: Use fully interpreted IDL stubs.
rpcss: Use fully interpreted IDL stubs.
services: Use fully interpreted IDL stubs.
ntdll/tests: Remove unnecessary shared header.
dbghelp: Ignore a couple of Dwarf-3 opcodes.
oleaut32: Fix IDispatch::Invoke for vararg functions with empty varargs.
systeminfo: Pass proper Unicode strings to fwprintf.
avifil32: Use fully interpreted IDL stubs.
combase: Use fully interpreted IDL stubs.
dispex: Use fully interpreted IDL stubs.
ia2comproxy: Use fully interpreted IDL stubs.
ieproxy: Use fully interpreted IDL stubs.
mscftp: Use fully interpreted IDL stubs.
makefiles: Support building files for x86-64 architecture on ARM64EC.
rpcrt4: Move the stubless client thunks to a separate file.
rpcrt4: Move the stubless delegating thunks to a separate file.
rpcrt4: Move call_server_func() to a separate file.
msdaps: Use fully interpreted IDL stubs.
msi: Use fully interpreted IDL stubs.
mstask: Use fully interpreted IDL stubs.
netapi32: Use fully interpreted IDL stubs.
oleacc: Use fully interpreted IDL stubs.
sti: Use fully interpreted IDL stubs.
urlmon: Use fully interpreted IDL stubs.
windowscodecs: Use fully interpreted IDL stubs.
actxprxy: Use fully interpreted IDL stubs.
ole32: Use fully interpreted IDL stubs.
oleaut32: Use fully interpreted IDL stubs.
qmgrprxy: Use fully interpreted IDL stubs.
quartz: Use fully interpreted IDL stubs.
widl: Fix correlation offset for unencapsulated unions in interpreted mode.
widl: Default to fully interpreted stubs mode.
oleaut32: Move the call_method thunk to a separate file.
vcomp: Move the fork wrapper to a separate file.
vcomp: Fix stack alignment in the fork wrapper on ARM.
ntdll: Build __chkstk as x86-64 code on ARM64EC.
ntdll: Generate stub entry points as x86-64 code on ARM64EC.
faudio: Import upstream release 24.05.
fluidsynth: Import upstream release 2.3.5.
png: Import upstream release 1.6.43.
Alexandros Frantzis (9):
winex11.drv: Rename wgl_pixel_format to glx_pixel_format.
opengl32: Implement wglDescribePixelFormat using new driver API get_pixel_formats.
opengl32: Cache driver pixel format information.
winewayland.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
winex11.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
winex11.drv: Remove unnecessary parameter from describe_pixel_format.
winemac.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
wineandroid.drv: Rename wgl_pixel_format to avoid name conflicts.
wineandroid.drv: Enable wglDescribePixelFormat through p_get_pixel_formats.
Alfred Agrell (1):
include: Use the correct GUID for DXFILEOBJ_PatchMesh.
Alistair Leslie-Hughes (2):
include: Add atldef.h.
windowscodecs: Avoid implicit cast changing value.
Anton Baskanov (3):
user32/tests: Test that display settings are restored on process exit.
winex11.drv: Process RRNotify events in xrandr14_get_id.
explorer: Restore display settings on process exit.
Billy Laws (1):
winevulkan: Allocate commited memory for placed mappings.
Brendan McGrath (4):
winegstreamer: Pass uri to wg_parser when available.
winegstreamer: Respond to the URI query.
winegstreamer: Fix wow64 support for wg_parser_connect.
winegstreamer: Log query after setting the URI.
Brendan Shanks (2):
widl: Use hardcoded build time in TLB custom data.
winemac.drv: Fix use-after-free in macdrv_copy_pasteboard_types.
Danyil Blyschak (1):
mfreadwrite: Store result of object activation in stream transform.
Dmitry Timoshkov (11):
widl: Make automatic dispid generation scheme better match what midl does.
widl: Create library block index right after the CompObj one.
widl: Set the lowest bit in the param name to indicate whether type description follows the name.
widl: Add support for function parameter flags to SLTG typelib generator.
widl: Fix calculation of the SLTG library block size.
stdole32.tlb: Generate typelib in SLTG format.
include: Add _Inout_cap_c_(count) macro.
include: Move InterlockedExchangeAdd64() definition before its first usage.
dssenh: Add CPSetKeyParam() stub implementation.
rsaenh: Validate pbData in CPSetKeyParam().
advapi32: CryptSetKeyParam() should accept NULL pbData.
Esme Povirk (4):
mscoree: Update Wine Mono to 9.1.0.
user32/tests: Add a flag for messages incorrectly sent by Wine.
user32/tests: Remove a no-longer needed optional flag.
windowscodecs: Check for overflow in jpeg_decoder_initialize.
Etaash Mathamsetty (2):
user32: Fake success from RegisterTouchWindow.
user32: Fake success from UnregisterTouchWindow.
Evan Tang (2):
user32/tests: Check RegisterRawInputDevices RIDDEV_DEVNOTIFY posted messages.
win32u: Post device arrival messages in NtUserRegisterRawInputDevices.
Gopal Prasad (2):
winewayland.drv: Set wayland app-id from the process name.
winewayland.drv: Implement SetWindowText.
Hans Leidekker (2):
wintrust: Add support for the PE image hash in CryptCATAdminCalcHashFromFileHandle().
msi: Install global assemblies after install custom actions and before commit custom actions.
Henri Verbeet (3):
wined3d: Pass a shader_glsl_priv structure to shader_glsl_generate_fragment_shader().
wined3d: Pass a shader_glsl_priv structure to shader_glsl_generate_compute_shader().
wined3d: Introduce the "glsl-vkd3d" shader backend.
Jacek Caban (1):
mshtml: Move iface_wrapper_t IUnknown implementation to htmlobject.c.
Kirill Zhumarin (1):
ntdll: Use termios2 for serial when possible.
Matteo Bruni (9):
wined3d: Rename WINED3DUSAGE_PRIVATE to WINED3DUSAGE_CS.
d3d9: Don't do instanced draws in DrawPrimitive() and DrawPrimitiveUP().
wined3d: Don't skip FFP projection transform update.
wined3d: Don't override texture parameters for COND_NP2 on multisample textures.
d3d9/tests: Skip test_sample_attached_rendertarget() without pixel shaders support.
wined3d: Conditionally support WINED3D_FRAGMENT_CAP_SRGB_WRITE on the ffp fragment pipe.
wined3d: Conditionally allow sRGB writes with the 'none' shader backend.
d3d9/tests: Don't create a vertex shader in test_desktop_window() when unsupported.
d3d9/tests: Test creating a texture on a NULL HWND device.
Michael Bond (1):
shell32/shellpath: Fix UserPinned and QuickLaunch KnownFolderPaths.
Nikolay Sivov (4):
d2d1: Update to ID2D1Factory7.
d2d1: Update to ID2D1DeviceContext6.
d2d1: Update to ID2D1Device6.
d2d1: Implement newer CreateDeviceContext() methods.
Paul Gofman (12):
ntdll: Remove entries from queue in RtlWakeAddressAll().
ntdll: Pre-check entry->addr before taking a spin lock in RtlWaitOnAddress().
crypt32: Mind constructor tag in CRYPT_AsnDecodeOCSPSignatureInfoCertEncoded().
cryptnet: Do not use InternetCombineUrlW() in build_request_url().
ntdll/tests: Add tests for CONTEXT_EXCEPTION_REQUEST.
ntdll: Set exception reporting flags in NtGetContextThread().
ntdll: Store exception reporting flags in server context.
ntdll: Store exception reporting flags on suspend.
ntdll: Store exception reporting flags for debug events.
winex11.drv: Support _SHIFT_ARB attributes in X11DRV_wglGetPixelFormatAttribivARB().
ntdll: Implement NtQuerySystemInformation(SystemProcessIdInformation).
msvcrt: Implement _mbsncpy_s[_l]().
Peter Johnson (1):
wined3d: Added missing GTX 3080 & 1070M.
Piotr Caban (4):
windowscodecs: Support 32-bit ABGR bitfields bitmaps.
winhttp: Fix parameters validation in WinHttpGetProxyForUrl.
msvcr80/tests: Fix errno access in tests.
winhttp: Use GlobalAlloc to allocate lpszProxy in WinHttpGetProxyForUrl.
Roland Häder (1):
wined3d: Added missing GTX 1650.
Rémi Bernon (45):
mfreadwrite/tests: Do not accept MFVideoFormat_RGB32 in the test transform.
mfreadwrite/tests: Avoid using MFCreateMediaBufferFromMediaType.
mfreadwrite/tests: Shutdown the test stream event queues on source shutdown.
mfreadwrite/reader: Avoid leaking the stream transform service MFT.
win32u: Introduce a distinct vulkan interface between win32u and the user drivers.
win32u: Introduce a new VkSurfaceKHR wrapping structure.
winevulkan: Pass win32u surface wrappers for each vkQueuePresent swapchain.
win32u: Rename vulkan surface creation/destroy driver callbacks.
win32u: Pass HWND directly to vulkan surface creation driver callback.
win32u: Move host surface destruction out of the drivers.
win32u: Destroy thread windows before calling driver ThreadDetach.
winegstreamer: Set other aperture attributes on video media types.
winegstreamer: Always set aperture attributes on video decoder output types.
winegstreamer: Introduce a new wg_transform_create_quartz helper.
winegstreamer: Use DMO_MEDIA_TYPE in the WMV decoder.
mf/tests: Use a separate field for buffer_desc image size and compare rect.
evr/tests: Sync compare_rgb32 / dump_rgb32 helpers with mf tests.
mfmediaengine/tests: Sync compare_rgb32 / dump_rgb32 helpers with mf tests.
winegstreamer/video_processor: Allow clearing input / output types.
mf/tests: Move the video processor input bitmap names to the test list.
mf/tests: Add more video processor tests with aperture changes.
mf/session: Introduce new (allocate|release)_output_samples helpers.
mf/session: Get session topo_node from their IMFTopologyNode directly.
mf/session: Introduce new session_get_topo_node_output helper.
mf/session: Introduce new session_get_topo_node_input helper.
mf/session: Wrap samples in IMFMediaEvent list instead of IMFSample list.
mf/session: Handle transform format changes and update downstream media types.
winex11: Report all sources as detached in virtual desktop mode.
win32u: Don't force refresh the display cache on thread desktop change.
winex11: Let win32u decide when to force update the display cache.
win32u: Introduce a new add_virtual_modes helper.
win32u: Return the host surface directly from vulkan_surface_create.
winewayland: Get rid of the now unnecessary surface wrapper.
win32u: Introduce a per-window vulkan surface list.
win32u: Move thread detach from winex11.
winex11: Remove now unnecessary surface wrapper struct.
win32u: Fix list corruption in vulkan_detach_surfaces.
win32u: Remove now unnecessary rawinput_device_get_usages.
win32u: Use find_device_from_handle in process_rawinput_message.
win32u: Move rawinput device cache ticks check to rawinput_update_device_list.
winex11: Don't call x11drv_xinput2_disable for foreign windows.
winex11: Remove duplicated foreign window class string constant.
winex11: Avoid leaking foreign window data if it was already created.
mfreawrite/tests: Allow MF_E_SHUTDOWN result in test stream RequestSample.
mf/tests: Add broken result for older Windows.
Tuomas Räsänen (2):
setupapi/tests: Add tests for reading INF class with %strkey% tokens.
setupapi: Use INF parser to read class GUID and class name.
Yuxuan Shui (3):
shell32: Fix a trace log message.
shell32: Use full path to current directory for finding executables.
shell32: Restore the ability of running native unix programs with ShellExecute.
Zebediah Figura (1):
kernelbase: Do not start the debugger if SEM_NOGPFAULTERRORBOX is set.
Zhiyi Zhang (1):
win32u: Set the virtual desktop display frequency to 60Hz.
Ziqing Hui (11):
winegstreamer: Merge video_cinepak into video field.
winegstreamer: Merge video_h264 into video field.
winegstreamer: Merge video_wmv into video field.
winegstreamer: Merge video_indeo into video field.
winegstreamer: Merge video_mpeg1 into video field.
winegstreamer: Implement mf_media_type_to_wg_format_video_wmv.
winegstreamer/video_decoder: Set input/output infos in h264_decoder_create.
winegstreamer/video_decoder: Change decoder attributes.
winegstreamer/video_decoder: Add wg_transform_attrs member.
winegstreamer/video_decoder: Support aggregation.
winegstreamer/video_decoder: Use video_decoder to implement wmv decoder.
```
1
0
The Wine development release 9.7 is now available.
What's new in this release:
- Build system support for ARM64X.
- Some restructuration of the Vulkan driver interface.
- WIDL improvements for ARM support as well as SLTG typelibs.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.7.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.7/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.7 (total 18):
- #37246 Old C&C titles freeze after the map is loaded.
- #44699 Clang 6.0 fails to run under wine
- #44812 Multiple applications need NtQueryInformationProcess 'ProcessQuotaLimits' class support (MSYS2, ProcessHacker 2.x)
- #48080 Oregon Trail II will not start in 32-bit mode
- #50111 osu! crashes since 20201110 version with wine-mono (needs native -> managed byref array marshalling)
- #54759 Notepad++: slider of vertical scrollbar is too small for long files
- #54901 Medieval II Total War some units partly invisible with d3dx9_30 as builtin
- #55765 The 32-bit d2d1:d2d1 frequently crashes on the GitLab CI
- #56133 explorer.exe: Font leak when painting
- #56361 Geovision Parashara's Light (PL9.exe) still crashes in wine
- #56369 Advanced IP Scanner crashes on unimplemented function netapi32.dll.NetRemoteTOD
- #56442 Totem Arts Launcher.exe garbled text
- #56491 Videos in BURIKO visual novel engine
- #56493 PresentationFontCache.exe crashes during .Net 3.51 SP1 installation
- #56536 UI: Applications using ModernWPF crash, Windows.Ui.ViewManagment.InputPane.TryShow not implemented
- #56538 Mspaint from Windows XP needs imm32.CtfImmIsCiceroEnabled
- #56551 HP System Diagnostics crashes when clicking the Devices tab
- #56554 ON1 photo raw installs but wont run the application
### Changes since 9.6:
```
Alex Henrie (2):
win32u: Also reset the unnamed values in prepare_devices.
explorer: Fix font handle leaks in virtual desktop.
Alexandre Julliard (16):
winhttp/tests: Fix some compiler warnings with non-PE build.
widl: Pass 16-byte structures by value on ARM64.
widl: Only pass power of 2 structures by value on x86-64.
widl: Correctly align stack parameters on ARM.
widl: Don't use a structure for NdrClientCall2 parameters on ARM.
widl: Output register parameter assignments on ARM platforms.
widl: Clear RobustEarly flag also for data structure conformance.
rpcrt4/tests: Add some more parameter passing tests.
rpcrt4: Export NdrpClientCall2.
rpcrt4: Implement NdrClientCall2 in assembly on all platforms.
rpcrt4: Implement NdrClientCall3 in assembly on all platforms.
rpcrt4: Implement NdrAsyncClientCall in assembly on all platforms.
rpcrt4: Implement Ndr64AsyncClientCall in assembly on all platforms.
rpcrt4: Support calling server functions with floating point arguments on ARM platforms.
widl: Use x64 calling convention for ARM64EC.
rpcrt4: Leave some space on the stack for varargs when called from ARM64EC code.
Alfred Agrell (8):
winegstreamer: Create decodebin instead of avidemux.
winegstreamer: Use decodebin instead of wavparse.
winegstreamer: Delete now-meaningless wg_parser_type enum.
winegstreamer: Reduce CLSID_decodebin_parser merit, so the MPEG splitter is chosen instead for MPEGs.
quartz/tests: Test that compressed formats are offered for MPEGs.
quartz: Fix error code on empty filename.
quartz/tests: Test the new error codes.
quartz: Fix memory leak on failure path.
Brendan Shanks (4):
winecoreaudio: Correctly handle devices whose UID contains non-ASCII characters.
dxgi: Add IDXGISwapChain2 stubs for D3D11.
dxgi: Add IDXGISwapChain3 stubs for D3D11.
dxgi: Add IDXGISwapChain4 stubs for D3D11.
Dmitry Timoshkov (4):
widl: In old style typelibs all types are public.
widl: Add support for recursive type references to SLTG typelib generator.
widl: Add support for interfaces to SLTG typelib generator.
widl: Add support for inherited interfaces to SLTG typelib generator.
Eric Pouech (10):
msvcrt/tests: Add tests for check buffering state of standard streams.
ucrtbase/tests: Add tests for checking buffering state of standard streams.
ucrtbase: Let stderr be always be unbuffered.
dbghelp: Test thread names in minidump.
dbghelp: Store thread names in minidump.
winedump: Add helpers to print DWORD64 integers.
winedump: Simplify unicode string printing (minidump).
winedump: Support a couple of 'section' options (minidump).
winedump: Tidy up dumping minidump.
winedump: Extend dumping of some minidump parts.
Fabian Maurer (1):
imm32: Add CtfImmIsCiceroEnabled stub.
Hans Leidekker (4):
msi/tests: Use the helpers from utils.h in more modules.
msi/tests: Try restarting tests elevated.
msi/tests: Get rid of workarounds for old Windows versions.
msi: Install global assemblies before running deferred custom actions.
Isaac Marovitz (1):
ntdll: Implement NtQueueApcThreadEx().
Jacek Caban (5):
winebuild: Add -marm64x option for generating hybrid ARM64X import libraries.
winegcc: Pass target and resources as arguments to build_spec_obj.
winegcc: Add -marm64x option for linking ARM64X images.
makedep: Use hybrid ARM64X images for ARM64EC.
ntdll: Use mangled function names in ARM64EC assembly.
Jinoh Kang (3):
kernel32/tests: Test module refcounting with forwarded exports.
kernel32/tests: Fix argument order in subtest_export_forwarder_dep_chain() calls.
kernel32/tests: Document which fields may be overwritten later in gen_forward_chain_testdll().
Liam Middlebrook (1):
krnl386.exe: Start DOSVM timer on GET_SYSTEM_TIME.
Mohamad Al-Jaf (1):
windows.ui: Return success in IInputPane2::TryShow().
Nikolay Sivov (6):
d2d1/effect: Zero value buffer on size or type mismatch.
d2d1/tests: Use distinct types for vector and matrix values.
d2d1/effect: Make it possible to set render info for draw-transform nodes.
d2d1: Implement GetEffectProperties().
d2d1/effect: Add 'Rect' property to the Crop effect description.
d2d1: Fix GetPropertyNameLength() return value.
Paul Gofman (9):
winhttp: Set actual default receive response timeout to 21sec.
winhttp/tests: Add some tests for actual connection caching.
winhttp: Do not cache connection if suggested by request headers.
wow64: Support generic xstate in call_user_exception_dispatcher().
ntdll: Preserve untouched parts of xstate in set_thread_wow64_context().
winegstreamer: Try to handle broken IStream_Stat implementation in WM reader OpenStream().
mmdevapi: Implement SAC_IsAudioObjectFormatSupported().
winegstreamer: Destroy wg_transform in video_decoder/transform_SetInputType().
ntdll: Return STATUS_NO_YIELD_PERFORMED from NtYieldExecution() on Linux if no yield was performed.
Piotr Caban (1):
gdiplus: Fix IWICBitmapFrameDecode reference leak in decode_frame_wic.
Rémi Bernon (27):
include: Add MFTOPOLOGY_DXVA_MODE enum definition.
mf/tests: Fix printf format warning.
mf/tests: Split topology loader tests to a new file.
mf/tests: Test D3D awareness handling in the topology loader.
mf/tests: Test device manager handling in the topology loader.
mfmediaengine/tests: Test that effects allow converters between them.
mfmediaengine: Allow decoder / converter to be resolved between topology nodes.
winevulkan: Add a manual vkQueuePresent wrapper.
winevulkan: Move vkQueuePresent FPS trace out of the drivers.
winevulkan: Return VK_SUBOPTIMAL_KHR from vkQueuePresentKHR after resize.
winevulkan: Return VK_SUBOPTIMAL_KHR from vkAcquireNextImage(2)KHR after resize.
winevulkan: Remove unnecessary vkGetSwapchainImagesKHR driver entry.
winevulkan: Pass surface info for each vkQueuePresent swapchain to win32u.
win32u: Introduce a new vulkan_surface_presented driver entry.
winewayland: Remove now unnecessary swapchain extents checks.
winewayland: Remove now unnecessary swapchain wrapper.
win32u: Move vkQueuePresent implementation out of the user drivers.
winevulkan: Remove now unnecessary vkDestroySwapchain driver entry.
winevulkan: Remove now unnecessary vkCreateSwapchainKHR driver entry.
win32u: Close device manager source key in write_source_to_registry.
win32u: Remove fake source creation when adding display mode.
win32u: Keep the primary current mode in the device manager context.
win32u: Add all display device source modes at once.
winegstreamer: Introduce a new set_sample_flags_from_buffer helper.
winegstreamer: Introduce a new sample_needs_buffer_copy helper.
winegstreamer: Split read_transform_output_data in two helpers.
winegstreamer: Pass optional GstVideoInfo to read_transform_output_video.
Sam Joan Roque-Worcel (1):
win32u: Make SCROLL_MIN_THUMB larger.
Tim Clem (1):
winemac.drv: Hide app's dock icon when it wouldn't have a taskbar item on Windows.
Vijay Kiran Kamuju (4):
mscms: Add stub for WcsGetDefaultColorProfile.
ntdll: Add NtQueryInformationProcess(ProcessQuotaLimits) stub.
ntdll/tests: Add NtQueryInformationProcess(ProcessQuotaLimits) tests.
netapi32: Add NetRemoteTOD stub.
Zebediah Figura (4):
wined3d: Enable EXT_extended_dynamic_state3.
wined3d: Use dynamic state for multisample state if possible.
wined3d: Use dynamic state for blend state if possible.
wined3d: Use dynamic state for rasterizer state if possible.
Zhiyi Zhang (4):
opengl32/tests: Add default framebuffer tests.
winemac.drv: Update OpenGL context immediately after the window content view is visible.
uxtheme/tests: Test that scrollbar parts should have very few #ffffff pixels.
light.msstyles: Use #fefefe instead of #ffffff for scrollbar parts.
Ziqing Hui (3):
winegstreamer: Merge audio_mpeg1 into audio field.
winegstreamer: Merge audio_mpeg4 into audio field.
winegstreamer: Merge audio_wma into audio field.
```
1
0
The Wine development release 9.6 is now available.
What's new in this release:
- Support for advanced AVX features in register contexts.
- More Direct2D effects work.
- Support for RSA OAEP padding in BCrypt.
- Interpreted mode fixes in WIDL.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.6.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.6/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.6 (total 18):
- #20694 Mozart 10/11: Cannot save gif jpg or tiff, png + bmp are empty, emf only partial.
- #26372 TI-83 Plus Flash Debugger buttons are not visible
- #28170 "Text Service and Input Languages" needs unimplemented function USER32.dll.LoadKeyboardLayoutEx called
- #41650 SolidWorks 2016 crashes on launch
- #43052 ChessBase 14 - crashes right after start
- #46030 Trackmania Unlimiter 1.3.x for TrackMania United Forever 2.11.26 crashes at account selection screen (heap manager differences, incorrect assumptions of mod on internal game engine data structures)
- #47170 nProtect GameGuard Personal/Anti-Virus/Spyware 3.x/4.x kernel drivers crash due to 'winedevice' PE module having no export table
- #49089 nProtect Anti-Virus/Spyware 4.0 'tkpl2k64.sys' crashes on unimplemented function 'fltmgr.sys.FltBuildDefaultSecurityDescriptor'
- #50296 Multiple 32-bit applications fail due to incorrect handling of 'HKLM\\Software\\Classes' key in 64-bit WINEPREFIX (shared key under Windows 7+ WOW64)(Autocad 2005)
- #53810 [Regression] Visual Novel Shin Koihime Eiyuutan crashes after opening movie plays
- #54378 VrtuleTree calls unimplemented function ntoskrnl.exe.ExGetPreviousMode
- #56188 d2d1:d2d1 frequently fails on the GitLab CI
- #56376 Nerf Arena Blast Demo only displays a black screen
- #56394 Final Fantasy XI Online: Mouse/pointer cursor activates at unintended times.
- #56438 Multiple games have texture glitches (Iron Harvest, The Hong Kong Massacre)
- #56469 configure incorrectly setting ac_cv_lib_soname_vulkan value on macOS
- #56487 wshom tests timeout on Wine
- #56503 CryptStringToBinary doesn't adds CR before pad bytes in some cases
### Changes since 9.5:
```
Aida Jonikienė (2):
wbemprox: Stub most of the Win32_VideoController properties.
sapi: Only print GetStatus() FIXME once.
Alexandre Julliard (21):
ntdll: Copy the context contents instead of the pointer on collided unwind.
ntdll: Use a common wrapper to call exception handlers on x86-64.
ntdll: Use a common wrapper to call unwind handlers on x86-64.
wshom.ocx: Don't show a message box on ShellExecute error.
widl: Don't skip a pointer level for pointers to pointers to strings.
include: Fix a parameter type in the IEnumTfUIElements interface.
idl: Use IPSFactoryBuffer instead of a non-existent IFactoryBuffer.
widl: Merge interpreted stubs header and parameters output into a single function.
widl: Don't output the explicit handle argument.
widl: Fix method number for call_as functions.
rpcrt4: Return the correct failure for a NULL binding handle.
rpcrt4: Make sure that the stack is set when catching an exception.
msi/tests: Delete the temp .msi file in all failure cases.
widl: Always use new-style format strings in interpreted mode.
widl: Add /robust flags in correlation descriptors.
widl: Output more correct /robust flags.
widl: Use the correct type for non-encapsulated union discriminants.
widl: Always pass the top-level attributes to detect interface pointers.
widl: Use padding instead of alignment in structure format strings.
widl: Clear /robust flags when no descriptor is present.
widl: Map VT_USERDEFINED to VT_I4 for default values in typelibs.
Alistair Leslie-Hughes (6):
fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor.
fltmgr.sys: Create import library.
ntoskrnl/tests: Add FltBuildDefaultSecurityDescriptor test.
include: Add STORAGE_HOTPLUG_INFO structure.
include: Add some DWMWA_* enum values.
include: Add more DBCOLUMN_ defines.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Brendan Shanks (10):
mmdevapi: Make IMMDeviceCollection immutable after creation.
ntdll: Simplify creation of the server directory.
server: Simplify creation of the server directory.
server: Replace some malloc/sprintf/strcpy calls with asprintf.
server: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
server: Clarify that registry files are always in the current directory, and simplify save_branch().
win32u: Enlarge buffer size in _CDS_flags.
win32u: Enlarge buffer size in format_date.
win32u: Use PATH_MAX for Unix paths instead of MAX_PATH (from Win32).
win32u: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Dmitry Timoshkov (6):
windowscodecs: Silence fixme for IID_CMetaBitmapRenderTarget.
widl: Use generic 'struct sltg_data' for collecting data.
widl: Add more traces.
widl: Add support for structures.
widl: Properly align name table entries.
widl: Add support for VT_USERDEFINED to SLTG typelib generator.
Eric Pouech (4):
evr: Remove useless code.
evr: Fix YUY2 image copy in evr_copy_sample_buffer().
cmd: Add test for substring handling in 'magic' variable expansion.
cmd: Fix substring expansion for 'magic' variables.
Esme Povirk (1):
user32/tests: Revert test updates for win11.
Hans Leidekker (6):
bcrypt: Add support for RSA OAEP padding.
wbemprox: Zero-initialize table data.
wmic: Make an error message more general.
wmic: Strip spaces once.
wmic: Handle failure from CommandLineToArgvW().
wmic: Handle multiple properties separated by whitespace.
Jacek Caban (2):
ntdll: Use __ASM_GLOBAL_IMPORT for RtlUnwind.
widl: Don't use old typelib format in do_everything mode.
Louis Lenders (2):
wmic: Support interactive mode and piped commands.
wbemprox: Add property 'Status' to Win32_BIOS.
Nikolay Sivov (22):
dwrite/shape: Fully initialize shaping context when getting glyph positions (Valgrind).
d2d1: Fix a double free on error path (Valgrind).
gdi32/emf: Zero-initialize handles array (Valgrind).
d3d10: Use older compiler for D3D10CompileEffectFromMemory().
d3d10/tests: Add a test for effect compilation containing empty buffers.
d2d1/tests: Get rid of test shader blobs.
d2d1/effect: Use effect property types identifier directly in initializers.
d2d1/effect: Use a helper internally instead of IsShaderLoaded().
d2d1/tests: Add a test for a custom effect using a pixel shader.
d2d1/tests: Add a basic test for ID2D1DrawInfo instance.
d2d1/tests: Add a test for transform graph input count.
d2d1/effect: Keep input count as a graph property when recreating it.
d2d1/effect: Implement offset transform object.
d2d1/effect: Implement blend transform object.
d2d1/effect: Implement node list for the transform graph.
d2d1/effect: Implement ConnectToEffectInput().
d2d1/effect: Implement SetOutputNode().
d2d1/effect: Implement SetSingleTransformNode().
d2d1/effect: Fix property value size for empty or missing string values.
d2d1/effect: Implement border transform object.
d2d1/effect: Implement bounds adjustment transform.
d2d1/tests: Add supported interface checks for transform objects.
Paul Gofman (23):
ntdll: Only save AVX xstate in wine_syscall_dispatcher.
ntdll: Preserve untouched parts of xstate in NtSetContextThread().
ntdll: Support generic xstate in Unix-side manipulation functions.
ntdll: Factor out xstate_from_server() function.
ntdll: Factor out context_to_server() function.
ntdll: Mind generic xstate masks in server context conversion.
ntdll: Support more xstate features.
ntdll/tests: Add more tests for xstate.
windows.perception.stub: Add stub IHolographicSpaceInterop interface.
wintypes: Report some API contracts as present in api_information_statics_IsApiContractPresentByMajor().
ddraw: Store material handles in the global table.
ddraw: Store surface handles in the global table.
ddraw: Store matrix handle in the global table.
ddraw: Don't apply state in ddraw_surface_blt().
wined3d: Factor out wined3d_texture_set_lod() function.
ddraw: Store wined3d state in d3d_device.
ddraw: Sync wined3d render target in d3d_device_sync_rendertarget().
ddraw: Support multiple devices per ddraw object.
ddraw/tests: Add tests for multiple devices.
win32u: Avoid writing past allocated memory in peek_message().
win32u: Avoid leaking previous buffer in get_buffer_space().
ddraw: Don't demand WINED3D_BIND_SHADER_RESOURCE for making surface in vidmem.
avifil32: Update lCurrentFrame in IGetFrame_fnGetFrame().
Piotr Caban (1):
gdi32: Implicitly call StartPage in ExtEscape on printer DC.
Rémi Bernon (35):
configure: Quote ac_cv_lib_soname_MoltenVK when setting SONAME_LIBVULKAN.
mf/tests: Check that pan scan and geometric apertures are set.
evr/tests: Split create_d3d_sample to a separate helper.
evr/tests: Split check_presenter_output to a separate helper.
evr/tests: Add more video mixer input media type aperture tests.
evr/mixer: Respect input media type MF_MT_GEOMETRIC_APERTURE.
win32u: Open adapters in NtGdiDdDDIEnumAdapters2 outside of the display devices lock.
winex11: Initialize D3DKMT vulkan instance only once.
winex11: Introduce a new get_vulkan_physical_device helper.
winex11: Introduce a new find_adapter_from_handle helper.
win32u: Move D3DKMT vulkan implementation out of winex11.
winegstreamer: Set GST_DEBUG if not set, based on WINEDEBUG channels.
win32u: Split writing adapter to registry to a separate helper.
win32u: Use a symlink for the logically indexed adapter config key.
win32u: Use named adapters instead of struct gdi_adapter.
win32u: Rename struct adapter to struct source.
winevulkan: Strip surface extensions in vkEnumerateInstanceExtensionProperties.
winevulkan: Remove now unnecessary vkEnumerateInstanceExtensionProperties driver entry.
winevulkan: Introduce a new get_host_surface_extension driver entry.
winevulkan: Remove now unnecessary vkCreateInstance driver entry.
winevulkan: Remove now unnecessary vkDestroyInstance driver entry.
winegstreamer: Create the transform parsed caps from wg_format.
winegstreamer: Fallback to input caps only when no parser was found.
mf/session: Avoid leaking samples in transform_node_deliver_samples.
mfreadwrite/reader: Use MFTEnumEx to enumerate stream transforms.
mfreadwrite/reader: Make the GetTransformForStream category parameter optional.
mfreadwrite/tests: Test the source reader stream change events.
mfreadwrite/tests: Test the D3D awareness of source reader transforms.
mfreadwrite/reader: Avoid accessing an invalid stream index.
mfreadwrite/reader: Keep the output subtypes when propagating media types.
winex11: Keep the client window colormap on the GL drawable.
winex11: Get rid of ref held from the HWND to its Vk surface.
winex11: Introduce a new detach_client_window helper.
winex11: Introduce a new destroy_client_window helper.
winex11: Introduce a new attach_client_window helper.
Santino Mazza (1):
crypt32: Fix CryptBinaryToString not adding a separator.
Tuomas Räsänen (1):
winebus: Ignore udev events of devices which do not have devnodes.
Zebediah Figura (11):
d3d11/tests: Test discarding a buffer in test_high_resource_count().
wined3d: Recreate buffer textures when renaming the existing buffer storage.
wined3d: Skip bindless samplers with no uniform location.
wined3d: Enable EXT_extended_dynamic_state2.
wined3d: Use dynamic state for primitive type if possible.
wined3d: Use dynamic state for patch vertex count if possible.
wined3d: Require EXT_framebuffer_object.
wined3d: Remove the OffscreenRenderingMode setting.
wined3d: Require GLSL 1.20 support.
wined3d: Remove the "arb" and "none" shader_backend options.
wined3d: Require ARB_texture_non_power_of_two.
Zhiyi Zhang (6):
mfmediaengine: Implement IMFMediaEngineEx::SetCurrentTime().
mfmediaengine: Implement IMFMediaEngineEx::SetCurrentTimeEx().
mfmediaengine/tests: Test IMFMediaEngineEx::SetCurrentTime/Ex().
gdiplus/tests: Add tests for GdipPrivateAddMemoryFont().
gdiplus: Search microsoft platform names first in load_ttf_name_id().
winemac.drv: Show the window after setting layered attributes.
```
1
0
The Wine development release 9.5 is now available.
What's new in this release:
- Initial SLTG-format typelib support in widl.
- Exception handling on ARM64EC.
- Improvements to Minidump support.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.5.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.5 (total 27):
- #25207 SHFileOperation does not create new directory on FO_MOVE
- #29523 CDBurnerXP hangs on right-clicking empty space in the file browser
- #40613 Multiple applications require UAC implementation to run installer/app as a normal user instead of administrator (WhatsApp Desktop, Smartflix, Squirrel Installers, OneDrive)
- #44514 Elder Scrolls Online (Dragon Bones update) requires more than 32 samplers in pixel shaders with D3D11 renderer
- #45862 Multiple applications need MFCreateSinkWriterFromURL() implementation (Overwatch highlights, RadiAnt DICOM Viewer, Grand Theft Auto V Rockstar Editor)
- #48085 Wine error trying to install Mono after a version update
- #51957 Program started via HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths should also be started if extension ".exe" is missing
- #52352 YI Home installer crashes on unimplemented urlmon.dll.414
- #52622 windows-rs 'lib' test crashes on unimplemented function d3dcompiler_47.dll.D3DCreateLinker
- #53613 Visual novel RE:D Cherish! logo video and opening movie does not play
- #53635 Alune Klient 14.03.2022 crashes on unimplemented function urlmon.dll.414
- #54155 WeCom (aka WeChat Work) 4.x failed to launch.
- #55421 Fallout Tactics launcher has graphics glitches
- #55876 Acrom Controller Updater broken due to oleaut32 install
- #56318 Totem Arts Launcher.exe does not open
- #56367 Tomb Raider 3 GOG crashes at start
- #56379 d2d1 unable to build
- #56380 Rocket League crashes with Wine 9.3 after BakkesMod (trainer app) injects into the game
- #56400 SSPI authentication does not work when connecting to sql server
- #56406 wineserver crashes in set_input_desktop()
- #56411 Failure to build wine 9.4 due to EGL 64-bit development files not found
- #56433 QQ8.9.6 Installer crashes at very beginning due to a change in server/process.c
- #56434 WScript.Network does not implement UserName, ComputerName, and UserDomain properties
- #56435 capture mouse dont work in virtual desktop (work on wine 9.3)
- #56445 d3d1-9 applications run out of memory after f6a1844dbe (ArmA: Cold War Assault, Final Fantasy XI Online, Far Cry 3)
- #56450 Non-input USB HID devices stopped working in 9.1
- #56458 ntdll tests skipped on win7 & win8: missing entry point kernel32.RtlPcToFileHeader
### Changes since 9.4:
```
Akihiro Sagawa (2):
dsound/tests: Add tests for implicit MTA creation in IDirectSound::Initialize().
dsound: Initialize MTA in IDirectSound::Initialize().
Alexandre Julliard (42):
configure: Check the correct variable for the Wayland EGL library.
ntdll: Implement RtlRestoreContext on ARM64EC.
ntdll: Implement RtlWalkFrameChain on x86-64.
ntdll: Implement RtlWalkFrameChain on i386.
ntdll: Implement RtlWalkFrameChain on ARM.
ntdll: Implement RtlWalkFrameChain on ARM64.
ntdll: Implement RtlWalkFrameChain on ARM64EC.
ntdll: Export RtlVirtualUnwind2 and RtlWalkFrameChain.
ntdll: Share RtlCaptureStackBackTrace implementation across platforms.
secur32/tests: Update count for new winehq.org certificate.
ws2_32/tests: Fix a couple of failures on Windows.
include: Define setjmpex prototype even when it's a builtin.
ntdll/tests: Directly link to setjmp().
ntdll/tests: Fix a backtrace test failure on Windows ARM64.
ntdll: Add test for non-volatile regs in consolidated unwinds.
ntdll: Port the RtlRestoreContext test to ARM64.
ntdll: Port the RtlRestoreContext test to ARM.
ntdll: Implement RtlUnwindEx on ARM64EC.
ntdll: Move __C_specific_handler implementation to unwind.c.
ntdll: Implement __C_specific_handler on ARM64EC.
ntdll: Always use SEH support on ARM64.
ntdll/tests: Skip segment register tests on ARM64EC.
ntdll/tests: Fix debug register tests on ARM64EC.
ntdll/tests: Fix a few more test failures on ARM64EC.
ntdll: Implement RtlGetCallersAddress.
kernelbase: Remove no longer needed DllMainCRTStartup function.
include: Add some new error codes.
include: Add some new status codes.
ntdll: Add mappings for more status codes.
jscript: Use the correct facility for JScript errors.
netprofm: Use the correct symbols for error codes.
msvcrt: Use floating point comparison builtins also in MSVC mode.
ntdll/tests: Fix exception address checks in child process on ARM64EC.
ntdll/tests: Update the KiUserExceptionDispatcher test for ARM64EC.
configure: Don't build wow64 support in non-PE builds.
wow64: Use a .seh handler in raise_exception().
wow64: Always use a .seh handler in cpu_simulate().
wow64: Access the BTCpuSimulate backend function pointer directly.
wow64: Use a .seh handler for system calls.
wow64cpu: Save non-volatile registers before switching to 32-bit code.
wow64: Use setjmp/longjmp from ntdll.
server: Add a helper to trace uint64 arrays.
Alexandros Frantzis (5):
winewayland.drv: Implement wglCreateContextAttribsARB.
winewayland.drv: Implement wglShareLists.
winewayland.drv: Implement wgl(Get)SwapIntervalEXT.
win32u: Cancel auto-repeat only if the repeat key is released.
win32u: Cancel previous key auto-repeat when starting a new one.
Andrew Nguyen (3):
ddraw: Reserve extra space in the reference device description buffer.
oleaut32: Bump version resource to Windows 10.
ddraw: Release only valid texture parents on ddraw_texture_init failure.
Andrew Wesie (1):
wined3d: Use bindless textures for GLSL shaders if possible.
Brendan McGrath (5):
comdlg32: Use values from DeviceCapabilities in combobox.
comdlg32: Add resolutions to PRINTDLG_ChangePrinterW.
comdlg32: Populate printer name on the print dialogs.
comdlg32: Use ANSI functions in ANSI WMCommandA.
comdlg32: Don't treat cmb1 as the printer list unless in PRINT_SETUP.
Brendan Shanks (6):
ntdll: Remove support for msg_accrights FD passing.
server: Remove support for msg_accrights FD passing.
mountmgr: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
mountmgr: Replace some malloc/sprintf/strcpy calls with asprintf.
opengl32: Replace sprintf with snprintf/asprintf to avoid deprecation warnings on macOS.
secur32: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Daniel Lehman (2):
oleaut32/tests: Add tests for GetSizeMax after dirty flag cleared.
oleaut32: Return success from GetSizeMax if not dirty.
David Gow (1):
evr/dshow: Support NV12 in evr_render.
David Heidelberg (2):
d3d9/tests: Replace LPDWORD cast with float_to_int function.
mailmap: Add a mailmap entry for myself with the proper name.
Dmitry Timoshkov (6):
d2d1: Make some strings const.
wineps.drv: Return default resolution if PPD doesn't provide the list of supported resolutions.
kerberos: Allocate memory for the output token if requested.
comctl32/tests: Add more tests for IImageList2 interface.
comctl32: Implement IImageList2::Initialize().
widl: Add initial implementation of SLTG typelib generator.
Eric Pouech (18):
include: Update minidumpapiset.h.
dbghelp/tests: Add tests for minidumps.
dbghelp/tests: Add tests about generated memory chunks.
dbghelp/tests: Add tests about minidump's callback.
dbghelp/tests: Test exception information in minidump.
dbghelp/tests: Add tests for function table lookup.
dbghelp: Use an intermediate buffer in SymFunctionTableAccess (x86_64).
dbghelp: Don't write minidump from running thread.
dbghelp: Simplify thread info generation in minidump.
dbghelp: Add support for V2 unwind info (x86_64).
winedbg: Fallback to PE image when reading memory (minidump).
winedbg: Reload module without virtual flag.
dbghelp: No longer embed unwind information in minidump (x86_64).
winedbg: Add ability to set executable name.
winedbg: Extend 'attach' command to load minidump files.
winedbg: Flush expr buffer upon internal exception.
winedbg: Update the CPU information displayed when reloading a minidump.
winedbg: Don't reload a minidump for a different machine.
Esme Povirk (7):
user32/tests: Accept HCBT_ACTIVATE in TrackPopupMenu.
gdiplus: Check bounding box in GdipIsVisibleRegionPoint.
user32/tests: Add another missing message for TrackPopupMenu.
gdiplus/tests: Region bounds aren't rounded.
gdiplus: Calculate region bounding box without generating HRGN.
user32/tests: Accept WM_ACTIVATE in TrackPopupMenu.
user32/tests: Further updates for win11 TrackPopupMenu failures.
Gabriel Ivăncescu (1):
shell32: Construct the proper path target for UnixFolder.
Giovanni Mascellani (1):
d2d1: Compile the pixel shader with D3DCompile().
Hans Leidekker (3):
dnsapi/tests: Skip tests if no CNAME records are returned.
ntdll/tests: Fix a test failure.
ntdll/tests: Load NtMakeTemporaryObject() dynamically.
Henri Verbeet (1):
wined3d: Do not check the input signature element count for sm4+ shaders in shader_spirv_compile_arguments_init().
Jacek Caban (2):
configure: Don't explicitly enable -Wenum-conversion on Clang.
widl: Always close parsed input file.
Jinoh Kang (10):
tools/gitlab: Run make_specfiles before building.
ntdll/tests: Add tests for OBJ_PERMANENT object attribute.
ntdll/tests: Add tests for NtMakeTemporaryObject.
server: Generalize server request make_temporary to set_object_permanence.
ntdll: Implement NtMakePermanentObject.
ntdll/tests: Don't import kernel32.RtlPcToFileHeader.
Revert "ntdll/tests: Load NtMakeTemporaryObject() dynamically."
server: Check for DELETE access in NtMakeTemporaryObject().
kernelbase: Open object with DELETE access for NtMakeTemporaryObject().
gitlab: Output collapsible section markers in test stage script.
Kyrylo Babikov (1):
dbghelp: Fix PDB processing using the FPO stream instead of FPOEXT.
Louis Lenders (1):
shell32: Try appending .exe when looking up an App Paths key.
Marcus Meissner (1):
ntdll/tests: Fix size passed to GetModuleFileNameW.
Mark Jansen (1):
kernel32/tests: Add tests for job object accounting.
Nikolay Sivov (16):
include: Add ID2D1Factory7 definition.
include: Add ID2D1DeviceContext6 definition.
d3dcompiler: Set correct compilation target for effects profiles.
d3dcompiler: Wrap fx_4_x output in a dxbc container.
d3d10/tests: Add a small effect compilation test.
wshom/network: Use TRACE() for implemented method.
wshom/network: Implement GetTypeInfo().
wshom/network: Implement ComputerName() property.
wshom/network: Check pointer argument in get_UserName().
d3dx10/tests: Remove todo's from now passing tests.
d3d10_1/tests: Remove todo from now passing test.
wshom/network: Implement UserDomain property.
msxml6/tests: Add some tests for MXWriter60.
msxml/tests: Move some of the validation tests to their modules.
msxml/tests: Move version-specific schema tests to corresponding modules.
include: Remove XMLSchemaCache60 from msxml2.idl.
Noah Berner (1):
advapi32/tests: Add todo_wine to tests that are currently failing.
Paul Gofman (11):
imm32: Set lengths to 0 for NULL strings in ImmSetCompositionString().
cryptowinrt: Force debug info in critical sections.
diasymreader: Force debug info in critical sections.
dsdmo: Force debug info in critical sections.
qasf: Force debug info in critical sections.
services: Force debug info in critical sections.
explorer: Force debug info in critical sections.
ntdll: Only allocate debug info in critical sections with RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO.
server: Ignore some ICMP-originated socket errors for connectionless sockets.
strmbase: Fallback to InitializeCriticalSection() if RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO is unsupported.
ntdll: Don't use debug info presence to detect critical section global status.
Pavel Ondračka (1):
d3d9/tests: Define enums outside of struct.
Piotr Caban (6):
ntdll: Workaround sendmsg bug on macOS.
winedump: Fix REG_DWORD dumping with no data.
advapi32/tests: Merge RegLoadKey and RegUnLoadKey tests.
advapi32/tests: Remove all files created by RegLoadKey tests.
advapi32/tests: Test if modifications are saved in RegUnLoadKey.
advapi32/tests: Remove all files created by RegLoadAppKey tests.
Robin Kertels (1):
d3d9/tests: Skip desktop window tests if device creation fails.
Rémi Bernon (74):
win32u: Move D3DKMT functions to a new d3dkmt.c source.
win32u: Move D3DKMT VidPn* functions out of winex11.
win32u: Add an adapter struct to the device manager context.
win32u: Split writing monitor to registry to a separate helper.
win32u: Get rid of the monitor display_device.
win32u: Get rid of the monitor state_flags.
win32u: Get rid of the adapter display_device.
win32u: Get rid of the monitor flags.
win32u: Enumerate monitors from their device keys.
mfreadwrite/reader: Handle MF_E_TRANSFORM_STREAM_CHANGE results.
win32u: Fix incorrect ascii key name in get_config_key.
winevulkan: Use an rb_tree and allocate entries for handle mappings.
winevulkan: Use a single allocation for device and queues.
winevulkan: Pass VkDeviceQueueCreateInfo to wine_vk_device_init_queues.
winevulkan: Rename wine_vk_physical_device_alloc parameters and variables.
winevulkan: Use a single allocation for instance and physical devices.
winevulkan: Get rid of the wine_vk_device_free helper.
winevulkan: Simplify wine_vk_instance_free helper.
winevulkan: Add handle mappings on creation success only.
winevulkan: Get rid of the wine_vk_instance_free helper.
mfplat/tests: Test each VIDEOINFOHEADER field conversion separately.
mfplat/mediatype: Implement implicit MFInitMediaTypeFromVideoInfoHeader subtype.
mfplat/mediatype: Implement MFInitMediaTypeFromVideoInfoHeader2.
mfplat/tests: Add tests for MFInitMediaTypeFromVideoInfoHeader2.
mfplat/mediatype: Implement MFInitAMMediaTypeFromMFMediaType for FORMAT_VideoInfo2.
mfplat/tests: Test aperture to VIDEOINFOHEADER fields mapping.
mfplat/mediatype: Support FORMAT_VideoInfo2 in MFInitMediaTypeFromAMMediaType.
mfplat/mediatype: Set MF_MT_SAMPLE_SIZE from bmiHeader.biSizeImage.
mfplat/mediatype: Map rcSource to MF_MT_(PAN_SCAN|MINIMUM_DISPLAY)_APERTURE.
mfplat/mediatype: Set rcSource and rcTarget if stride differs from width.
mfplat/tests: Add more MFAverageTimePerFrameToFrameRate tests.
mfplat: Support flexible frame time in MFAverageTimePerFrameToFrameRate.
mfplat/mediatype: Implement MF_MT_FRAME_RATE from VIDEOINFOHEADER2.
mfplat/mediatype: Implement VIDEOINFOHEADER2 dwControlFlags conversion.
mfplat/mediatype: Implement some VIDEOINFOHEADER2 dwInterlaceFlags conversion.
mfplat/tests: Test that aperture is dropped with VIDEOINFOHEADER2.
mfplat/tests: Test that MFCreateMFVideoFormatFromMFMediaType appends user data.
mfplat/mediatype: Append user data in MFCreateMFVideoFormatFromMFMediaType.
mfplat/tests: Check the conditions for the MFVideoFlag_BottomUpLinearRep flags.
mfplat/mediatype: Stub MFInitMediaTypeFromMFVideoFormat.
mfplat/tests: Add tests for MFInitMediaTypeFromMFVideoFormat.
mfplat/mediatype: Implement MFInitMediaTypeFromMFVideoFormat.
winebus: Add HID usages in the device descriptor when possible.
winebus: Read hidraw device usages from their report descriptors.
winebus: Prefer hidraw for everything that is not a game controller.
winebus: Remove devices that are ignored wrt hidraw preferences.
winevulkan: Allow only one vulkan surface at a time for an HWND.
win32u: Avoid a crash when cleaning up a monitor without an adapter.
winegstreamer: Release sink caps in the error path.
winegstreamer: Append an optional parser before decoders.
mfplat/tests: Add some broken results for Win7.
mfplat/tests: Test initializing mediatype from AAC WAVEFORMATEXTENSIBLE.
mfplat/tests: Check how AAC attributes are copied from user data.
mfplat/mediatype: Check format pointers and sizes in MFInitMediaTypeFromAMMediaType.
mfplat/mediatype: Support audio major type in MFInitMediaTypeFromAMMediaType.
mfplat/mediatype: Force WAVEFORMATEXTENSIBLE in MFCreateWaveFormatExFromMFMediaType in some cases.
mfplat/mediatype: Implement MFCreateMediaTypeFromRepresentation.
mfplat/mediatype: Use MFCreateWaveFormatExFromMFMediaType in init_am_media_type_audio_format.
ntoskrnl.exe: Open symbolic link with DELETE before making them temporary.
server: Avoid removing thread twice from its desktop thread list.
winex11: Accept key and mouse events with QS_RAWINPUT.
server: Send WM_WINE_CLIPCURSOR message only when necessary.
server: Send WM_WINE_SETCURSOR message only when necessary.
win32u: Use a structure to pass peek_message arguments.
server: Check for internal hardware messages before others.
server: Process internal messages when checking queue status.
user32/tests: Add missing winetest_pop_context.
user32/tests: Add some LoadKeyboardLayoutEx tests.
winemac: Use SONAME_LIBVULKAN as an alias for MoltenVK.
win32u: Move vulkan loading and init guard out of the drivers.
win32u: Move vkGet(Instance|Device)ProcAddr out the drivers.
winevulkan: Stop generating the wine/vulkan_driver.h header.
win32u: Move vkGet(Device|Instance)ProcAddr helpers inline.
mfplat: Append MFVIDEOFORMAT user data after the structure padding.
Santino Mazza (2):
mf/test: Check the topologies id's in topo loader.
mf/topoloader: Preserve input topology id.
Vijay Kiran Kamuju (4):
include: Add Windows.UI.ViewManagement.UIViewSettings definitions.
urlmon: Add stub for ordinal 414.
d3dcompiler: Add D3DCreateLinker stub.
user32: Add LoadKeyboardLayoutEx stub.
Yuxuan Shui (8):
shell32/tests: Check FindExecutable is looking in the correct current directory.
shell32/tests: Check ShellExecute is looking in the correct current directory.
shell32: PathResolve(file, NULL, ...) should not look in the current directory.
shell32: Make sure PathResolve can find files in the current directory.
shell32: PathResolve should be able to find files that already have extensions.
shell32: PathResolve should remove trailing dot.
shell32: Fix FindExecutable search path.
shell32: Rely solely on SHELL_FindExecutable for ShellExecute.
Zebediah Figura (12):
ntdll: Assign a primary token in elevate_token().
d3d9/tests: Remove a no longer accurate comment.
d3d11/tests: Add a test for using a large number of SRV resources.
wined3d: Rename the shader_select_compute method to shader_apply_compute_state.
wined3d: Move checking shader_update_mask to shader_glsl_apply_compute_state().
shell32/tests: Remove obsolete workarounds from test_move().
quartz: Implement SetVideoClippingWindow() and PresentImage() in the VMR7 presenter.
quartz: Reimplement the VMR7 using the VMR7 presenter.
quartz: Implement IVMRSurfaceAllocatorNotify::AdviseSurfaceAllocator().
quartz: Return S_OK from IVMRSurfaceAllocator_PrepareSurface().
quartz/tests: Add some tests for VMR7 renderless mode.
wined3d: Avoid leaking string buffers in shader_glsl_load_bindless_samplers().
Zhenbo Li (1):
shell32: Create nonexistent destination directories in FO_MOVE.
Zhiyi Zhang (5):
mfreadwrite: Fix a memory leak (Coverity).
win32u: Support HiDPI for the non-client close button in WS_EX_TOOLWINDOW windows.
win32u: Fix a possible condition that makes EnumDisplayMonitors() not reporting any monitors.
win32u: Don't enumerate mirrored monitor clones for GetSystemMetrics(SM_CMONITORS).
win32u: Don't enumerate mirrored monitor clones when unnecessary.
```
1
0
The Wine development release 9.4 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.11.
- Initial OpenGL support in the Wayland driver.
- Support for elevating process privileges.
- More HID pointer improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.4.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.4 (total 25):
- #11629 Add optional start menu and taskbar to explorer
- #24812 Explorer++ 1.2: right-click menu (in the main listview) degrades to nothing when opened multiple times
- #34319 Total Commander 8.x: Context menu does not contain 'paste' entry
- #34321 Total Commander 8.x: cut/copy/paste keyboard shortcuts don't work
- #34322 Total Commander 8.x: 'cut' works like 'copy'
- #44797 Visio 2003 does not read the complete list of fonts present in the system.
- #46773 Skype 4 MSI installer fails to create trigger for task using Task Scheduler (unimplemented type 7, TASK_TRIGGER_REGISTRATION)
- #48110 Multiple .NET 4.x applications need TaskService::ConnectedUser property (Toad for MySQL Freeware 7.x, Microsoft Toolkit from MS Office 2013)
- #48344 Luminance HDR / qtpfsgui 2.6.0: Empty file select dialog
- #49877 Minecraft Education Edition shows error during install: Fails to create scheduled task
- #52213 Thread crashes when pthread_exit is called in a SIGQUIT handler
- #55487 winpcap: pcap_dispatch doesn't capture anything with count argument -1
- #55619 VOCALOID AI Shared Editor v.6.1.0 crashes with System.Management.ManagementObject object construction
- #55724 mfmediaengine:mfmediaengine sometimes gets a threadpool assertion in Wine
- #55821 Desktop Window Manager crashes when launching a WPF app
- #56147 Real time Receiving data freezes for 1-5 seconds
- #56271 Free Download Manager no longer works after it updated (stuck at 100% CPU, no visible window)
- #56299 imm32.dll: CtfImmIsGuidMapEnable could not be located in the dynamic link library
- #56334 Page fault when querying dinput8_a_EnumDevices
- #56337 battle.net: tray icon is not displayed with wine-9.2
- #56345 EA app installer has no text
- #56357 Zero sized writes using WriteProcessMemory succeed on Windows, but fail on Wine.
- #56360 FoxVox window is rendered as a blank surface instead of expected user interface
- #56388 Regression: Fullscreen apps show on wrong monitor and don't respond to mouse events properly
- #56401 Some ARM unwinding testcases broken by "ntdll: Use the correct structure for non-volatile registers"
### Changes since 9.3:
```
Aida Jonikienė (3):
qwave: Add QOSCloseHandle() stub.
qwave: Add tests for QOSCloseHandle().
msvcrt: Handle wide specifiers option in __stdio_common_vfscanf().
Alexandre Julliard (59):
ntdll: Add a wrapper macro for ARM64EC syscalls.
win32u: Add a wrapper macro for ARM64EC syscalls.
include: Add SEH information to ARM64EC syscalls.
ntdll: Add SEH information to ARM64EC breakpoints.
winebuild: Remove some no longer used support for ELF ARM platforms.
wow64: Update Wow64RaiseException behavior to match i386 hardware exceptions.
wow64: Use a .seh handler for the simulation loop.
ntdll: Always use .seh handlers on ARM.
ntdll: Use a .seh handler in DbgUiRemoteBreakin on ARM64EC.
ntdll: Use a .seh handler in RtlUserThreadStart on ARM64EC.
ntdll: Implement RtlCaptureContext on ARM64EC.
ntdll: Use the exported structures for dll redirection data.
ntdll: Move RtlHashUnicodeString constants to a public header.
ntdll: Remove no longer needed definitions from the private header.
winedump: Print the correct register names for exception info on ARM64.
ntdll: Use the official definitions for exception flags.
kernelbase: Use the official definitions for exception flags.
krnl386.exe: Use the official definitions for exception flags.
msvcp90: Use the official definitions for exception flags.
msvcrt: Use the official definitions for exception flags.
win32u: Use the official definitions for exception flags.
winecrt0: Use the official definitions for exception flags.
wow64: Use the official definitions for exception flags.
winedbg: Use the official definitions for exception flags.
widl: Use the official definitions for exception flags.
include: Remove the private definitions of the exception flags.
include: Move unwinding functions definitions to rtlsupportapi.h.
ntdll: Implement RtlVirtualUnwind2.
ntdll/tests: Use a proper handler in the RtlRaiseException test on x86-64.
ntdll: Implement RtlRaiseException on ARM64EC.
kernelbase: Implement RaiseException on ARM64EC.
qwave/tests: Remove todo from a succeeding test.
ntdll: Port the RtlRaiseException test to ARM64.
ntdll: Port the RtlRaiseException test to ARM.
ntdll: Always use SEH support on ARM.
ntdll: Use the correct structure for non-volatile registers on ARM64.
ntdll: Use the correct structure for non-volatile registers on ARM.
ntdll: Also copy non-volatile regs on collided unwind.
ntdll: Use a common wrapper to call exception handlers on ARM64.
ntdll: Use a common wrapper to call exception handlers on ARM.
ntdll: Use a common wrapper to call unwind handlers on ARM64.
ntdll: Use a common wrapper to call unwind handlers on ARM.
ntdll: Allocate the data structure and stack for the ARM64EC emulator.
ntdll: Implement exception dispatching on ARM64EC.
ntdll: Implement KiUserExceptionDispatcher on ARM64EC.
vkd3d: Import upstream release 1.11.
ntdll: Use jump buffer definitions from setjmp.h.
ntdll: Export _setjmpex.
ntdll: Export longjmp.
ntdll: Implement _setjmpex on ARM64EC.
d3d10_1/tests: Mark a failing test as todo.
d3dx9/tests: Mark failing tests as todo.
ntdll: Don't copy a missing context in get_thread_context().
ntdll: Remove a misleading WARN.
ntdll: Support the __os_arm64x_helper functions in the loader.
winedump: Dump the __os_arm64x_helper functions.
include: Always use _setjmpex on non-i386 platforms.
msvcrt: Import setjmp/setjmpex from ntdll.
msvcrt: Import longjmp from ntdll for PE builds.
Alexandros Frantzis (11):
winex11.drv: Remove unused refresh_drawables field.
winewayland.drv: Add skeleton OpenGL driver.
winewayland.drv: Initialize core GL functions.
winewayland.drv: Implement wglGetExtensionsString{ARB,EXT}.
winewayland.drv: Implement wglGetProcAddress.
winewayland.drv: Implement wglDescribePixelFormat.
winewayland.drv: Implement wglSetPixelFormat(WINE).
winewayland.drv: Implement OpenGL context creation.
winewayland.drv: Implement wglMakeCurrent and wglMakeContextCurrentARB.
winewayland.drv: Implement wglSwapBuffers.
winewayland.drv: Handle resizing of OpenGL content.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan McGrath (5):
mshtml: Pass DOMEvent instead of nsIDOMEvent during handle_event.
mshtml: Use generic event dispatcher for DOMContentLoaded.
mshtml/tests: Add test for document mode after InitNew and Load.
mshtml: Always use the event target dispex.
mshtml: Don't handle special case when doc != node->doc.
Brendan Shanks (2):
ntdll: Add native thread renaming for FreeBSD.
quartz: Set the name of internal threads.
Connor McAdams (6):
webservices/tests: Fix -Warray-bounds warning on gcc 13.2.0.
d3dx9/tests: Add more tests for misaligned compressed surface loading.
d3dx9: Use base image pointer when decompressing source image.
d3dx9: Split D3DXLoadSurfaceFromMemory functionality into a separate function.
d3dx9: Split off image decompression into a helper function.
d3dx9: Preserve the contents of unaligned compressed destination surfaces.
Daniel Lehman (5):
oleaut32/tests: Add tests for IPersistStream::GetSizeMax.
oleaut32: Implement GetSizeMax for empty picture.
oleaut32: Implement GetSizeMax for BMPs.
ole32: Do not lock storage in read-only deny-write mode.
ole32/tests: Remove todo from lock tests.
David McFarland (5):
mmdevapi/tests: Add test for AudioClient3_InitializeSharedAudioStream.
mmdevapi: Implement IAudioClient3_InitializeSharedAudioStream.
mmdevapi: Implement IAudioClient3_GetSharedModeEnginePeriod.
mmdevapi/tests: Add test for IDeviceTopology.
mmdevapi: Add stub for IDeviceTopology.
Eric Pouech (20):
server: Allow 0-write length in WriteProcessMemory().
dbghelp/tests: Add tests for image files lookup.
dbghelp/tests: Add tests for SymFindFileInPath for pdb files.
dbghelp/tests: Add tests about SymLoadModule and finding pdb files.
dbghelp: Don't fail on loading 64bit modules on 32bit applications.
dbghelp: Don't search the passed path in SymFindFileInPath.
dbghelp/tests: Add more tests for SymLoadModule*.
dbghelp: Always use SymGetSrvIndexFileInfo() for files lookup.
dbghelp: Rework loading of PDB string table.
dbghelp: Get rid of struct pdb_lookup.
dbghelp: Return matched information for path_find_symbol_file.
dbghelp: Search subdirectories in element path.
dbghelp: Relax failure conditions.
dbghelp: Change order when trying to load modules.
dbghelp: Mimic native behavior for module name.
dbghelp: Fix some corner case of virtual module loading.
dbghelp/tests: Extend the tests for SymLoadModule().
dbghelp: Support SLMFLAG_NO_SYMBOLS in SymLoadModuleEx*().
dbghelp: Don't fail in SymAddSymbol for modules without debug information.
dbghelp: Fixed module information when unmatched pdb file is loaded.
Esme Povirk (7):
gdiplus: Switch to a struct for gdip_format_string callback args.
gdiplus: Pass gdip_format_string_info to font link functions.
gdiplus: Restore hdc argument to gdip_format_string.
gdiplus: Fix crash in GdipAddPathString.
gdiplus: Fix use after free in GdipAddPathString.
gdiplus: Implement font linking in GdipAddPathString.
mscoree: Implement CLRRuntimeHost_Start.
Fabian Maurer (7):
win32u: Move get_awareness_from_dpi_awareness_context.
win32u: Refactor get_thread_dpi_awareness to use get_awareness_from_dpi_awareness_context.
user32/tests: Add exhaustive tests for Get/SetThreadDpiAwarenessContext.
user32: Fix Set/GetThreadDpiAwarenessContext for DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2.
user32/tests: Add tests for AreDpiAwarenessContextsEqual.
user32: Fix AreDpiAwarenessContextsEqual behavior for DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2.
win32u: Sync dpi awareness changes from user32.
Florian Will (3):
include: Add TCP_KEEPCNT and TCP_KEEPINTVL definitions.
ws2_32/tests: Test TCP_KEEP{ALIVE,CNT,INTVL} options.
ws2_32: Implement TCP_KEEP{ALIVE,CNT,INTVL} options.
Gabriel Ivăncescu (1):
winex11: Set the correct visual even if alpha matches.
Hans Leidekker (5):
netprofm: Support NLM_ENUM_NETWORK flags.
netprofm: Set return pointer to NULL in networks_enum_Next().
wbemprox: Handle implicit property in object path.
netprofm/tests: Mark a test result as broken on Windows 11.
wbemprox: Use separate critical sections for tables and table list.
Henri Verbeet (2):
wined3d: Pass "shader->function" as source to vkd3d_shader_scan() in shader_spirv_scan_shader().
wined3d: Slightly adjust an ERR in shader_spirv_compile_shader().
Jacek Caban (9):
configure: Disable -Wmisleading-indentation warnings on GCC.
vcomp/tests: Use limits.h macros in for_static_i8_cb.
winebuild: Output load config on PE targets.
winevulkan: Update to VK spec version 1.3.278.
winevulkan: Remove no longer needed spec workarounds.
winevulkan: Rename wine_device_memory mapping to vm_map.
winevulkan: Use handle map for memory objects.
winevulkan: Refactor extra extensions handling in wine_vk_device_convert_create_info.
winevulkan: Use VK_EXT_map_memory_placed for memory mapping on wow64.
Martin Storsjö (1):
arm64: Expose information about more modern CPU extensions.
Michael Müller (1):
wine.inf: Register the New menu as a directory background context menu handler.
Nikolay Sivov (3):
d3dcompiler: Enable semantic names mapping in compatibility mode.
d3d10_1/tests: Add a basic test for returned preferred profiles.
d3d10_1/tests: Add an effect compilation test using 10.1 features.
Noah Berner (1):
comctl32/tests: Fix test that fails on Feb 29th.
Paul Gofman (34):
nsiproxy.sys: Fix ipv6 route table parsing on Linux.
iphlpapi: Partially fill Ipv4 / Ipv6 metric in GetAdaptersAddresses().
wbemprox: Force debug info in critical sections.
wmwcore: Force debug info in critical sections.
browseui: Force debug info in critical sections.
itss: Force debug info in critical sections.
mmdevapi: Force debug info in critical sections.
ntdll: Mind context compaction mask in context_from_server().
ntdll: Don't copy xstate from / to syscall frame in usr1_handler().
ntdll: Support generic xstate config in context manipulation functions.
msvcp: Force debug info in critical sections.
msvcrt: Force debug info in critical sections.
netapi32: Force debug info in critical sections.
rsaenh: Force debug info in critical sections.
wined3d: Force debug info in critical sections.
kernelbase: Use KEY_WOW64_64KEY flag when 64 bit registry access is assumed.
mciavi32: Force debug info in critical sections.
winmm: Force debug info in critical sections.
winebus.sys: Force debug info in critical sections.
windows.security.credentials.ui.userconsentverifier: Force debug info in critical sections.
amstream: Avoid leaking critical section debug info in filter_Release().
amstream: Force debug info in critical sections.
winexinput.sys: Force debug info in critical sections.
comctl32: Force debug info in critical sections.
mcicda: Force debug info in critical sections.
ole32: Force debug info in critical sections.
qcap: Force debug info in critical sections.
ntdll: Respect red zone in usr1_handler() on x64.
quartz: Force debug info in critical sections.
urlmon: Force debug info in critical sections.
winegstreamer: Force debug info in critical sections.
wmiutil: Force debug info in critical sections.
windows.gaming.input: Force debug info in critical sections.
windows.media.speech: Force debug info in critical sections.
Philip Rebohle (1):
winevulkan: Update to VK spec version 1.3.279.
Piotr Caban (1):
wininet: Fix memory leak when loading proxy information.
Rémi Bernon (49):
win32u: Introduce new NtUserSwitchDesktop syscall stub.
server: Keep track of the winstation input desktop.
server: Send hardware input to the visible input desktop.
server: Keep a list of threads connected to each desktop.
server: Keep a list of processes that can receive rawinput messages.
server: Dispatch rawinput messages using the rawinput process list.
winevulkan: Remove unnecessary WINEVULKAN_QUIRK_ADJUST_MAX_IMAGE_COUNT quirk.
winevulkan: Succeed VK_KHR_win32_surface procs queries when enabled.
winex11: Remove now unnecessary vulkan function name mapping.
winemac: Remove now unnecessary vulkan function name mapping.
winewayland: Remove now unnecessary vulkan function name mapping.
winex11: Remove unnecessary X11DRV_get_vk_* helpers.
winemac: Remove unnecessary macdrv_get_vk_* helper.
winex11: Remove unnecessary vkDestroySurfaceKHR NULL checks.
winemac: Remove unnecessary vkDestroySurfaceKHR NULL checks.
winewayland: Remove unnecessary vkDestroySurfaceKHR NULL checks.
mfreadwrite/reader: Split source_reader_create_decoder_for_stream helper.
mf/topology_loader: Only propagate some media type attributes.
mfreadwrite/reader: Call SetOutputType directly on the decoder transform.
mfreadwrite/reader: Keep the stream transforms in a list.
mfreadwrite/reader: Create and append a converter transform.
mfreadwrite/reader: Implement IMFSourceReaderEx_GetTransformForStream.
mfreadwrite/reader: Adjust min_buffer_size to be 1s of audio data.
win32u: Use NtUserCallHwndParam interface for __wine_send_input.
win32u: Use a custom struct hid_input for NtUserSendHardwareInput.
dinput/tests: Test the WM_POINTER* message parameter values.
mouhid.sys: Send WM_POINTER* messages on contact updates.
server: Add support for sending and receiving WM_POINTER* messages.
win32u: Add support for sending and receiving WM_POINTER* messages.
win32u: Use char array for the device manager context gpuid.
win32u: Simplify adapter key path creation from gpu_guid.
win32u: Remove unused wine_devpropkey_monitor_adapternameW property.
win32u: Use REG_SZ instead of REG_BINARY for some adapter keys.
win32u: Remove unnecessary class_guidW double check.
win32u: Use set_reg_ascii_value whenever possible.
win32u: Introduce and use new reg_(open|create)_ascii_key helpers.
winex11: Support XInput2 events on individual windows.
winex11: Select XI_Touch* input and translate it to WM_POINTER*.
server: Stop waiting on LL-hooks for non-injected input.
server: Generate WM_POINTERENTER / WM_POINTERLEAVE messages.
server: Continuously send pointer update messages while it's down.
server: Send emulated mouse messages on primary pointer updates.
win32u: Keep a reference on the adapters gpu.
win32u: Load gpus from registry before adapters.
win32u: Lookup adapter gpus from their device paths.
win32u: Enumerate devices with a dedicated helper.
win32u: Split read / write of gpu to registry to separate helpers.
win32u: Keep the vulkan GUID on the gpu structure.
server: Remove desktop from their winstation list before looking for another input desktop.
Shaun Ren (2):
sapi: Implement ISpeechVoice::{get/put}_Volume.
sapi: Implement ISpeechVoice::{get/putref}_Voice.
Sven Baars (1):
oleaut32: Use scientific notation if it prevents a loss of accuracy.
Tim Clem (3):
winemac.drv: Exclude the emoji Touch Bar when looking for input methods.
win32u: Don't mask keyboard scan codes when processing them for IME.
winebus.sys: Only attempt to open joysticks and gamepads in the IOHID backend.
Vijay Kiran Kamuju (7):
taskschd: Implement ITaskService_get_ConnectedUser.
taskschd: Return success from Principal_put_RunLevel.
include: Add IRegistrationTrigger definition.
taskschd: Add IRegistrationTrigger stub implementation.
taskschd: Implement IRegistrationTrigger_putEnabled.
taskschd: Implement IRegistrationTrigger_getEnabled.
taskschd: Implement TaskService_get_ConnectedDomain.
Yuxuan Shui (10):
dmband: Move band.c to dmusic.
dmime: Better MIDI parsing interface.
dmime: Parse MIDI program change events and generate a bandtrack.
dmime: Add a stub chordtrack for MIDI segments.
dmime: Use linked list for tempotrack.
dmime: Implement setting TempoParam for tempotracks.
dmime: Parse MIDI Set Tempo meta events and generate a tempotrack.
dmime/tests: Call the correct QueryInterface function for DirectMusic track.
dmime: Parse note on/off events and generate a seqtrack.
dmime: Handle MIDI control events in MIDI files.
Zebediah Figura (47):
shell32: Also zero-initialize the background menu.
wined3d/atifs: Move TEXTUREFACTOR constant loading to arbfp_apply_draw_state().
wined3d/atifs: Move texture constant loading to arbfp_apply_draw_state().
wined3d/atifs: Move FFP bumpenv constant loading to atifs_apply_draw_state().
wined3d/atifs: Move fragment program compilation from set_tex_op_atifs() to atifs_apply_draw_state().
shell32: Stub CLSID_NewMenu.
shell32: Stub IContextMenu3 on the New menu.
shell32: Stub IObjectWithSite on the New menu.
shell32: Return an initial "New" menu.
wine.inf: Add ShellNew registry entries for Folder.
shell32: Enumerate the ShellNew key for Folder.
shell32: Implement InvokeCommand() for the new menu.
shell32/tests: Add a few more tests for the New menu.
msi/tests: Expand costing tests.
msi: Round costs up to 4096 bytes instead of clamping.
msi: Store component cost in 512-byte units.
msi: Multiply by 512 in dialog_vcl_add_drives().
shell32: Elevate the child process for the "runas" verb.
wine.inf: Set the EnableLUA value to 1.
msi: Create the custom action server as an elevated process.
shell32/tests: Add tests for context menu copy/paste.
shell32: Remove useless and commented out code.
shell32: Move DoPaste() up.
shell32: Add a get_data_format() helper.
shell32: Reimplement pasting from CF_DROP directly.
shell32: Respect the parent PIDL when pasting from CFSTR_SHELLIDLIST.
shell32: Implement Paste in the item menu.
wined3d/nvrc: Move TEXTUREFACTOR constant loading to nvrc_apply_draw_state().
wined3d/nvrc: Move FFP bumpenv constant loading to nvrc_apply_draw_state().
wined3d/nvrc: Move color ops from nvrc_colorop() to nvrc_apply_draw_state().
wined3d/nvrc: Remove now redundant STATE_SAMPLER handlers.
wined3d/nvrc: Move alpha op application to nvrc_apply_draw_state().
wined3d/nvrc: Remove now redundant WINED3D_TSS_RESULT_ARG handlers.
mciwave: Abort the playback thread regardless of state when stopping.
shell32/tests: Add more tests for IDataObject.
shell32: Do not interpret the direction in IDataObject::EnumFormatEtc().
shell32: Reimplement the data object to store a generic array of HGLOBALs.
shell32: Implement IDataObject::SetData().
shell32: Reimplement pasting from a CIDA without ISFHelper.
shell32: Remove the no longer used ISFHelper::CopyItems() helper.
shell32: Set the drop effect from the context menu.
shell32: Respect the drop effect in do_paste().
shell32: Fix a test failure in test_DataObject().
winetest: Elevate test processes on Wine.
ntdll: Implement NtSetInformationProcess(ProcessAccessToken).
ntdll: Elevate processes if requested in the manifest.
server: Create processes using a limited administrator token by default.
Zhiyi Zhang (7):
Revert "winex11.drv: Handle X error from vkGetRandROutputDisplayEXT()."
rtworkq: Avoid closing a thread pool object while its callbacks are running.
rtworkq: Avoid possible scenarios that an async callback could be called twice.
advapi32: Check NULL return key pointers when creating registry keys.
advapi32/tests: Test creating registry keys with a NULL return key pointer.
user32/tests: Add some ReleaseCapture() tests.
win32u: Only send mouse input in ReleaseCapture() when a window is captured.
Ziqing Hui (2):
mf/tests: Test AvgTimePerFrame for WMV decoder DMO.
winegstreamer: Set AvgTimePerFrame in GetOutputType() for WMV decoder.
```
1
0
The vkd3d team is proud to announce that release 1.11 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Initial support for compiling legacy Direct3D bytecode to SPIR-V.
- Initial HLSL compiler support for compiling effect profiles.
- Miscellaneous bug fixes and performance improvements.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.11.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.11
### libvkd3d
- Descriptor updates happen asynchronously on an internal worker thread, for
a minor performance improvement in applications that update many
descriptors per frame.
- When the VK_EXT_mutable_descriptor_type extension is available, libvkd3d
will make more efficient use of descriptor pools and sets.
- When the VK_EXT_shader_viewport_index_layer extension is available,
libvkd3d supports indexing viewport and render target arrays from vertex
and tessellation evaluation shaders.
- Support for standard (i.e., black and white) border colours is
implemented.
- The GetResourceAllocationInfo1() method of the ID3D12Device4 interface is
implemented.
- The ID3D12Device7 interface is supported.
- The ID3D12Resource2 interface is supported.
- Several new feature queries are supported:
- D3D12_FEATURE_D3D12_OPTIONS6
- D3D12_FEATURE_D3D12_OPTIONS7
- D3D12_FEATURE_D3D12_OPTIONS8
- D3D12_FEATURE_D3D12_OPTIONS9
- D3D12_FEATURE_D3D12_OPTIONS10
- D3D12_FEATURE_D3D12_OPTIONS11
- D3D12_FEATURE_D3D12_OPTIONS12
- D3D12_FEATURE_D3D12_OPTIONS13
### libvkd3d-shader
- Initial support for compiling legacy Direct3D bytecode to SPIR-V.
- Experimental support for compiling DirectX Intermediate Language (DXIL) to
SPIR-V and Direct3D shader assembly. Being an experimental feature, this
requires building vkd3d with the ‘-DVKD3D_SHADER_UNSUPPORTED_DXIL’
preprocessor option. Note that enabling this feature will affect the
capabilities reported by libvkd3d as well, and may cause previously
working applications to break due to attempting to use incomplete DXIL
support. No API or ABI stability guarantees are provided for experimental
features.
- New features for the HLSL source type:
- Initial support for the ‘fx_2_0’, ‘fx_4_0’, ‘fx_4_1’, and ‘fx_5_0’
profiles, using the new ‘VKD3D_SHADER_TARGET_FX’ target type.
- Support for ‘Buffer’ resources.
- The acos(), asin(), atan(), and atan2() intrinsic functions are
supported.
- Explicit register assignment using the ‘register()’ keyword in shader
model 1-3 profiles. This was previously only supported in shader model
4+ profiles.
- Casts from integer to floating-point types in shader model 1-3 profiles.
- Support for various input/output semantics:
- SV_InstanceID in shader model 4+ fragment shaders.
- SV_PrimitiveID in shader model 4+ fragment shaders. In previous
versions this was only supported in shader model 4+ geometry shaders.
- SV_RenderTargetArrayIndex in shader model 4+ vertex and fragment shaders.
- SV_ViewportArrayIndex in shader model 4+ vertex and fragment shaders.
- Support for various rasteriser-ordered view types. Specifically:
- RasterizerOrderedBuffer
- RasterizerOrderedStructuredBuffer
- RasterizerOrderedTexture1D
- RasterizerOrderedTexture1DArray
- RasterizerOrderedTexture2D
- RasterizerOrderedTexture2DArray
- RasterizerOrderedTexture3D
- New features for the SPIR-V target type:
- Support for globally coherent unordered access views. These have the
‘globallycoherent’ storage class in HLSL, and the ‘_glc’ suffix in
Direct3D assembly.
- Support for thread group unordered access view barriers. This
corresponds to ‘sync_ugroup’ instructions in Direct3D assembly.
- When the SPV_EXT_viewport_index_layer extension is supported, vertex and
tessellation evaluation shaders can write render target and viewport
array indices. This corresponds to the ‘SV_RenderTargetArrayIndex’ and
‘SV_ViewportArrayIndex’ HLSL output semantics.
- New interfaces:
- The VKD3D_SHADER_COMPILE_OPTION_FEATURE compile option can be used to
specify features available in the target environment. The
VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 flag indicates support for
64-bit integer types in the SPIR-V target environment. The
VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 flag indicates support for
64-bit floating-point types in the SPIR-V target environment. For
backward compatibility, VKD3D_SHADER_API_VERSION_1_10 and earlier also
imply support for 64-bit floating-point types.
- The VKD3D_SHADER_SPIRV_EXTENSION_EXT_VIEWPORT_INDEX_LAYER enumeration
value indicates support for the SPV_EXT_viewport_index_layer extension
in the SPIR-V target environment.
### libvkd3d-utils
- When available, the following Vulkan extensions are enabled by
D3D12CreateDeviceVKD3D() and D3D12CreateDevice():
- VK_KHR_android_surface
- VK_KHR_wayland_surface
- VK_KHR_win32_surface
- VK_KHR_xlib_surface
- VK_EXT_metal_surface
- VK_MVK_ios_surface
Previous versions of vkd3d-utils enabled VK_KHR_xcb_surface and
VK_MVK_macos_surface. In practice this means that
D3D12CreateDevice()/D3D12CreateDeviceVKD3D() can be used on the
corresponding additional window systems.
- New interfaces:
- D3DReflect() is used to retrieve information about shaders. It currently
supports retrieving information about input, output, and patch constant
parameters using the ID3D12ShaderReflection interface.
- D3DDisassemble() is used to disassemble legacy Direct3D bytecode (shader
model 1-3) and ‘Tokenized Program Format’ (shader model 4 and 5)
shaders.
### vkd3d-compiler
- The new ‘fx’ target is used for outputting Direct3D effects when compiling
HLSL ‘fx_2_0’, ‘fx_4_0’, ‘fx_4_1’, and ‘fx_5_0’ profiles.
### build
- The minimum required version of Vulkan-Headers for this release is version
1.3.228.
### Changes since vkd3d 1.10:
```
Conor McCarthy (164):
vkd3d-shader/spirv: Support declared component type and count in indexable temps.
vkd3d-shader/dxil: Support null constant arrays.
vkd3d-shader/spirv: Support constant initialisers in indexable temps.
vkd3d-shader/spirv: Support declared component type and count in immediate constant buffers.
vkd3d-shader: Add a register index to struct vkd3d_shader_immediate_constant_buffer.
vkd3d-shader/dxil: Emit constant global arrays as immediate constant buffers.
vkd3d-shader/dxil: Implement DX intrinsic Unary.
vkd3d-shader/dxil: Apply metadata attachments to instructions.
vkd3d-shader/dxil: Set the result register data type for nop casts.
vkd3d-shader/ir: Pass a local copy of location to control_point_normaliser_emit_hs_input().
tests/shader-runner: Test an uninitialised indexable temp.
vkd3d-shader/dxil: Implement the DXIL ALLOCA instruction.
vkd3d-shader/dxil: Implement the DXIL STORE instruction.
vkd3d-shader/spirv: Bitcast if necessary in the spirv_compiler_emit_mov() general implementation.
tests/shader-runner: Add a non-const-indexing test for asfloat() result storage.
vkd3d-shader: Introduce an instruction flag to suppress masking of bitwise shift counts.
vkd3d-shader/spirv: Emit an error if 64-bit integers are used.
tests/shader-runner: Introduce an 'int64' requirement directive.
tests/shader-runner: Introduce a 'float64' requirement directive.
tests/shader-runner: Add 64-bit arithmetic tests.
tests/shader-runner: Add 64-bit bitwise tests.
vkd3d-shader/spirv: Introduce a compiler feature flag for int64 capability.
tests/shader-runner: Fix the arithmetic-int-uniform int64 abs expected results.
vkd3d: Update the descriptor `next` index before getting a reference for writing.
vkd3d: Write Vulkan descriptors in a worker thread.
vkd3d: Rename the device mutex to pipeline_cache_mutex.
vkd3d: Co-locate all descriptor-related members.
tests/shader-runner: Check for float64 support in the d3d11 runner.
tests/shader-runner: Check for float64 support in the Vulkan runner.
tests/shader-runner: Check for int64 support in the Vulkan runner.
vkd3d: Pass int64 capability info to vkd3d-shader.
vkd3d-shader/spirv: Use data_type_is_integer() in spirv_compiler_emit_neg().
vkd3d-shader/spirv: Introduce a data_type_is_64_bit() helper function.
vkd3d-shader/spirv: Introduce a UINT64 component type.
vkd3d-shader/spirv: Support 64-bit sources in spirv_compiler_emit_int_div().
vkd3d-shader/spirv: Support UINT64 source in spirv_compiler_emit_bool_cast().
vkd3d-shader/spirv: Handle ITOI and UTOU in spirv_compiler_map_alu_instruction().
vkd3d-shader/spirv: Decorate non-float32 non-built-in pixel shader inputs as Flat.
vkd3d-shader/dxil: Count global variables in dxil_block_compute_module_decl_count().
vkd3d-shader/dxil: Pre-allocate instruction space for globals in sm6_parser_globals_init().
vkd3d: Use mutable descriptors if available.
vkd3d-shader/dxil: Avoid null dereference on failure to find function pointer type.
vkd3d-shader/spirv: Support vector source param for FIRSTBIT_HI and FIRSTBIT_SHI instructions.
tests/d3d12: Test vector parameter for countbits() and firstbithigh() in test_shader_instructions().
vkd3d-shader/spirv: Emit descriptor offset loads in the function entry block.
vkd3d-shader/spirv: Handle DISCARD and TEXKILL in spirv_compiler_handle_instruction().
vkd3d-shader/spirv: Handle RETP in spirv_compiler_handle_instruction().
vkd3d-shader/ir: Flatten IF/ELSE/ENDIF control flow instructions.
vkd3d-shader/ir: Flatten LOOP/BREAK/CONTINUE/ENDLOOP control flow instructions.
vkd3d-shader/ir: Flatten SWITCH/CASE/DEFAULT/ENDSWITCH control flow instructions.
vkd3d-shader/ir: Store code block names in struct vkd3d_shader_desc.
vkd3d-shader/spirv: Declare indexable temps as Private unless function scope is specified.
vkd3d-shader/spirv: Do not emit function code before the main prolog.
vkd3d-shader/ir: Include an initial label instruction in the first control flow block.
vkd3d-shader/ir: Expand index range write masks to cover all element masks.
tests: Test punned array access in patch constant functions.
vkd3d-shader: Make the control point count the outer dimension of I/O arrays.
vkd3d-shader/tpf: Validate sysvals in index range declarations.
vkd3d-shader/dxil: Introduce a code block terminator struct.
vkd3d-shader/dxil: Handle the DXIL BR instruction unconditional variant.
vkd3d-shader/dxil: Handle the DXIL BR instruction conditional variant.
vkd3d-shader/dxil: Handle the DXIL PHI instruction.
vkd3d-shader/dxil: Handle the DXIL SWITCH instruction.
vkd3d-shader/ir: Revert "Do not merge signature elements which have different interpolation modes.".
tests: Test an interpolated PS input where component x is unused.
vkd3d-shader/ir: Set merged signature element interpolation mode only from used elements.
vkd3d-shader/dxil: Pass the code block and instruction in a struct to intrinsic handlers.
vkd3d-shader/spirv: Do not assert VKD3D_DATA_UINT in spirv_compiler_emit_ld_raw_structured_srv_uav().
vkd3d-shader/dxil: Load typed SRV descriptors.
vkd3d-shader/dxil: Load typed UAV descriptors.
vkd3d-shader/dxil: Implement DX intrinsic BufferLoad for typed buffers.
tests/d3d12: Add a raw firstbit test to test_shader_instructions().
vkd3d-shader/spirv: Handle UINT32_MAX result from FIRSTBIT_HI and FIRSTBIT_SHI instructions.
vkd3d-shader/dxil: Handle semantic kind VERTEXID.
vkd3d-shader/dxil: Handle semantic kind ISFRONTFACE.
vkd3d-shader/dxil: Add an operand type code for the return type.
vkd3d-shader/dxil: Implement DX intrinsic Binary.
vkd3d-shader/ir: Refactor return code checking in vkd3d_shader_normalise().
vkd3d-shader/dxil: Use strcmp() to check the entry point name.
vkd3d-shader/dxil: Use strcmp() to find function names.
vkd3d-shader/dxil: Use strcmp() to find the handle type.
vkd3d-shader/spirv: Emit DISCARD as a function call.
vkd3d-shader/dxil: Handle floating point special value comparisons in sm6_parser_emit_dx_unary().
tests/shader-runner: Add tests for floating point special values.
vkd3d-shader/spirv: Implement the ISFINITE instruction.
vkd3d-shader/spirv: Handle the ISINF and ISNAN instructions in spirv_compiler_emit_alu_instruction().
vkd3d-shader: Introduce VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64.
vkd3d-shader/spirv: Check for FEATURE_FLOAT64 when double precision use is flagged.
vkd3d-shader/spirv: Handle globally coherent UAVs.
vkd3d-shader/spirv: Include Uniform in the memory semantics for UAV barriers.
vkd3d-shader/spirv: Handle thread group UAV barriers.
vkd3d-shader/dxil: Implement DX intrinsics Cos and Sin.
vkd3d-shader/dxil: Handle DX intrinsic Tan in sm6_parser_emit_dx_unary().
vkd3d-shader/spirv: Handle the TAN instruction in spirv_compiler_emit_ext_glsl_instruction().
vkd3d-shader/dxil: Load raw/structured buffer SRV/UAV descriptors.
vkd3d-shader/dxil: Implement DX intrinsic RawBufferLoad.
vkd3d-shader/dxil: Implement DX intrinsic Tertiary.
vkd3d-shader/spirv: Support 64-bit source value for bitfield instructions.
tests/shader-runner: Add an asuint() test to the 64-bit cast tests.
vkd3d-shader/dxil: Implement DX intrinsic SplitDouble.
vkd3d-shader/dxil: Implement DX intrinsic TextureLoad.
vkd3d-shader/spirv: Emit a vector bitcast if necessary in spirv_compiler_emit_load_ssa_reg().
vkd3d: Add ID3D12Device6 interface stub.
vkd3d: Add ID3D12Device7 interface stubs.
tests/d3d12: Test multiple descriptions in test_resource_allocation_info().
vkd3d: Support multiple descriptions in GetResourceAllocationInfo().
tests/d3d12: Add tests for GetResourceAllocationInfo1().
vkd3d: Implement GetResourceAllocationInfo1().
vkd3d-shader/dxil: Handle inverse trigonometric functions in sm6_parser_emit_dx_unary().
vkd3d-shader/spirv: Handle the ACOS, ASIN and ATAN instructions in spirv_compiler_emit_ext_glsl_instruction().
vkd3d-shader/dxil: Support forward-referenced value ids.
tests/shader-runner: Emit descriptor ranges for consecutive resources.
tests/shader-runner: Add shader model 6 texture UAV tests.
vkd3d-shader/dxil: Implement DX intrinsic TextureStore.
tests/shader-runner: Add hyperbolic trigonometry tests.
vkd3d-shader/dxil: Handle hyperbolic trigonometric functions in sm6_parser_emit_dx_unary().
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS6 in CheckFeatureSupport().
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS7 in CheckFeatureSupport().
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS8 in CheckFeatureSupport().
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS9 in CheckFeatureSupport().
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS10 in CheckFeatureSupport().
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS11 in CheckFeatureSupport().
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS12 in CheckFeatureSupport().
vkd3d: Handle D3D12_FEATURE_D3D12_OPTIONS13 in CheckFeatureSupport().
vkd3d-shader/dxil: Load sampler descriptors.
vkd3d-shader/dxil: Implement DX intrinsic Sample.
vkd3d-shader/dxil: Implement DX intrinsic SampleGrad.
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_binop().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_unary().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_binary().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_cbuffer_load().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_tertiary().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_load_input().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_buffer_load().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_sincos().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_split_double().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_cast().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_cmp2().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_extractval().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_load().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_store().
vkd3d-shader/dxil: Check for src param allocation failure in sm6_parser_emit_vselect().
vkd3d-shader: Raise the instruction parameter allocation size if necessary.
tests/shader-runner: Add a 64-bit switch test.
tests/d3d12: Add tests for GetProtectedResourceSession().
vkd3d: Return DXGI_ERROR_NOT_FOUND from GetProtectedResourceSession().
tests/d3d12: Add a test for zero description count in test_resource_allocation_info().
vkd3d: Implement ID3D12Resource2.
tests/shader-runner: Support scalar signed int probe values.
tests/shader-runner: Add tests for UAV atomic ops.
vkd3d-shader/dxil: Implement DX intrinsic AtomicBinOp.
vkd3d-shader/dxil: Implement DX intrinsic AtomicCompareExchange.
vkd3d-shader/dxil: Handle resource descriptor additional tag/value pairs.
tests/shader-runner: Support structured buffer UAVs.
tests/shader-runner: Add a test for a signed int typed buffer UAV.
tests/shader-runner: Add a test for a signed int structured buffer UAV.
vkd3d-shader/dxil: Implement DX intrinsic BufferStore.
vkd3d-shader/dxil: Handle raw and structured buffers in sm6_parser_emit_dx_buffer_store().
vkd3d-shader/dxil: Implement DX intrinsic RawBufferStore.
vkd3d-shader/dxil: Implement DX intrinsics SampleBias and SampleLevel.
vkd3d-shader/dxil: Implement DX intrinsics SampleCmp and SampleCmpLevelZero.
vkd3d-shader/dxil: Move the resource kind helper functions up.
vkd3d-shader/dxil: Implement DX intrinsic GetDimensions.
Evan Tang (4):
tests/shader-runner: Support testing for integer pixel data.
tests: Add some tests for rasteriser-ordered views.
vkd3d-shader/hlsl: Parse rasteriser-ordered view types.
vkd3d-shader/hlsl: Support SV_PrimitiveID in pixel shaders.
Fabian Maurer (2):
vkd3d-shader/dxil: Check null pointer before it is dereferenced (Coverity).
vkd3d: Unlock mutex in error case in d3d12_command_queue_CopyTileMappings.
Florian Weimer (1):
configure: Use AC_CHECK_FUNCS to define HAVE_GETTID.
Francisco Casas (31):
vkd3d-shader/hlsl: Emit fixmes on non-constant vector addressing.
tests/shader-runner: Support reading multiple model range args for qualifiers.
tests/shader-runner: Call each runner only once.
vkd3d-shader/d3dbc: Emit fixme for HLSL_RESOURCE_SAMPLE_LOD.
vkd3d-shader/ir: Lower texkill instructions to discard_nz.
tests: Use the vulkan runner to run SM1 compilation tests.
vkd3d-shader/ir: Update flatten_control_flow_constructs() comment.
tests/shader_runner: Pass a pointer to the data when creating uav buffers in d3d12.
tests/shader_runner: Free params.data on test directives (valgrind).
tests/shader_runner: Free runner->uniforms (valgrind).
tests/shader_runner: Free extensions pointer on vulkan runner (valgrind).
tests/shader_runner: Free runner->input_elements in parse_test_directive() (valgrind).
tests/shader_runner: Free runner->cs_source and runner->fx_source (valgrind).
tests: Rename register-reservations.shader_test to register-reservations-resources.shader_test.
tests: Test register(cX) reservations.
vkd3d-shader/hlsl: Make register(cX) reservations work for SM1.
vkd3d-shader/hlsl: Turn register(cX) reservations into buffer offset for SM4.
tests/vkd3d-shader: Set uninitialized uniforms to a value.
tests: Don't ignore SM1 on a non-const-indexing.shader_test test.
tests/shader-runner: Introduce "if" qualifier.
tests: Remove [require] directives for tests that use int and bool uniforms.
vkd3d-shader/d3dbc: Implement casts from ints to floats as a MOV.
tests: Add simple test for implicit cast to int.
vkd3d-shader/hlsl: Lower casts to int for SM1.
vkd3d-shader/hlsl: Record valid methods in object_methods[].
tests/shader-runner: Separate resource_type into type and dimension.
tests/shader-runner: Support SRV buffers.
tests/shader-runner: Change resource declaration syntax on shader_test files.
tests/shader-runner: Change probe directive syntax on shader_test files.
vkd3d-shader/hlsl: Parse Buffer types.
vkd3d-shader/hlsl: Emit fixme on non-direct resource stores.
Giovanni Mascellani (100):
vkd3d-shader/d3d-asm: Indent on IFC.
vkd3d-shader/d3d-asm: Write a single type in shader_dump_data_type().
vkd3d-shader/d3d-asm: Dump recently added types.
vkd3d-shader/d3d-asm: Dump unknown types as "<unknown>".
vkd3d-shader/d3d-asm: Add an "internal" mode for the ASM dumper.
vkd3d: Pad push constant ranges to 16 bytes.
vkd3d-shader/spirv: Honor force_validation after emitting SPIR-V code.
ci: Build vkd3d with SPIRV-Tools.
tests: Test assigning multisampled textures with different sample counts.
vkd3d-shader/dxil: Do not use the parser before it is initialized.
vkd3d-shader/dxil: Use vkd3d_shader_parser_error() for error reporting when available.
vkd3d-shader/d3dbc: Override the write mask when the destination is not vec4.
vkd3d-shader/dxil: Create constant buffer registers with dimension vec4.
vkd3d-shader/ir: Validate SSA registers.
vkd3d-shader/ir: Validate source swizzles depending on the dimension.
vkd3d-shader/ir: Validate destination write masks depending on the dimension.
ci: Dump the d3d12 summary line in the CI log.
vkd3d: Specify the aspect when creating NULL UAVs.
tests: Use a uint target for rendering uint data.
vkd3d-shader/spirv: Specify behavior for bit field instructions.
tests: Mark some sampling tests as buggy on MoltenVK.
tests: Mark streaming output as buggy on MoltenVK.
tests: Mark predicated rendering as buggy on MoltenVK.
tests: Mark resource arrays as buggy on MoltenVK.
configure: Detect pthread support using -pthread instead of -lpthread.
vkd3d-utils: Support many different surface types when creating a device.
vkd3d-shader/d3d-asm: Guess a sensible data type for literals.
vkd3d-shader: Make *src and *dst mutable in vkd3d_shader_instruction.
vkd3d-shader/ir: Simplify control flow in vsir_validate_register().
vkd3d-shader/ir: Use vkd3d_free() instead of free().
vkd3d-shader/ir: Check that TEMP registers have consistent dimensions.
vkd3d-shader/ir: Check that SSA registers have consistent dimensions.
vkd3d-shader/ir: Check that SSA registers are used validly.
ci: Rename CI target build-image to image-linux.
ci: Prepare the macOS build environment in a dedicated CI job.
tests: Add a test with non-trivial control flow.
tests: Test a couple of degenerate switch instances.
vkd3d-shader: Make relative address sources mutable too.
vkd3d-shader/spirv: Normalise the shader before allocating registers.
vkd3d-shader/ir: Validate that structured CF does not appear in block-based shaders.
vkd3d-shader/ir: Validate LABEL registers.
vkd3d-shader/ir: Validate LABEL instructions.
vkd3d-shader/ir: Validate BRANCH instructions.
vkd3d-shader/ir: Validate SWITCH_MONOLITHIC instructions.
vkd3d-shader/ir: Validate RET instructions.
vkd3d-shader/spirv: Use capability ShaderViewportIndexLayerEXT for decoration Layer.
vkd3d-shader/spirv: Use capability ShaderViewportIndexLayerEXT for decoration ViewportIndex.
vkd3d-shader/tpf: Support SV_RenderTargetArrayIndex in pixel and vertex shaders.
vkd3d-shader/tpf: Support SV_InstanceID in vertex shaders.
vkd3d-shader/tpf: Support SV_ViewportArrayIndex in pixel and vertex shaders.
tests: Compile HLSL shaders at runtime in test_ps_layer().
tests: Test using SV_RenderTargetArrayIndex in the vertex shader.
tests: Use test utils to create the pipeline state in test_ps_layer().
tests: Add a test for SV_ViewportArrayIndex.
vkd3d-shader/ir: Check that all instructions appear in a block.
vkd3d-shader/ir: Refactor register-type-specific code in parameter validation.
vkd3d-shader/ir: Do not allow IMMCONST and IMMCONST64 as destination registers.
vkd3d-shader/ir: Validate PHI instructions.
vkd3d-shader/ir: Run tracing and validation for DXIL code too.
vkd3d-shader/ir: Remove DCL_TEMPS instructions.
tests: Mark loading from stencil as buggy on MoltenVK.
tests: Skip unbounded descriptor ranges tests when they're unsupported.
tests: Mark cull distance as buggy on MoltenVK.
tests: Mark clip distance as unsupported on MoltenVK.
tests: Mark a timestamp query test as buggy on MoltenVK.
tests: Mark count buffers as buggy on MoltenVK.
tests: Mark a test related to instanced draws as buggy on MoltenVK.
tests: Mark ReadFromSubresource() and WriteToSubresource() as todo on MoltenVK.
tests: Mark geometry shaders as buggy on MoltenVK.
tests: Mark the tessellation pipeline as buggy on MoltenVK.
tests: Mark a depth sampling test as buggy on MoltenVK.
tests: Mark a strip cut test as buggy in MoltenVK.
vkd3d-shader/spirv: Emit an error if merge information is missing.
vkd3d-shader/ir: Lower monolithic switches to selection ladders.
vkd3d-shader/ir: Fixup PHI nodes when lowering switches to selection ladders.
vkd3d-shader: Convert write masks between 32 and 64 bit by cases.
include/vkd3d-shader: Generate swizzles without a function call.
vkd3d-shader: Use 64 bit swizzles for 64 bit data types in VSIR.
vkd3d-shader/ir: Check that SSA registers are used with compatible data types.
vkd3d-compiler: Exit the main function through a common code path.
vkd3d-compiler: Free compilation options (Valgrind).
vkd3d-shader/spirv: Free binary SPIR-V code (Valgrind).
vkd3d-shader/dxil: Set the register before calling src_param_init_scalar().
vkd3d-shader/spirv: Convert the swizzle according to the source bit width.
vkd3d-shader/spirv: Move bool casting helpers above register loading helpers.
vkd3d-shader/spirv: Support bool TEMP registers.
vkd3d-shader/ir: Materialize SSA registers to temporaries.
vkd3d-shader/ir: Handle PHI nodes when materializing SSA registers.
vkd3d-shader/ir: Introduce a simple control flow graph structurizer.
tests: Work around a Metal bug.
vkd3d-shader/hlsl: Free variable identifiers in primary_expr (Valgrind).
vkd3d-shader/hlsl: Free the parse initializer in attribute (Valgrind).
vkd3d-shader/hlsl: Free the individual attributes in func_prototype (Valgrind).
vkd3d-shader/hlsl: Free the selector in postfix_expr (Valgrind).
tests: Release the code blob in test_thread_id() (Valgrind).
vkd3d-shader/ir: Build a representation of the control flow graph.
vkd3d-shader/ir: Dump the control flow graph in the GraphViz format.
vkd3d-shader/ir: Compute the domination relationship.
vkd3d-shader/ir: Dump the domination relationship.
tests: Test how constant folding works on SM1.
Henri Verbeet (151):
vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_get_component_idx().
vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_component_count().
vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_64_from_32().
vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_32_from_64().
vkd3d-shader/ir: Pass a uint32_t swizzle to vkd3d_swizzle_get_component().
vkd3d-shader/ir: Pass a uint32_t swizzle to vkd3d_swizzle_get_component64().
tests: Print the failing line numbers when a test fails.
vkd3d-shader/ir: Rename the "immconst_uint" field of struct vkd3d_shader_register to "immconst_u32".
vkd3d-shader/ir: Rename the "immconst_float" field of struct vkd3d_shader_register to "immconst_f32".
vkd3d-shader/ir: Rename the "immconst_uint64" field of struct vkd3d_shader_register to "immconst_u64".
vkd3d-shader/ir: Rename the "immconst_double" field of struct vkd3d_shader_register to "immconst_f64".
vkd3d: Add D3D_FEATURE_LEVEL_12_2 as a valid feature level.
vkd3d: Add D3D_FEATURE_LEVEL_1_0_CORE as a valid feature level.
vkd3d-shader/ir: Store instruction flags as a uint32_t.
vkd3d-shader/ir: Store source parameter swizzles as a uint32_t.
vkd3d-shader/ir: Store destination parameter modifier flags as a uint32_t.
vkd3d-shader/ir: Store destination parameter shifts as an unsigned int.
vkd3d: Recognise VK_QUEUE_PROTECTED_BIT in debug_vk_queue_flags().
vkd3d: Recognise VK_QUEUE_VIDEO_DECODE_BIT_KHR in debug_vk_queue_flags().
vkd3d: Slightly simplify debug_vk_memory_property_flags().
vkd3d-shader/hlsl: Store swizzles as a uint32_t.
vkd3d-shader/hlsl: Store modifier flags as a uint32_t.
vkd3d: Implement support for static border colours.
vkd3d: Attempt to translate border colours to static border colours in d3d12_desc_create_sampler().
vkd3d-shader: Recognise DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS in shader_validate_descriptor_range1().
vkd3d-shader/spirv: Pass a uint32_t write mask to vkd3d_symbol_set_register_info().
vkd3d-shader/spirv: Pass a uin32_t write mask to spirv_compiler_emit_load_src().
vkd3d-shader/spirv: Pass a uint32_t write mask to spirv_compiler_emit_abs().
vkd3d-shader/spirv: Pass a uint32_t write mask to spirv_compiler_emit_neg().
vkd3d: Trace GetLastError() results with %lu.
vkd3d-shader/dxbc: Pass a size_t offset to shader_get_string().
vkd3d-shader/dxbc: Pass an unsigned int count to shader_parse_root_parameters1().
vkd3d-shader/dxbc: Use sizeof(uint32_t) instead of sizeof(DWORD) in calls to require_space().
vkd3d-common: Get rid of InterlockedAdd().
vkd3d-shader/tpf: Pass a uint32_t modifier token to shader_sm4_read_instruction_modifier().
vkd3d-shader/tpf: Store the "components" token as a uint32_t in shader_sm4_read_dcl_resource().
vkd3d-shader/tpf: Store the "addressing" token as a uint32_t in shader_sm4_read_param().
vkd3d-shader/tpf: Store the current token as a uint32_t in shader_sm4_read_src_param().
vkd3d-shader/tpf: Store the current token as a uint32_t in shader_sm4_read_dst_param().
vkd3d-shader/tpf: Store the "recognized_bits" mask as a uint32_t in shader_sm4_read_instruction_modifier().
vkd3d-shader/tpf: Store the "precise" mask as a uint32_t in shader_sm4_read_instruction().
vkd3d-common: Introduce vkd3d_atomic_increment_u64().
include: Introduce a debug helper for HRESULTs.
vkd3d-utils: Use debugstr_hresult() in D3DCreateBlob().
vkd3d-utils: Use debugstr_hresult() in get_blob_part().
vkd3d-utils: Use debugstr_hresult() in D3DStripShader().
vkd3d-shader/d3dbc: Store the "offset" field as an unsigned int in hlsl_sm1_register_from_semantic().
vkd3d-common: Introduce vkd3d_atomic_increment_u32().
vkd3d-common: Use vkd3d_atomic_increment_u32() in get_buffer().
vkd3d-common: Use vkd3d_atomic_increment_u32() in vkd3d_blob_AddRef().
vkd3d-common: Introduce vkd3d_atomic_decrement_u32().
vkd3d-common: Use vkd3d_atomic_decrement_u32() in vkd3d_blob_Release().
vkd3d-shader/ir: Introduce struct vsir_program.
vkd3d-shader/ir: Store the shader version in struct vsir_program.
vkd3d-shader/ir: Store the "use_vocp" field in struct vsir_program.
vkd3d-shader/ir: Store the SSA register count in struct vsir_program.
vkd3d-shader/ir: Store the temporary register count in struct vsir_program.
vkd3d: Use debugstr_hresult() in vkd3d_wait_for_gpu_fence().
vkd3d: Use debugstr_hresult() in d3d12_command_list_copy_incompatible_texture_region().
vkd3d: Use debugstr_hresult() in d3d12_command_queue_submit_locked().
vkd3d: Use debugstr_hresult() in vkd3d_instance_init().
vkd3d: Use debugstr_hresult() in vkd3d_create_vk_device().
vkd3d: Use debugstr_hresult() in d3d12_device_init().
vkd3d: Use debugstr_hresult() in vkd3d_join_thread().
vkd3d: Use debugstr_hresult() in vkd3d_init_null_resources().
vkd3d-shader/ir: Store control point counts in struct vsir_program.
vkd3d-shader/ir: Store the block count in struct vsir_program.
vkd3d-shader/ir: Store block names in struct vsir_program.
vkd3d-shader/ir: Get rid of shader_instruction_is_dcl().
vkd3d-shader/ir: Use vsir_instruction_is_dcl() in vsir_validate_instruction().
vkd3d: Use debugstr_hresult() in vkd3d_create_compute_pipeline().
vkd3d: Use debugstr_hresult() in d3d12_pipeline_state_find_and_init_uav_counters().
vkd3d: Use debugstr_hresult() in d3d12_pipeline_state_init_compute().
vkd3d: Use debugstr_hresult() in vkd3d_uav_clear_state_init().
vkd3d: Use debugstr_hresult() in vkd3d_create_device().
vkd3d: Use debugstr_hresult() in vkd3d_serialize_root_signature().
vkd3d: Use debugstr_hresult() in vkd3d_serialize_versioned_root_signature().
vkd3d-shader: Start an if-block on VKD3DSIH_IFC in vkd3d_shader_scan_instruction().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_fence_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_fence_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_fence_incref().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_fence_decref().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_allocator_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_allocator_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_list_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_list_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_queue_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_queue_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_command_signature_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_command_signature_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in vkd3d_instance_incref().
vkd3d: Use vkd3d_atomic_decrement_u32() in vkd3d_instance_decref().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_device_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_device_Release().
vkd3d-utils: Implement D3DDisassemble().
vkd3d-shader/d3dbc: Do not fail parsing the shader when undeclared inputs are encountered.
vkd3d-shader: Use vkd3d_atomic_increment_u32() in vkd3d_shader_dump_blob().
vkd3d-shader/ir: Pass a struct vsir_program to shader_parser_get_dst_params().
vkd3d-shader/ir: Pass a struct vsir_program to shader_parser_get_src_params().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_heap_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_heap_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in vkd3d_bind_heap_memory().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_heap_resource_destroyed().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_resource_incref().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_resource_decref().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_resource_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_resource_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_descriptor_heap_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_descriptor_heap_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_query_heap_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_query_heap_Release().
vkd3d: Use debugstr_hresult() in d3d12_device_mark_as_removed().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_root_signature_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_root_signature_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_pipeline_state_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_pipeline_state_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_root_signature_deserializer_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_root_signature_deserializer_Release().
vkd3d: Use vkd3d_atomic_increment_u32() in d3d12_versioned_root_signature_deserializer_AddRef().
vkd3d: Use vkd3d_atomic_decrement_u32() in d3d12_versioned_root_signature_deserializer_Release().
vkd3d: Introduce a debug helper for CPU descriptor handles.
vkd3d-common: Get rid of InterlockedIncrement().
vkd3d-common: Get rid of InterlockedDecrement().
vkd3d: Introduce a debug helper for GPU descriptor handles.
vkd3d-utils: Use PRIuPTR for SIZE_T variables in debug traces.
vkd3d: Get rid of vkd3d_atomic_increment().
vkd3d: Get rid of vkd3d_atomic_decrement().
vkd3d: Use PRIuPTR for SIZE_T variables in debug traces.
vkd3d: Cast DWORD flags to uint32_t in debug traces.
tests: Implement check_requirements() for the OpenGL shader runner.
tests/shader_runner: Allow UAV resources to be created without initial data.
tests: Disable buffering of stdout.
tests/shader_runner: Pass the runner capabilities to run_shader_tests().
tests/shader_runner: Print a summary of the runner capabilities in run_shader_tests().
tests/shader_runner: Print information about the run configuration in run_shader_tests().
vkd3d-shader/hlsl: Introduce hlsl_type.e.resource.
vkd3d-shader/hlsl: Replace HLSL_MODIFIER_RASTERIZER_ORDERED with a hlsl_type.e.resource flag.
ci: Enable colour output for the tests.
vkd3d: Disable "robustBufferAccess2" as well when we disable "robustBufferAccess".
configure: Build with -Wempty-body.
configure: Build with -Wshift-overflow=2.
configure: Build with -Wtype-limits.
configure: Build with -Wwrite-strings.
vkd3d: Store a D3D12_RESOURCE_DESC structure in struct vkd3d_image_resource_create_info.
vkd3d-shader: Add documentation for the INT64 and FLOAT64 feature flags.
vkd3d-compiler: Compile SPIR-V shaders with the int64 and float64 features.
tests/shader_runner: Set the vkd3d-shader API version in the Vulkan runner.
tests/shader_runner: Set the SPIR-V feature flags based on the runner caps.
vkd3d-utils: Restore the \since 1.11 command on D3DReflect().
vkd3d-shader: Document the newly supported transformations for d3dbc and HLSL sources.
vkd3d-shader: Update the chained structure list for vkd3d_shader_compile().
Jacek Caban (1):
vkd3d: Use uint64_t for the size in vkd3d_gpu_va_allocator_allocate.
Nikolay Sivov (30):
tests: Add some tests for effects groups syntax.
vkd3d-shader/hlsl: Add 'fxgroup' token.
vkd3d-shader/hlsl: Rename rule for top-level techniques.
vkd3d-shader/hlsl: Add variables for techniques.
vkd3d-shader/hlsl: Handle effect group statement.
vkd3d-shader: Add separate binary target type for effects.
vkd3d-shader/tpf: Add initial support for writing fx_4_0/fx_4_1 binaries.
vkd3d-shader/hlsl: Rename the rule for an optional name.
vkd3d-shader/hlsl: Add a scope for technique variables.
vkd3d-shader/fx: Write empty passes blocks.
vkd3d-shader/fx: Initial support for fx_5_0 output.
vkd3d-shader/fx: Do not write the same string twice.
tests/hlsl: Add some tests for annotations.
vkd3d-shader/hlsl: Add initial support for parsing annotations.
vkd3d-shader/hlsl: Add passes variables to the techniques.
vkd3d-shader/hlsl: Allow annotations on passes.
vkd3d-shader/hlsl: Allow annotations on techniques.
vkd3d-shader/fx: Check technique type in global scope as well.
vkd3d-shader/fx: Add initial support for writing fx_2_0 binaries.
vkd3d-shader/fx: Add initial support for writing passes for fx_2_0.
vkd3d-shader/fx: Use variable pointer in write_group().
vkd3d-shader/fx: Do not align strings for fx_4/fx_5 profiles.
vkd3d-shader/fx: Add initial support for writing buffers descriptions.
vkd3d-shader/fx: Do not align structured data section.
vkd3d-shader/hlsl: Add RenderTargetView object type.
vkd3d-shader/fx: Add initial support for writing object variables.
vkd3d-shader/fx: Handle fx_4+ texture types.
vkd3d-shader/fx: Handle fx_4+ UAV types.
vkd3d-shader/hlsl: Add DepthStencilView object type.
vkd3d-shader/fx: Write DepthStencilView types.
Petrichor Park (4):
tests/shader-runner: Add tests for acos and asin trig intrinsics.
tests/shader-runner: Add tests for atan and atan2 trig intrinsics.
vkd3d-shader/hlsl: Implement acos and asin trig intrinsics.
vkd3d-shader/hlsl: Implement atan and atan2.
Stefan Dösinger (4):
tests: Show that creating identical root signatures returns the same pointer.
tests: Show that graphics pipeline state objects are not reused.
tests: Show that compute pipeline state objects are not reused.
tests: Show that CreatePipelineState also doesn't reuse duplicate objects.
Victor Chiletto (1):
vkd3d-shader/hlsl: Fix hlsl_ir_resource_store::resource cleanup.
Zebediah Figura (41):
vkd3d-shader/hlsl: Avoid shadowing "load" in lower_index_loads().
tests: Avoid shadowing "l" in test_get_copyable_footprints().
vkd3d-shader/d3dbc: Avoid shadowing "instr" in write_sm1_jump().
vkd3d-shader/hlsl: Avoid shadowing "block" in resolve_loop_continue().
vkd3d-shader/hlsl: Avoid shadowing "load" in intrinsic_tex().
vkd3d-shader/hlsl: Avoid shadowing "jump" in normalize_switch_cases().
vkd3d-shader: Add a helper to search the scan descriptor info.
configure: Enable -Wshadow.
vkd3d-shader/spirv: Do not use the output_info array for patch constants.
vkd3d-shader/tpf: Do not uninvert used masks for domain shader patch constants.
vkd3d-shader/dxil: Map SEMANTIC_KIND_TARGET to VKD3D_SHADER_SV_TARGET.
vkd3d-shader/spirv: Declare I/O registers from the signature.
vkd3d-shader/dxil: No longer synthesize DCL instructions.
vkd3d-shader: Do not scan the shader in vkd3d_shader_parser_compile() for assembly targets.
vkd3d-shader: Do not scan DCL instructions which do not declare resources.
tests: Use struct vkd3d_shader_scan_signature_info to retrieve the VS input signature.
tests: Avoid using "SV_Position" as a name for the vertex shader input.
vkd3d-shader: Allow compiling d3d bytecode to SPIR-V.
vkd3d-shader: Lower shader model 1/2 inter-stage I/O to a flat array.
vkd3d-shader/d3dbc: Assign unique register indices for VKD3DSPR_RASTOUT.
vkd3d-shader/hlsl: Remove a redundant definition of the "float" type.
vkd3d-shader/hlsl: Do not try to lower ternaries of types other than scalar or vector.
tests: Add many more tests for ternary expressions.
vkd3d-shader/hlsl: Separate an add_ternary() helper.
vkd3d-shader/hlsl: Allow non-numeric types in the ternary operator.
vkd3d-shader/hlsl: Forbid objects in ternary conditions.
vkd3d-shader/hlsl: Handle scalar conditions in ternaries.
vkd3d-shader/hlsl: Handle scalar values in ternaries.
vkd3d-shader/hlsl: Forbid mismatched argument types in ternaries.
vkd3d-shader/hlsl: Copy some missing fields in hlsl_type_clone().
vkd3d-shader/hlsl: Validate the condition data type for loops as well.
vkd3d-shader/hlsl: Validate that condition expressions are numeric.
vkd3d-shader/hlsl: Always cast to bool in if() statements.
tests: Add tests for valid conditional types.
include: Add vkd3d_d3d12shader.idl.
vkd3d-utils: Add D3DReflect().
vkd3d-utils: Implement input and output signature reflection.
tests: Test VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES.
tests: Test signature reflection via D3DReflect().
vkd3d-shader/hlsl: Check the resource format for UAVs also in hlsl_types_are_equal().
vkd3d-shader/hlsl: Write the SFI0 section and "REQUIRES_ROVS" flag when ROVs are used.
```
1
0
The Wine development release 9.3 is now available.
What's new in this release:
- Improvements to Internet Proxy support.
- New HID pointer device driver.
- Timezone database update.
- More exception fixes on ARM platforms.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.3.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.3 (total 23):
- #33050 FDM (Free Download Manager) crashes with page fault when any remote FTP directory opened
- #46070 Basemark Web 3.0 Desktop Launcher crashes
- #46263 Final Fantasy XI crashes after accepting EULA when using Ashita; World of Warships hangs at login screen
- #46839 Happy Foto Designer Font not found "Fehler (Code 1) [Font is not supported: Roboto]"
- #50643 IK Product Manager: Unable to download plugins
- #51458 Western Digital SSD Dashboard displays black screen
- #51599 cmd.exe incorrectly parses an all-whitespace line followed by a closing parenthesis
- #51813 python fatal error redirecting stdout to file
- #52064 Solidworks 2008 crashes on startup
- #52642 Virtual Life 2 freezes
- #54794 Autodesk Fusion360: New SSO login will not open web browser
- #55282 Flutter SDK can't find "aapt" program (where.exe is a stub)
- #55584 Possibly incorrect handling of end_c in ARM64 process_unwind_codes
- #55630 DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 is not handled in GetAwarenessFromDpiAwarenessContext
- #55810 Finding Nemo (Steam): window borders gone missing (virtual desktop)
- #55897 cpython 3.12.0 crashes due to unimplemented CopyFile2
- #56065 Missing GetAnycastIpAddressTable() implementation
- #56139 scrrun: Dictionary does not allow storing at key Undefined
- #56222 Microsoft Flight Simulator 2020 (steam) needs unimplemented function GDI32.dll.D3DKMTEnumAdapters2
- #56244 SplashTop RMM client for Atera crashes on unimplemented function shcore.dll.RegisterScaleChangeNotifications
- #56273 [Sway] winewayland.drv: cursor does not work in Dead Island 2
- #56328 LMMS 1.2.2 SF2 soundfonts no longer work in Wine 9.1
- #56343 Multiple applications fail to start after de492f9a34
### Changes since 9.2:
```
Alex Henrie (8):
ntdll: Include alloc_type argument in NtMapViewOfSection(Ex) traces.
rpcrt4/tests: Use CRT allocation functions.
where: Implement search with default options.
include: Annotate NdrGetBuffer with __WINE_(ALLOC_SIZE|MALLOC).
wined3d: Use CRT allocation functions.
include: Add debugstr_time to wine/strmbase.h.
msxml3: Use CRT allocation functions.
advapi32/tests: Use CRT allocation functions.
Alexandre Julliard (51):
ntdll: Implement RtlLookupFunctionTable.
ntdll/tests: Don't use x86-64 assembly on ARM64EC.
include: Add some public exception handling structures.
ntdll: Move RtlLookupFunctionEntry() to the CPU backends.
ntdll: Move find_function_info() to the CPU backends.
ntdll: Move RtlAddFunctionTable() to the CPU backends.
ntdll: Support ARM64EC code in RtlLookupFunctionEntry.
ntdll: Make APCs alertable by default on ARM platforms.
ntdll: Move exception unwinding code to a separate file.
ntdll: Move the dynamic unwind tables to unwind.c.
ntdll: Move RtlUnwind to unwind.c.
ntdll: Implement RtlVirtualUnwind for ARM64EC.
winedump: Add dumping of the save_any_reg ARM64 unwind code.
ntdll: Add support for the save_any_reg ARM64 unwind code.
ntdll: Ignore end_c when processing ARM64 unwind codes.
ntdll: Don't count custom stack frames as part of the prolog on ARM64.
rpcrt4/tests: Fix some malloc/HeapAlloc mismatches.
ntdll/tests: Simplify testing of unwind register values on ARM64.
ntdll: Ignore home parameters saving when unwinding epilog on ARM64.
ntdll: Move ARM64 context conversion functions to a new header.
ntdll: Implement EC_CONTEXT unwinding operation on ARM64.
ntdll: Implement CLEAR_UNWOUND_TO_CALL unwinding operation on ARM64.
ntdll: Always set non-volatile pointers for ARM64 unwinding.
kernelbase: Update timezone data to version 2024a.
faudio: Import upstream release 24.02.
mpg123: Import upstream release 1.32.5.
png: Import upstream release 1.6.42.
jpeg: Import upstream release 9f.
zlib: Import upstream release 1.3.1.
lcms2: Import upstream release 2.16.
ldap: Import upstream release 2.5.17.
xslt: Import upstream release 1.1.39.
xml2: Import upstream release 2.11.7.
zydis: Import upstream release 4.1.0.
fluidsynth: Import upstream release 2.3.4.
ntdll/tests: Move unwinding tests to a separate file.
ntdll/tests: Run dynamic unwind tests on ARM platforms.
ntdll/tests: Run RtlVirtualUnwind tests on ARM64EC.
ntdll: Default to the SEH channel on x86-64.
ntdll: Add a helper macro to dump a register context.
ntdll: Share exception dispatch implementation across platforms.
include: Add new idl files to the makefile.
ntdll: Handle leaf functions in RtlVirtualUnwind on ARM64.
ntdll: Handle leaf functions in RtlVirtualUnwind on ARM.
ntdll: Handle leaf functions in RtlVirtualUnwind on x86-64.
ntdll: Remove support for unwinding ELF dlls on ARM.
configure: Stop passing ARM code generation options to winebuild.
configure: Require floating point support on ARM targets.
winegcc: Stop passing ARM code generation options to winebuild.
winebuild: Remove ARM code generation option.
ntdll/tests: Fix a test failure when exception information is missing.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (4):
cmd: Handle lines with just spaces in bracket blocks.
cmd: Avoid execution if block misses closing brackets.
wininet: Add missing assignment of return value.
wininet: Avoid crash in InternetCreateUrl with scheme unknown.
Biswapriyo Nath (5):
include: Add IDirect3DSurface in windows.graphics.directx.direct3d11.idl.
include: Add BitmapBuffer runtimeclass in windows.graphics.imaging.idl.
include: Add SoftwareBitmap runtimeclass in windows.graphics.imaging.idl.
include: Add DetectedFace runtimeclass in windows.media.faceanalysis.idl.
include: Add FaceDetector runtimeclass in windows.media.faceanalysis.idl.
Brendan McGrath (1):
d2d1/tests: Increase timeout from 1 sec to 5 secs.
Brendan Shanks (2):
ntdll: Assume process-private futexes are always present on Linux.
ntdll: On x86_64, don't access %gs in signal_start_thread().
Daniel Lehman (8):
oleaut32: Handle exponent in VarBstrFromR[48] in non-English locales.
oleaut32/tests: Add tests for number of digits.
oleaut32: Use scientific notation only for larger numbers in VarBstrFromR[48].
include: Add some msvcrt declarations.
msvcrt: Use string sort for strncoll/wcsncoll.
msvcrt/tests: Include locale in ok message.
msvcrt/tests: Add tests for strcoll/wcscoll.
msvcrt: Use string sort for strcoll/wcscoll.
David Kahurani (1):
msi: Avoid leaking stream on DB update.
Eric Pouech (11):
kernel32/tests: Add tests for CreateProcess with invalid handles.
kernelbase: Don't use INVALID_HANDLE_VALUE as std handle in CreateProcess.
msvcrt/tests: Extend test for invalid std handle on msvcrt init.
msvcrt: Don't reset invalid std handle in init.
kernel32/tests: Remove todo scaffolding for CreateProcess() tests.
winedump: Don't crash on non-effective runtime function entries.
kernel32/tests: Check if thread is suspended in debugger attachment tests.
winedbg: Use share attributes for opening command file.
dbghelp: Implement SymFromIndex().
winedump: Don't expect a fixed number of substreams in DBI header (PDB).
dbghelp: Don't expected a fixed number of substreams in DBI header (PDB).
Fabian Maurer (5):
user32/sysparams: Only allow dpi awareness tests to return invalid on windows.
user32/sysparams: Handle more contexts in GetAwarenessFromDpiAwarenessContext.
wineoss: Remove superflous check.
winealsa: Remove superflous check.
mmdevapi/tests: Add test for invalid format with exclusive mode.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (7):
jscript: Add initial implementation of ArrayBuffer.
jscript: Add initial implementation of DataView.
jscript: Implement DataView setters.
jscript: Implement DataView getters.
jscript: Implement ArrayBuffer.prototype.slice.
kernelbase: Copy the read-only attribute from the source.
explorer: Set layered style on systray icons before calling into the driver.
Geoffrey McRae (1):
include: Add interfaces for ID3D11On12Device1 and ID3D11On12Device2.
Hans Leidekker (1):
wbemprox: Protect tables with a critical section.
Ivo Ivanov (2):
hidclass.sys: Use the correct string for container_id.
hidclass.sys: Use HID_DEVICE in the mfg_section to match the recent changes.
Jacek Caban (7):
winebuild: Introduce exports struct.
winebuild: Use exports struct for imports handling.
winebuild: Use exports struct for 16-bit modules handlign.
winebuild: Use exports struct for exports handling.
winebuild: Use exports struct in assign_ordinals.
winebuild: Use exports struct in assign_names.
winebuild: Move target filtering to assign_exports.
Jinoh Kang (6):
ntdll: Remove stale comment from set_async_direct_result() documentation.
include: Add definition for FILE_STAT_INFORMATION.
ntdll/tests: Add tests for NtQueryInformationFile FileStatInformation.
ntdll: Implement NtQueryInformationFile FileStatInformation.
kernelbase: Replace FileAllInformation with FileStatInformation in GetFileInformationByHandle().
kernel32/tests: Fix console test with odd-sized consoles.
Kartavya Vashishtha (1):
kernelbase: Implement CopyFile2().
Krzysztof Bogacki (4):
gdi32/tests: Add D3DKMTEnumAdapters2 tests.
gdi32: Add D3DKMTEnumAdapters2() stub.
win32u: Maintain a list of GPUs in cache.
win32u: Implement NtGdiDdDDIEnumAdapters2.
Louis Lenders (1):
imm32: Update spec file.
Marc-Aurel Zent (4):
iphlpapi: Implement GetRTTAndHopCount().
server: Use __pthread_kill() syscall wrapper.
server: Use bootstrap_register2() instead of bootstrap_register().
server: Improve formatting in mach init_tracing_mechanism().
Mohamad Al-Jaf (5):
include: Add windows.security.authentication.onlineid.idl file.
windows.security.authentication.onlineid: Add stub DLL.
windows.security.authentication.onlineid: Add IOnlineIdSystemAuthenticatorStatics stub interface.
windows.security.authentication.onlineid: Add IOnlineIdServiceTicketRequestFactory stub interface.
windows.security.authentication.onlineid: Implement IOnlineIdSystemAuthenticatorStatics::get_Default().
Nikola Kuburović (1):
kernelbase: Reduce FIXME to TRACE if params is null.
Paul Gofman (29):
kernel32/tests: Add tests for critical section debug info presence.
strmbase: Force debug info in critical sections.
dmime: Force debug info in critical sections.
dmsynth: Force debug info in critical sections.
mapi32: Force debug info in critical sections.
propsys: Force debug info in critical sections.
rpcrt4: Force debug info in critical sections.
vcomp: Force debug info in critical sections.
webservices: Force debug info in critical sections.
ntdll: Don't hardcode xstate feature mask.
ntdll: Don't hardcode xstate size in syscall frame.
ntdll: Don't hardcode xstate size in exception stack layout.
powershell: Read input command from stdin.
winhttp: Force debug info in critical sections.
xaudio2: Force debug info in critical sections.
kernelbase: Force debug info in critical sections.
combase: Force debug info in critical sections.
crypt32: Force debug info in critical sections.
winhttp: Mind read size when skipping async read in WinHttpReadData().
dinput: Force debug info in critical sections.
dplayx: Force debug info in critical sections.
dsound: Force debug info in critical sections.
dwrite: Force debug info in critical sections.
inetcomm: Force debug info in critical sections.
mscoree: Force debug info in critical sections.
ntdll: Force debug info in critical sections.
qmgr: Force debug info in critical sections.
windowscodecs: Force debug info in critical sections.
wininet: Force debug info in critical sections.
Piotr Caban (20):
wininet: Store proxy type in proxyinfo_t.
wininet: Don't allocate global_proxy structure dynamically.
wininet: Move reading proxy settings from registry to separate function.
wininet: Return process-wide proxy settings from INTERNET_GetProxySettings.
wininet: Add support for reading AutoConfigURL from registry.
wininet: Store whole ProxyServer string so it's not lost while saving settings to registry.
wininet: Set ProxyOverride registry key when saving proxy information.
wininet: Set AutoConfigURL registry key when saving proxy information.
wininet: Test INTERNET_OPTION_PER_CONNECTION_OPTION on process settings.
wininet: Fix buffer size calculation in InternetQueryOption(INTERNET_OPTION_PER_CONNECTION_OPTION).
wininet: Use GlobalAlloc in InternetQueryOption(INTERNET_OPTION_PER_CONNECTION_OPTION).
wininet/tests: Cleanup INTERNET_OPTION_PER_CONNECTION_OPTION tests.
wininet: Add support for writing connection settings binary blobs from registry.
wininet: Add support for reading connection settings binary blobs from registry.
wininet: Add support for INTERNET_PER_CONN_AUTOCONFIG_URL in InternetSetOption.
wininet: Fix INTERNET_PER_CONN_AUTOCONFIG_URL option when quering global proxy settings.
wininet: Add support for INTERNET_OPTION_PER_CONNECTION_OPTION option on session handles.
wininet/tests: Add more INTERNET_OPTION_PER_CONNECTION_OPTION tests.
inetcpl.cpl: Use wininet functions to set proxy settings.
wininet/tests: Add initial PAC script tests.
Rastislav Stanik (1):
iphlpapi: Add stub for GetAnycastIpAddressTable().
Rémi Bernon (45):
winex11: Process XInput2 events with QS_INPUT filter.
winex11: Advertise XInput2 version 2.2 support.
winex11: Initialize XInput2 extension on every thread.
winex11: Always listen to XInput2 device changes events.
winex11: Simplify XInput2 device valuator lookup.
hidclass: Make HID hardware ids more similar to windows.
hidclass: Only access Tail.Overlay.OriginalFileObject when needed.
mouhid.sys: Introduce a new HID pointer device driver.
mouhid.sys: Request preparsed data and inspect device caps.
mouhid.sys: Read reports from the underlying HID device.
mouhid.sys: Parse HID reports to track contact points.
mfreadwrite/reader: Introduce source_reader_queue_sample helper.
mfreadwrite/reader: Pass the transform to source_reader_pull_stream_samples.
mfreadwrite/reader: Introduce a new source_reader_allocate_stream_sample helper.
mfreadwrite/reader: Introduce new source_reader_(drain|flush)_transform_samples helpers.
mfreadwrite/reader: Repeat pushing / pulling samples while it succeeds.
winevulkan: Wrap host swapchain handles.
winevulkan: Adjust VkSurfaceCapabilitiesKHR image extents with client rect.
winewayland: Remove now unnecessary VkSurfaceCapabilitiesKHR fixups.
winevulkan: Implement vkGetPhysicalDeviceSurfaceCapabilities2KHR fallback.
winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceCapabilities2KHR driver entry.
winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceCapabilitiesKHR driver entry.
winegstreamer: Use MFCreateVideoMediaTypeFromSubtype in GetInputAvailableType.
winegstreamer: Use MFCreateVideoMediaTypeFromSubtype in GetOutputAvailableType.
winegstreamer: Remove unnecessary create_output_media_type checks.
winegstreamer: Use GUID arrays for H264 decoder media types.
winegstreamer: Complete H264 current output type reported attributes.
win32u: Deduce monitor device flags from their adapter.
win32u: Only consider active monitors for clone detection.
win32u: Only consider active monitors for virtual screen rect.
win32u: Only consider active monitors in monitor_from_rect.
win32u: Don't assume that the primary adapter is always first.
winegstreamer: Use MFCalculateImageSize to compute output info size.
ir50_32: Use the proper hr value for stream format change.
winegstreamer: Use the H264 decoder to implement the IV50 decoder.
winegstreamer: Rename struct h264_decoder to struct video_decoder.
winevulkan: Handle creation of surfaces with no HWND directly.
winex11: Remove now unnecessary create_info HWND checks.
winevulkan: Handle invalid window in vkCreateSwapchainKHR.
winevulkan: Handle invalid window in vkGetPhysicalDevicePresentRectanglesKHR.
winevulkan: Remove now unnecessary vkGetPhysicalDevicePresentRectanglesKHR driver entry.
winevulkan: Implement vkGetPhysicalDeviceSurfaceFormats2KHR fallback.
winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceFormats2KHR driver entry.
winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceFormatsKHR driver entry.
server: Use the startup info to connect the process winstation.
Santino Mazza (7):
mlang/tests: Test for GetGlobalFontLinkObject.
mlang: Implement GetGlobalFontLinkObject.
mlang/tests: Test codepages priority bug in GetStrCodepages.
mlang: Fix bug with codepage priority in GetStrCodePages.
gdiplus: Replace HDC with GpGraphics in parameters.
gdiplus/tests: Add interactive test for font linking.
gdiplus: Implement font linking for gdiplus.
Shaun Ren (15):
sapi: Implement ISpeechObjectToken::GetDescription.
sapi: Implement ISpeechObjectToken::Invoke.
sapi: Implement ISpeechObjectToken::GetIDsOfNames.
sapi: Implement ISpeechObjectTokens::get_Count.
sapi: Implement IEnumVARIANT::Next for ISpeechObjectTokens.
sapi: Implement ISpeechObjectTokens::Invoke.
sapi: Free typelib on DLL detach.
sapi: Implement ISpeechVoice::Speak.
sapi: Handle zero-length attributes correctly in ISpObjectTokenCategory::EnumTokens.
sapi: Introduce create_token_category helper in tts.
sapi: Implement ISpeechVoice::GetVoices.
sapi: Implement ISpeechVoice::GetTypeInfoCount.
sapi: Implement ISpeechVoice::GetTypeInfo.
sapi: Implement ISpeechVoice::GetIDsOfNames.
sapi: Implement ISpeechVoice::Invoke.
Vijay Kiran Kamuju (1):
include: Add msdelta header file.
Yuxuan Shui (6):
dmband: Implement getting/setting GUID_BandParam on band tracks.
dmime/tests: Add MIDI loading test.
dmime: Parse MIDI headers.
dmime: Don't skip chunk for MIDI files.
dmime: Read through a MIDI file.
dmime/tests: Improve error reporting from expect_track.
Zebediah Figura (32):
urlmon/tests: Add basic tests for CoInternetParseUrl(PARSE_CANONICALIZE).
shlwapi/tests: Move the UrlCanonicalize() tests into test_UrlCanonicalizeA().
shlwapi/tests: Remove the unused "wszExpectUrl" variable from check_url_canonicalize().
shlwapi/tests: Use winetest_push_context() in test_UrlCanonicalizeA().
shlwapi/tests: Move UrlCombine() error tests out of the loop.
kernelbase: Do not use isalnum() with Unicode characters.
kernelbase: Do not canonicalize the relative part in UrlCombine().
kernelbase: Reimplement UrlCanonicalize().
kernelbase: Use scheme_is_opaque() in UrlIs().
shlwapi/tests: Add many more tests for UrlCanonicalize().
dinput/tests: Return void from test_winmm_joystick().
wined3d: Merge shader_load_constants() into shader_select().
wined3d: Introduce a separate vp_disable() method.
wined3d: Introduce a separate fp_disable() method.
wined3d: Pass a wined3d_state pointer to the vp_enable() and fp_enable() methods.
wined3d: Pass a non-const wined3d_context pointer to the FFP *_apply_draw_state() methods.
wined3d/arb: Move fragment program compilation from fragment_prog_arbfp() to arbfp_apply_draw_state().
wined3d: Set the pipeline key viewport and scissor count at initialization.
wined3d: Make the viewport state dynamic.
wined3d: Make the scissor state dynamic.
wined3d: Enable EXT_extended_dynamic_state.
wined3d: Use dynamic state for depth/stencil state if possible.
shell32: Remove two unused strings.
shell32: Always use IContextMenu::InvokeCommand() when selecting an item from the context menu.
shell32: Do not set the default menu item from ShellView_DoContextMenu().
shell32: Separate a get_filetype() helper.
shell32: Properly implement context menu verbs.
wined3d/arb: Move SPECULARENABLE constant loading to arbfp_apply_draw_state().
wined3d/arb: Move TEXTUREFACTOR constant loading to arbfp_apply_draw_state().
wined3d/arb: Move color key constant loading to arbfp_apply_draw_state().
wined3d/arb: Move texture constant loading to arbfp_apply_draw_state().
wined3d/arb: Move FFP bumpenv constant loading to arbfp_apply_draw_state().
Zhiyi Zhang (4):
include: Rename DF_WINE_CREATE_DESKTOP to DF_WINE_VIRTUAL_DESKTOP.
server: Inherit internal desktop flags when creating desktops.
dsound/tests: Test that formats with more than two channels require WAVEFORMATEXTENSIBLE.
dsound: Reject WAVEFORMATEX formats with more than two channels.
```
1
0
The Wine development release 9.2 is now available.
What's new in this release:
- Mono engine updated to version 9.0.0.
- A number of system tray fixes.
- Exception handling improvements on ARM platforms.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.2.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.2 (total 15):
- #43993 Quick3270 5.21: crashes when using the Connect function
- #47521 digikam 6.10 crashes on start
- #51360 vkGetDeviceProcAddr invalid behavior for functions from extensions unsupported by host Vulkan instance
- #51770 digikam-7.1.0 freezes on start
- #51843 dlls/ws2_32/socket.c:839:17: error: ‘IP_ADD_SOURCE_MEMBERSHIP’ undeclared here
- #53934 __unDName fails to demangle a name
- #55997 Dolphin Emulator crashes from 5.0-17264
- #56122 LANCommander won't start, prints "error code 0x8007046C" (ERROR_MAPPED_ALIGNMENT)
- #56243 ShowSystray registry key was removed without alternative
- #56250 Elite Dangerous client gets stuck on black screen after launch
- #56256 Windows Sysinternals Process Explorer 17.05 shows incomplete user interface (32-bit).
- #56259 Microsoft Webview 2 installer hangs forever
- #56265 Epic Games Launcher 15.21.0 calls unimplemented function cfgmgr32.dll.CM_Get_Device_Interface_PropertyW
- #56291 Kodu game lab crashes (with xnafx40_redist+dotnet48 preinstalled): Object reference not set to an instance of an object.
- #56293 user32:msg test_recursive_hook fails on Windows 7
### Changes since 9.1:
```
Aida Jonikienė (1):
configure: Use YEAR2038 macro when it's available.
Alex Henrie (2):
krnl386: Emulate the VGA status register.
explorer: Handle the back and forward buttons of a 5-button mouse.
Alexandre Julliard (37):
configure: Reset host flags in all cross-compiler error paths.
winsta: Start time is an input parameter in WinStationGetProcessSid.
ntdll: Use the system setjmp/longjmp for exceptions in Unix libs.
ntdll: Use a .seh handler for the unwind exception handler.
ntdll: Avoid calling DbgBreakPoint() in process_breakpoint().
ntdll: Move DbgUiRemoteBreakin() to the CPU backends.
include: Include cfg.h from cfgmgr32.h.
ntdll: Report the correct address for breakpoint exception on ARM platforms.
kernel32/tests: Fix some test failures on ARM platforms.
ntdll: Use a .seh handler for DbgUiRemoteBreakin().
dbghelp/tests: Mark failing tests as todo.
Revert "loader: Associate folder with explorer".
configure: Require a PE compiler for 32-bit ARM.
ntdll: Share the is_valid_frame() helper function.
ntdll: Only call TEB handlers for frames inside the current stack.
winedump: Make the ARM exception information more compact.
winedump: Handle ARM64 exception unwind info with flag==3.
winebuild: Default to plain "clang" in find_clang_tool().
winebuild: Remove some no longer used code for ARM platforms.
winebuild: Add .seh annotations on ARM.
kernel32: Move Wow64Get/SetThreadContext implementation to kernelbase.
kernel32: Don't export RtlRaiseException on ARM64.
ntdll: Fix stack layout for ARM syscalls.
ntdll/tests: Add some process machine tests for ARM64X.
server: Don't report alternate 64-bit machines as supported.
ntdll: Update the image information when loading a builtin dll.
ntdll: Use the correct machine when loading ntdll on ARM64EC.
server: Don't update the machine in the image information for ARM64EC modules.
server: Don't update the entry point in the image information for ARM64EC modules.
ntdll: Redirect the module entry point for ARM64EC modules.
server: Add hybrid flag in image mapping information.
ntdll: Use the current machine by default to create an ARM64X process.
ntdll: Fix RtlWow64GetCurrentMachine() result on ARM64EC.
uxtheme: Use BOOLEAN instead of BOOL in ordinal functions.
gdi32/tests: Fix the expected GetTextMetrics() results on recent Windows.
user32/tests: Fix some sysparams results on recent Windows.
ntdll/tests: Mark a failing test as todo.
Alexandros Frantzis (2):
winewayland.drv: Track and apply latest window cursor on pointer enter.
win32u: Use consistent locking order for display related mutexes.
Arkadiusz Hiler (4):
winebus.sys: Fix units used for hat switches.
winebus.sys: Use 4 bits for hat switches.
wbemprox/tests: Test LIKE queries.
wbemprox: Reimplement LIKE.
Brendan Shanks (2):
winebuild: Refactor find_tool().
winebuild: As a last resort, search for tools un-prefixed using clang.
Daniel Lehman (9):
glu32/tests: Add a few tests for gluScaleImage.
glu32: Return GL_OUT_OF_MEMORY from gluScaleImage if no context.
glu32: Return GLU_INVALID_ENUM for illegal pixel types.
advapi32/tests: Reduce reallocations.
advapi32/tests: Add some more EventLog tests.
oleaut32/tests: Add tests for VarBstrFromR8.
oleaut32/tests: Add tests for VarBstrFromR4.
ucrtbase/tests: Add sprintf tests.
msvcrt/tests: Add sprintf tests.
David Kahurani (5):
gdiplus: Use GdipCreatePath2 in GdipClonePath.
gdiplus: Use GdipCreatePath2 when serializing paths.
gdiplus: Use path_list to path helper in GdipFlattenPath.
gdiplus: Use path_list to path helper in GdipWidenPath.
msvcrt: Free previous environment variable when clearing.
Eric Pouech (18):
dmime/tests: Fix copy & paste errors.
dmime/tests: Add some tests for loops on wave tracks.
dmime: Fix IDirectMusicAudioPath::GetObjectInPath() prototype.
dmime: Remove unused fields in segment.
dmime/tests: Add some tests about end-points.
dbghelp/tests: Use Unicode encoding for generated PDB filenames.
dbghelp/tests: Test SymSrvGetFileIndexInfo() on .dbg files.
dbghelp: Implement SymSrvGetFileIndexInfo() for .dbg files.
dbghelp: Implement SymSrvGetFileIndexInfo() for PDB/JG files.
kernel32/tests: Added tests about std handle flags inheritance.
kernel32/tests: Test DUPLICATE_SAME_ATTRIBUTES flag in DuplicateHandle().
server: Implement support for DUPLICATE_SAME_ATTRIBUTES in DuplicateHandle().
server: Preserve handle flags when inheriting a std handle.
dmime: Fully implement IDirectMusicSegmentState::GetRepeats().
dmime: Add tests about segment state's graph interface.
dmime: Add IDirectMusicGraph interface to segment state.
dmime: Generate track flags while in loop.
dmime: Use sent duration in loop's playback.
Esme Povirk (6):
gdiplus: Prefer Tahoma for generic sans serif font.
mscoree: Update Wine Mono to 9.0.0.
user32/tests: Accept EM_GETPASSWORDCHAR when edit is focused.
gdiplus: Fix some degenerate cases combining infinite regions.
gdiplus/tests: Thoroughly test region combines.
user32/tests: Fix flags on expected EM_GETPASSWORDCHAR message.
Fabian Maurer (1):
msi: Don't write past end of string when selecting parent directory.
Felix Münchhalfen (2):
ntdll: Use pagesize alignment if MEM_REPLACE_PLACEHOLDER is set in flags of NtMapViewOfSection(Ex).
kernelbase/tests: Add a test for MapViewOfFile3 with MEM_REPLACE_PLACEHOLDER.
Gabriel Ivăncescu (16):
mshtml: Forward the script site's QueryService to the document's.
mshtml: Forward SID_SInternetHostSecurityManager of the document obj to the doc node.
mshtml: Implement IActiveScriptSite service.
mshtml: Implement Exec for CGID_ScriptSite's CMDID_SCRIPTSITE_SECURITY_WINDOW.
vbscript: Implement IActiveScriptSite service.
jscript: Implement IActiveScriptSite service.
mshtml: Use a hook to implement postMessage.
mshtml: Implement `source` prop for MessageEvents.
mshtml: Return E_ABORT from postMessage called without a caller ServiceProvider.
mshtml: Implement `data` getter for MessageEvent objs.
mshtml: Implement `origin` prop for MessageEvents.
mshtml: Implement `initMessageEvent` for MessageEvents.
mshtml: Expose the IHTMLEventObj5 props to scripts.
mshtml/tests: Test builtin function default value getter with custom IOleCommandTarget.
explorer: Don't activate the systray icon when showing it.
explorer: Set layered style on systray icons only when it's actually layered.
Georg Lehmann (3):
winevulkan: Prepare for VK_KHR_calibrated_timestamps.
winevulkan: Update to VK spec version 1.3.277.
winevulkan: Enable VK_ARM_render_pass_striped.
Giovanni Mascellani (1):
d2d1: Compile vertex shaders with D3DCompile().
Hans Leidekker (1):
msxml3: Enable XPath object cache.
Helix Graziani (2):
cfgmgr32: Add CM_Get_Device_Interface_PropertyW stub.
windows.globalization: Add IIterable_HSTRING impl to IVectorView_HSTRING.
Ivo Ivanov (1):
winebus.sys: Prefer hidraw if it is the only backend enabled.
Jacek Caban (11):
ncrypt/tests: Don't use uninitialized variable in test_get_property.
windowscodecs: Pass result as void pointer to ComponentInfo_GetUINTValue.
mf: Avoid implicit enum to int pointer casts.
mfplat: Avoid implicit cast in IMFAttributes_GetUINT32 call.
mfplat/tests: Use MF_ATTRIBUTE_TYPE type in IMFMediaType_GetItemType call.
mfplat: Introduce media_type_get_uint32 helper.
mfmediaengine/tests: Use MF_MEDIA_ENGINE_CANPLAY type in IMFMediaEngine_CanPlayType call.
mfmediaengine: Avoid implicit casts in IMFAttributes_GetUINT32 calls.
include: Add RtlRestoreContext declaration.
d3d10/tests: Avoid implicit cast changing value.
dsound: Simplify f_to_32.
Louis Lenders (5):
ntdll: Add stub for RtlGetDeviceFamilyInfoEnum.
shcore: Add stub for RegisterScaleChangeNotifications.
wbemprox: Add property 'Caption' to Win32_PnPEntity.
wbemprox: Add property 'ClassGuid' to Win32_PnPEntity.
wbemprox: Add property 'Caption' to Win32_DiskDrive.
Marc-Aurel Zent (2):
ntdll: Reimplement set_native_thread_name() for macOS.
ntdll: Fix DW_OP_abs absolute value warning on labs() for clang.
Nikolay Sivov (3):
mfplat/tests: Skip device manager test if d3d11 device can't be created.
mfplat/tests: Skip tests that require d3d9 support.
d3d10/effect: Clarify constant buffer flags field meaning.
Paul Gofman (6):
ntdll/tests: Fix test_user_shared_data() for a more generic set of present features.
server: Check if we have waiting asyncs in (send_socket) before enforcing blocking send.
server: Check if we have waiting asyncs in sock_dispatch_asyncs() before clearing POLLOUT.
explorer: Don't pop start menu on "minimize all windows" systray command.
explorer: Don't pop start menu on "undo minimize all windows" systray command.
msvcrt: Adjust _gmtime64_s() accepted time limits.
Piotr Caban (6):
msvcrt: Store _unDName function parameter backreferences in parsed_symbol structure.
msvcrt: Remove no longer used parameters reference arguments from _unDname helpers.
winedump: Sync demangling code with msvcrt.
jsproxy: Don't ignore hostname and url length in InternetGetProxyInfo.
winhttp/tests: Add more WinHttpGetProxyForUrl tests.
winhttp: Add support for WINHTTP_AUTOPROXY_HOST_LOWERCASE flag in WinHttpGetProxyForUrl.
Rémi Bernon (48):
explorer: Restore a per-desktop ShowSystray registry setting.
mf/tests: Check inserted topology loader transforms explicitly.
mf/topology_loader: Use a local variable for the indirect connection method.
mf/topology_loader: Ignore SetOutputType errors when doing indirect connect.
mf/topology_loader: Initialize transform output type before adding converter.
mf/topology_loader: Try to connect transform nodes with their current types first.
winegstreamer: Implement H264 decoder GetInputCurrentType.
winegstreamer: Ask GStreamer to stop messing with signal handlers.
vulkan-1/tests: Enable VK_VERSION_1_1 as requested by validation layers.
vulkan-1/tests: Create surface and device before calling test_null_hwnd.
vulkan-1/tests: Test VK_KHR_win32_surface with windows in various states.
vulkan-1/tests: Add more VK_KHR_win32_surface surface formats tests.
vulkan-1/tests: Test VK_KHR_win32_surface WSI with swapchain functions.
imm32/tests: Also ignore NotifyIME calls when ignoring WM_IME_NOTIFY.
imm32/tests: Fix some spurious failures with Windows ko_KR IME.
win32u: Only queue a single IME update during ImeProcessKey.
winevulkan: Keep the create_info HWND on the surface wrappers.
winevulkan: Return VK_ERROR_SURFACE_LOST_KHR from surface functions.
winewayland: Remove now unnecessary VK_ERROR_SURFACE_LOST_KHR checks.
winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfaceSupportKHR driver entry.
winevulkan: Remove now unnecessary vkGetPhysicalDeviceSurfacePresentModesKHR driver entry.
winevulkan: Remove now unnecessary vkGetDeviceGroupSurfacePresentModesKHR driver entry.
user32/tests: Run rawinput device tests in the separate desktop.
user32/tests: Rewrite the rawinput buffer test with keyboard input.
dinput/tests: Add a helper to wait on HID input reads.
dinput/tests: Add more tests for HID rawinput buffer.
dinput/tests: Test rawinput messages with non-input desktop.
dinput/tests: Use a polled HID touchscreen device.
dinput/tests: Test rawinput with the virtual HID touchscreen.
winegstreamer: Trace wg_transform input and output caps.
winegstreamer: Handle allocation query in a separate helper.
winegstreamer: Handle sink caps query in a separate helper.
winegstreamer: Handle sink event caps in a separate helper.
winegstreamer: Use GST_PTR_FORMAT to trace GStreamer objects.
winegstreamer: Ignore wg_transform input / output video format fps.
winegstreamer: Allow wg_transform size changes with an explicit attribute.
mf/tests: Report more transform current type mismatches.
mf/tests: Add some tests with video processor aperture handling.
mfreadwrite/tests: Initialize test source stream types from descriptors.
mfreadwrite/tests: Test source reader exposed transforms and types.
mfreadwrite/tests: Test source reader transforms with MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING.
mfreadwrite/tests: Test source reader transforms with MF_SOURCE_READER_ENABLE_ADVANCED_VIDEO_PROCESSING.
server: Combine HID usage page and usage together.
server: Stop using union rawinput in hw_input_t.
server: Stop using hardware_msg_data in rawinput_message.
server: Move rawinput message conversion from win32u.
server: Fix rawinput buffer sizes and alignment on WoW64.
win32u: Get rid of the rawinput thread data and buffer.
Shaun Ren (4):
sapi: Create a new engine only when needed in ISpVoice.
sapi: Add ISpeechObjectToken stub.
sapi: Add ISpeechObjectTokens stub.
sapi: Add stub implementation for ISpeechObjectTokens::get__NewEnum.
Tim Clem (1):
winebus.sys: Do not attempt to open keyboard and mouse HID devices on macOS.
Vibhav Pant (1):
configure: Correctly derive the target from CC if it's set to an absolute path.
Yuxuan Shui (2):
dmusic: Fix loading wave data from soundfont.
mf: Only preroll when starting from stopped state.
Zebediah Figura (8):
wined3d: Move state objects from state.c to device.c.
wined3d: Rename state.c to ffp_gl.c.
wined3d: Move sampler_texdim() and texture_activate_dimensions() to ffp_gl.c.
d3d8/tests: Add more tests for SPECULARENABLE.
wined3d/glsl: Always set WINED3D_SHADER_CONST_FFP_LIGHTS in FFP constant update masks.
wined3d/glsl: Pass through the specular varying when SPECULARENABLE is FALSE.
wined3d/arb: Always disable the fragment pipeline in shader_arb_select().
wined3d/arb: Compare the fragment pipe ops in shader_arb_select() instead of using an extra field.
Zhiyi Zhang (7):
winex11.drv: Translate whole_rect to x11 root coordinates in set_size_hints().
user32/tests: Fix test_recursive_messages() test failures on win7.
mf: Make session_get_node_object() more robust.
mf: Add a session_flush_nodes() helper.
mf/tests: Add a create_test_topology() helper.
mf: Support seeking while a session is started.
mf/tests: Test IMFMediaSession::Start().
```
1
0
The Wine development release 9.1 is now available.
What's new in this release:
- A number of Input Method improvements.
- Improved Diffie-Hellman key support.
- Better Dvorak keyboard detection.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.1.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.1 (total 42):
- #17414 user32/dde test crashes if +heap enabled
- #25759 Polda 1: after intro picture and animation it shows black window
- #35300 Lego Racers crashes when click on configuration commands for Player 1
- #36007 oleaut32/vartype tests crash with WINEDEBUG=warn+heap
- #42784 Lost Planet dx10 demo black screen after starting new game
- #46074 Visio 2013 crashes with unimplemented function msvcr100.dll.??0_ReaderWriterLock(a)details@Concurrency@@QAE(a)XZ
- #46904 SIMATIC WinCC V15.1 Runtime: Automation License Manager 'almapp64x.exe' crashes on unimplemented function msvcp140.dll.?_XGetLastError(a)std@@YAXXZ
- #50297 Blindwrite 7 crashes with a stack overflow
- #50475 ENM (Externes Notenmodul / external mark module) crashes on opening
- #50893 Wine cannot see home directory (32-bit time_t overflow)
- #51285 The bmpcoreimage test in user32:cursoricon fails on most Windows versions
- #51471 user32:input receives unexpected WM_SYSTIMER messages in test_SendInput()
- #51473 user32:input Some SendInput() set LastError to ERROR_ACCESS_DENIED on cw-rx460 19.11.3
- #51474 user32:input SendInput() triggers an unexpected message 0x60 on Windows 10 1709
- #51477 user32:input test_Input_blackbox() gets unexpected 00&41(A) keystate changes
- #51931 Dead Rising encounters infinite loading when starting a new game (needs WMAudio Decoder DMO)
- #52399 SIMATIC WinCC V15.1 Runtime installer: SeCon tool fails with error 5 while trying to create 'C:\\windows\Security\\SecurityController' (needs '%windir%\\security')
- #52595 GUIDE 7.0 shows black screen on start
- #53516 user32:input failed due to unexpected WM_TIMECHANGE message
- #54089 user32:input - test_SendInput() sometimes gets an unexpected 0x738 message on w1064v1709
- #54223 Unigine Heaven Benchmark 4.0 Severely Low FPS
- #54323 user32:input - test_SendInput() sometimes gets an unexpected 0xc042 message on Windows 7
- #54362 BurnInTest calls unimplemented function ntoskrnl.exe.ExAllocatePool2
- #55000 wineserver crashes below save_all_subkeys after RegUnLoadKey
- #55268 user32:cursoricon - LoadImageA() fails in test_monochrome_icon() on Windows 8+
- #55467 MAME 0.257: mame.exe -listxml crashes
- #55835 putenv clobbers previous getenv
- #55883 SpeedWave can't draw Window, needs oleaut32.OleLoadPictureFile().
- #55945 KakaoTalk crashes when opening certain profiles after calling GdipDrawImageFX stub
- #56054 Microsoft Safety Scanner crashes on exit on unimplemented function tbs.dll.GetDeviceIDString
- #56055 AVG Antivirus setup crashes on unimplemented function ADVAPI32.dll.TreeSetNamedSecurityInfoW
- #56062 unimplemented function mgmtapi.dll.SnmpMgrOpen
- #56078 LibreOffice 7.6.4 crashes on unimplemented function msvcp140_2.dll.__std_smf_hypot3
- #56093 msys/pacman: fails with "fixup_mmaps_after_fork: VirtualQueryEx failed"
- #56119 Emperor - Rise of the Middle Kingdom: invisible menu buttons
- #56135 Dictionnaire Hachette Multimédia Encyclopédique 98 crashes on start
- #56168 dbghelp hits assertion in stabs_pts_read_type_def
- #56174 Forza Horizon 4 crashes with concrt140.dll.?_Confirm_cancel(a)_Cancellation_beacon@details(a)Concurrency@@QEAA_NXZ
- #56195 Device name inconsistent casing between GetRawInputDeviceInfo and PnP
- #56223 winedbg: crashes after loading gecko debug information
- #56235 Windows Sysinternals Process Explorer 17.05 crashes showing Threads property page.
- #56236 notepad freezes when displaying child dialog
### Changes since 9.0:
```
Aida Jonikienė (2):
opengl32: Add a FIXME when doing a mapped buffer copy.
localspl: Fix a maybe-uninitialized warning in fill_builtin_form_info().
Alex Henrie (8):
uiautomationcore/tests: Use CRT allocation functions.
tbs: Add GetDeviceIDString stub.
advapi32: Add TreeSetNamedSecurityInfoW stub.
include: Add mgmtapi.h and LPSNMP_MGR_SESSION.
mgmtapi: AddSnmpMgrOpen stub.
msvcp140_2: Implement __std_smf_hypot3.
include: Add POOL_FLAGS and POOL_FLAG_*.
ntoskrnl: Reimplement ExAllocatePool* on top of ExAllocatePool2.
Alexandre Julliard (33):
ntdll/tests: Add exception test for int 2d on x86-64.
user32: Return result through NtCallbackReturn for the DDE message callback.
user32: Return result through NtCallbackReturn for the thunk lock callback.
user32: Return result through NtCallbackReturn for the copy image callback.
user32: Return result through NtCallbackReturn for the load image callback.
user32: Return result through NtCallbackReturn for the load sys menu callback.
user32: Return result through NtCallbackReturn for the draw text callback.
user32: Return result through NtCallbackReturn for the enum monitors callback.
user32: Return result through NtCallbackReturn for the window hook callback.
winevulkan: Return result through NtCallbackReturn for the debug callbacks.
wineandroid.drv: Return result through NtCallbackReturn for the start device callback.
winex11.drv: Return result through NtCallbackReturn for the drag and drop callbacks.
winemac.drv: Return result through NtCallbackReturn for the drag and drop callbacks.
user32: Return a proper NTSTATUS in the load driver callback.
user32: Return a proper NTSTATUS in the post DDE message callback.
user32: Return a proper NTSTATUS in all user callbacks.
opengl32: Return a proper NTSTATUS in the debug callback.
ntdll: Add NtCompareTokens syscall for ARM64EC.
msvcp: Consistently use __int64 types in number conversion functions.
include: Add a typedef for user callback function pointers.
ntdll: Share KiUserCallbackDispatcher implementation across platforms.
ntdll: Report failure in KiUserCallbackDispatcher when catching an exception.
ntdll: Export KiUserCallbackDispatcherReturn.
ntdll: Use a .seh handler for KiUserCallbackDispatcher exceptions.
ntdll: Move the process breakpoint to the CPU backends.
ntdll: Use a .seh handler for the process breakpoint.
ntdll/tests: Update todos in context tests for new wow64 mode.
configure: Only check for libunwind on x86-64.
ntdll: Share the nested exception handler across platforms.
ntdll: Use a .seh handler for nested exceptions.
ntdll: Clear CONTEXT_UNWOUND_TO_CALL in signal frames.
ntdll/tests: Port the exception unwinding tests to ARM64.
ntdll/tests: Port the exception unwinding tests to ARM.
Alistair Leslie-Hughes (2):
include: Add more D3D_FEATURE_LEVEL_ defines.
include: Correct KMTQAITYPE values.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus/tests: Add GdipDrawImageFX tests except effects or attributes.
gdiplus: Partially implement GdipDrawImageFX.
Bernhard Übelacker (6):
wing32: Add tests.
wing32: Avoid crash in WinGGetDIBPointer when called with NULL bitmap info.
server: Allow VirtualQueryEx on "limited" handle.
dbghelp: Return early if HeapAlloc failed.
ntdll: Fix structure layout in RtlQueryProcessDebugInformation for 64-bit.
server: Avoid unloading of HKU .Default registry branch.
Biswapriyo Nath (5):
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOURCE_REQUIREMENTS in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_RESOLUTION_SUPPORT_LIMITS in d3d12video.idl.
include: Add D3D12_VIDEO_ENCODER_ENCODE_ERROR_FLAGS in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_SUPPORT in d3d12video.idl.
include: Add missing macros in devenum.idl.
Brendan McGrath (3):
gdi32: Ignore Datatype when StartDoc is called.
d2d1: Use 24-bit FP precision for triangulate.
d2d1: Fix double free bug when d2d_geometry_sink_Close fails.
Brendan Shanks (5):
opengl32: Make wglSwapLayerBuffers hookable.
combase: Make RoGetActivationFactory hookable.
wined3d: Update reported AMD driver version.
ntdll: Remove unnecessary NtQueryVirtualMemory call.
ntdll: Only build the main module and ntdll once on Wow64.
Daniel Hill (3):
winex11.drv: Dvorak should use QWERTY scancodes.
winex11.drv: Improve DetectLayout heuristics.
winex11.drv: Add Dvorak with phantom keys layout.
Daniel Lehman (2):
msvcp120/tests: Add some tests for _Mtx_t fields.
msvcp140: Pad _Mtx_t struct to match Windows.
David Kahurani (1):
gdiplus: Avoid use of temporary variable.
Dmitry Timoshkov (4):
ntdll: Add NtCompareTokens() stub.
oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath.
oleaut32: Factor out stream creation from OleLoadPicturePath.
oleaut32: Implement OleLoadPictureFile.
Dāvis Mosāns (1):
ntdll/tests: Test NtContinue on x86-64.
Eric Pouech (7):
dbghelp: Support redefinition of a range statement.
winedbg: Make some internal data 'static const'.
winedbg: Print all pid and tid with 4 hex characters.
appwiz.cpl: Load dynamically wine_get_version().
user32: Load dynamically wine_get_version().
include: Avoid defining intrinsic functions as inline.
include: Avoid redefining _InterlockedCompareExchange128 as inline.
Etaash Mathamsetty (2):
xinput: Implement XInputGetCapabilitiesEx.
xinput: Reimplement XInputGetCapabilities.
Fabian Maurer (8):
dmsynth: Leave critical section when out of memory (Coverity).
localspl: In fpScheduleJob leave critical section in error case (Coverity).
wmiutils: Always zero path->namespaces in parse_text (Coverity).
winedbg: Add missing break inside fetch_value (Coverity).
wow64win: Add missing break inside packed_result_32to64 (Coverity).
winegstreamer: Don't check event for NULL, gstreamer already does that.
include: Add Windows.UI.ViewManagement.InputPane definitions.
windows.ui: Add stubs for InputPane class.
Fan WenJie (1):
wined3d: Compile sm1 bytecode to spirv.
Gabriel Brand (3):
ws2_32/tests: Test binding UDP socket to invalid address.
server: Return failure in bind if the address is not found.
kernel32: Add string for WSAEADDRNOTAVAIL error.
Gabriel Ivăncescu (6):
msvcirt: Use proper operator_new and operator_delete types.
jscript: Move thread_id from JScript struct to TLS data.
jscript: Don't use atomic compare exchange when setting the script ctx.
jscript: Make the garbage collector thread-wide rather than per-ctx.
jscript: Allow garbage collection between different jscript contexts.
mshtml: Implement document.lastModified.
Giovanni Mascellani (2):
wined3d: Expose the image view usage for null views.
wined3d: Expose the image view usage for non-default views.
Haidong Yu (1):
loader: Associate folder with explorer.
Hans Leidekker (19):
bcrypt: Add support for setting DH parameters.
bcrypt: Add support for retrieving DH parameters.
bcrypt: Allow or disallow some operations based on whether keys are finalized.
bcrypt: Add helpers to create a public/private key pair.
bcrypt: Make DH blob size validation more strict in key_import_pair().
bcrypt: Reject DH keys smaller than 512 bits.
bcrypt: Add support for generating DH keys from known parameters.
bcrypt: Make sure key_asymmetric_derive_key() returns correct size.
bcrypt: Assume we have a public key in key_export_dh_public().
bcrypt: Set dh_params in key_import_dh/_public().
bcrypt/tests: Add DH tests.
crypt32: Pad R/S values with zeroes if smaller than their counterpart.
sxs: Use wide character string literals.
sxs/tests: Use wide character string literals.
sxs/tests: Get rid of workarounds for old Windows versions.
sxs/tests: Update QueryAssemblyInfo() test for Windows 10.
sxs: Skip file copy when assembly is already installed.
bcrypt: Fix private data size in wow64 thunks.
dssenh: Finalize the hash if necessary in CPVerifySignature().
Jacek Caban (4):
winevdm: Use char type for max length assignment.
kernelbase: Silence -Wsometimes-uninitialized clang warning.
kernelbase: Silence -Warray-bounds clang warning.
devenum: Use switch statements for moniker type handling.
Jinoh Kang (2):
ntdll/tests: Avoid misaligned load in exception handler code in run_exception_test_flags().
ntdll/tests: Restore x86-64 #AC exception test in test_exceptions().
Martin Storsjö (6):
ntdll: Fix KiUserCallbackDispatcher on arm.
ntdll: Reduce fixme logging for large numbers of cores.
ntdll: Remove libunwind support for aarch64.
ntdll: Remove libunwind support for ARM.
ntdll: Remove dwarf unwinding support for aarch64.
wineps.drv: Avoid invalid unaligned accesses.
Nicholas Tay (1):
win32u: Preserve rawinput device instance ID case in add_device().
Nikolay Sivov (13):
mf/tests: Skip tests if video renderer can't be created.
ntdll: Update RTL_HEAP_PARAMETERS definition.
ntdll/tests: Add some tests for creating custom heaps.
scrrun/dictionary: Add support for hashing VT_EMPTY keys.
scrrun/dictionary: Add support for hashing VT_NULL keys.
scrrun/dictionary: Handle VT_EMPTY/VT_NULL keys.
evr/dshow: Handle YUY2 sample copy.
mf/tests: Fully cleanup when skipping tests.
d2d1/tests: Add some tests for minimum/maximum input count in effect description.
d2d1/effect: Handle variable input count attributes in the description.
d2d1/effect: Use XML description for builtin effects.
d2d1/effect: Recreate transform graph when input count changes.
d3d10/effect: Use bitfields for numeric type descriptions.
Paul Gofman (5):
ntdll: Fix exception list offset in call_user_mode_callback / user_mode_callback_return.
ntdll: Return STATUS_DEBUGGER_INACTIVE from NtSystemDebugControl() stub.
winex11.drv: Fix wglSwapBuffers() with NULL current context with child window rendering.
winhttp: Always return result at once if available in WinHttpQueryDataAvailable().
winhttp: Always return result at once if available in WinHttpReadData().
Piotr Caban (8):
msvcp140_2: Fix i386 export names.
msvcp140_2: Implement __std_smf_hypot3f.
msvcp140_t/tests: Add __std_smf_hypot3 tests.
concrt140: Add _Cancellation_beacon::_Confirm_cancel() implementation.
msvcp140: Add _XGetLastError implementation.
msvcp140/tests: Fix _Syserror_map(0) test failure in newest msvcp140.
msvcp140: Recognize no error case in _Syserror_map.
winex11.drv: Fix xim_set_focus no IC condition check.
Russell Greene (1):
powrprof: Add PowerWriteACValueIndex stub.
Rémi Bernon (59):
user32/tests: Remove old Windows versions broken cursoricon results.
user32/tests: Fix cursoricon tests on recent Windows versions.
user32/tests: Add flaky_wine to some SetActiveWindow tests.
user32/tests: Run SendInput tests in a separate desktop.
user32/tests: Cleanup SendInput keyboard message sequence tests.
user32/tests: Test SendInput messages with KEYEVENTF_SCANCODE flag.
user32/tests: Test SendInput messages with other keyboard layouts.
imm32/tests: Add todo_himc to some ImmTranslateMessage expected calls.
dinput/tests: Make some failing keyboard test flaky_wine.
vulkan/tests: Add gitlab Win10 VM results.
winex11: Return STATUS_NOT_FOUND when IME update isn't found.
win32u: Move ImeToAsciiEx implementation from winex11.
win32u: Support posting IME updates while processing keys.
winemac: Use the default ImeToAsciiEx implementation.
win32u: Remove now unnecessary ImeToAsciiEx driver entry.
winebus: Append is_gamepad to the device instance id.
winebus: Allow specific devices to prefer hidraw backend.
winebus: Move device identification helpers to unixlib.h.
winebus: Prefer hidraw backends for DS4 and DS5 gamepads.
winexinput: Demote BusContainerId FIXME message to WARN.
winebus: Demote BusContainerId FIXME message to WARN.
dinput: Add a description to the dinput worker thread.
windows.gaming.input: Add a description to the monitor thread.
include: Add HEAACWAVEINFO and HEAACWAVEFORMAT definitions.
mfplat/tests: Test MFInitMediaTypeFromWaveFormatEx wrt MF_MT_FIXED_SIZE_SAMPLES.
mfplat/tests: Add MFInitMediaTypeFromWaveFormatEx tests with HEAACWAVEFORMAT.
mfplat/tests: Test MFWaveFormatExConvertFlag_ForceExtensible with HEAACWAVEFORMAT.
mfplat: Support AAC format attributes in MFInitMediaTypeFromWaveFormatEx.
mfplat: Support compressed WAVEFORMATEX in MFCreateWaveFormatExFromMFMediaType.
win32u: Avoid truncating ToUnicodeEx result if there's room.
user32/tests: Move KEYEVENTF_UNICODE to test_SendInput_keyboard_messages.
user32/tests: Test that WH_KEYBOARD_LL are blocking SendInput.
setupapi: Don't clobber the original filename if .inf is found.
dinput/tests: Introduce a new helper to create a foreground window.
dinput/tests: Enforce ordering of concurrent read IRPs.
dinput/tests: Add a test with a virtual HID mouse.
dinput/tests: Add a test with a virtual HID keyboard.
include: Add more HID digitizer usage definitions.
dinput/tests: Add a test with a virtual HID touch screen.
winex11: Sync with gdi_display before closing the threads display.
dinput/tests: Differentiate missing from broken HID reports.
dinput/tests: Relax the mouse move count test.
dinput/tests: Add some IRawGameController2 interface tests.
windows.gaming.input: Stub IRawGameController2 interface.
imm32/tests: Adjust todo_wine for the new Wine CJK keyboard layouts.
imm32: Mask the scancode before passing it to ImeToAsciiEx.
imm32/tests: Test that WM_KEYUP are passed to ImeProcessKey.
win32u: Also pass WM_KEYUP messages to ImmProcessKey.
imm32/tests: Test the effect of CPS_CANCEL and CPS_COMPLETE.
imm32: Complete the composition string when the IME is closed.
user32/tests: Add an optional hwnd to input messages tests.
user32/tests: Cleanup the mouse input WM_NCHITTEST / SetCapture tests.
user32/tests: Run the mouse hook tests in the separate desktop.
user32/tests: Filter the ll-hook messages with accept_message.
user32/tests: Test clicking through attribute-layered windows.
user32/tests: Tests clicking through window with SetWindowRgn.
winegstreamer: Fix reading MF_MT_USER_DATA into HEAACWAVEFORMAT.
winegstreamer: Use MFCreateAudioMediaType in the AAC decoder.
winegstreamer: Use an array for the audio decoder input types.
Sven Baars (2):
advapi32/tests: Introduce a new has_wow64 helper.
advapi32/tests: Skip WoW64 tests on 32-bit in test_reg_create_key.
Tim Clem (1):
winemac.drv: Detect active handwriting and panel IMEs.
Tyson Whitehead (2):
dinput/tests: Update tests for DIPROP_AUTOCENTER.
dinput: Implement DIPROP_AUTOCENTER.
Vijay Kiran Kamuju (5):
concrt140: Add stub for _Cancellation_beacon::_Confirm_cancel().
wine.inf: Create security directory.
msvcp140: Add stub for _XGetLastError.
include: Add Windows.Storage.Streams.InMemoryRandomAccessStream runtimeclass definition.
msvcr100: Add _ReaderWriterLock constructor implementation.
Yuxuan Shui (4):
dmime: AudioPathConfig is not AudioPath.
dmime: Parse AudioPathConfig.
dmime: IDirectMusicPerformance::CreateAudioPath should fail when config is NULL.
dmime: Semi-support creating an audio path from config.
Zebediah Figura (14):
ddraw/tests: Add tests for map pointer coherency.
ddraw: Sync to sysmem after performing a color fill.
ddraw: Use the sysmem wined3d texture for sysmem surfaces if possible.
wined3d: Hook up push constants for Vulkan.
wined3d/spirv: Hook up sm1 interface matching.
d3d11: Implement D3D11_FEATURE_D3D11_OPTIONS2.
wined3d: Report VK_EXT_shader_stencil_export availability to vkd3d_shader_compile().
wined3d: Implement shader stencil export for GL.
d3d11: Report support for shader stencil export if available.
d3d11/tests: Add a test for shader stencil export.
wined3d: Check the wined3d resource type and usage in find_ps_compile_args().
wined3d: Set the tex_type field of the FFP fragment settings from the resource's GL type.
wined3d: Check for WINED3DUSAGE_LEGACY_CUBEMAP instead of checking the GL texture target.
wined3d: Collapse some trivially nested ifs into a single condition.
Zhiyi Zhang (16):
wldap32: Fix a possible memory leak (Coverity).
msi: Fix a memory leak (Coverity).
bcrypt: Fix an possible out-of-bounds read (Coverity).
win32u: Fix a possible out-of-bounds write (Coverity).
compstui: Fix a possible out-of-bounds write (Coverity).
user32/tests: Add recursive keyboard and mouse hook tests.
win32u: Avoid calling WH_KEYBOARD and WH_CBT HCBT_KEYSKIPPED hooks recursively.
win32u: Avoid calling WH_CBT HCBT_CLICKSKIPPED hooks recursively.
user32/tests: Add recursive WM_SETCURSOR message tests.
include: Add some ncrypt definitions.
include: Add some bcrypt definitions.
ncrypt/tests: Test default RSA key properties.
ncrypt: Add some missing RSA key properties.
ncrypt/tests: Add NCryptExportKey() tests.
user32/tests: Test keyboard layout in CJK locales.
win32u: Don't set the high word of keyboard layout to 0xe001 in CJK locales.
```
1
0
The Wine team is proud to announce that the stable release Wine 9.0
is now available.
This release represents a year of development effort and over 7,000
individual changes. It contains a large number of improvements that
are listed below. The main highlights are the new WoW64 architecture
and the experimental Wayland driver.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0/AUTHORS
## What's new in Wine 9.0
### WoW64
- All transitions from Windows to Unix code go through the NT syscall
interface. This is a major milestone that marks the completion of the
multi-year re-architecturing work to convert modules to PE format and
introduce a proper boundary between the Windows and Unix worlds.
- All modules that call a Unix library contain WoW64 thunks to enable calling
the 64-bit Unix library from 32-bit PE code. This means that it is possible to
run 32-bit Windows applications on a purely 64-bit Unix installation. This is
called the _new WoW64 mode_, as opposed to the _old WoW64 mode_ where 32-bit
applications run inside a 32-bit Unix process.
- The new WoW64 mode is not yet enabled by default. It can be enabled by passing
the `--enable-archs=i386,x86_64` option to configure. This is expected to work
for most applications, but there are still some limitations, in particular:
- Lack of support for 16-bit code.
- Reduced OpenGL performance and lack of `ARB_buffer_storage` extension
support.
- The new WoW64 mode finally allows 32-bit applications to run on recent macOS
versions that removed support for 32-bit Unix processes.
### Wayland driver
- There is an experimental Wayland graphics driver. It's still a work in
progress, but already implements many features, such as basic window
management, multiple monitors, high-DPI scaling, relative motion events, and
Vulkan support.
- The Wayland driver is not yet enabled by default. It can be enabled through
the `HKCU\Software\Wine\Drivers` registry key by running:
wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /d x11,wayland
and then making sure that the `DISPLAY` environment variable is unset.
### ARM64
- The completion of the PE/Unix separation means that it's possible to run
existing Windows binaries on ARM64.
- The loader supports loading ARM64X and ARM64EC modules.
- The 32-bit x86 emulation interface is implemented. No emulation library is
provided with Wine at this point, but an external library that exports the
interface can be used, by specifying its name in the
`HKLM\Software\Microsoft\Wow64\x86` registry key. The [FEX emulator][2]
implements this interface when built as PE.
- There is initial support for building Wine for the ARM64EC architecture, using
an experimental LLVM toolchain. Once the toolchain is ready, this will be used
to do a proper ARM64X build and enable 64-bit x86 emulation.
[2]: https://fex-emu.com
### Graphics
- The PostScript driver is reimplemented to work from Windows-format spool files
and avoid any direct calls from the Unix side.
- WinRT theming supports a dark theme option, with a corresponding toggle in
WineCfg.
- The Vulkan driver supports up to version 1.3.272 of the Vulkan spec.
- A number of GdiPlus functions are optimized for better graphics performance.
### Direct3D
- The multi-threaded command stream sleeps instead of spinning when not
processing rendering commands. This lowers power consumption in programs which
do not occupy the command stream's entire available bandwidth. Power
consumption should be comparable to when the multi-threaded command stream is
disabled.
- Direct3D 10 effects support many more instructions.
- Various optimizations have been made to core WineD3D and the Vulkan backend.
- The Vulkan renderer properly validates that required features are supported by
the underlying device, and reports the corresponding Direct3D feature level to
the application.
- `D3DXFillTextureTX` and `D3DXFillCubeTextureTX` are implemented.
- The legacy OpenGL ARB shader backend supports shadow sampling via
`ARB_fragment_program_shadow`.
- The HLSL compiler supports matrix majority compilation flags.
- `D3DXLoadMeshHierarchyFromX` and related functions support user data loading
via `ID3DXLoadUserData`.
### Audio / Video
- The foundation of several of the DirectMusic modules is implemented. Many
tests are added to validate the behavior of the dmime sequencer and the
dmsynth MIDI synthesizer.
- DLS1 and DLS2 sound font loading is implemented, as well as SF2 format for
compatibility with Linux standard MIDI sound fonts.
- MIDI playback is implemented in dmsynth, with the integration of the software
synthesizer from the FluidSynth library, and using DirectSound for audio
output.
- Doppler shift is supported in DirectSound.
- The Indeo IV50 Video for Windows decoder is implemented.
### DirectShow
- The Windows Media Video (WMV) decoder DirectX Media Object (DMO) is
implemented.
- The DirectShow Audio Capture filter is implemented.
- The DirectShow MPEG‑1 Stream Splitter filter supports video and system streams
as well as audio streams.
- The DirectShow MPEG‑1 Video Decoder filter is implemented.
### Input devices
- DirectInput action maps are implemented, improving compatibility with many old
games that use this to map controller inputs to in-game actions.
### Desktop integration
- URL/URI protocol associations are exported as URL handlers to the Linux
desktop.
- Monitor information like name and model id are retrieved from the physical
monitor's Extended Display Identification Data (EDID).
- In full-screen desktop mode, the desktop window can be closed through the
"Exit desktop" entry in the Start menu.
### Internationalization
- IME implementation is improved, with better support for native Windows IME
implementations. Many tests are added to validate the expected behavior of
these custom IMEs.
- Linux IME integration is improved, using over-the-spot or on-the-spot input
styles whenever possible, and more accurate IME message sequences.
- Locale data is generated from the Unicode CLDR database version 44. The
following additional locales are supported: `bew-ID`, `blo-BJ`, `csw-CA`,
`ie-EE`, `mic-CA`, `prg-PL`, `skr-PK`, `tyv-RU`, `vmw-MZ`, `xnr-IN`, and
`za-CN`.
- The user interface is translated to Georgian, bringing the total of full
translations to 16 languages, with partial translations to another 31
languages.
- Unicode character tables are based on version 15.1.0 of the Unicode Standard.
- The timezone data is generated from the IANA timezone database version 2023c.
- Locales using a script name, like `zh-Hans`, are also supported on macOS.
### Kernel
- The default Windows version for new prefixes is set to Windows 10.
- Address space layout randomization (ASLR) is supported for modern PE binaries,
to avoid issues with address space conflicts. Note that the selected load
addresses are not yet properly randomized.
- The Low Fragmentation Heap (LFH) is implemented for better memory allocation
performance.
- The virtual memory allocator supports memory placeholders, to allow
applications to reserve virtual space.
- The 64-bit loader and preloader are built as position-independent executables
(PIE), to free up some of the 32-bit address space.
- Stack unwinding works correctly across NT syscalls and user callbacks.
### Internet and networking
- All builtin MSHTML objects are proper Gecko cycle collector participants.
- Synchronous XMLHttpRequest mode is supported in MSHTML.
- WeakMap object is implemented in JScript.
- The Gecko engine is updated to version 2.47.4.
- Network interface change notifications are implemented.
### Cryptography and security
- Smart cards are supported in the Winscard dll, using the Unix PCSClite
library.
- Diffie-Hellman keys are supported in BCrypt.
- The Negotiate security package is implemented.
### Mono / .NET
- The Mono engine is updated to version [8.1.0][3].
[3]: https://github.com/madewokherd/wine-mono/releases/tag/wine-mono-8.1.0
### Builtin applications
- The Wine Debugger (winedbg) uses the Zydis library for more accurate x86
disassembly.
- WineCfg supports selecting old (pre-XP) Windows versions also in 64-bit
prefixes, to enable using ancient applications with the new WoW64 mode.
- All graphical builtin applications report errors with a message box instead of
printing messages on the console.
- The `systeminfo` application prints various data from the Windows Management
Instrumentation database.
- The `klist` application lists Kerberos tickets.
- The `taskkill` application supports terminating child processes.
- The `start` application supports a `/machine` option to select the
architecture to use when running hybrid x86/ARM executables.
- Most of the functionality of the `tasklist` application is implemented.
- The `findstr` application provides basic functionality.
### Development tools
- The WineDump tool supports printing the contents of Windows registry files
(REGF format), as well as printing data for both architectures in hybrid
x86/ARM64 PE files.
- The `composable`, `default_overload`, `deprecated`, and `protected` attributes
are supported in the IDL compiler.
- The `libwine.so` library is removed. It was no longer used, and deprecated
since Wine 6.0. Winelib ELF applications that were built with Wine 5.0 or
older will need a rebuild to run on Wine 9.0.
### Bundled libraries
- The FluidSynth library version 2.3.3 is bundled and used for DirectMusic.
- The math library of Musl version 1.2.3 is bundled and used for the math
functions of the C runtime.
- The Zydis library version is 4.0.0 is bundled and used for x86 disassembly
support.
- Vkd3d is updated to the upstream release 1.10.
- Faudio is updated to the upstream release 23.12.
- LDAP is updated to the upstream release 2.5.16.
- LCMS2 is updated to the upstream release 2.15.
- LibMPG123 is updated to the upstream release 1.32.2.
- LibPng is updated to the upstream release 1.6.40.
- LibTiff is updated to the upstream release 4.6.0.
- LibXml2 is updated to the upstream release 2.11.5.
- LibXslt is updated to the upstream release 1.1.38.
- Zlib is updated to the upstream release 1.3.
### External dependencies
- The Wayland client library, as well as the xkbcommon and xkbregistry
libraries, are used when building the Wayland driver.
- The PCSClite library is used for smart card support. On macOS, the PCSC
framework can be used as an alternative to PCSClite.
- For PE builds, a cross-compiler that supports `.seh` directives for exception
handling is required on all platforms except i386.
1
0
The Wine development release 9.0-rc5 is now available. This is
expected to be the last release candidate before the final 9.0.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0-rc5.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0-rc5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.0-rc5 (total 22):
- #38780 AArch64 platforms: register X18 (TEB) must remain reserved for Wine to run 64-bit ARM Windows applications (Distro aarch64 toolchains need '-ffixed-x18' default, loader/libc/userland)
- #46777 Two Worlds 2 crashes on start
- #47406 Add support for debug symbols in separate files
- #49852 Performance regression in "msvcrt: Use correct code page in _write when outputing to console."
- #50998 Failed to open error Word 2007 (c0000135)
- #52491 SpaceDesk fails to connect to server
- #52962 dinput:force_feedback breaks ntoskrnl.exe:ntoskrnl on Windows 7/8
- #53319 robot battle game extremely slow after wine version 7.11 and above
- #54387 Pantsylvania crashes if Windows version is set to 3.1
- #54401 PhotoFiltre not printing
- #55010 psapi:psapi_main - test_EnumProcessModulesEx() sometimes gets a 0 image size on Windows 8
- #55497 Jennifer is Missing (Katjas Geheimnis) by Tivoli crashes on start
- #55731 advapi32:eventlog - test_eventlog_start() fails on Windows 7 & 10 2004 & 2009
- #55784 wldap32:parse - test_ldap_bind_sA() claims the server is down on w1064v2009
- #56070 BVE trainsim doesn't show its logo in the main window.
- #56113 Unfortunate Spacemen crashes on start
- #56117 Celtic Kings runs out of memory in mere seconds when music is enabled
- #56130 Wine is broken on Termux since 8.17-39-g25db1c5d49d
- #56134 VA-11 HALL-A crashes on startup
- #56149 Celtic Kings demo: window decorations missing in virtual desktop (VD size = desktop size)
- #56150 Wine 8.18 - Fedora 37 - Winwing F16EX joystick - dinput only reports 10 buttons
- #56152 "Script error: Handler not defined #FileIO" in "TKKG 1" (EN: Jennifer is Missing, DE: Katjas Geheimnis - Tivoli)
### Changes since 9.0-rc4:
```
Akihiro Sagawa (5):
d3d8/tests: Test the presentation parameters after creating a device.
d3d9/tests: Test the presentation parameters after creating a device.
d3d8/tests: Test the presentation parameters after creating an additional swap chain.
d3d9/tests: Test the presentation parameters after creating an additional swap chain.
d3d9: Update presentation parameters when creating a swap chain.
Alex Henrie (1):
winspool: Keep driver_9x in scope while it is in use.
Alexandre Julliard (2):
krnl386: Use NtContinue to restore the full context.
krnl386: Align the stack before calling the entry point.
Bernhard Übelacker (1):
msvcrt: Protect setlocale against concurrent accesses.
Enol Puente (1):
po: Update Asturian translation.
Gabriel Ivăncescu (4):
Revert "winex11: Use the correct root window for virtual desktops.".
winex11: Set MWM_FUNC_RESIZE for fullscreen desktop windows.
winex11: Update Virtual Desktop fullscreen WM state after setting window pos.
winex11: Move the update_desktop_fullscreen callsite to update_net_wm_states.
Hans Leidekker (2):
wldap32/tests: Skip tests when the server can't be reached.
wininet/tests: Update expected winehq.org certificate.
Jacek Caban (1):
gitlab: Cache config.cache in Clang builds.
Jinoh Kang (4):
ntdll/tests: Fix x86-32 extended context end offset in test_copy_context().
ntdll/tests: Fix incorrect calculation of context length in test_copy_context().
ntdll/tests: Don't hard code the maximum XState length in test_extended_context().
ntdll/tests: Fix xstate tests failing on Windows 11 and CPU with more XSAVE features.
Nikolay Sivov (2):
mfreadwrite/tests: Skip tests if D3D9 is unusable.
mf/tests: Skip tests if D3D9 is unusable.
Rémi Bernon (3):
dmusic: Clone streams instead of allocating wave data.
ntoskrnl.exe/tests: Use SUOI_FORCEDELETE when uninstalling the driver.
winewayland: Add missing breaks in keyboard layout switch.
Zebediah Figura (2):
wined3d: Avoid WARN() when failing to allocate a GL BO without a context.
wined3d: Only suballocate dynamic buffers.
```
1
0
The Wine development release 9.0-rc4 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0-rc4.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0-rc4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.0-rc4 (total 17):
- #4291 The menubar & toolbar of TresED are not displayed correctly.
- #7106 Need for Speed 3 autorun crashes when starting setup
- #26142 Civilization 4: Screen turns black on turn end with built-in msxml
- #38039 linux console leaves in stty echo off mode after executing bash.exe from Wine
- #40011 git-gui crashes on start
- #45242 winedbg Internal crash when debugging win32
- #51738 Bioshock Infinite crashes after intro with "mmap() failed: Cannot allocate memory"
- #52159 cygwin/msys2: Unhandled page fault in 64-bit gdb.exe and python3.8.exe
- #54256 Compile for wine under arm macOS (for running aarch64 windows apps) fails
- #55540 IS Defense hangs after gameplay begins or has rendering glitches
- #55637 dmime:dmime - test_performance_pmsg() sometimes fails due to bad timing on Windows and Wine
- #55961 Multiple VST plugins have an invisible cursor
- #56021 Wine 9.0-rc1 Wayland: In Sway full screen games don't run on full screen
- #56023 Wine 9.0-rc1 Wayland: DPI problems
- #56032 winedbg --gdb: gets terminated when target process exits
- #56047 Won't build on FreeBSD, error: 'F_GETPATH' undeclared
- #56110 Bejeweled 3: can't enable 3D acceleration
### Changes since 9.0-rc3:
```
Alexandre Julliard (6):
Update copyright info for 2024.
server: Remove WINESERVER documentation from the man page.
loader: Remove absolute paths references from the man page.
readme: Convert to Markdown.
announce: Convert to Markdown.
ntdll: Determine the available address space dynamically on ARM64.
André Zwing (2):
mscoree/tests: Don't test function directly when reporting GetLastError().
ntoskrnl/tests: Use RtlNtStatusToDosErrorNoTeb() for stateless conversion.
Bernhard Kölbl (1):
windows.media.speech/tests: Remove obsolete workarounds.
Brendan Shanks (2):
include: Assert that the debug channel name will be null-terminated and is not too long.
server: Fix compile error on FreeBSD/NetBSD.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Eric Pouech (3):
winedump: Better align fields in EXPORT table.
quartz: Delay import ddraw.
winedbg: Wait for gdb to terminate before exiting (proxy mode).
Esme Povirk (1):
mscoree/tests: Add debug code for RemoveDirectory failure.
Fan WenJie (1):
wineandroid: Fix incorrect checking reason.
Gabriel Ivăncescu (1):
winex11: Use the correct root window for virtual desktops.
Lauri Kenttä (2):
po: Update Finnish translation.
readme: Update Finnish translation.
Rémi Bernon (2):
dmime: Avoid leaking track references in segment Clone and Load.
dmloader: Avoid caching DMUS_OBJ_STREAM objects we can't load from cache.
Yuxuan Shui (1):
dmime: Fix handling of curve PMSG.
Zebediah Figura (3):
wined3d: Reference FFP resources in reference_shader_resources().
wined3d: Do not remove invalid BO users from the list when destroying views.
wined3d: Set fixed_function_usage_map to 0 for an sm4 draw without a PS.
Zsolt Vadasz (2):
msvcrt: Compare environment variable names case insensitively.
msvcrt/tests: Test case insensitivity of getenv() and _wgetenv().
```
1
0
The Wine development release 9.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc3.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 9.0-rc3 (total 35):
- #51314 vulkan-1:vulkan crashes on Windows with recent Radeon drivers
- #51478 dinput:device8 breaks user32:input's test_keyboard_layout_name() in some locales ()
- #52971 HardWest 2 (playtest) is broken with OpenGL/Vulkan backend
- #53166 Star Wars : Fallen Order crashes at launch
- #53726 Silent Hill 4: The Room low res videos are not played (needs CLSID_CMpegVideoCodec)
- #54381 tightvnc viewer crashes on connection
- #54878 WinSCP 5.21.1.12643 doesn't list files when Windows version is set to 10
- #55005 Program Treecomp - some widgets are not drawn
- #55061 Starcraft Remastered: blurry graphics / low resolution
- #55161 IrfanView full screen mode creates an unneeded and uncalled for permanent overlaying panel
- #55288 advapi32:registry & ntdll:reg - The 32-bit test_redirection() fails if run after the 64 WineTest
- #55306 Cannot double click in the server browser in Worms Armageddon
- #55327 user32:input - test_ActivateKeyboardLayout() fails on Windows 7 for the Spanish locale
- #55328 user32:input - test_keyboard_layout_name() fails on Windows 7 for the Spanish locale
- #55394 comctl32:listbox - test_LBS_NODATA() fails in Wine for the Hindi locale
- #55439 RPG Maker game crashes
- #55446 Using C run-time for unicode strings comparison breaks case insensitive LB_FINDSTRING
- #55578 kernel32:loader - test_section_access() sometimes fails on Windows 8
- #55582 Civilization 2 crashes when setting up new game
- #55655 user32:dialog - test_IsDialogMessageA_proc() fails in the Hindi locale on Wine
- #55667 kernel32:file - test_MapFile() fails on macOS
- #55773 Railroad Tycoon 2 Platinum (Steam, GOG) crashes when changing to 800X600 resolution
- #55903 Falcon BMS 4.37u3: game randomly fails to load 3D models
- #55942 Crazy Chicken Approaching - Nebula Assertion and Visual C++ Runtime Library Errors
- #55962 Program that mixes 32-bit and 64-bit typelibs fails to find a referenced typelib
- #55967 app regression; SWATH stops working at all as of 8.18
- #56001 Some shortcut keys don't work with winewayland when focus is lost and restored
- #56015 SysTray doesn't work for (and crashes) WiseReminder
- #56022 Wine 9.0-rc1 wayland: Cursor does not move on some surfaces
- #56026 Wine 9.0-rc1 Wayland: Mouse buttons 3-6 do not work
- #56033 winewayland.drv: Alt-shift to change the input language appears like Shift is pressed all the time
- #56039 winecfg does no longer run after export WINEARCH=win32
- #56046 Pegasus Mail 4.80 regression: Pointer does not change
- #56048 winedbg --auto: shows incomplete modules list
- #56053 Regression on fallout 3 in the new wow64 mode
----------------------------------------------------------------
Changes since 9.0-rc2:
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (2):
po: Update Catalan translation.
comctl32/listview: Ignore the lParam to WM_PRINTCLIENT and add tests.
Alexandre Julliard (5):
wow64: Initialize the syscall dispatcher in the 32-bit TEB.
user32: Fix string comparison for listbox inexact matches.
ntdll: Add a more explicit failure for 32-bit prefix in wow64 mode.
winecfg: Support all Windows versions also in 64-bit mode.
comctl32: Fix string comparison for listbox inexact matches.
Alistair Leslie-Hughes (1):
msdasql/tests: Add missing carriage returns.
Bernhard Übelacker (1):
winedbg: Retrieve module architecture before sorting.
Brendan McGrath (1):
server: Always release internal hardware messages.
Eric Pouech (7):
riched20: Don't crash when no OLE obj is present.
riched20: Don't write past end of buffer.
dbghelp/tests: Extend tests for module loading.
dbghelp: Fix some tests for SymLoadModule*().
winmm: Fill in pIOProc field in MMIOINFO.
dbghelp/tests: Wait for child window to be up before testing.
winedbg: Fix main module detection in 'info share' command.
Fabian Maurer (1):
wineps: Don't leak memory in error case (Coverity).
Georg Lehmann (1):
vulkan-1/tests: Enable feature in private data test.
Huw D. M. Davies (2):
dnsapi: Update the array ptr in the insufficient buffer case.
dnsapi: Free the buffer in the early return paths.
Jacek Caban (1):
win32u: Use 32-bit window extra size on wow64.
Nikolay Sivov (1):
oleaut32/typelib: Add a missing break (Coverity).
Paul Gofman (3):
ntdll: Use position independent syscall thunk for NtQueryInformationProcess on i386.
include: Fix boolean return value definition in IIterator<T> methods.
dxdiagn: Check ICreateDevEnum_CreateClassEnumerator result for S_OK.
Rémi Bernon (16):
user32/tests: Dynamically resize the keyboard layout preload list.
user32/tests: Skip some keyboard layout tests on broken VMs.
dinput/tests: Avoid calling UnloadKeyboardLayout.
user32/tests: Avoid calling UnloadKeyboardLayout.
server: Always queue mouse messages delivered to another window.
server: Ignore the capture window wrt desktop cursor changes.
imm32/tests: Fix HKL comparison when cleaning up preload list.
wined3d: Add more padding to resource memory allocations.
wined3d: Store the resource heap memory pointer separately.
server: Introduce a new get_desktop_cursor_thread_input helper.
server: Change desktop cursor only when inside the thread's windows.
dmime/tests: Check reference time and allow 0.5 tick difference.
dmime/tests: Allow small time variation in test_performance_time.
dmime/tests: Allow small time variation in test_segment_state.
dmime/tests: Add optional notification sequence on segment stop.
dmime/tests: Remove some unnecessary and spuriously failing waits.
Zebediah Figura (1):
qcap/audiorecord: Do not leak the sample when pausing or stopping.
Zhiyi Zhang (2):
user32/tests: Add more display DC tests.
win32u: Create a real bitmap object for display DCs.
1
0
The Wine development release 9.0-rc2 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc2.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 9.0-rc2 (total 33):
- #21550 Winedbg's disassembler doesn't support SSE2 instructions
- #27916 Ferro CCTV: Fails to start
- #45122 gdiplus/font test crashes under clang-5.0.1 but not gcc-7.3.0
- #45123 gdiplus/graphicspath test crashes under clang-5.0.1 but not gcc-7.3.0
- #52000 EA Desktop fails to install using French locale
- #52883 Improve support for high-level graphic settings in The Settlers: Heritage of Kings
- #53845 Regression in GetCalendarInfoEx et al
- #54115 wine client error:68: write: Bad file descriptor
- #54361 Winebus doesn't enumerate hid devices (in a --without-sdl build) unless SDL also disabled by winebus registry key
- #54402 Borland Turbo CPP 4.5 installer deadlocks on start
- #54616 Memory Access Violation in Libaes.dll, Texecom Wintex
- #54769 major regression in dnSpy startup time
- #54847 dnsapi:query - test_DnsQuery() fails on the TestBot VMs in Windows and Wine
- #54987 Waves Central does not launch
- #55179 Garmin MapSource drag & drop doesn't work in center of window
- #55561 kernel32:virtual - The 32-bit test_write_watch() fails in the new WoW mode
- #55569 mshtml:dom - The 32-bit test_attr_collection_attr() crashes on Windows 10 2004+
- #55588 mf:mf - test_scheme_resolvers() crashes on Windows 7
- #55638 mf:transform - test_h264_decoder_concat_streams() sometimes fails on Windows 7
- #55649 quartz:vmr9 - test_changed3ddevice() fails on the TestBot's w11pro64-amd & -nv VMs
- #55703 AstroArt crashes when trying to drag and drop files from one pane to another
- #55761 PLSQL Developer: Access Violation when trying to log in
- #55774 Sid Meier's Alpha Centauri: invisible mouse pointer
- #55783 Pronote 2023 can't load native msxml6
- #55809 FEMM 4.2 mesh creation won't run, running an analysis is impossible, works on wine-stable
- #55813 Hitomi Downloader fails with "[Errno 9] Bad file descriptor"
- #55833 Multiple 64bit programs crash due to pointer truncation (HeidiSQL 12.5.0.6677, Falcon BMS 4.37u3, PNGGauntlet, PLSQL Developer, ...)
- #55863 Wine fails to build on macOS with LLVM 17
- #55908 PNGGauntlet expects LocalAlloc addresses to fit into 32bit int, breaks on 64bit due to recent memory changes
- #55972 Dolphin Emulator requires GetProcessInformation (since 5.0-16711)
- #55993 PLSQL Developer: Hangs when trying to connect a database.
- #55995 Wine 9.0-rc1 Wayland cursor does not move on some surfaces
- #56006 CrystalDiskInfo: Unhandled exception crashes DiskInfo64.exe
----------------------------------------------------------------
Changes since 9.0-rc1:
Akihiro Sagawa (2):
winex11: Do window search if IDropTarget::DragOver() returns DROPEFFECT_NONE.
comctl32/tests: Store old DPI awareness context.
Alexandre Julliard (13):
server: Leave some free space between modules in ASLR mode.
kernelbase: Don't validate calendar id for GetCalendarInfo(CAL_ITWODIGITYEARMAX).
ntdll: Switch to the kernel stack before restoring the pthread TEB.
ntdll: Switch to the user stack before restoring the %fs register.
ntdll: Only free reserved memory for DYNAMIC_BASE binaries.
krnl386: Don't release the Win16 lock when exiting a task.
server: Enforce a mapping size limit instead of relying on the Unix file system.
kernel32/tests: Don't bother checking for errors in cleanup path.
user32: Support utf-8 in WM_CHAR W->A conversion.
oleaut32/tests: Use winetest contexts instead of traces in the typelib test.
Revert "oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.".
oleaut32: Fix loading a 64-bit typelib in 32-bit mode.
oleaut32/tests: Run the 64-bit typelib tests also on 32-bit platforms.
Alexandros Frantzis (5):
winewayland.drv: Avoid deadlock when determining whether a window is managed.
winewayland.drv: Avoid transient deactivation of foreground thread.
winewayland.drv: Consider implicit fullscreen clip for pointer locking.
winewayland.drv: Release all keys on keyboard focus loss.
winewayland.drv: Support mouse buttons 4 and 5.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (1):
po: Update Polish translation.
Bernhard Übelacker (1):
uxtheme: Add stub for IsDarkModeAllowedForWindow.
Biswapriyo Nath (1):
include: Add SampleGrabber coclass definition in qedit.idl.
Eric Pouech (4):
winedump: Don't fail on extra stream entry in PDB.
dbghelp: Allow an extra stream index entry in PDB files.
winedump: Skip deleted vector in hash inside PDB header.
dbghelp: Skip deleted vector in hash inside PDB header.
Fabian Maurer (1):
gdiplus: Prevent uninitializd memory access (Coverity).
Floris Renaud (1):
po: Update Dutch translation.
Hans Lehnert (1):
gdiplus: Fix invalid pointer returned when failing to create font.
Hans Leidekker (2):
dnsapi/tests: Don't test extra records returned for CNAME query.
kernel32/tests: Fix ProcessMachineTypeInfo tests.
Jacek Caban (3):
dwrite: Explicitly cast DWRITE_FONT_STRETCH to float in init_font_prop_vec.
configure: Enable -Wenum-conversion warnings.
ntdll: Declare seh debug channel in signal_arm64ec.c.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Rémi Bernon (6):
winebus: Return backend init status from bus_main_thread_start.
mf/tests: Workaround broken Win7 test_h264_decoder_concat_streams result.
explorer: Handle WM_CLOSE for docked icons for when they lose embedding.
server: Peek wine internal driver messages regardless of filter.
server: Update the desktop cursor position / window on click.
server: Use the capture window as cursor window if it is set.
Sven Baars (2):
sapi/tests: Remove registry keys created by SetId().
sapi/tests: Remove registry keys created by SetId() in the SpVoice tests.
1
0
The Wine development release 9.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 9.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 9.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.10.
- Support for DH encryption keys with a recent GnuTLS.
- Keyboard layouts support in the Wayland driver.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/9.0/wine-9.0-rc1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 9.0-rc1 (total 42):
- #13340 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because IMultiLanguage2_GetCharsetInfo doesn't like "ISO8859-1"
- #34537 Athena's Charm Table search 0.35b wants msvcm90.dll.?ThrowModuleLoadException@<CrtImplementationDetails>@@YAXP$AAVString(a)System@@P$AAVException(a)3@@Z
- #47699 Multiple applications need support for ECDH key generation via bcrypt (For Honor, STEEP, Far Cry 5)
- #48972 Bugs found by static analyzers
- #49527 Printing with font Chilanka crashes Notepad and Word
- #49543 Several games require bcrypt DH support
- #53175 Roon fails to start
- #54037 user32:msg - test_SendMessage_other_thread() sometimes gets a todo success (GitLab CI)
- #54731 vbscript: stack_pop_bool doesn't support floats or ole color
- #54999 Process Explorer from Sysinternals shows a blank window
- #55045 NFS Most Wanted has missing graphics with WineD3D in WoW64 mode
- #55052 vbscript: For loop where right bound is string coercion issue
- #55054 WineServer crash. (complete_async_poll: Assertion `output->count == signaled_count' failed)
- #55065 user32:monitor - check_preferred_mode() fails on the TestBot's debiant VM
- #55075 Araxis Merge 2023.5877 needs api-ms-win-core-com-l2-1-1.dll
- #55115 widl crashes with dlls/sti after adding wia_lh.idl
- #55185 vbscript round does not handle numdecimalplaces argument
- #55210 Hatching printed with wrong stripes direction in Framemaker 8
- #55502 vbscript: Sub argument name clash with global const
- #55536 Aldec Active-HDL student edition: crashes when trying to open a file on unimplemented function SHELL32.dll.SHSetTemporaryPropertyForItem
- #55591 Castlevania: Lords of Shadow 2 has rendering glitches
- #55671 Internet Download Manager needs unimplemented function shcore.dll.RegisterScaleChangeEvent
- #55807 uiautomationcore:uiautomation - test_uia_com_event_handler_event_advisement() fails on Windows 10 1709
- #55812 Air Jura crashes
- #55843 Virtual Desktop spams "Failed to read display config."
- #55851 SpeedCommander needs shell32.SHCreateItemWithParent()
- #55852 can't print, even from notepad to pdf
- #55867 Roon 2.0.23 crashes due to unimplemented function shcore.dll.CreateRandomAccessStreamOverStream
- #55890 Eurobattle installer fails to run
- #55892 .NET 8 Windows Forms crashes due to missing DPI functions in user32
- #55899 Daily Chthonicle - performance regression
- #55920 ModOrganizer crashes: Call to unimplemented function USER32.dll.SetDisplayAutoRotationPreferences
- #55927 RestoreDC appears to fail with printers
- #55931 VarMod(Empty, N) returns uninitialized result
- #55935 wine-8.21 build fails in Ubuntu x86_64
- #55950 An attempt to print from 'wine iexplore' leads to a crash
- #55959 _mbsicoll generates exceptions, in Simplified Chinese language linux systems
- #55963 Acid-V VST plugin crashes when removed from a track
- #55966 Crimson Skies freeze in menu
- #55968 MIDITrail 1.4.0 shows an error on start (DWMWA_EXTENDED_FRAME_BOUNDS isn't implemented)
- #55969 vbscript fails to return TypeName for Nothing
- #55973 Printing from iexplore results the images being printed as black rectangles
----------------------------------------------------------------
Changes since 8.21:
Aida Jonikienė (3):
wined3d: Add extra debug info to shader_set_limits().
comctl32: Only print TREEVIEW_HandleTimer() ERR once.
dsdmo: Only print effect_inplace_Process() FIXME once.
Akihiro Sagawa (1):
dwmapi: Implement DwmGetWindowAttribute(DWMWA_EXTENDED_FRAME_BOUNDS).
Alex Henrie (16):
comdlg32/tests: Use CRT allocation functions.
d3dx9_36/tests: Use CRT allocation functions.
cabarc: Use CRT allocation functions.
uxtheme: Annotate UXINI_LoadINI with __WINE_DEALLOC.
uxtheme: Use CRT allocation functions.
d3drm: Suppress a use-after-free warning in d3drm_image_palettise (GCC).
uxtheme/tests: Add some tests for OpenThemeFile.
gdiplus: Use CRT allocation functions.
d3dx9: Use CRT allocation functions.
ole32/tests: Free what get_stgdef returns in test_OleCreateStaticFromData.
ole32/tests: Use CRT allocation functions.
mscoree: Use CRT allocation functions.
mscoree: Annotate WtoA with __WINE_(DEALLOC|MALLOC).
user32: Correct capitalization of SetDeskWallpaper.
user.exe: Rename SetDeskWallPaper to SetDeskWallpaper.
explorer: Add an "Exit desktop" button to the Start menu.
Alexandre Julliard (61):
ntdll: Store the syscall table in the TEB on x86-64.
ntdll: Store the syscall table in the TEB on ARM64.
ntdll: Still use LdrGetProcedureAddress for CtrlRoutine.
winealsa.drv: Remove DECLSPEC_HIDDEN usage.
winecoreaudio.drv: Remove DECLSPEC_HIDDEN usage.
wineoss.drv: Remove DECLSPEC_HIDDEN usage.
gphoto2.ds: Remove DECLSPEC_HIDDEN usage.
sane.ds: Remove DECLSPEC_HIDDEN usage.
dwrite: Remove DECLSPEC_HIDDEN usage.
mscoree: Remove DECLSPEC_HIDDEN usage.
opencl: Remove DECLSPEC_HIDDEN usage.
wined3d: Remove DECLSPEC_HIDDEN usage.
winegstreamer: Remove DECLSPEC_HIDDEN usage.
wineboot: Remove a noisy FIXME.
wineandroid.drv: Remove DECLSPEC_HIDDEN usage.
winemac.drv: Remove DECLSPEC_HIDDEN usage.
winewayland.drv: Remove DECLSPEC_HIDDEN usage.
winex11.drv: Remove DECLSPEC_HIDDEN usage.
include: Remove DECLSPEC_HIDDEN definition.
include: Make strict prototypes the default.
ntdll: Call Wow64PrepareForException directly from KiUserExceptionDispatcher.
ntdll: Allow unwind rules to override the default stack pointer assignment.
ntdll/tests: Simplify the KiUserExceptionDispatcher tests a little.
ntdll: Add a machine frame to the KiUserExceptionDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserApcDispatcher stack on x86-64.
ntdll: Add a machine frame to the KiUserCallbackDispatcher stack on x86-64.
ntdll: Fix stack layout and unwind information for KiUserExceptionDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserApcDispatcher on ARM64.
ntdll: Fix stack layout and unwind information for KiUserCallbackDispatcher on ARM64.
ntdll: Skip NtRaiseException() call on ARM64 when debugger is not present.
ntdll: Fix stack layout for KiUserExceptionDispatcher on i386.
ntdll: Fix stack layout for KiUserApcDispatcher on i386.
ntdll: Fix stack layout for KiUserCallbackDispatcher on i386.
ntdll/tests: Remove some noisy traces.
ntdll/tests: Fix some compiler warnings on ARM.
ntdll: Implement context and machine frame unwind operations on ARM.
ntdll: Fix stack layout for KiUserExceptionDispatcher on ARM.
ntdll: Fix stack layout for KiUserApcDispatcher on ARM.
ntdll: Fix stack layout for KiUserCallbackDispatcher on ARM.
ntdll: Skip NtRaiseException() call on ARM when debugger is not present.
winedump: Add dumping of UWOP_EPILOG entries.
winedump: Add a couple of ARM unwind codes.
faudio: Import upstream release 23.12.
configure: Require SEH support for PE builds.
ntdll: Fix breakpoint exceptions on ARM.
ntdll: Use .seh handler in RtlUserThreadStart on ARM.
winedump: Also dump ARM64 exception information for ARM64EC binaries.
ntdll: Add a helper to build a path and exec it.
ntdll: Use posix_spawn() to start the server.
ntdll: Export KeAddSystemServiceTable() instead of the KeServiceDescriptorTable variable.
vkd3d: Import upstream release 1.10.
winex11: Use UINT instead of BOOL to avoid warnings for one-bit variables.
ntdll: Implement KiUserCallbackDispatcher for ARM64EC.
ntdll: Implement KiUserApcDispatcher for ARM64EC.
kernelbase: Implement DebugBreak() for ARM64EC.
kernelbase: Implement SwitchToFiber on ARM64EC.
msvcrt: Add a stub ARM64EC CPU backend.
configure: Disable building programs for ARM64EC.
windowscodecs: Don't free memory at process exit.
winepulse.drv: Don't free memory at process exit.
ntdll: Only free reserved memory for HIGH_ENTROPY_VA binaries.
Alexandros Frantzis (12):
winewayland.drv: Implement vkQueuePresentKHR.
winewayland.drv: Detect and report vkQueuePresentKHR errors.
winewayland.drv: Ensure Vulkan parent surface is mapped with proper size.
winewayland.drv: Apply client subsurface position on creation.
winewayland.drv: Implement vkGetDeviceGroupSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDevicePresentRectanglesKHR.
winewayland.drv: Handle window foreground state on keyboard focus.
winewayland.drv: Remove duplicate handling of wp_viewporter global.
winewayland.drv: Implement ClipCursor.
winewayland.drv: Implement relative mouse motion.
winewayland.drv: Lock the pointer if confined without cursor.
winewayland.drv: Apply surface configuration during Vulkan presentation.
Alfred Agrell (11):
quartz/tests: Improve VMR9 ChangeD3DDevice test.
winegstreamer: Add codec_data to WMVs.
winegstreamer: Fill in a few more pieces of WMV format handling.
winegstreamer: Move file size to struct wm_reader.
winegstreamer: Introduce mutex for wm_reader read_thread_shutdown.
winegstreamer: Leave pts/duration unchanged if they're not set.
winegstreamer: Implement compressed output support in WMSyncReader.
wmvcore/tests: Add tests for compressed output.
winegstreamer: Don't use VIDEOINFO for non-RGB data.
winegstreamer: Fix a memory leak in stream_props_GetMediaType.
winegstreamer: Delete duplicate WMT_ON check.
Anton Baskanov (7):
winegstreamer: Wake all streaming threads after seeking.
amstream/tests: Test IEnumPins with two streams.
amstream: Use correct index in MediaStreamFilter's IEnumPins::Next().
amstream/tests: Add quality control tests.
amstream: Send quality control messages from AMDirectDrawStream::Receive.
quartz/tests: Add quality control tests for CMpegVideoCodec.
winegstreamer: Handle quality control messages in CMpegVideoCodec.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus/graphicspath: Avoid computation overflow and underflow by using hypotf.
gdiplus/font: Avoid computation overflow and underflow by using hypotf.
Bernhard Übelacker (1):
mlang: Allow encoding name "ISO8859-1".
Billy Laws (1):
kernel32: Export RtlIsEcCode().
Biswapriyo Nath (1):
include: Update d3d12sdklayers.idl from vkd3d.
Brendan McGrath (11):
d2d1: Add test for multithreaded draw.
d2d1: Add test for singlethreaded draw.
d2d1: Acquire lock before attempt to draw to device context.
user32/tests: Add tests for word breaks before punctuation.
user32: Wrap at whitespace rather than soft break.
comctl32/tests: Add test for setitemsize return value.
comctl32: Fix TAB_SetItemSize.
comctl32: Use selected font to determine default min tab width.
comctl32/tests: Fix tabcontrol tests to work with different fonts.
comctl32/tests: Check size initially and after changing padding only.
comctl32/tests: Modify test_width to try different fonts.
Brendan Shanks (3):
ntdll: Fix macOS build error with LLVM 17.
winemac: Use RTL_CONSTANT_STRING.
winecoreaudio: Use UID as device string.
Daniel Lehman (5):
msxml3: Handle null prefix in get_item.
msxml3: Handle default namespace in get_baseName.
msxml3: Handle default namespace in get_nodeName.
msxml3: Handle default namespace in get_prefix.
msxml3: Handle default namespace in get_namespaceURI.
Eric Pouech (16):
dmime: Add Release() on some codepaths.
msiexec: No longer use console/file output APIs.
winecfg: Output with MESSAGE.
uninstall: No longer use console/file output APIs.
ntdll: Return NULL in RtlFindExportedRoutine for forwarded entries.
kernel32/tests: Introduce a new infrastructure for testing CreateProcess().
kernel32/tests: Enable CreateProcess() tests on 64bit compilation.
kernel32/tests: Add more tests about CreateProcess.
ntdll: Restrict cases for std handle inheritance in CreateProcess().
kernelbase: Reset std handles gotten from GetStartupInfo().
kernel32/tests: Identify untouched fields returned from GetStartupInfo.
kernel32/tests: Add tests for GetStartupInfo(A|W).
kernelbase: No longer cache GetStartupInfoW() results.
kernelbase: GetStartupInfoW: set std handle only when USESTDHANDLES is set.
ntdll: Don't inherit std console handles for non CUI child process.
ntdll: Don't create Unix console for GUI apps.
Esme Povirk (2):
user32/tests: Add a simpler test for SetParent's internal message.
user32/tests: Remove test_SendMessage_other_thread(2).
Etaash Mathamsetty (1):
cfgmgr32: Add CM_Register_Notification stub.
Fabian Maurer (19):
user32: Add stub for GetThreadDpiHostingBehavior.
user32: Fix spec entry for SetThreadDpiHostingBehavior.
widl: Prevent infinite loop when structure contains array of itself.
widl: In type_has_full_pointer recurse for pointer types as well.
server: Initialize pe image struct padding to avoid Valgrind warning.
coml2: Add dll and move code from ole32/memlockbytes.c.
coml2: Move GetConvertStg from ole32.
coml2: Move ReadClassStm from ole32.
coml2: Move ReadClassStg from ole32.
coml2: Move WriteClassStm from ole32.
coml2: Move WriteClassStg from ole32.
server: Check socket flags after all sockets got processed.
apisetschema: Add api-ms-win-core-com-l2-1-1.
coml2: Move StgIsStorageILockBytes from ole32.
coml2: Move StgIsStorageFile from ole32.
coml2: Move FmtIdToPropStgName from ole32.
coml2: Move PropStgNameToFmtId from ole32.
coml2: Move StgCreatePropSetStg from ole32.
net: Accept yes/no switches.
Gabriel Ivăncescu (21):
mshtml/tests: Improve the iframe navigation test.
mshtml: Remove the inner window ref from the doc only when it is actually unlinked.
mshtml: Don't rely on the outer_window in document.mimeType.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Use inner window's outer_window in IHTMLDocument2::readyState.
mshtml: Return failure in IHTMLDocument2::frames for detached documents.
mshtml: Return failure in IHTMLDocument2::domain for detached documents.
mshtml: Return failure in IHTMLDocument2::cookie for detached documents.
mshtml: Return failure in IHTMLDocument2::open() for detached documents.
mshtml: Return failure in IHTMLDocument2::documentElement for detached documents.
mshtml: Return failure when setting IHTMLDocument2::location for detached documents.
mshtml: Skip navigation handling on anchor/area elements for detached documents.
mshtml: Use inner window's outer_window when checking if it's interactive for edit mode.
mshtml: Get rid of outer_window member in HTMLDocumentNode.
mshtml: Expose the other IHTMLEventObj* interfaces.
mshtml: Don't expose "restricted" members.
mshtml: Send proper legacy storage event with actual url.
mshtml: Implement `url` prop for StorageEvent objs.
mshtml/tests: Fix VariantClear on uninitialized variable.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.272.
Hans Leidekker (7):
bcrypt: Implement BCryptSecretAgreement() and BCryptDestroySecret().
bcrypt: Implement BCryptDeriveKey().
bcrypt: Add support for generating DH keys.
bcrypt: Add support for exporting DH keys.
bcrypt: Add support for importing DH keys.
bcrypt: Add support for duplicating DH keys.
bcrypt/tests: Add DH tests.
Haoyang Chen (2):
rpcrt4: Support for explicit handle passing.
rpcrt4/tests: Test explicit_handle.
Henri Verbeet (2):
dxgi/tests: Release the swapchain after waiting for the window thread to finish in test_resize_target_wndproc().
dxgi: Avoid redundantly setting the present info wait semaphore fields in d3d12_swapchain_queue_present().
Jacek Caban (11):
configure: Fix action-if-no handling in WINE_TRY_PE_CFLAGS macro.
configure: Use --no-default-config option on clang when available.
winegcc: Support --no-default-config argument.
configure: Don't use empty expression in clang check.
gitlab: Add clang build.
mshtml/tests: Add detached documents handling tests.
mshtml: Return failure in IHTMLDocument2::get_URL for detached documents.
mshtml: Return failure in IHTMLDocument2::put_URL for detached documents.
win32u: Provide extra space in buffers used to dispatch string getter messages.
user32: Remove unused argument for unpack_message.
ntdll: Remove unused valgrind_make_readable function.
Jactry Zeng (3):
ntdll: Use different variable names for Mac locales.
ntdll: Initialize locale from Mac language identifiers with script name.
ntdll: Try harder to fallback to neutral locales.
Jon Doron (1):
win32u: Add registry data for GPU memory size.
Louis Lenders (3):
shell32: Add stub for SHCreateItemWithParent.
shell32: Add stub for SHSetTemporaryPropertyForItem.
shcore: Add stub for CreateRandomAccessStreamOverStream.
Marc-Aurel Zent (1):
server: Add cross-platform get_path_from_fd function.
Matteo Bruni (6):
tools: Print the correct option in error messages.
d3dx9: Check for successful sprite draw in DrawTextW().
wined3d: Do a blocking wait for CS commands even when there are active queries.
wined3d: Increase WINED3D_CS_QUERY_POLL_INTERVAL to 100.
wined3d: Add a frametime debug channel.
wined3d: Add a bunch of d3d_perf traces.
Myah Caron (1):
user32: Add SetDisplayAutoRotationPreferences stub.
Nikolay Sivov (21):
oleaut32: Fully initialize VarMod() return value for Empty % x case.
oleaut32: Always reset return type for VarMod().
d3dx9/tests: Fix a crash when d3d9 object can't be created.
gdi32/emf: Add a helper to pad variable length record data.
gdi32/emf: Use padding helper in GdiComment().
gdi32/emf: Check for allocation failure in GdiComment().
gdi32/emf: Add description field padding.
gdi32/emf: Align and pad bitmap data in EMRSTRETCHDIBITS records.
gdi32/emf: Align and pad bitmap data in EMRSETDIBITSTODEVICE records.
gdi32/emf: Use public definition for EMREXTESCAPE record.
wineps: Use public definition for EMREXTESCAPE record.
gdi32/emf: Pad EMREXTESCAPE record data.
vbscript: Implement TypeName(Nothing).
vbscript: Coerce to VT_BOOL when evaluating jump conditions.
oleaut32/tests: Remove some of the function availability checks.
oleaut32/tests: Use wide string literals in some tests.
oleaut32/tests: Use existing helpers to trace variant values.
oleaut32/tests: Do not use VarCmp() to check results of other functions.
include: Add missing enum to wdm.h.
ntdll: Use public type for SystemSupportedProcessorArchitectures returned data.
kernel32: Implement GetProcessInformation(ProcessMachineTypeInfo).
Paul Gofman (3):
ntdll: Implement NtQueryInformationThread(ThreadIsTerminated).
setupapi: Add stubs for SetupDiGetCustomDeviceProperty{A|W}().
winhttp: Handle chunked requests.
Piotr Caban (14):
winedump: Fix EMR_EXTTEXTOUTW record dumping when ETO_PDY flag is specified.
msvcrt: Fix string size passed to CompareString in _mbsnbcoll_l.
wineps.drv: Return error when visible rectangle is empty in get_vis_rectangles.
wineps.drv: Fix EMR_SAVEDC record playback.
msvcrt: Initialize writable environment block in env_set.
gdi32: Add ETO_PDY flag support in EMFDC_ExtTextOut.
wineps.drv: Fix printing images from iexplore.
wineps.drv: Add paper source selection support in printer properties.
msvcrt: Accept <> characters in string literals in demangler.
msvcrt: Add partial support for managed handle demangling.
wineps: Don't write image content upside-down in PSDRV_WriteDIBPatternDict.
wineps: Fix handling of patterns that are not 8x8 in PSDRV_WriteDIBPatternDict.
wineps: Fix color handling in PSDRV_WriteDIBPatternDict.
winedump: Sync demangling code with msvcrt.
Robert Wilhelm (4):
oleaut32: Fix VarR8Round for negative numbers.
vbscript: Sub argument has precedence over global const and local dim.
vbscript: Handle numdecimalplaces argument in Round().
vbscript: For for loop bounds coerce string to real.
Rémi Bernon (52):
gitlab: Add windows tests to MR pipeline.
gitlab: Only run the modifieds tests on Windows for an MR.
win32u: Initialize sysparams before winstation.
win32u: Remove unnecessary config_key lazy initializations.
explorer: Remove unnecessary displayed icon array.
explorer: Split systray add/remove from show/hide_icon.
explorer: Create individual windows for the systray icons.
explorer: Display the individual systray icon windows.
explorer: Use the icon windows for their tooltips.
explorer: Position the balloons relative to the icon windows.
explorer: Handle balloon timer in the icons window proc.
explorer: Use an explicit display constant for hidden icons.
explorer: Support standalone systray window mode.
explorer: Cache the balloon window position.
wineboot: Compute and write the TSC frequency to registry ~Mhz.
dinput/tests: Use exotic axes ordering for winmm tests.
winevulkan: Use a local instance variable instead of phys_dev->instance.
winevulkan: Search for debug report callback from the start of the chain.
winevulkan: Drop the WINEVULKAN_QUIRK_IGNORE_EXPLICIT_LAYERS quirk.
winevulkan: Fix python linter warnings.
winewayland.drv: Handle and parse Xkb keymap events.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
win32u: Introduce KbdLayerDescriptor user driver entry.
win32u: Avoid accessing NULL key name string pointer.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Allow KBDTABLES conversion from CTRL + ALT to WCHAR.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
winewayland.drv: Add scan2vk tables for azerty, qwertz and dvorak.
win32u: Support SGCAPS attributes in KBDTABLES.
winewayland.drv: Implement CAPLOK and SGCAPS in KBDTABLES.
explorer: Always set the systray icon tooltip text.
explorer: Hide the standalone systray window on close.
win32u: Introduce a new NtUserSystemTrayCall message call.
winemac: Use the new NotifyIcon user driver interface.
win32u: Introduce new SystrayDock driver entry points.
explorer: Use layered windows for the docked systray icons.
winex11: Use the new SystrayDock driver interface.
explorer: Remove now unnecessary wine_notify_icon support.
winevulkan: Use "host" more consistently instead of "native".
winex11: Use "host" instead of "native" in vulkan wrappers.
winemac: Use "host" instead of "native" in vulkan wrappers.
winewayland: Use "host" intead of "native" in vulkan wrappers.
winevulkan: Omit defaults in make_vulkan FUNCTION_OVERRIDES.
winevulkan: Remove unnecessary dispatch from make_vulkan.
ntdll: Set main_(argc|argv|envp) as early as possible.
winevulkan: Replace "loader_thunk" with dedicated dictionaries.
winevulkan: Use a dictionary in make_vulkan for manual unix thunks.
winevulkan: Use a dictionary for user driver entry points.
winevulkan: Remove redundant make_vulkan needs_unwrapping method.
winevulkan: Introduce a new convert_suffix make_vulkan helper.
winevulkan: Use an enumeration for make_vulkan unwrapping kinds.
winevulkan: Unwrap to driver or host depending on the function.
Torge Matthies (3):
winex11.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
winemac.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
wineandroid.drv: Set PFD_SUPPORT_COMPOSITION for hardware-accelerated pixel formats.
Vijay Kiran Kamuju (6):
gdiplus: Add GdipDrawImageFX stub.
dsdmo: Add Distortion effect stub.
dsdmo: Add Gargle effect stub.
msvcm80: Add stub for ThrowModuleLoadException(String) function.
msvcm80: Add stub for ThrowModuleLoadException(String, Exception) function.
msvcm80: Add stub for ThrowNestedLoadModuleException function.
Yuxuan Shui (1):
dsound: Set position past the end of the buffer is invalid.
Zebediah Figura (33):
ntdll: Check for some more IP socket options at compile time.
ws2_32: Check for AI_ALL at compile time.
ntdll: Print a warning when LdrGetProcedureAddress() fails.
winmm: Reimplement joystick axis mapping.
ntdll: Allow specifying per-process channels.
winegstreamer: Allow videoconvert to parallelize in the parser.
wined3d: Explicitly bind 0 for a NULL SRV.
wined3d: Release the view's resource after destroying the view.
wined3d: Introduce an API for creating an identity SRV on a texture.
d3d9: Use wined3d_texture_acquire_identity_srv().
wined3d: Set d3d 1-9 textures in the state as SRVs.
wined3d: Remove an outdated comment.
wined3d: Use context->stream_info.position_transformed instead of context->last_was_rhw in state handlers.
wined3d: Check WINED3D_TEXTURE_POW2_MAT_IDENT instead of context->lastWasPow2Texture.
wined3d: Retrieve the FFP projection control flag from the d3d info in get_texture_matrix().
wined3d: Fix masking out the texcoord index in get_texture_matrix().
d3d9/tests: Add another test for drawing from a mapped buffer.
d3d9: Upload mapped dynamic vertex and index buffers before every draw.
d3d10core/tests: Mark a test as no longer todo.
d3d11core/tests: Mark a test as no longer todo.
quartz: Return the rect from get_default_rect() through a pointer.
quartz: Do not forward IVMRFilterConfig::SetRenderingMode() to IVMRFilterConfig9.
quartz: Improve the IVMRFilterConfig::SetNumberOfStreams() stub.
quartz: Do not forward IVMRWindowlessControl::SetVideoClippingWindow() to IVMRWindowlessControl9.
quartz: Split the VMR into two separate filters.
quartz: Specify the mode as a VMRMode.
configure: Use -mpreferred-stack-boundary=2 on i386.
quartz: Stub CLSID_AllocPresenter.
quartz: Stub IVMRSurfaceAllocator on the VMR7 presenter.
quartz: Stub IVMRWindowlessControl on the VMR7 presenter.
quartz: Implement sample allocation in the VMR7 presenter.
wined3d: Use thread-ID alerts instead of events, if available, to wait for CS packets.
wined3d: Sleep when waiting for the CS thread.
Zhiyi Zhang (16):
dplayx: Fix a memory leak (Coverity).
oledb32: Fix a memory leak (Coverity).
ntdll: Fix an out-of-bounds write (Coverity).
ntdll: Fix a memory leak (Coverity).
wined3d: Fix a use after free (Coverity).
ntdll: Fix an out-of-bounds read (Coverity).
wbemprox: Fix a memory leak (Coverity).
win32u: Find the correct DIB driver in windrv_CreateDC().
mciwave: Use matching memory allocator (Coverity).
tasklist: Fix a possible buffer overrun (Coverity).
wininet: Fix a use-after-free (Coverity).
shell32: Fix a memory leak (Coverity).
ntdll: Fix a memory leak (Coverity).
gdiplus: Fix a memory leak (Coverity).
winegstreamer: Fix a memory leak (Coverity).
winegstreamer: Fix wg_transform_get_status() result check (Coverity).
Ziqing Hui (4):
winegstreamer: Avoid media sink command leaking.
winestreamer: Implement {Begin,End}Finalize for media sink.
winegstreamer: Implement wg_muxer_finalize.
winegstreamer: Set streamheader field for h264 caps.
1
0
The Wine team is proud to announce that release 1.10 of vkd3d, the Direct3D to
Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- libvkd3d exposes various newer Direct3D 12 interfaces.
- The HLSL compiler supports dynamic indexing of arrays.
- libvkd3d-utils implements various helper functions for manipulating DXBC
blobs.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.10.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.10
### libvkd3d
- Creating pipeline state objects from pipeline state stream descriptions is
implemented.
- Depth-bounds testing is implemented.
- When the VK\_KHR\_maintenance2 extension is available, libvkd3d will
explicitly specify the usage flags of Vulkan image views. This is
particularly useful on MoltenVK, where 2D-array views of 3D textures are
subject to usage restrictions.
- The D3D12\_FORMAT\_SUPPORT2\_UAV\_TYPED\_LOAD and/or
D3D12\_FORMAT\_SUPPORT2\_UAV\_TYPED\_STORE feature flags are reported for
UAV formats when the ‘shaderStorageImageReadWithoutFormat’ and/or
‘shaderStorageImageWriteWithoutFormat’ Vulkan device features are
supported.
- The ID3D12Device5 interface is supported.
- The ID3D12GraphicsCommandList5 interface is supported.
- The ID3D12Resource1 interface is supported.
### libvkd3d-shader
- New features for the HLSL source type:
- Support for the following intrinsic functions:
- ceil()
- degrees() and radians()
- fwidth()
- tan()
- tex2Dlod(), tex2Dproj(), texCUBEproj(), and tex3Dproj()
- Constant folding support for more expression types. In particular:
- ternary operators and branches
- reciprocal square roots
- exponentials
- logical ‘not’ on booleans
- bitwise complements
- left/right shifts
- ceil(), floor(), frac(), and saturate()
- Support for dynamic indexing of arrays.
- Support for ‘break’ and ‘continue’ statements.
- Support for ‘switch’ statements.
- The ‘linear’, ‘centroid’, and ‘noperspective’ interpolation modifiers
are supported.
- The ‘RWTexture1DArray’ and ‘RWTexture2DArray’ unordered access view
types are supported.
- ‘\[loop\]’ attributes are accepted on loops.
- u/U and l/L suffixes on integer constants.
- Floating-point values are explicitly clamped to the upper and lower bounds
of the target type by ‘ftoi’ and ‘ftou’ instructions when targeting
SPIR-V. Similarly, NaNs are flushed to zero. Some hardware/drivers would
already do this implicitly, but behaviour for such inputs is undefined as
far as SPIR-V is concerned.
- The VKD3D\_SHADER\_CONFIG environment variable can be used to modify the
behaviour of libvkd3d-shader at run-time, analogous to the existing
VKD3D\_CONFIG environment variable for libvkd3d. See the README for a list
of supported options.
- When scanning legacy Direct3D bytecode using vkd3d\_shader\_scan(),
descriptor information for shader model 2 and 3 combined resource-sampler
pairs is returned in the vkd3d\_shader\_scan\_descriptor\_info structure.
Note that this information is not yet available for shader model 1
sources, although this will likely be added in a future release.
- The Direct3D shader assembly target supports the ‘rasteriser ordered view’
flag (‘\_rov’) on unordered access view declarations.
- New interfaces:
- The VKD3D\_SHADER\_COMPILE\_OPTION\_BACKWARD\_COMPATIBILITY compile
option can be used to specify backward compatibility options. The
VKD3D\_SHADER\_COMPILE\_OPTION\_BACKCOMPAT\_MAP\_SEMANTIC\_NAMES flag is
the only currently supported flag, and can be used to specify that
shader model 1-3 semantic names should be mapped to their shader model
4+ system value equivalents when compiling HLSL sources.
- The VKD3D\_SHADER\_COMPILE\_OPTION\_FRAGMENT\_COORDINATE\_ORIGIN compile
option can be used to specify the origin of fragment coordinates for
SPIR-V targets. This is especially useful in OpenGL environments, where
the origin may be different than in Direct3D or Vulkan environments.
- The vkd3d\_shader\_scan\_combined\_resource\_sampler\_info structure
extends the vkd3d\_shader\_compile\_info structure, and can be used to
retrieve information about the combined resource-sampler pairs used by a
shader. This is especially useful when compiling shaders for usage in
environments without separate binding points for samplers and resources,
like OpenGL.
- vkd3d\_shader\_free\_scan\_combined\_resource\_sampler\_info() is used
to free vkd3d\_shader\_scan\_combined\_resource\_sampler\_info
structures.
### libvkd3d-utils
- Passing the D3DCOMPILE\_ENABLE\_BACKWARDS\_COMPATIBILITY flag to
D3DCompile() and D3DCompile2() will enable mapping shader model 1-3
semantic names to their shader model 4+ system value equivalents.
- New interfaces:
- D3DGetBlobPart() is used to retrieve specific parts of DXBC blobs.
- D3DGetDebugInfo() is used to retrieve debug information from DXBC blobs.
- D3DGetInputAndOutputSignatureBlob() is used to retrieve input and output
signatures from DXBC blobs.
- D3DGetInputSignatureBlob() is used to retrieve input signatures from
DXBC blobs.
- D3DGetOutputSignatureBlob() is used to retrieve output signatures from
DXBC blobs.
- D3DStripShader() is used to remove specific parts from DXBC blobs.
### vkd3d-compiler
- The ‘--fragment-coordinate-origin’ option can be used to specify the
origin of fragment coordinates for SPIR-V targets.
- The ‘--semantic-compat-map’ option can be used to specify that shader
model 1-3 semantic names should be mapped to their shader model 4+ system
value equivalents when compiling HLSL sources.
### vkd3d-dxbc
- The ‘--list’ and ‘--list-data’ options now also output the offsets of
sections inside the input data.
### build
- The minimum required version of Vulkan-Headers for this release is version
1.2.148.
- When available, the libEGL and libOpenGL libraries are used to run the
vkd3d tests in additional configurations. These libraries are not used by
vkd3d itself.
- The SONAME\_LIBDXCOMPILER configure variable can be used specify the
shared object name of the dxcompiler library. When available, it's used to
run the vkd3d tests in additional configurations. The dxcompiler library
is not used by vkd3d itself.
1
0
The Wine development release 8.21 is now available.
What's new in this release:
- High-DPI scaling and initial Vulkan support in the Wayland driver.
- Beginnings of support for ARM64EC target.
- Updates to the locale database.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.21.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 8.21 (total 29):
- #9127 Multiple applications require system stream support in the MPEG-I splitter (Drome Racers, Ninki Seiyuu no Tsukukurikata)
- #22596 PhotoScape unable to change/save files
- #34197 RootMagic 6 error on launch (Invalid operation GDI+ (Code 1))
- #36739 PreSonus Studio One 2.6 user interface/controls text is invisible
- #47609 Multiple apps crash on unimplemented function msvcp140.dll.??0?$codecvt(a)_UDU_Mbstatet@@@std@@QEAA(a)_K@Z (Godhood, WechatOCR)
- #52963 d3d10core:d3d10core & d3d11:d3d11 - test_resinfo_instruction() fails on Debian 11 + Intel GPU
- #53287 MxManagementCenter crashes on unimplemented function msvcp140.dll.??0?$codecvt(a)_SDU_Mbstatet@@@std@@QEAA(a)_K@Z when adding a camera
- #54554 kernel32:file & ntdll:file get unexpected count values on Windows 11
- #54839 3DMark 2000: missing benchmark information
- #54962 GDI+ text rendering does not handle carriage returns
- #55058 dbghelp:dbghelp - SymRefreshModuleList() sometimes returns 0 in 64-bit Wine
- #55165 Age of Empires II Definitive Edition quits on startup, due to WinVerifyTrust() failing on game binaries.
- #55215 user32:text - test_DrawTextCalcRect() crashes on Windows
- #55403 Office 2021 needs Windows.Management.Deployment.PackageManager
- #55437 Death Stranding: "Start" and "Back" buttons are reversed
- #55504 .NET 7 not working
- #55640 ModOrganizer 2.5.0 beta 5+ (Qt 6.5) requires a better uisettings3::GetColorValue implementation
- #55660 HID with more than 8 axis overwrites inputs after it
- #55709 Flutter apps that use the local_auth package need Windows.Security.Credentials.UI.UserConsentVerifier
- #55770 Port Royale 2: flickering in the menus and during gameplay
- #55788 Wayland driver: GNOME: no cursor over Wine windows when 2 monitors connected
- #55795 .NET 8 SDK Installer does not finish setup
- #55847 SetThreadDpiHostingBehavior not implemented
- #55886 No more audio (FreeBSD and OSS) since Wine 8.15
- #55888 Quicken stopped working after upgrading to wine 8.20
- #55898 WinSCP crashes with wine-8.20
- #55909 wine does not start with free(): invalid pointer when compiling without xrandr
- #55918 printf() can overrun the "p10s" buffer with certain values when using 24-bit precision
- #55929 wined3d: wined3d_state_get_ffp_texture() breaks DragonAge Origins
----------------------------------------------------------------
Changes since 8.20:
Alex Henrie (9):
user32/tests: Allocate clipboard data with HeapAlloc.
gdi32/tests: Free what GdiConvertToDevmodeW returns with HeapFree.
winmm/tests: Use calloc instead of HeapAlloc.
sapi: Use CRT allocation functions.
ntoskrnl/tests: Put test_input on the stack in the main_test function.
d3dcompiler_43/tests: Use CRT allocation functions.
d3dcompiler_43: Use CRT allocation functions.
comctl32/tests: Use CRT allocation functions.
d3d8: Allocate what Validate(Vertex|Pixel)Shader return with HeapAlloc.
Alexandre Julliard (72):
winebuild: Add a helper to build an ARM64EC function name.
winebuild: Include x86-64 entry points in ARM64EC builds.
makefiles: Avoid generating the .tab.c file twice with bison.
makefiles: Remove support for obsolete source variables.
winecrt0: Implement setjmp/longjmp for ARM64EC.
ntdll: Add a stub ARM64EC CPU backend.
ntdll: Don't use x86-64 assembly on ARM64EC.
ntdll: Export __chkstk_arm64ec().
makefiles: Use --defines instead of --header for compatibility with older bison.
ntdll: Set function pointers in the ARM64EC metadata on dll load.
ntdll: Implement __os_arm64x_check_call().
ntdll: Implement __os_arm64x_get/set_x64_information().
ntdll: Redirect PE function pointers through the ARM64EC redirection map.
ntdll: Remove DECLSPEC_HIDDEN usage.
make_specfiles: Generate a list of syscalls from the corresponding spec files.
ntdll: Use the generated syscall list.
win32u: Use the generated syscall list.
wow64: Use the generated syscall list.
wow64win: Use the generated syscall list.
wow64: Remove DECLSPEC_HIDDEN usage.
wow64cpu: Remove DECLSPEC_HIDDEN usage.
ntdll: Build the syscall argument array from the generated syscall list.
win32u: Set the syscall dispatcher on the PE side.
win32u: Build the syscall argument array from the generated syscall list.
win32u: Store the service table entry directly into the ntdll variable.
wow64: Build the syscall argument array from the generated list.
winebuild: Stop generating the syscall argument array and related data.
win32u: Remove DECLSPEC_HIDDEN usage.
tools: Upgrade the config.guess/config.sub scripts.
explorer: Remove DECLSPEC_HIDDEN usage.
wusa: Remove DECLSPEC_HIDDEN usage.
ntdll: Generate syscall entry points from the C code with asm macros.
win32u: Generate syscall entry points from the C code with asm macros.
winebuild: Stop generating syscall entry points.
ntdll: Add syscall entries for ARM64EC.
win32u: Add syscall entries for ARM64EC.
tiff: Fix size_t type size detection on 64-bit.
fluidsynth: Use a signed atomic type to avoid warnings.
faudio: Fix a few printf formats.
ntdll: Store the syscall table in the TEB on i386.
ntdll: Store the syscall table in the TEB on ARM.
ntdll: Directly access the syscall table variable on x86-64.
ntdll: Directly access the syscall table variable on ARM64.
ntdll: Add a syscall_cfa member to the ARM64 syscall frame.
ntdll: Add a syscall_cfa member to the ARM syscall frame.
ntdll: Connect syscall frames across user callbacks on ARM64.
ntdll: Connect syscall frames across user callbacks on ARM.
ntdll: Switch to the kernel stack to abort a thread on i386.
ntdll: Switch to the kernel stack to abort a thread on x86-64.
ntdll: Switch to the kernel stack to abort a thread on ARM64.
ntdll: Switch to the kernel stack to abort a thread on ARM.
ntdll: Get rid of the thread exit frame on i386.
ntdll: Get rid of the thread exit frame on x86-64.
ntdll: Get rid of the thread exit frame on ARM64.
ntdll: Get rid of the thread exit frame on ARM.
ntdll: Remove the signal_exit_thread wrapper.
nls: Update locale data to CLDR version 44.
fluidsynth: Make glib replacement functions inline to avoid unused function warnings.
jxr: Fix some clang compiler warnings.
vkd3d: Disable printf format checks.
bcrypt: Remove DECLSPEC_HIDDEN usage.
crypt32: Remove DECLSPEC_HIDDEN usage.
mmdevapi: Remove DECLSPEC_HIDDEN usage.
netapi32: Remove DECLSPEC_HIDDEN usage.
secur32: Remove DECLSPEC_HIDDEN usage.
mountmgr: Remove DECLSPEC_HIDDEN usage.
nsiproxy.sys: Remove DECLSPEC_HIDDEN usage.
winebus.sys: Remove DECLSPEC_HIDDEN usage.
ws2_32: Remove DECLSPEC_HIDDEN usage.
ntdll: Use RtlFindExportedRoutineByName to simplify loader initialization.
ntdll: Convert the ARM64EC context to ARM64 for syscalls.
winedump: Display PE section offsets using their virtual address.
Alexandros Frantzis (26):
win32u: Assume thread dpi for rect in NtUserIsWindowRectFullScreen.
win32u: Respect per-monitor thread dpi awareness when getting window from point.
winewayland.drv: Prepare to handle different coordinate spaces.
winewayland.drv: Present surfaces with the correct scale.
winewayland.drv: Refactor cursor code to prepare for scaling support.
winewayland.drv: Present cursors with the correct scale.
winewayland.drv: Ignore spurious size hints.
winewayland.drv: Add skeleton Vulkan driver.
winewayland.drv: Implement vkEnumerateInstanceExtensionProperties.
winewayland.drv: Implement vkCreateInstance.
winewayland.drv: Implement vkDestroyInstance.
winewayland.drv: Implement vkGetDeviceProcAddr and vkGetInstanceProcAddr.
winewayland.drv: Implement vkCreateWin32SurfaceKHR.
winewayland.drv: Implement vkDestroySurfaceKHR.
winewayland.drv: Use a client area subsurface as the Vulkan target.
winewayland.drv: Set client area subsurface position.
winewayland.drv: Set client area subsurface size.
winewayland.drv: Forward all client surface pointer events to parent.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceSupportKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceFormats(2)KHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfaceCapabilities(2)KHR.
winewayland.drv: Implement vkCreateSwapchainKHR.
winewayland.drv: Implement vkDestroySwapchainKHR.
winewayland.drv: Implement vkGetPhysicalDeviceSurfacePresentModesKHR.
winewayland.drv: Implement vkGetPhysicalDeviceWin32PresentationSupportKHR.
winewayland.drv: Implement vkGetSwapchainImagesKHR.
Alfred Agrell (6):
winegstreamer: Store duration in the duration field.
winegstreamer: Add wg_format_from_caps_audio_wma function.
winegstreamer: Implement WMA <-> AMT conversion.
winegstreamer: Switch WMA decoder to use wg_format internally.
winegstreamer: Implement DMO interface for WMA decoder.
mf/tests: Test IMediaObject_GetOutputSizeInfo.
Alistair Leslie-Hughes (7):
dbghelp: Remove DECLSPEC_HIDDEN usage.
include: Add DBPROPVAL_MR_* defines.
msdasql: GetAvailableColumns correct assignment of DBCOLUMN data.
rpcrt4: Remove DECLSPEC_HIDDEN usage.
msado15: Updating recordset EditMode when field value changes.
msado15: Correct logic when setting field value.
msdasql: Check rowset pointer before assignment in ICommandText::Execute.
Anton Baskanov (14):
dmsynth: Move instrument search to synth_preset_noteon().
dmsynth: Get rid of instrument reference counting.
dmsynth: Factor out instrument and region search.
dmsynth: Fall back to the Standard drum set when there is no matching instrument or region.
dmsynth: Use FLUID_MOD_KEY for CONN_SRC_KEYNUMBER.
dmime: Factor out timeout computation.
dmime: Don't queue messages with immediate delivery type.
dmime: Always queue messages with non-immediate delivery type.
dmime: Correctly requeue messages with changed time.
dmime/tests: Move scale_music_time() and check_dmus_note_pmsg() up.
dmime/tests: Test output tool note requeueing.
dmime: Requeue the note message instead of directly queueing MIDI note-off.
dmsynth: Preserve event order when positions are equal.
dmsynth: Use time instead of position to order events.
Bartosz Kosiorek (2):
msvcrt: Fix _mbsspn_l implementation.
msvcrt: Add _mbsspnp_l implementation.
Bernhard Übelacker (2):
uxtheme: Add stub for RefreshImmersiveColorPolicyState.
notepad: Use GetDesktopWindow() when main window is not yet created.
Brendan Shanks (1):
ntdll: Don't use sysconf(_SC_PHYS_PAGES) on macOS.
Daniel Lehman (8):
msxml3/tests: Remove unused test field.
msxml3/tests: Add tests for get_xml.
msxml3/tests: Test for specific HRESULT in some tests.
msxml6/tests: Add tests for default namespace.
msxml4/tests: Add tests for default namespace.
msxml3/tests: Add tests for default namespace.
msxml4/tests: Copy create namespace tests.
msxml6/tests: Copy create namespace tests.
Davide Beatrici (1):
wineoss: Fix sound not working.
Dmitry Timoshkov (5):
user32/tests: Add some tests for font charset returned by SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
user32: Return DEFAULT_CHARSET from SPI_GETICONTITLELOGFONT and SPI_GETNONCLIENTMETRICS.
shell32: Improve FolderView2::GetViewModeAndIconSize() stub.
shell32: Return S_OK from IFolderView2::SetViewModeAndIconSize() stub.
shell32: Implement IFolderView2::Items(&IID_IShellItemArray).
Eric Pouech (13):
dbghelp: Remove DMT_ entries for .DBG and .PDB files.
dbghelp: Expose some internal information about modules to winedbg.
dbghelp: No longer decorate ELF/Mach-O module names.
dbghelp: Expose PE native vs builtin information to winedbg.
dbghelp: Pretend mach-o is present in case of failure.
msvcrt/tests: Test passing environment in child process.
ucrtbase/tests: Introduce environment tests.
msvcrt: Lazily initialize ___winitenv.
msvcrt: Allocate environment variables in separate allocation chunks.
msvcrt: Fix ucrtbase environment initialization.
regsvr32: Use message boxes by default for output.
regedit: Use message boxes by default for output.
winedbg: Use dbghelp extended module info.
Esme Povirk (1):
user32/tests: Accept another variation in send_message_5.
Fabian Maurer (1):
winex11: Free correct pointer when using xf86vm.
François Gouget (2):
advapi32/tests: Fix a service stop race condition.
user32/tests: Add a trailing linefeed to ok() and skip() calls.
Hans Leidekker (5):
wldp: Improve the WldpGetLockdownPolicy() stub.
fusion: Bump version to 4.6.1590.0.
wineusb.sys: Add support for URB_FUNCTION_VENDOR_DEVICE.
ntoskrnl: Stub EtwRegisterClassicProvider() and EtwUnregister().
winhttp: Use an unsigned integer for number values in query_headers().
Jacek Caban (13):
configure: Add arm64ec PE target support.
tools: Initial ARM64EC target support.
winebuild: Use COMDAT sections for ARM64EC functions.
winecrt0: Initial ARM64EC support.
include: Don't use dllexport attribute for Wine PE modules.
msi: Store Context as MSIINSTALLCONTEXT in MSIPACKAGE.
msi/tests: Initialize pathkey in test_installprops.
gdiplus: Remove unused variable.
ole32/tests: Remove unused variable.
mshtml: Store Gecko inner window in HTMLInnerWindow and use it in HTMLTxtRange_select.
mshtml: Use Gecko inner window in HTMLXMLHttpRequestFactory_create.
mshtml: Use Gecko inner window in get_ns_selection.
mshtml: Use Gecko inner window in get_clipboard_commands.
Jactry Zeng (1):
msvcp140: Add codecvt<char32> class stub.
Louis Lenders (2):
wbemprox: Add StandardCimv2 namespace.
shcore: Add stub for RegisterScaleChangeEvent.
Marc-Aurel Zent (2):
ntdll: Implement thread-ID alerts using kqueue/kevent.
ntdll: Use IOPowerSources API to fill battery info on macOS.
Matteo Bruni (1):
opengl32: Skip filter_extensions_index() on GL contexts < 3.0.
Michael Stefaniuc (9):
dmime: Remove redundant NULL check before free().
dmime/tests: Remove superfluous casts to self.
dmime: Remove superfluous casts to self.
dmsynth: Remove superfluous casts to self.
dmusic: Remove superfluous casts to self.
gdiplus: Remove redundant NULL check before free().
sane.ds: Use ARRAY_SIZE instead of open coding it.
winegstreamer: Remove redundant NULL check before free().
quartz: Remove redudant NULL checks before CoTaskMemFree().
Myah Caron (1):
windows.ui: Support accent colors in uisettings3_GetColorValue.
Nell Hardcastle (3):
winebus.sys: Identify DualSense Edge as a DualSense controller.
mmdevapi: Override product strings for DualSense Edge.
hidclass.sys: Add DualSense Edge to device_strings.
Nikolay Sivov (6):
d3dx9/effect: Rename effect initialization helper.
evr/presenter: Handle failure to initialize D3D9.
evr/tests: Skip tests if D3D9 is unusable.
dxva2/tests: Skip tests if D3D9 is unusable.
d3dcompiler/tests: Do not crash on device creation.
oleaut32: Remove some deadcode from VarMod().
Paul Gofman (14):
combase/tests: Add tests for implicit MTA with RoGetActivationFactory().
combase: Ensure MTA existence in RoGetActivationFactory().
winepulse.drv: Change device description.
dnsapi: Handle IP address as DNS name in DnsQuery_UTF8().
gdiplus: Round width and height in gdip_format_string().
windowscodecs: Enable WICPixelFormat32bppBGRA in BMP encoder.
msvcp110: Implement std::_Xbad_function_call().
include: Add Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation runtimeclass.
include: Fix ID3DXLoadUserData definition.
d3dx9/tests: Add test for user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Implement loading top and frame user data in D3DXLoadMeshHierarchyFromXInMemory().
d3dx9: Unify calling parse_mesh helper functions.
d3dx9: Factor out mesh_get_parse_func().
d3dx9: Support loading mesh user data in D3DXLoadMeshHierarchyFromXInMemory().
Paweł Ulita (1):
user32: Add stubs for GetWindowDpiHostingBehavior and SetThreadDpiHostingBehavior.
Piotr Caban (6):
msvcrt: Avoid temporary buffer allocation in _mbsrev_l.
msvcrt: Add _mbsrev tests.
msvcrt: Factor out env_get_index helper.
msvcrt: Factor out wenv_get_index helper.
msvcrt: Hold _ENV_LOCK when accessing environment variables.
msvcp140: Add codecvt<char16> class stub.
Rémi Bernon (47):
dmime/tests: Avoid discarding old notifications in test.
dmime/tests: Test that IDirectMusicPerformance_Stop clears messages.
dmime: Clear all pending messages in IDirectMusicPerformance_Stop.
dmime: Send MIDI_SYSTEM_RESET message on performance reset.
dmsynth: Reset synthesizer defaults on MIDI_SYSTEM_RESET.
dmime: Split segment_state_play_chunk helper.
dmime: Implement segment state repeat and looping.
gitlab: Install libxkbcommon and libxkbregistry dependencies.
winewayland.drv: Basic handling of Wayland keyboard events.
winebus.sys: Ignore events on unsupported axes.
windows.gaming.input: Fix inverted start / select gamepad buttons.
winebus.sys: Fix incorrect hid_device_set index check.
evr: Set last presented sample atomically.
ntdll: Add comments to stack switches in dispatchers.
ntdll: Remove unnecessary stack pointer CFI rules.
ntdll: Add a syscall_cfa member to the i386 syscall frame.
ntdll: Add a syscall_cfa member to the x86_64 syscall frame.
ntdll: Connect syscall frames across user callbacks on i386.
ntdll: Connect syscall frames across user callbacks on x86-64.
winewayland.drv: Configure win32u keyboard repeat delay and speed.
win32u: Implement opt-in auto-repeat for WM_(SYS)KEYDOWN messages.
mfplat: Add support for internal MFVideoFormat_A2B10G10R10.
mfplat: Add MFCreateAMMediaTypeFromMFMediaType stub.
mfplat: Add MFInitAMMediaTypeFromMFMediaType stub.
mfplat/tests: Add tests for MFInitAMMediaTypeFromMFMediaType.
mfplat/tests: Add tests for MFCreateAMMediaTypeFromMFMediaType.
mfplat/tests: Add IMFMediaType_GetRepresentation tests.
mfplat: Only convert MEDIASUBTYPE for the formats which need it.
mfplat: Use bits per pixel in uncompressed formats metadata.
mfplat: Implement MFInitAMMediaTypeFromMFMediaType.
mfplat: Implement MFCreateAMMediaTypeFromMFMediaType.
mfplat: Implement IMFMediaType_(Get|Free)Representation.
twinapi.appcore: Stub implement EasClientDeviceInformation runtimeclass.
twinapi.appcore: Succeed some EasClientDeviceInformation stub calls.
include: Use nested namespaces in windows.system.userprofile.idl.
include: Add Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Stub Windows.Globalization.GeographicRegion factory.
windows.globalization: Stub Windows.Globalization.GeographicRegion runtimeclass.
windows.globalization: Implement GeographicRegion_get_CodeTwoLetter.
include: Add Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo factory.
twinapi.appcore: Stub Windows.System.Profile.AnalyticsInfo runtimeclass.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamily.
twinapi.appcore: Implement Windows.System.Profile.AnalyticsInfo_get_DeviceFamilyVersion.
include: Add Windows.System.UserProfile.AdvertisingManager runtimeclass.
twinapi.appcore: Stub Windows.System.UserProfile.AdvertisingManager factory.
twinapi.appcore: Return success from AdvertisingManager_get_AdvertisingId stub.
Santino Mazza (4):
mlang/tests: Test GetStrCodePages with different codepages character.
mlang: Fix GetStrCodePages for characters with different codepages.
mlang/tests: Test for codepages priority.
mlang: Implement codepages priority.
Tim Clem (3):
msvcrt: Pass INT_MAX as the length in implementations of the _mbscoll family.
winemac.drv: Move surface-related logs to the bitblt channel.
winemac.drv: Return success from query_ime_char_rect.
Zebediah Figura (18):
d3d8: Pass NOOVERWRITE to redundantly discarded maps.
wined3d: Create the XFB counter BO in wined3d_context_vk_bind_stream_output_buffers().
wined3d: Provide a null counter BO for slots with no corresponding XFB buffer bound.
wined3d: Introduce a wined3d_state_get_ffp_texture() helper.
wined3d: Trigger constant update when an SRV requiring NPOT fixup is bound.
wined3d: Set the active texture in sampler_texdim().
wined3d: Set the active texture in nvts_texdim().
ws2_32/tests: Test sending data to a peer which is closed.
http.sys: Keep connection sockets open after sending a 400 response.
ws2_32/tests: Test send() after TCP reset.
ws2_32/tests: Work around a Linux bug.
server: Return ERROR_CONNECTION_RESET when trying to recv() on a reset socket.
server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages.
ws2_32: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in WSAEnumNetworkEvents().
msvcrt: Perform a base-10 logarithm using integer math.
wined3d: Revert uses of wined3d_state_get_ffp_texture() for non-FFP textures.
ddraw/tests: Add a test for drawing to a flippable surface.
ddraw: Read the current RTV before flipping any surfaces.
Zhiyi Zhang (13):
uiribbon: Fix IUIFramework::SetUICommandProperty() prototype.
msdasql/tests: Fix memory leaks.
msdasql/tests: Add more IDBProperties::GetProperties() tests.
msdasql: Return all initialization properties if no property ID is specified in dbprops_GetProperties().
oledb32: Add missing const modifiers.
oledb32/tests: Use wide-char string literals.
oledb32/tests: Remove test_odbc_provider().
oledb32/tests: Fix memory leaks.
oledb32/tests: Add more IDataInitialize::GetInitializationString() tests.
oledb32: Remove the trailing semicolon.
oledb32: Fix property count in datainit_GetInitializationString().
oledb32: Quote values containing semicolons.
oledb32: Remove unnecessary properties in datainit_GetInitializationString().
Ziqing Hui (2):
winestreamer: Introduce media_sink_write_stream.
winegstreamer: Implement wg_muxer_read_data.
1
0
The Wine development release 8.20 is now available.
What's new in this release:
- More DirectMusic implementation.
- Protocol associations exported to the Unix desktop.
- Code cleanups in preparation for code freeze.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.20.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 8.20 (total 20):
- #22904 Register URL protocol handlers under Linux
- #52716 Sending key stroke (using [System.Windows.Forms.SendKeys]::SendWait) fails (seems to go into a loop?)
- #53213 d3d10core:d3d10core & d3d11:d3d11 - test_texture() fails in the TestBot VMs
- #53217 d3d10core:d3d10core & d3d11:d3d11 - test_cube_maps() crashes on gitlab-debian-32
- #53218 d3d10core:d3d10core & d3d11:d3d11 - test_uint_shader_instructions() fails on llvmpipe
- #54399 d3d11:d3d11 - test_vertex_formats() fails on Windows 11 + AMD
- #54519 d3d9:visual - test_mipmap_upload() fails on AMD and Nvidia GPUs
- #54780 UndertaleModTool display regression since wine-staging 8.4
- #55316 d3d10core:d3d10core & d3d11:d3d11 fail systematically on w11pro64-amd
- #55608 NAM won't open on new update
- #55679 warframe doesn't start in experimental wow64 mode
- #55715 Folio Views 4 crashes when storing a changed file
- #55742 wine crashes when launching Captvty V3
- #55782 System.Windows.Forms expects CreateActCtx() to succeed with truncated ACTCTX structure
- #55789 Spectralayers 9 Pro crashes on audio playback
- #55797 Max Payne (2001) has no sound
- #55838 wget.exe fails to download anything (regression)
- #55839 NtCreateSymbolicLinkObject fails with STATUS_OBJECT_TYPE_MISMATCH
- #55842 Neverwinter Nights 2 Complete (GOG.com) crashes while starting a new game from the menu
- #55856 cygwin hangs during installation at libzstd1-1.5.5-1
----------------------------------------------------------------
Changes since 8.19:
Alex Henrie (63):
find/tests: Use CRT allocation functions.
msscript: Use CRT allocation functions.
uninstaller: Use CRT allocation functions.
uxtheme/tests: Use CRT allocation functions.
loader: Associate Wine with internet shortcuts.
winemenubuilder: Disallow desktop integration for internet shortcuts.
d3d10core/tests: Use CRT allocation functions.
d3d11/tests: Use CRT allocation functions.
d3d8: Use CRT allocation functions.
d3d8/tests: Use CRT allocation functions.
d3d9: Use CRT allocation functions.
d3d9/tests: Use CRT allocation functions.
ddraw: Use CRT allocation functions.
ddraw/tests: Use CRT allocation functions.
dxgi: Use CRT allocation functions.
dxgi/tests: Use CRT allocation functions.
dplayx: Use CRT allocation functions.
ninput: Use CRT allocation functions.
browseui: Use the wcsdup function instead of reimplementing it.
fsutil/tests: Use CRT allocation functions.
user32/tests: Use CRT allocation functions.
sechost: Use CRT allocation functions.
quartz: Use debugstr_fourcc instead of debugstr_an.
adsldp: Remove unused heap.h include.
avrt: Use CRT allocation functions.
dhcpcsvc: Use CRT allocation functions.
dhcpcsvc/tests: Use CRT allocation functions.
diasymreader: Use CRT allocation functions.
dsuiext: Use CRT allocation functions.
iccvid: Use CRT allocation functions.
inseng: Use CRT allocation functions.
jsproxy: Use CRT allocation functions.
mp3dmod: Use CRT allocation functions.
msado15: Remove unused heap.h include.
msasn1: Use CRT allocation functions.
msdasql: Use CRT allocation functions.
msident: Use CRT allocation functions.
mspatcha: Use CRT allocation functions.
mstask: Use CRT allocation functions.
msvfw32/tests: Use CRT allocation functions.
netio: Use CRT allocation functions.
wtsapi32: Use CRT allocation functions.
gdiplus/tests: Use CRT allocation functions.
include: Annotate MIDL_user_allocate with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
gdi32/tests: Use CRT allocation functions.
winmm/tests: Use CRT allocation functions.
setupapi/tests: Use CRT allocation functions.
virtdisk/tests: Use CRT allocation functions.
vulkan-1/tests: Use CRT allocation functions.
winemenubuilder: Create .desktop files for programs that open URIs.
winecfg: Mention protocol associations.
winegstreamer: Remove unused heap.h include.
msiexec: Use CRT allocation functions.
windows.media.devices: Use CRT allocation functions.
winecoreaudio: Remove unused heap.h include.
shdocvw: Use CRT allocation functions.
urlmon/tests: Use CRT allocation functions.
ddrawex: Use CRT allocation functions.
devenum: Use CRT allocation functions.
wmvcore: Use CRT allocation functions.
Revert "dsound: Get rid of the global device GUID arrays.".
dsound: Dynamically allocate the global device GUID arrays.
nsi: Use CRT allocation functions.
Alexandre Julliard (58):
server: Fix returned error when creating an existing symlink.
user32: Enable a few more hook tests.
ntdll: Also update code ranges for pure ARM64EC binaries.
ntdll: Remove an unused global variable.
ntdll: Only check Wow64 system directories for 32-bit platforms.
kernelbase: Only support Wow64 system directories for 32-bit platforms.
wow64: Only support Wow64 system directories for 32-bit platforms.
server: Only create Wow64 system directories for 32-bit platforms.
winegcc: Use a temp file for the implicitly created import library.
makefiles: Always use the global SOURCES variable for .idl files.
makefiles: Always use the global SOURCES variable for .rc files.
makefiles: Always use the global SOURCES variable for .c files.
msvcrt: Use the public definitions for the UNDNAME_ flags.
winedump: Re-import the demangling code from msvcrt.
opengl32: Make the GL driver function table const.
odbc32: Make the Unix function table const.
include: Make sure that Unix function tables are always const.
include: Use NTSYSAPI for all ntdll exports.
include: Use proper dllimports for win32u functions.
include: Use proper dllimports for dbghelp functions.
include: Use proper dllimports for iphlpapi functions.
include: Use proper dllimports for setupapi functions.
include: Use proper dllimports for uxtheme functions.
include: Use proper dllimports for cryptdlg functions.
include: Use proper dllimports for eventlog functions.
include: Use proper dllimports for httpapi functions.
include: Use proper dllimports for url functions.
include: Use proper dllimports for mimeole functions.
include: Use proper dllimports for winmm functions.
include: Use proper dllimports for pathcch functions.
include: Use proper dllimports for propsys functions.
include: Use proper dllimports for userenv functions.
include: Use proper dllimports for credui functions.
include: Use proper dllimports for winscard functions.
include: Use proper dllimports for slc functions.
include: Use proper dllimports for wmi functions.
include: Use proper dllimports for olectl functions.
include: Use proper dllimports for more wininet functions.
ddraw: Use SecureZeroMemory to clear the clipper vtbl.
include: Remove DECLSPEC_HIDDEN from standard Dll* functions.
include: Remove DECLSPEC_HIDDEN from winecrt0 functions.
include: Remove DECLSPEC_HIDDEN from RPC functions.
include: Remove DECLSPEC_HIDDEN from GUID definitions.
widl: Remove DECLSPEC_HIDDEN from generated files.
configure: Use hidden visibility also when building Unix libraries.
wineoss.drv: Allocate the MIDI device array dynamically.
winealsa.drv: Allocate the MIDI device array dynamically.
rpcrt4: Generate stubless thunks at compile time.
rpcrt4: Generate vtbl delegating thunks at compile time.
win32u: Fix handling of process default DPI awareness.
winevdm: Don't claim that 16-bit apps are DPI aware.
makefiles: Support arch-specific IDL flags.
widl: Make the alignment option generic instead of win32/win64-specific.
configure: Remove no longer used WINE_TRY_SHLIB_FLAGS macro.
configure: Assume that pthread.h is present.
configure: Consistently use HOST_ARCH for platform checks.
opengl32: Remove DECLSPEC_HIDDEN usage.
winevulkan: Remove DECLSPEC_HIDDEN usage.
Alfred Agrell (14):
winegstreamer: Don't read format from unparsed MPEG audio.
winegstreamer: Clamp QoS events to stay inside the stream's running time.
winegstreamer: Seek to end of stream instead of to stream duration.
winegstreamer: Include the framerate when converting video format to GstCaps.
winegstreamer: Improve and clean up some debug logs.
winegstreamer: Implement IAMStreamSelect::Count in CLSID_MPEG1Splitter.
winegstreamer: Implement parts of IAMStreamSelect::Info in CLSID_MPEG1Splitter.
winegstreamer: Add output_compressed parameter to wg_parser_create().
winegstreamer: Use the new output_compressed property instead of mpegaudioparse in MPEG splitter.
winegstreamer: Add WG_MAJOR_TYPE_VIDEO_MPEG1 media type.
winegstreamer: Add program stream and video output support to CLSID_MPEG1Splitter.
winegstreamer: Implement CLSID_CMpegVideoCodec.
quartz/tests: Add tests for new CLSID_MPEG1Splitter functionality.
quartz/tests: Add tests for CLSID_CMpegVideoCodec.
Alistair Leslie-Hughes (26):
include: Add some DBCOLUMN defines.
msdasql: Use DBINITCONSTANTS to get guid values.
hlink: Remove DECLSPEC_HIDDEN usage.
msimtf: Remove DECLSPEC_HIDDEN usage.
sechost: Remove DECLSPEC_HIDDEN usage.
browseui: Remove DECLSPEC_HIDDEN usage.
wintrust: Remove DECLSPEC_HIDDEN usage.
uiautomationcore: Remove DECLSPEC_HIDDEN usage.
gameux: Remove DECLSPEC_HIDDEN usage.
propsys: Remove DECLSPEC_HIDDEN usage.
hnetcfg: Remove DECLSPEC_HIDDEN usage.
sti: Remove DECLSPEC_HIDDEN usage.
advpack: Remove DECLSPEC_HIDDEN usage.
mstask: Remove DECLSPEC_HIDDEN usage.
uiribbon: Remove DECLSPEC_HIDDEN usage.
itss: Remove DECLSPEC_HIDDEN usage.
rsaenh: Remove DECLSPEC_HIDDEN usage.
ntoskrnl.exe: Remove DECLSPEC_HIDDEN usage.
mpr: Remove DECLSPEC_HIDDEN usage.
msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.
comdlg32: Remove DECLSPEC_HIDDEN usage.
msacm32: Remove DECLSPEC_HIDDEN usage.
uxtheme: Remove DECLSPEC_HIDDEN usage.
wmiutils: Remove DECLSPEC_HIDDEN usage.
msi: Remove DECLSPEC_HIDDEN usage.
winhttp: Remove DECLSPEC_HIDDEN usage.
Anton Baskanov (12):
dmsynth: Offset the loop points by 8 frames.
dmsynth: Handle pitch bend events.
dmsynth: Use correct transform for controls.
dmsynth: Correctly handle internal connections with controls.
dmsynth: Activate reverb and chorus according to effect flags.
dmsynth: Return void from add_mod_from_connection().
dmsynth: Keep track of voice/wave mapping.
dmsynth: Use generators to set root key and fine tune.
dmsynth: Create one FluidSynth sample per wave.
dmsynth: Remove useless private data checks.
dmsynth: Free the allocated presets manually.
dmsynth: Don't leak modulators.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (35):
gdiplus/tests: Add default tension tests for GdipAddPath*Curve.
gdiplus: Fix default tension for GdipAddPathCurve and GdipAddPathClosedCurve.
gdiplus/tests: Add tests for GdipSetPenTransform.
gdiplus: Add additional check to GdipSetPenTransform.
gdiplus/tests: Extend AddPathCurve3 test with offset and nseg.
gdiplus: Move main Curve implementation from GdipAddPathCurve2 to GdipAddPathCurve3.
gdiplus: Fix GdipAddPathCurve3 curve calculation with offset and nseg variables.
msvcrt: Add _mbsdec_l implementation.
msvcrt: Add _mbslwr_l implementation.
msvcrt: Add _mbsrchr_l implementation.
msvcrt: Add _cprintf_l implementation.
msvcrt: Add _cwprintf_l implementation.
msvcrt: Add _mbsnbcat_l implementation.
msvcrt: Add _mbsbtype_l implementation.
msvcrt: Fix _mbslwr_s_l implementation.
msvcrt: Add _mbsupr_l implementation.
msvcrt: Add _mbsnbcmp_l implementation.
msvcrt: Add _mbsnbcnt_l implementation.
msvcrt: Add _mbsncpy_l implementation.
msvcrt: Add _mbsnicmp_l implementation.
msvcrt: Fix _strnicmp and _strnicmp_l implementation.
msvcrt: Add _mbsnbcat_s_l implementation.
msvcrt: Add _mbsnbcpy_l implementation.
msvcrt: Add _mbsnbicmp_l implementation.
msvcrt: Add _mbsnbset_l implementation.
msvcrt: Add _mbsncat_l implementation.
msvcrt: Add _mbsnccnt_l implementation.
msvcrt: Add _mbsnset_l implementation.
msvcrt: Add _mbspbrk_l implementation.
msvcrt: Add __iswcsym implementation.
msvcrt: Add __iswcsymf implementation.
msvcrt: Add _mbsncmp_l implementation.
msvcrt: Add _mbsrev_l implementation.
msvcrt: Add _mbsset_l implementation.
msvcrt: Add _mblen_l implementation.
Brendan Shanks (5):
localspl: Ensure unixlib function tables and enum stay in sync.
qcap: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Fix minimizing windows programmatically from Win32 when Stage Manager is enabled.
ntdll/unix: Replace some malloc/sprintf calls with asprintf.
ntdll/unix: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Christian Costa (1):
wined3d: Add entry info for NVidia RTX 3070.
Connor McAdams (5):
uiautomationcore: Implement IRawElementProviderFragment::GetEmbeddedFragmentRoots for MSAA providers.
uiautomationcore: Don't return failure from ::GetEmbeddedFragmentRoots stub on the default BaseHwnd provider.
uiautomationcore: Don't set HRESULT when attempting to advise currently focused HUIANODE.
uiautomationcore: Return TRUE from UiaClientsAreListening().
oleaut32: Lock ITypeLib2 interface reference count behind the typelib cache critical section on Release.
Daniel Lehman (4):
msxml4/tests: Use wide string literals.
msmxl4/tests: Add tests for get_xml.
msxml6/tests: Use wide string literals.
msxml6/tests: Add tests for get_xml.
Dmitry Timoshkov (9):
kernel32/tests: Add some tests for CreateActCtx() with different structure sizes.
kernel32: Add ACTCTX field limit checks to CreateActCtxA().
ntdll: Add ACTCTX field limit checks to RtlCreateActivationContext().
uxtheme/tests: Move the IsThemePartDefined() test before hTheme handle is closed.
uxtheme/tests: Add a test for OpenThemeData("explorer::treeview").
uxtheme: Parse app/class name in OpenThemeData().
uxtheme/tests: Add a test for SetWindowTheme/OpenThemeData sequence.
uxtheme: Move fall back to default class to MSSTYLES_OpenThemeClass().
uxtheme: If the application class is already set then OpenThemeData() should fail.
Eric Pouech (22):
dpnsvr: Move to GUI subsystem (as native).
spoolsv: Move to GUI subsystem (as native).
svchost: Move to GUI subsystem (as native).
services: Move to GUI subsystem (as native).
pdh: Zero out magic fields with SecureZeroMemory().
dssenh: Use SecureZeroMemory to clear magic fields.
secur32: Use SecureZeroMemory to clear magic fields.
user32: Use SecureZeroMemory to clear magic fields.
winscard: Use SecureZeroMemory() to clear magic fields.
wintrust: Use SecureZeroMemory() to clear magic fields.
wsdapi: Use SecureZeroMemory() to clear magic fields.
wininet: Use SecureZeroMemory() to clear magic fields.
msvcrt/tests: Improve environment tests (initial conditions).
msvcrt/tests: Add tests about allocation of environment entries.
msvcrt/tests: Add tests about intricating kernel32 and msvcrt env calls.
msvcrt/tests: Test adding Unicode env variables.
msvcrt: Use msvcrt heap for allocating envionment data.
msvcrt: Fix getmainargs() family to return correct environment block.
taskmgr: No longer use console/file output APIs.
wordpad: Remove unneeded output messages.
mshta: No longer use console / crt API.
winebrowser: Remove misleading comment.
Esme Povirk (1):
user32/tests: Improve timer measurement method.
Fabian Maurer (2):
winegstreamer: Implement IWMResamplerProps.
msvcrt: Fsetpos resets EOF flag.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (24):
mshtml: Keep ref from the document node to the inner window.
mshtml: Properly traverse document nodes.
mshtml/tests: Test parent window links after navigation.
mshtml: Keep ref from the ImageElementFactory to the inner window.
mshtml: Keep ref from the OptionElementFactory to the inner window.
mshtml: Keep ref from the XMLHttpRequestFactory to the inner window.
mshtml: Keep ref from LocalStorage and SessionStorage to the inner window.
mshtml: Keep ref from the OmHistory to the inner window.
mshtml: Keep refs from the Attributes and AttributeCollection to the Element.
mshtml: Keep ref from the associated Style to the Element.
mshtml: Traverse and unlink the Element referenced from the CurrentStyle.
mshtml: Traverse and unlink the style_sheet referenced from the StyleElement.
mshtml: Release the returned lists from Gecko's QuerySelectorAll even on error.
mshtml: Fix window leak on error in async_stop_request.
jscript: Fix EnumVARIANT leak in enumerators.
jscript: Fix value leak in Array.shift.
jscript: Fix array leak in Array.filter.
jscript: Don't addref before calling jsdisp_propput_name.
jscript: Fix value arg leak in transform_json_object.
jscript/tests: Fix variant leak after conversion when testing VariantChangeType.
jscript/tests: Fix Date object leak in test_default_value.
mshtml/tests: Fix BindInfo leak in htmldoc test.
mshtml: Return outer window to external callers.
mshtml: Don't NULL out the doc's window when unlinking the window.
Hans Leidekker (4):
gdi32/tests: Skip broken Noto Color Emoji font in character width test.
win32u: Get rid of a special case for non-scalable fonts in NtGdiGetCharABCWidthsW().
ntdll: Bump current build number to 19043 (Win10 2009).
advapi32/tests: Get rid of an unreliable eventlog test.
Jacek Caban (14):
configure: Disable -Wmicrosoft-enum-forward-reference warnings.
msctf: Avoid implicit enum casts.
qmgr: Avoid implicit enum casts.
shcore: Avoid implicit enum casts.
webservices: Store xmlbuf encoding as unsigned int.
gdiplus/tests: Avoid implicit casts from MetafileType to EmfType.
gdiplus: Avoid implicit enum casts.
d3d11: Explicitly convert enums in d3d_depthstencil_state_create.
d3d11/tests: Use D3D11_INPUT_CLASSIFICATION variant of D3D10_INPUT_CLASSIFICATION.
d3d8: Use designated initializers in tss_lookup.
ddraw: Use designated initializers in tss_lookup.
kernel32/tests: Remove unused variable.
msvcrt/tests: Don't define structs types inside other struct declaration.
msvcp60: Use char type for FROZEN macro.
Louis Lenders (2):
uxtheme: Add stub for SetPreferredAppMode.
uxtheme: Add stub for AllowDarkModeForWindow.
Nikolay Sivov (6):
include: Correct ID3D10EffectPool interface uuid.
shell32: Fix string size condition check (Coverity).
mf/samplegrabber: Release current media type on shutdown.
mf/samplegrabber: Check shutdown state when setting the clock.
mf/samplegrabber: Reset the clock before OnShutdown().
mf/samplegrabber: Use OnSetPresentationClock() on shutdown as well.
Owen Rudge (1):
comdlg32: Perform case-insensitive comparison of extension in file dialog.
Paul Gofman (13):
mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock().
mfplat/tests: Add more tests for copying 2d buffers.
mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To}().
mfplat/sample: Refactor sample_CopyToBuffer().
mfplat/sample: Optimize copying to 2d buffer.
ntdll: Handle LFH blocks allocated in large blocks in heap_validate_ptr().
ntdll: Fix pending free block validation in heap_validate() for LFH blocks.
kernelbase: Don't inherit all the handles in conhost.exe.
user32: Return empty string from LoadStringW() if resource is not found.
user32: Put 0 to output string even for 1 char buffer in LoadStringW().
kernelbase: Return empty string from LoadStringW() if resource is not found.
kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW().
winmm: Fix pszSound allocation in PlaySound_Alloc().
Rémi Bernon (24):
dmime: Send notification messages with DMUS_PMSGF_TOOL_IMMEDIATE.
dmime/tests: Add a track and longer segment to notifications tests.
dmime: Use the current time if PlaySegmentEx start_time is 0.
dmime: Send DMUS_NOTIFICATION_SEGALMOSTEND before DMUS_NOTIFICATION_SEGEND.
dmime/tests: Check more notification / dirty messages fields.
dmime: Fix performance message requeue-ing from the message thread.
dmband: Support start_time and end_time Play parameters.
dmime: Support start_time and end_time Play parameters.
dmime: Implement segment state chunked playback.
dmime: Send notification messages from segment_play_chunk.
dmime/tests: Test IDirectMusicPerformance_GetSegmentState.
dmime: Implement IDirectMusicPerformance_GetSegmentState semi-stub.
dmime/tests: Test tempo track Play and DMUS_PMSGT_TEMPO messages.
dmime/tests: Test tempo track GetParam with GUID_TempoParam.
dmime: Fix tempo track GetParam with GUID_TempoParam implementation.
dmime/tests: Add helpers to scale and check music time with tempo.
dmime/tests: Test playing tempo track effect on performance times.
dmime: Support playing secondary and control segments.
dmime: Better implement performance times with tempo track.
dmime: Rename struct pchannel_block to struct channel_block.
dmime: Use a dedicated struct channel to hold performance channels.
dmime: Introduce a new performance_get_channel helper.
dmime: Simplify and rename channel_block_set to channel_block_init.
dmime: Avoid leaking performance channel block ports.
Santino Mazza (1):
mf: Handle errors with source event generator in session.
Shaun Ren (2):
msttsengine: Add stub dll.
msttsengine: Add ISpTTSEngine stub.
Sven Baars (1):
advapi32/tests: Fix a typo (Coverity).
Tim Clem (1):
msvcrt: Promote the log from _wassert from a trace to an error.
Victor Chiletto (1):
msvcrt, ucrtbase: Introduce rewind_preserve_stack.
Yuxuan Shui (2):
include: Add InterlockedExchangeAdd16.
ntdll: Tweak the binary representation of SRWLOCK.
Zebediah Figura (28):
ws2_32/tests: Add a regression test for interaction of sock_reselect() with event select.
server: Only set sock->event when the event is first noticed.
d3d11/tests: Do not test the w component for DXGI_FORMAT_B8G8R8X8_UNORM in test_vertex_formats().
d3d9/tests: Do not test sysmem textures in test_mipmap_upload().
d3d8/tests: Do not test sysmem textures in test_mipmap_upload().
d3d10core/tests: Do not test GSInvocations in test_pipeline_statistics_query().
d3d11/tests: Do not test GSInvocations in test_pipeline_statistics_query().
d3d10core/tests: Use slightly different values in test_sample_c_lz().
d3d11/tests: Use slightly different values in test_sample_c_lz().
wined3d: Pass a wined3d_texture to wined3d_sampler_desc_from_sampler_states().
wined3d: Handle texture LOD in wined3d_sampler_desc_from_sampler_states().
wined3d: Pass shader type and unmodified index to context_preload_texture().
d3d8: Store the texture's parent device as a d3d8_device pointer.
wined3d: Translate sampler states to sampler objects in wined3d_device_apply_stateblock().
wined3d/glsl: Clamp ftou lower bound to zero.
wined3d/glsl: Clamp ftou upper bound to UINT_MAX.
wined3d/glsl: Clamp ftoi lower bound to INT_MIN.
wined3d/glsl: Clamp ftoi upper bound to INT_MAX.
wined3d/glsl: Flush NaN to zero in ftoi.
gitlab: Enable d3d10core:d3d10core and d3d8:visual.
mfplat/tests: Shut down the media source in test_create_from_file_handler_callback_Invoke().
d3d9/tests: Test that GetDC() records a dirty rect.
wined3d: Record a dirty rect in wined3d_texture_create_dc().
wined3d: Introduce a texture_binding_might_invalidate_ps() helper.
wined3d: Check the wined3d resource type and usage instead of the GL target in texture_binding_might_invalidate_ps().
wined3d: Invalidate all sampler slots to which a texture is bound in texture_resource_unload().
wined3d: Remove the no longer used "sampler" field of struct wined3d_texture.
wined3d: Do not use atomics to update the resource bind count.
Zhiyi Zhang (6):
user32/tests: Add more parameter checks for SetWindowsHookExA().
win32u: Return ERROR_GLOBAL_ONLY_HOOK when a thread ID is specified for global hooks.
win32u: Return ERROR_ACCESS_DENIED for WH_JOURNALRECORD and WH_JOURNALPLAYBACK.
ddraw/tests: Test WS_EX_TOPMOST restoration.
ddraw: Restore WS_EX_TOPMOST in exclusive fullscreen mode if it got removed.
uxtheme: Fix a test failure.
Ziqing Hui (10):
winegstreamer: Use NTSTATUS value in wg_muxer_create.
winegstreamer: Introduce link_src_to_sink.
winegstreamer: Use gst_element_get_compatible_pad.
winegstreamer: Introduce find_element_factories.
winegstreamer: Introduce factory_create_element.
winegstreamer: Implement wg_muxer_add_stream.
winegstreamer: Create parser for muxer stream.
winegstreamer: Implement wg_muxer_start.
winegstreamer: Implement ProcessSample for media sink.
winegstreamer: Implement wg_muxer_push_sample.
1
0
The Wine development release 8.19 is now available.
What's new in this release:
- Mono engine updated to version 8.1.0.
- More DirectMusic implementation.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.19.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 8.19 (total 44):
- #8174 Ares P2P 2.x embedded media player fails to play .mpg files
- #9027 No sound for rise of nations - all versions
- #23489 Buccaneer: quits silently when entering the Tavern
- #32395 Neverwinter Nights 2 : Broken sky with anti-aliasing turned on
- #32896 Serious Sam: The Random Encounter has no sound
- #34751 Aura: Fate of the Ages: sounds aren't played, but music works fine
- #43372 valgrind shows a definite leak in dlls/d3dx9_36/tests/texture.c
- #45072 Enabling csmt causes 100% CPU use in MikuMikuDance
- #45135 Black Rockman Shooter has no sound
- #45144 GED Keeper 2 (.NET 2.x based genealogical database app) fails to run with Wine-Mono
- #45893 Midtown Madness: Extremely Slow with csmt on
- #47767 Airport Mania First Flight - Very long loading times and awful performance
- #49731 Shtriga: Summer Camp freezes with a black screen (PE-build only)
- #49804 Multiple WPF 4.5+ .NET applications fail to run with Wine-Mono due to missing support of Ribbon control 'System.Windows.Controls.Ribbon' (OpenGL Extensions Viewer 6.1.2, CapFrameX v1.6.0)
- #52014 Memento Mori freezes on launch
- #52396 Stack overflows when running any 64-bit .Net 6 (.Net Core) program
- #53264 mmdevapi:capture - test_audioclient() fails systematically on Windows 10 1909+
- #54704 Black screen with Dungeon Keeper 2 and Wine v8.4
- #55223 d3dx10_34:d3dx10, d3dx10_35:d3dx10, d3dx10_39:d3dx10 & d3dx10_42:d3dx10 sometimes fail on w11pro64-amd
- #55228 kernel32:loader - test_ResolveDelayLoadedAPI() fails on Windows 10+
- #55267 gdi32:font - The 64-bit test_RealizationInfo() gets invalid parameter errors on Windows 8+
- #55269 ntdll:info - The 32-bit test_query_process_debug_port() gets a bad len on Windows 8 64-bit
- #55555 secur32:secur32 - test_ticket_cache() crashes when Kerberos support is missing
- #55560 The 64-bit dbghelp:dbghelp times out in Wine
- #55577 advapi32:registry - The 64-bit test_performance_keys() sometimes crashes on Windows 10
- #55580 The 32-bit uiautomationcore:uiautomation sometimes times out in Wine
- #55605 winmm:mci sometimes gets an assertion in GitLab CI's Wine tests
- #55650 dbghelp:dbghelp fails on macOS
- #55654 Multiple Direct3D 8/9 applications have increased memory usage / run out of memory since Wine 8.14
- #55688 dmusic:dmusic - test_default_gm_collection() crashes on macOS
- #55718 Word 2007 is not able to print multiple copies of a page
- #55720 msxml3:domdoc - test_domnode() fails in Wine
- #55722 dmime:dmime - test_band_track_play() fails on macOS
- #55725 The 32-bit amstream:amstream gets an assert and times out on the GitLab CI
- #55744 psapi:psapi_main fails in Wine
- #55745 tasklist.exe:tasklist - test_filter() fails to list ntdll.dll in Wine
- #55746 wscript.exe:run - Dispatch_Invoke() gets wrong WScript.FullName in Wine
- #55771 uxtheme:system - test_ShouldSystemUseDarkMode() fails on Windows 7 to 10 1909
- #55772 uxtheme:system - test_EnableThemeDialogTexture() fails on Windows 7
- #55777 user32:win - test_GetWindowModuleFileName() sometimes unexpectedly gets a filename on Windows 7
- #55790 Unreal II The Awakening: general protection fault when loading a level
- #55792 Tron 2.0 crashes before the menu appears
- #55808 Catalan translation inserted twice in wine.desktop
- #55817 Myst V (GOG.com, demo): access violation when NPC begins to talk
----------------------------------------------------------------
Changes since 8.18:
Akihiro Sagawa (1):
cmd: Reset totals after trailer output.
Alex Henrie (13):
evr: Use debugstr_fourcc instead of debugstr_an.
iccvid: Use debugstr_fourcc instead of debugstr_an.
d3d10: Use debugstr_fourcc instead of debugstr_an.
dwrite: Use the debugstr_fourcc function instead of reimplementing it.
d3dx9_36: Use debugstr_fourcc instead of debugstr_an.
d3dcompiler_43: Use debugstr_fourcc instead of debugstr_an.
loader: Associate Wine with batch files.
winemenubuilder: Disallow desktop integration for batch files.
loader: Translate wine.desktop to Catalan.
loader: Add separating dash to Spanish translation of wine.desktop.
win32u: Use debugstr_fourcc instead of debugstr_an.
wined3d: Use debugstr_fourcc instead of debugstr_an.
commdlg: Set lCustData the same in GetSaveFileName as GetOpenFileName.
Alexandre Julliard (20):
makefiles: Always use the global SOURCES variable for .man.in files.
makefiles: Always use the global SOURCES variable for .svg files.
makefiles: Always use the global SOURCES variable for .l files.
makefiles: Always use the global SOURCES variable for .y files.
ntdll: Move the relay trace on thread startup to LdrInitializeThunk().
ntdll: Move RtlUserThreadStart implementation to the CPU backends.
ntdll: Use .seh handler in RtlUserThreadStart on ARM64.
ntdll: Also send segment registers to the server on suspend.
zydis: Disable assertions.
dbghelp: Fix a compiler warning on ARM64.
Revert "loader: Translate wine.desktop to Catalan".
ntdll: Simplify platform checks for exception handling functions.
msvcrt: Simplify platform checks for exception handling functions.
msvcrt: Export more exception handling functions on ARM platforms.
kernel32: Export the Ums functions on ARM64.
kernelbase: Export the extended context functions on all platforms.
ntdll: Export RtlCopyMemory on ARM platforms.
vcruntime140_1: Only build for x86-64.
winebuild: Always use .balign for alignment.
shlwapi: Remove unneeded UNALIGNED attributes.
Alexandros Frantzis (2):
winewayland.drv: Ensure outputs can access xdg information robustly.
winewayland.drv: Ensure the logical output dimensions have sane values.
Alistair Leslie-Hughes (4):
msxml: Always increase error count when detected.
msxml3: Don't call qsort if we have no data (Coverity).
msxml3: Move tid_NULL out of possible enum values.
msxml3: Do not leak bind context on error paths (Coverity).
Arkadiusz Hiler (1):
winex11.drv: Send missed KEYUP events on KeymapNotify.
Bartosz Kosiorek (4):
gdiplus: Optimize GDI32_GdipDrawPath (via prepare_dc function).
gdiplus: Improve performance of units_to_pixels by not using division.
gdiplus/tests: Add test for GdipIsOutlineVisiblePathPoint.
gdiplus: Fix transformation in GdipIsOutlineVisiblePathPoint.
Brendan Shanks (9):
configure: Only build Wayland if linux/input.h is present.
winemac.drv: Replace sprintf with snprintf to avoid deprecation warnings.
makedep: Replace sprintf with snprintf to avoid a deprecation warning on macOS.
ctapi32: Ensure unixlib function tables and enum stay in sync.
dnsapi: Ensure unixlib function tables and enum stay in sync.
wpcap: Ensure unixlib function tables and enum stay in sync.
winscard: Ensure unixlib function tables and enum stay in sync.
winemac.drv: Disable declaration-after-statement warnings in ObjC files.
winemac.drv: Fix minimizing windows when Stage Manager is enabled.
Connor McAdams (15):
uiautomationcore: Release node lresult upon failure to allocate a node in uia_node_from_lresult().
uiautomationcore/tests: Add tests for COM API EVENT_OBJECT_FOCUS translation.
uiautomationcore: Potentially raise focus event for serverside providers in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Potentially raise focus event on the currently focused serverside provider in response to EVENT_OBJECT_FOCUS.
uiautomationcore: Add support for translating EVENT_OBJECT_FOCUS for native MSAA IAccessibles.
uiautomationcore/tests: Add tests for cached value helper functions in the COM API.
uiautomationcore: Implement IUIAutomationElement::get_CachedControlType.
uiautomationcore: Implement IUIAutomationElement::get_CachedHasKeyboardFocus.
uiautomationcore: Implement IUIAutomationElement::get_CachedIsKeyboardFocusable.
uiautomationcore: Implement IUIAutomationElement::get_CachedName.
uiautomationcore: Implement IUIAutomationElement::get_CachedBoundingRectangle.
uiautomationcore: Remove accidentally leftover FIXME.
uiautomationcore: Only print FIXME messages for missing default clientside providers once.
uiautomationcore/tests: Fix test failure on Win10v1709.
uiautomationcore: Don't return failure from ::get_FragmentRoot stub on the default BaseHwnd provider.
Daniel Lehman (1):
advapi32/tests: Add ReadEventLogW tests for direction.
Dmitry Timoshkov (4):
crypt32: Avoid truncating unicode chars.
crypt32/tests: Add some tests for quoted RDN values.
crypt32: Add support for CERT_NAME_STR_NO_QUOTING_FLAG to CertNameToStr().
cryptui: Use CertNameToStr(CERT_NAME_STR_NO_QUOTING_FLAG) to disable quoting.
Eric Pouech (9):
wbemprox: Use correct string id.
dsound: Forward error code when device cannot be found.
quartz: Return correct error when no audio devices are present.
mmdevapi: Don't fail when no audio backends are present.
dbghelp: Rename internal field (system -> host).
dbghelp: Use is_host_64bit for handling bitness of mach-o libs.
dbghelp: Set the machine type for mach-O modules.
dbghelp: Simplified module_find_by_addr().
dbghelp: Remove unneeded parameter to pe_map_file.
Esme Povirk (2):
user32/tests: Reduce size demand in test_hvredraw.
mscoree: Update Wine Mono to 8.1.0.
Fabian Maurer (2):
mf/tests: Increase buffer to prevent stack corruption.
ntdll: Add WinSqmSetIfMaxDWORD stub.
Gabriel Ivăncescu (4):
jscript: Fix Array.map when last element doesn't exist.
jscript: Fix Array.reduce when last element doesn't exist.
mshtml: Set outer window to uninitialized page when document obj is released.
mshtml: Return proper errors when navigating with no browser.
Gerald Pfeifer (1):
readme: Update FreeBSD information.
Hans Leidekker (3):
kernelbase: Trace global memory counters in decimal.
advapi32/tests: Get rid of workarounds for old Windows versions.
advapi32/tests: Skip WoW64 registry tests on 32-bit.
Helix Graziani (1):
uxtheme/tests: Skip the test if the SystemUsesLightTheme value isn't found.
Jacek Caban (9):
dwrite: Use DWRITE_FONT_FEATURE_TAG for tags argument type in shape_get_typographic_features.
dwrite/tests: Avoid implicit DWRITE_RENDERING_MODE to DWRITE_RENDERING_MODE1 casts.
dwrite: Avoid implicit casts between DWRITE_RENDERING_MODE and DWRITE_RENDERING_MODE1.
d2d1/tests: Use D2D1_INTERPOLATION_MODE constants in DrawImage calls.
d2d1: Pass interpolation mode as D2D1_INTERPOLATION_MODE to d2d_device_context_draw_bitmap.
d2d1: Don't cast D2D1_THREADING_MODE to D2D1_FACTORY_TYPE in D2D1CreateDevice.
wined3d: Use return type to return result from read_dword.
wined3d: Remove unused parallel_point_count variable.
wined3d: Use unsigned type for res_type bit field.
Jeff Smith (4):
gdiplus/tests: Add tests related to setting the page tranform.
gdiplus: Implement GdipResetPageTransform.
gdiplus: Fix a GdipSetPageScale return status.
gdiplus: Fix GdipSetPageUnit parameter validation.
Jinoh Kang (1):
ntdll/tests: Use win_skip() for missing APIs in test_query_process_debug_port_custom_dacl.
Louis Lenders (1):
uxtheme: Add ShouldAppsUseDarkMode.
Matteo Bruni (5):
wined3d: Fix handling of system-memory GL vertex buffers.
wined3d: Handle NULL push constant buffers with the ARB shader backend.
wined3d: Allow FFP blits to non-render targets with the 'none' shader backend.
wined3d: Implement shadow sampling for the ARB shader backend.
wined3d: Don't skip setting clip planes if the view transform state is dirty.
Mohamad Al-Jaf (16):
windows.media.mediacontrol/tests: Remove flakey ref count test.
include: Add ISystemMediaTransportControlsDisplayUpdater interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControls::get_DisplayUpdater().
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsDisplayUpdater::get/put_Type() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get/put_Type().
include: Add IMusicDisplayProperties interface definition.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsDisplayUpdater::get_MusicProperties().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Title() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Title().
windows.media.mediacontrol/tests: Add IMusicDisplayProperties::get/put_Artist() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties::get/put_Artist().
include: Add IMusicDisplayProperties2 interface definition.
windows.media.mediacontrol: Add IMusicDisplayProperties2 stub interface.
windows.media.mediacontrol/tests: Add IMusicDisplayProperties2::get/put_AlbumTitle() tests.
windows.media.mediacontrol: Implement IMusicDisplayProperties2::get/put_AlbumTitle().
windows.media.mediacontrol: Return success in ISystemMediaTransportControlsDisplayUpdater::Update().
Nikolay Sivov (7):
mfmediaengine/tests: Use a single helper to create engine instances.
include: Add IMFMediaEngineAudioEndpointId definition.
mfmediaengine: Keep engine extension pointer.
mfmediaengine: Use extension object in CanPlayType().
maintainers: Add EVR to the Media Foundation section.
mfmediaengine: Mask some source flags returned from GetResourceCharacteristics().
d3d10_1/tests: Add some more tests for fx_4_1 blend states.
Paul Gofman (8):
ntdll: Use .seh handler instead of __TRY in RtlUserThreadStart() on x64.
ntdll: Set EH_NESTED_CALL flag in call_stack_handlers() on x64.
ntdll: Use .seh handler in call_handler() on x64.
ntdll/tests: Add test for collided unwind.
ntdll: Use .seh handler in call_unwind_handler() on x64.
winegstreamer: Add AVDecVideoAcceleration_H264 attribute for h264 decoder MFT.
ntdll: Define heap block's BLOCK_FLAG_LFH as 0x80.
shell32: Use SearchPathW() for %l/%L in SHELL_ArgifyW().
Piotr Caban (1):
gdi32: Fix leak in GdiDeleteSpoolFileHandle.
Rémi Bernon (56):
include: Fix debugstr_fourcc printf format to print at most 4 chars.
dmime: Rewrite message thread with a condition variable.
dmusic: Set synth sink master clock when creating port.
dmsynth: Do nothing in IDirectMusicSynth_SetMasterClock.
dmusic: Forward IDirectMusicPort_Activate to synth and sink.
dmime: Use port latency time for messages with -1 time.
dmime: Update performance latency time with port latency.
dmime: Use latency time to decide when to process messages.
dmsynth: Create a render thread on sink activation.
dmsynth: Implement sink rendering to DirectSound buffer.
dmsynth: Correctly lookup instrument from the default drum bank.
dmsynth: Avoid using fluid_ prefix for internal helpers.
dmsynth: Fix DLS2 to FluidSynth conversion for CONN_SRC_CCx.
dmsynth: Fix FluidSynth generators for direct connections.
dmsynth: Convert modulator values from DLS2 to SF2 convention.
dmsynth: Set default modulators according to the DLS2 spec.
dmband: Download segment tracks if performance auto-download is set.
dmband: Set DMUS_PATCH_PMSG bank LSB/MSB from instrument patch.
dmime: Only use index if group is set in IDirectMusicSegment_SetParam.
dmime: Don't interrupt track iteration if SetParam failed.
dmime: Adjust MIDI message time with DMUS_NOTE_PMSG nOffset.
dmusic: Use a dmusic_midi.h header for MIDI messages.
dmime: Translate some DMUS_CURVE_PMSG messages to MIDI.
dmime: Remove FIXME from methods now mostly implemented.
dmime: Avoid crashing when purging notification messages.
dmime: Return S_OK from wave track SetParam GUID_UnloadFromAudioPath.
dmime: Return hr from wave track SetParam GUID_DownloadToAudioPath.
dmusic: Implement IDirectMusicObject interface on wave objects.
dmusic: Use the IDirectMusicObject interface for waves.
dswave: Use the dmusic wave object implementation.
dmime: Avoid releasing the newly created graph twice.
dmime/tests: Remove flaky track playing state test.
dmime/tests: Avoid checking message segment state reference count.
dmime/tests: Ignore failure on missing gm.dls in test_band_track_play.
dmusic/tests: Skip test_default_gm_collection if gm.dls is missing.
dmsynth: Set loop and sample generators on the fluid_voice.
dmime: Force recompute MIDI message reference time.
dmband: Skip band / band track chunk on parsing failure.
dmime: Skip sequence track chunk on parsing failure.
dmime: Skip segment chunk on parsing failure (or success).
dmime: Ignore badly formed wave if format and data have been found.
dmime: Remove shadowing local hr variable.
dmusic: Ignore some known wave chunks.
gitlab: Run tests with LP_NUM_THREADS=4 env var.
mf/tests: Avoid crashing if MF_BYTESTREAM_EFFECTIVE_URL is missing.
dmime: Pass IDirectMusicPerformance8 to segment state functions.
dmime: Pass PlaySegmentEx start time as track time offset.
dmband: Use time_offset to align track start with music time.
dmime: Use time_offset to align track start with music time.
dmime: Use an internal performance message for segment end.
dmstyle: Rename IDirectMusicStyle8Impl method prefix to style.
dmstyle: Get rid of the IDirectMusicStyle8Impl typedef.
dmstyle: Rewrite style part list parsing.
dmstyle: Rewrite style pref chunk parsing.
dmstyle: Rename style_motif to style_pattern.
dmstyle: Rewrite style pttn list parsing.
Sven Baars (2):
wined3d: Don't override the default renderer in wined3d_dll_init().
nsiproxy.sys: Return STATUS_SUCCESS from ipv6_forward_enumerate_all() on non-Linux.
Yuxuan Shui (1):
mfmediaengine: Don't send event notify when engine is shutdown.
Zebediah Figura (18):
advapi32: GetNamedSecurityInfo() takes a const name argument.
advapi32/tests: Use StringFromGUID2().
advapi32: Fix rewinding the last path segment in SetSecurityInfo().
advapi32/tests: Add more tests for GetSecurityInfo().
advapi32: Respect object type in GetSecurityInfo().
advapi32: Respect object type in SetSecurityInfo().
user32/tests: Add basic tests for GetUserObjectSecurity().
advapi32: Implement GetSecurityInfo(SE_WINDOW_OBJECT).
wined3d: Rename buffer dirty ranges fields.
wined3d: Use wined3d_array_reserve() to pre-allocate the buffer dirty ranges array.
wined3d: Do not track dirty ranges for buffers without WINED3D_BUFFER_USE_BO.
d3d10core/tests: Avoid POINT sampling exactly halfway between two mip levels.
d3d11/tests: Avoid POINT sampling exactly halfway between two mip levels.
include: Convert d3d10shader.h to an IDL.
include: Convert d3d10effect.h to an IDL.
ntdll: Do not reject data directories at the end of a file.
ws2_32/tests: Make sure that WSARecv() completes synchronously in test_WSARecv().
ws2_32/tests: Wait for AFD_POLL_RESET in test_get_events_reset().
1
0
The Wine development release 8.18 is now available.
What's new in this release:
- Bundled FluidSynth library for DirectMusic.
- More window management in the Wayland driver.
- More effect support in Direct3D 10.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.18.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 8.18 (total 44):
- #32574 Patrician 4 fails to start (Error in 'App::Initialize')
- #41645 Unreal Tournament 2004 crashes
- #43017 Unreal Tournament 2004/UT2004.exe crashes due to "intel_do_flush_locked failed: Cannot allocate memory"
- #43185 "Battle Bugs" game in unresponsive once game starts
- #44275 Shadow of Memories demo hangs at graphic setting screen
- #44276 Poor resolution change handling with Shadow of Memories demo
- #48905 Inner Chains Launches to Black Screen With Mouse Cursor
- #52641 Feeding Frenzy 2 crashes while loading
- #53276 comctl32:edit & user32:edit - test_paste() sometimes fails to access the clipboard on Windows
- #54069 ddraw:ddraw7 - test_texture_wrong_caps() sometimes fails on Windows 8+
- #54156 comctl32:edit & user32:edit - test_paste() sometimes gets an empty string on Windows
- #54420 preloader warning "failed to reserve range" macOS Ventura
- #54430 user32:menu - test_menu_input()'s test 0 sometimes fails on Windows 7
- #54441 windows.media.speech:speech - test_Recognition() sometimes gets unexpected recognizer state on Windows 10
- #54699 Motorola Ready For Assistant does not start, RoOriginateLanguageException in Windows.Networking
- #54744 explorerframe:taskbarlist - test_ITaskbarList() sometimes gets E_NOTIMPL on Windows
- #54783 cryptowinrt:crypto - test_Credentials_Statics() sometimes gets unexpectedly high refcount in Wine
- #54791 explorerframe:nstc - test_events() sometimes gets unexpected events on Windows 7
- #55108 xaudio2_8:xaudio2 fails on Windows 10+
- #55211 Print file not truncated before new print job is started with same target file
- #55236 scrrun:dictionary - The 64-bit test_hash_value() gets bad hashes on Windows
- #55241 The 64-bit winmm:capture & winmm:wave crash on Windows 8
- #55245 ntdll:om - The 32-bit test_all_kernel_objects() gets an access violation on the w8 VM
- #55272 The 64-bit ntdll:exception crashes on Windows 10 1607 & 1709
- #55273 ntdll:wow64 - The 64-bit test_cpu_area() gets bad offsets on Windows 10 1607 & 1709
- #55528 Vitis 2020.1 can't find its libraries (cmd.exe bug with nested one-line if statement that sets PATH)
- #55606 Finale 27 printing - incorrect linecap
- #55627 secur32:negotiate & secur32:ntlm crash from a NULL dereference on macOS
- #55631 ntdll:file - test_file_rename_information fails on Windows 10 1607 and older
- #55632 ntdll:file - test_file_link_information() fails on Windows 10 1709 and older
- #55634 Genshin Impact uses very long URLs
- #55648 ntdll:wow64 - test_peb_teb() crashes on macOS
- #55652 A FindResourceW() call prevents windows.applicationmodel:model from running on Windows 8
- #55656 user32:dialog - test_IsDialogMessage() fails in the hi-u8 and mx-MX locales on Windows
- #55658 msinfo32 fails to start on macOS / wow64 (was psapi:psapi_main - test_EnumProcessModules*() fails on macOS)
- #55670 Wordpad is no longer able to print multiple copies of a page
- #55674 64-bit wineserver/wine-preloader hangs on macOS 14.
- #55686 msvcr120:msvcr120 - test_StructuredTaskCollection() sometimes fails in Wine
- #55696 msvfw32:mciwnd - The 64-bit test_MCIWndCreate() crashes in Wine
- #55701 Sniper Elite 5 launcher opens Wine Internet Explorer instead of Options window
- #55708 cpython 3.12.0 fails to run on wine, needs unimplemented function propsys.dll.VariantToString
- #55713 mspaint.exe crashes with: Unhandled exception: unimplemented function propsys.dll.PropVariantToUInt32WithDefault
- #55732 kernel32:loader - The 64-bit test_import_resolution() fails in Wine
- #55733 ntdll:file - test_file_rename_information_ex() fails on Windows 10 1607 & 1709
----------------------------------------------------------------
Changes since 8.17:
Alex Henrie (14):
http: Use the strdup function instead of reimplementing it.
riched20: Use CRT allocation functions.
mfplat: Rename debugstr_fourcc to mf_debugstr_fourcc.
winecoreaudio: Rename wine_dbgstr_fourcc to coreaudio_dbgstr_fourcc.
include: Introduce wine_dbgstr_fourcc and debugstr_fourcc.
comctl32: Use the debugstr_fourcc function instead of reimplementing it.
ddraw: Use the debugstr_fourcc function instead of reimplementing it.
mciavi32: Use the debugstr_fourcc function instead of reimplementing it.
mscms: Use the debugstr_fourcc function instead of reimplementing it.
msvfw32: Use the debugstr_fourcc function instead of reimplementing it.
cmd: Reset ignoreBracket when moving to the next line.
uninstaller: Don't overallocate in FetchFromRootKey.
msvcrt/tests: Check errno after strdup(NULL).
msvcrt/tests: Add tests for wcsdup.
Alexandre Julliard (34):
nls: Update character tables to Unicode 15.1.0.
mpg123: Import upstream release 1.32.2.
tiff: Import upstream release 4.6.0.
zlib: Import upstream release 1.3.
xml2: Import upstream release 2.11.5.
ldap: Import upstream release 2.5.16.
faudio: Import upstream release 23.10.
kernel32/tests: Add some dynamic base tests.
kernel32/tests: Delete the correct manifest file.
ntdll: Do an explicit mmap address search for any range not covering the entire address space.
ntdll: Add a helper to find a mapping address for a PE image.
ntdll: Always allocate dynamically relocatable dlls top-down.
ntdll: Fix relocation of the 32-bit ntdll.
ntdll: Move the module relocation support to virtual.c.
ntdll: Support relocating the main exe.
server: Set the dynamically relocated flag when relocations are present.
server: Assign a system-wide mapping address for dynamic base modules.
ntdll: Relocate dynamic base modules when mapping them.
winegcc: Enable dynamic base by default.
server: Remove some leftover code from a failed rebase.
ntdll: Only create the main module on the 32-bit side for wow64.
ntdll: Add a separate helper to build the main module on Wow64.
ws2_32: Make htonl/htons/ntohl/ntohs proper functions.
include: Stop pretending to support big-endian.
winebuild: Add a helper to output an asm function header.
ntdll: Use the standard syscall calling convention for NtFlushProcessWriteBuffers.
makefiles: Remove unnecessary imports of version.dll.
makefiles: Remove unnecessary imports of usp10.dll.
makefiles: Always use the global SOURCES variable for .mc files.
makefiles: Always use the global SOURCES variable for .po files.
makefiles: Always use the global SOURCES variable for .m files.
makefiles: Always use the global SOURCES variable for .sfd files.
makefiles: Always use the global SOURCES variable for .in files.
ntdll: Move LdrInitializeThunk to the CPU backends.
Alexandros Frantzis (7):
winewayland.drv: Respect the compositor requested surface config.
winewayland.drv: Handle xdg_toplevel tiled states.
winewayland.drv: Store and use the latest window config for a wayland_surface.
winewayland.drv: Handle application-initiated fullscreen state.
winewayland.drv: Use surface geometry to satisfy state size constraints.
winewayland.drv: Rename wayland_surface_configure_is_compatible for consistency.
winewayland.drv: Avoid resizing fullscreen windows.
Alistair Leslie-Hughes (6):
d3dxof: Remove DECLSPEC_HIDDEN usage.
msxml3: IXMLDOMElement::selectSingleNode always assign a value to the output parameter.
wpcap: Return NULL on error in get_broadcast.
msado15: Move to newly created row in Recordset::AddNew.
msado15: Show fixme only if field_list needs to be used in Recordset::AddNew.
d3dx9: Support empty mesh in D3DXLoadMeshHierarchyFromXInMemory().
Ally Sommers (1):
server: Move getpeername() implementation from ntdll/unix.
Arkadiusz Hiler (1):
xinput1_3: Hold module reference while the hid thread is running.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan Shanks (7):
configure: Don't use -Wl,-z,defs if it causes link errors with 'environ'.
winemac.drv: Use @autoreleasepool instead of NSAutoreleasePool.
winemac.drv: Simplify control flow where possible after the removal of NSAutoreleasePool.
winemac.drv: Use ObjC literals.
wow64cpu: Use RTL_CONSTANT_STRING.
cfgmgr32: Add stub for CM_Get_Device_Interface_PropertyW.
winemac.drv: Fix redundant calls to [NSCursor set].
Connor McAdams (17):
uiautomationcore/tests: Add another test for IProxyProviderWinEventHandler child HWND scope checking.
uiautomationcore: Introduce uia_event_for_each function for iterating through registered events.
uiautomationcore: Check if we should try to invoke IProxyProviderWinEventHandler::RespondToWinEvent for registered UIA events.
uiautomationcore: Create HUIANODE for WinEvents that should invoke IProxyProviderWinEventHandler::RespondToWinEvent.
uiautomationcore: Add support for ignoring ProviderOptions_UseComThreading when creating an HUIANODE.
uiautomationcore: Add support for marking the root IAccessible as known on non-root IAccessibles upon proxy provider creation.
uiautomationcore: Pass WinEvent data to IProxyProviderWinEventHandler::RespondToWinEvent.
uiautomationcore: Add support for raising events passed to our IProxyProviderWinEventSink interface.
uiautomationcore/tests: Add tests for COM event handler event advisement.
uiautomationcore: Add support for passing WinEvents to the COM API.
uiautomationcore: Separate checking if a node is within the scope of a registered event from event invocation.
uiautomationcore: Use EVENT_OBJECT_SHOW to advise providers of events being listened for in the COM API.
win32u: Fix NtUserIsCurrent{Process/Thread}Window enum typo.
uiautomationcore/tests: Add tests for IUIAutomationFocusChangedEventHandler event advisement behavior.
uiautomationcore: Query EVENT_OBJECT_FOCUS HWND for a serverside provider if there is a registered focus change event handler.
uiautomationcore: Use EVENT_OBJECT_FOCUS to advise HWND providers of focus change events in the COM API.
uiautomationcore: Use EVENT_OBJECT_DESTROY to remove HWNDs from the COM API focus change HWND map.
Daniel Lehman (5):
advapi32/tests: Add ReadEventLogW tests for EventLogStarted.
advapi32/tests: Add ReadEventLogA tests for EventlogStarted.
msxml4/tests: Copy namespaces as attributes tests.
msxml6/tests: Copy namespaces as attributes tests.
advapi32/tests: Skip ReadEventLog on failure to open System log.
Eric Pouech (6):
winemac.drv: Use NtCallbackReturn to send back app's icons to unixlib.
msvfw32: Correctly store internal pointer.
dbghelp: Simplify allocation code.
dbghelp: Read debuggee environment by page.
winedbg: Set first LDT entry value as ntdll does.
winedbg: Correctly read LDT entries for wow64 debuggee.
Esme Povirk (1):
user32/tests: Print regions in test_hvredraw failure case.
Etaash Mathamsetty (1):
gdi32: Add stub for D3DKMTQueryAdapterInfo.
Fabian Maurer (1):
propsys: Implement PropVariantToUInt32WithDefault.
François Gouget (9):
winewayland.drv: Add a trailing linefeed to a TRACE() message.
dmsynth: Add a trailing linefeed to TRACE() messages.
nsiproxy.sys: Add a trailing linefeed to a TRACE() message.
secur32/tests: Skip the tests instead of crashing if Kerberos is not supported.
user32/tests: Don't test GetWindowModuleFileName() on windows belonging to another process.
advapi32/tests: Better identify OpenEventLogA() failures.
advapi32/tests: Add the read_write info to the failures context.
advapi32/tests: Avoid unneeded reallocations of the ReadEventLog() buffer.
advapi32/tests: Don't check the content of the buffer if ReadEventLog() fails.
Gabriel Ivăncescu (11):
mshtml: Call handle_event on the proper dispex object.
mshtml: Remove unused IUnknown_iface in func_disp_t.
mshtml: Traverse EventTarget listeners.
mshtml: Implement SuperNavigate undocumented flag 2.
shdoclc: Add a basic generic html page for navigation errors.
ieframe: Implement IEHTMLWindow2_get_document.
ieframe: Navigate to a basic error page on failed navigation.
ieframe: Use the original URL for error pages' address bar.
ieframe: Send the original URL for error pages in FireNavigationComplete2 notification.
ieframe: Send the original URL for error pages in FireDocumentComplete notification.
ieframe: Implement DocObjectService_IsErrorUrl.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.267.
Hans Leidekker (2):
mmdevapi/tests: Don't initialize the audio client twice.
mmdevapi/tests: Relax a capture test.
Helix Graziani (3):
nsiproxy.sys: Implement ipv6_forward_enumerate_all.
winecfg: Change system theme alongside app theme.
uxtheme: Add ShouldSystemUseDarkMode.
Jactry Zeng (1):
user32: Add more builtin string resources.
Joel Holdsworth (7):
ntdll: Initial implementation of FileRenameInformationEx.
ntdll: Initial implementation of FileLinkInformationEx.
ntdll/tests: Add tests for FILE_RENAME_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Add tests for FILE_LINK_IGNORE_READONLY_ATTRIBUTE.
server: Don't allow read-only files to be replaced by File{Rename,Link}Information{,Ex}.
ntdll: Add support for FILE_{RENAME,LINK}_IGNORE_READONLY_ATTRIBUTE.
ntdll/tests: Fix FILE_RENAME_INFORMATION_EX test failures on Windows 10 1607 & 1709.
Marcus Meissner (1):
user32/tests: Use correct size to LoadStringW.
Martin Storsjö (1):
configure: Fix restoring CFLAGS after the test for -Wl,-z,defs.
Matteo Bruni (1):
d3dx9/tests: Get rid of unnecessary branches in D3DXLoadMeshTest().
Mohamad Al-Jaf (17):
windows.storage.applicationdata: Add stub DLL.
windows.storage.applicationdata: Add IApplicationDataStatics stub interface.
windows.storage.applicationdata/tests: Add IApplicationDataStatics::get_Current() tests.
windows.storage.applicationdata: Implement IApplicationDataStatics::get_Current().
include: Add ISystemMediaTransportControls interface definition.
windows.media.mediacontrol: Add stub DLL.
include: Add systemmediatransportcontrolsinterop.idl file.
windows.media.mediacontrol: Add ISystemMediaTransportControlsInterop stub interface.
windows.media.mediacontrol/tests: Add ISystemMediaTransportControlsInterop::GetForWindow() tests.
windows.media.mediacontrol: Implement ISystemMediaTransportControlsInterop::GetForWindow().
windows.media.mediacontrol/tests: Add some ISystemMediaTransportControls properties tests.
windows.media.mediacontrol: Implement some ISystemMediaTransportControls properties.
include: Add windows.security.credentials.ui.idl file.
windows.security.credentials.ui.userconsentverifier: Add stub DLL.
windows.security.credentials.ui.userconsentverifier: Add IUserConsentVerifierStatics stub interface.
windows.security.credentials.ui.userconsentverifier: Implement IUserConsentVerifierStatics::CheckAvailabilityAsync().
windows.security.credentials.ui.userconsentverifier/tests: Add IUserConsentVerifierStatics::CheckAvailabilityAsync() tests.
Nikolay Sivov (25):
d3d10/effect: Add support for 'buge'/'bult' instructions.
d3d10/tests: Compact returned arrays checks.
d3d10/effect: Add support for 'ceil' instruction.
d3d10/effect: Add support for 'floor' instruction.
d3d10/effect: Add support for 'dot' instruction.
propsys: Partially implement VariantToString().
propsys: Handle VT_I4 type in VariantToString().
d3d10/effect: Add support for 'imul' instruction.
d3d10/tests: Use vector helpers in more places.
d3d10/effect: Add support for 'sqrt' instruction.
d3d10/effect: Add support for 'rsq' instruction.
d3d10/effect: Add support for 'log' instruction.
d3d10/effect: Add support for 'exp' instruction.
d3d10/effect: Add support for 'not' instruction.
d3d10/effect: Add support for 'or' instruction.
d3d10/effect: Add support for shift instructions.
d3d10/tests: Add a test for log2/log10/exp2 functions in expressions.
gdi32/emf: Fix miter limit serialization.
gdi32/tests: Add some tests for SetMiterLimit() argument validation.
gdi32: Reject invalid values in SetMiterLimit().
gdi32/emf: Add SetMetaRgn() recording.
winedump/emf: Add EMR_SETMITERLIMIT record dumping.
gdi32/emf: Add SetBrushOrgEx() recording.
gdi32/tests: Add some tests for FixBrushOrgEx().
d3dx9: Check for tx_1_0 blob magic earlier in D3DXCreateTextureShader().
Paul Gofman (5):
secur32: Synchronize access to schannel handle table.
server: Hold socket reference in sock_poll_event().
ntdll: Map EDESTADDRREQ to STATUS_INVALID_CONNECTION.
imagehlp: Import functions instead of forwarding.
ntdll: Implement NtQueryValueKey(KeyValuePartialInformationAlign64).
Piotr Caban (16):
msvcr110: Reset chore task_collection earlier to prevent occasional test failure.
gdi32: Pass default DEVMODE to winspool in CreateDC.
gdi32: Add partial support for creating EMREXTCREATEPEN records.
wineps: Add support for EMR_EXTCREATEPEN record playback.
localspl: Add ResetPrinter implementation.
winspool.drv: Add ResetPrinterW implementation.
gdi32: Update printer DEVMODE in ResetDCW.
gdi32: Fix METADC handling in PlayMetaFile.
gdi32: Test PlayMetaFile on METADC.
include: Add winppi.h header.
gdi32: Add GdiGetSpoolFileHandle stub.
gdi32: Add GdiDeleteSpoolFileHandle stub.
gdi32: Add GdiGetDevmodeForPage stub.
gdi32: Add GdiGetDevmodeForPage implementation.
wineps.drv: Use first page DEVMODE to determine number of copies and collation.
localspl: Truncate output file when printing to file.
Rémi Bernon (40):
dmime: Rename DirectMusicSegmentState8 method prefix to segment_state.
dmime: Get rid of the IDirectMusicSegmentState8Impl typedef.
dmime: Implement some segment state default values.
dmime: Redirect IDirectMusicPerformance_PlaySegment to PlaySegmentEx.
dmime: Introduce a new segment_state_create constructor.
dmime/tests: Tests interaction between CloseDown and notifications.
dmime: Keep messages with the same time ordered.
dmime: Free all pending messages after CloseDown.
dmime: Send DMUS_PMSGT_DIRTY messages from the performance.
dmime: Send DMUS_PMSGT_NOTIFICATION messages from the performance.
dmime: Implement IDirectMusicPerformance_GetNotificationPMsg.
dmime: Call IDirectMusicTrack_(Init|End)Play from the segment state.
include: Avoid narrowing warning in wine_dbgstr_fourcc.
dmime/tests: Queue the message before calling SendPMsg twice.
dmsynth: Import and use FluidSynth 2.3.3.
fluidsynth: Use Wine debugging facility for traces.
dmsynth: Simplify IDirectMusicSynth8_Open checks.
dmsynth: Create a fluid_synth instance on Open.
dmsynth: Create and register a fluid_sfont instance.
server: Send WM_WINE_SETCURSOR with the thread input cursor handle.
dmime: Get rid of the IDirectMusicWaveTrack typedef.
dmime: Include dmobject.h in dmime_private.h.
dmusic: Split wave entry points to dmusic_wave.h.
dmime: Create a wave track when loading a segment from a .wav.
dmime: Implement GUID_(Download|Unload)FromAudioPath for wave track.
dmime: Implement IDirectMusicTrack_Play for the wave track.
dmime: Play direct sound buffer from DMUS_PMSGT_WAVE message.
dmsynth: Fix synth download of articulations list.
dmsynth: Improve debug traces of DLS2 connections.
dmsynth: Guard synth members with a CS.
dmsynth: Parse MIDI events in IDirectMusicSynth_PlayBuffer.
dmsynth: Play some MIDI events in IDirectMusicSynth_Render.
dmsynth: Create fluid_preset and fluid_voice from instrument.
dmband: Download / unload bands when initializing / ending band track.
dmime: Implement sequence track IDirectMusicTrack_Play.
dmime: Implement band track IDirectMusicTrack_Play.
dmime: Output DMUS_MIDI_PMSG into a music buffer on the port.
dmime: Translate DMUS_PMSGT_NOTE to DMUS_PMSGT_MIDI messages.
dmime: Translate DMUS_PMSGT_PATCH to DMUS_PMSGT_MIDI messages.
winex11: Forcefully unmap the clipping window when it loses focus.
Stefan Dösinger (1):
wined3d: Reference the push constant buffers.
Zebediah Figura (15):
objsel: Remove unnecessary includes.
objsel: Remove DLL refcount tracking.
objsel: Merge factory.c into objsel.c.
objsel: Do not check for a NULL interface in COM methods.
objsel: Do not create an object from IClassFactory::QueryInterface().
wined3d: Rename WINED3D_MAX_TEXTURES to WINED3D_MAX_FFP_TEXTURES.
wined3d: Rename the "textures" field of struct wined3d_gl_limits to "ffp_textures".
wined3d: Rename the "MaxSimultaneousTextures" field of struct fragment_caps to "max_textures".
wined3d: Rename the "MaxTextureBlendStages" field of struct fragment_caps to "max_blend_stages".
wined3d: Store the "wined3d_caps" field of struct fragment_caps as separate bool flags.
wined3d: Store a fragment_caps structure in struct wined3d_d3d_info.
shell32: Fix parsing empty arguments in parse_dde_command().
ddraw: Do not check for DDRAW_NO3D in wined3d_resource_desc_from_ddraw().
ddraw: Refactor how bind flags are computed.
ddraw: Always create surfaces with WINED3D_BIND_SHADER_RESOURCE if possible.
Zhiyi Zhang (2):
mf: Avoid a double free of presentation clock timers.
winex11.drv: Set _NET_WM_FULLSCREEN_MONITORS only when necessary.
1
0
The Wine development release 8.17 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.9.
- Initial window management in the Wayland driver.
- SoundFont support in DirectMusic.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.17.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 8.17 (total 19):
- #34789 MeGUI: Wrong icon for file chooser
- #38823 Sumatra PDF 3.0: tabs don't work correctly
- #43137 The Elder Scrolls: Oblivion crashes after opening logo screens.
- #46483 Cemu 1.12.0 crashes on unimplemented function msvcp140.dll.?_Throw_C_error(a)std@@YAXH(a)Z
- #48969 RageMP crashes on unimplemented function msvcp140.dll.?_Throw_future_error(a)std@@YAXAEBVerror_code(a)1@@Z
- #51327 GdipCreateFont initializes font with ANSI_CHARSET
- #54588 iphlpapi:iphlpapi - test_GetExtendedTcpTable() sometimes fails because the buffer is too small in Wine
- #55001 ToneX by IK Multimedia needs unimplemented function msvcp140.dll.?_Throw_C_error(a)std@@YAXH(a)Z
- #55184 Dwarf Fortress (Steam) crashes on unimplemented function msvcp140_atomic_wait.dll.__std_acquire_shared_mutex_for_instance
- #55240 The 64-bit winmm:capture & winmm:wave get BADDEVICEID on Windows 10+
- #55486 Finale 27 printing mangled
- #55522 SoftEther VPN Server Manager
- #55529 Text in SRPG Studio games ends with a tofu/missing character glyph.
- #55587 quartz:vmr9 - test_changed3ddevice() crashes on Windows 8+
- #55592 Separable Subsurface Scattering needs 'mov' opcode support for fx_4_0 effect
- #55599 Metatrader 4 - not possible to add any indicator to a chart
- #55614 ReCore crashes on unimplemented function msvcp110.dll.?_Winerror_map(a)std@@YAPEBDH(a)Z
- #55635 mfreadwrite:mfplat - test_interfaces() crashes on Windows 7 & 8
- #55651 d3d10:effect - test_effect_fx_4_1_blend_state() fails on Windows 7+
----------------------------------------------------------------
Changes since 8.16:
Akihiro Sagawa (3):
cmd/tests: Add dir built-in command test.
cmd/tests: Test file time stamp format.
cmd: Always outputs leading zeros when listing file time information.
Alex Henrie (24):
include: Move RTL functions that belong in winnt.h from winternl.h to winnt.h.
oleaut32: Use CRT allocation functions in connpt.c.
oleaut32: Use CRT allocation functions in hash.c.
oleaut32: Use CRT allocation functions in olepicture.c.
oleaut32: Use CRT allocation functions in typelib.c.
advpack: Use CRT allocation functions.
gameux: Use CRT allocation functions.
mciwave: Use CRT allocation functions.
msvfw32: Use CRT allocation functions.
ncrypt: Use the wcsdup function instead of reimplementing it.
shell32: Use the wcsdup function instead of reimplementing it.
wshom: Use the wcsdup function instead of reimplementing it.
dsound: Use malloc and free instead of _recalloc.
conhost: Use the wcsdup function instead of reimplementing it.
dxdiag: Use CRT allocation functions.
reg: Use the wcsdup function instead of reimplementing it.
regedit: Use the wcsdup function instead or reimplementing it.
sc: Use CRT allocation functions.
wordpad: Use the wcsdup function instead of reimplementing it.
avifil32: Use CRT allocation functions.
wpcap: Use the strdup function instead of reimplementing it.
include: Move RTL functions that belong in ntddk.h from winternl.h to ntddk.h.
include: Correct conflicting definition of PSID.
include: Correct conflicting definition of PSECURITY_DESCRIPTOR.
Alexandre Julliard (26):
winebuild: Add a separate helper for .seh annotations.
winebuild: Remove unnecessary .cfi_startproc/endproc annotations.
winebuild: Add a few more SEH annotations.
winebuild: Make the syscall thunks position-independent on ARM64.
oleaut32: Add SEH annotations to ARM64 assembly code.
rpcrt4: Add SEH annotations to ARM64 assembly code.
vcomp: Add SEH annotations to ARM64 assembly code.
ntdll: Remove unneeded SEH annotations in Unix code.
kernel32/tests: Comment out one more test that can crash on Windows.
kernel32/tests: Don't make assumptions about argv[0] of the main process.
kernel32/tests: Unaligned SRW locks crash on ARM platforms.
kernel32/tests: Update dll characteristics to make the module loadable on ARM64.
vkd3d: Import upstream release 1.9.
server: Don't zero out the PE optional header regardless of specified size.
winedump: Don't zero out the PE optional header regardless of specified size.
ntdll: Consistently use the IMAGE_FIRST_SECTION helper macro.
dbghelp: Consistently use the IMAGE_FIRST_SECTION helper macro.
imagehlp: Use the IMAGE_FIRST_SECTION helper macro.
krnl386: Use the IMAGE_FIRST_SECTION helper macro.
widl: Use the IMAGE_FIRST_SECTION helper macro.
kernel32/tests: Fix loader tests on Windows ARM64.
winebuild: Set ASLR-related dll flags by default.
server: Require ASLR support on non-x86 platforms.
ntdll: Release the low address space reservation for 64-bit apps.
ntdll: Don't release the low address space reservation on wow64.
ntdll: Don't free reserved memory on 64-bit macOS.
Alexandros Frantzis (7):
winewayland.drv: Remove wayland_surface destruction double locking.
winewayland.drv: Handle xdg_toplevel close event.
winewayland.drv: Handle xdg_toplevel configure event size hint.
winewayland.drv: Handle xdg_toplevel maximized state.
winewayland.drv: Handle client-initiated user-driven window move.
winewayland.drv: Handle client-initiated user-driven window resize.
winewayland.drv: Fix removal of wl_seat globals.
Alistair Leslie-Hughes (9):
mfreadwrite/reader: Update to IMFSourceReaderEx.
d3drm: Correctly query for the returned interface.
msado15: Recordset::Open - Correctly update count/index values.
mfreadwrite/tests: Move test_interfaces after test_factory.
msado15: _Recordset::Filter set index on value.
d3dx9: Trace pointer value in D3DXValidMesh().
msado15: Implement _Recordset::get_ActiveConnection.
msado15: _Recordset::Open store active connection parameter.
msado15: Update editMode in AddNew/Cancel/Update functions.
Ally Sommers (2):
server: Return WSAEOPNOTSUPP on listen() if the socket's type is SOCK_DGRAM.
ws2_32/tests: Add more tests for SO_REUSEADDR.
Andrew Brobston (1):
d2d1: Support GUID_WICPixelFormat32bppRGB.
Bartosz Kosiorek (1):
gdiplus/tests: Add tests of InterpolationMode Bilinear for GdipDrawImagePointsRect.
Biswapriyo Nath (19):
include: Add ID3D12VideoDecoder in d3d12video.idl.
include: Add ID3D12VideoDevice in d3d12video.idl.
include: Add ID3D12VideoDecoderHeap in d3d12video.idl.
include: Add ID3D12VideoDecodeCommandList in d3d12video.idl.
include: Add video decode profile guids in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT in d3d12video.idl.
include: Add ID3D12VideoDevice1 in d3d12video.idl.
include: Add ID3D12VideoExtensionCommand in d3d12video.idl.
include: Add ID3D12VideoDevice2 in d3d12video.idl.
include: Add ID3D12VideoEncoder in d3d12video.idl.
include: Add ID3D12VideoEncoderHeap in d3d12video.idl.
include: Add ID3D12VideoDevice3 in d3d12video.idl.
include: Add ID3D12VideoMotionEstimator in d3d12video.idl.
include: Add ID3D12VideoMotionVectorHeap in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList in d3d12video.idl.
include: Add ID3D12VideoDecodeCommandList1 in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList1 in d3d12video.idl.
include: Add ID3D12VideoEncodeCommandList2 in d3d12video.idl.
include: Add some structures in d3d12video.idl.
Brendan Shanks (3):
winecoreaudio: Stop using the deprecated kAudioObjectPropertyElementMaster constant.
winecoreaudio: Use os_unfair_lock when available instead of OSSpinLock.
msv1_0: Implement ntlm_fork() using posix_spawn().
Connor McAdams (21):
uiautomationcore: Add UiaHasServerSideProvider stub.
uiautomationcore: Add a common helper function for creating HUIANODEs.
uiautomationcore: Implement UiaHasServerSideProvider.
include: Add missing WinEvent definitions.
uiautomationcore/tests: Add method expect definitions for all Accessible test interfaces.
uiautomationcore/tests: Add support for debug printing Accessible method calls.
uiautomationcore/tests: Add support for debug printing Provider method calls.
uiautomationcore: Add stub IRawElementProviderFragmentRoot implementation for MSAA providers.
uiautomationcore: Add a common helper function for querying IServiceProvider on IAccessible interfaces.
uiautomationcore: Implement IRawElementProviderFragment::get_FragmentRoot for MSAA providers.
uiautomationcore: Don't return oleacc proxy IAccessibles from GetIAccessible for MSAA providers.
uiautomationcore/tests: Increase wait timeout for cross-process event with navigation.
uiautomationcore: Pass through failure HRESULTS on MSAA accState based property IDs for MSAA providers.
uiautomationcore: Implement IRawElementProviderFragmentRoot::GetFocus for MSAA providers.
uiautomationcore: Add stub IProxyProviderWinEventHandler implementation for MSAA providers.
uiautomationcore: Handle EVENT_SYSTEM_ALERT in IProxyProviderWinEventHandler::RespondToWinEvent() for MSAA providers.
uiautomationcore/tests: Add tests for IProxyProviderWinEventHandler based MSAA to UIA event bridging.
uiautomationcore: Check providers for an IProxyProviderWinEventHandler interface when attaching events.
uiautomationcore: Add WinEvent hook on the UIA event thread.
uiautomationcore: Track HWNDs that need WinEvent translation.
uiautomationcore: Make sure event thread is started when listening for WinEvents.
Eric Pouech (3):
dbghelp: Check that dwarf unwinder did actually unwind.
ntdll: Allow empty application nodes in actctx.
winedump: Improve dumping DEBUG directory entries in PE images.
Esme Povirk (4):
user32/tests: Account for some messages from dual-monitor setups.
user32/tests: Fix WM_WINDOWPOSCHANGED entries.
user32/tests: Use a child window for test_PeekMessage3.
user32/tests: Use open_clipboard helper in msg tests.
François Gouget (1):
tests: Update the documentation.
Gabriel Ivăncescu (22):
mshtml: Move some Element methods around.
mshtml: Move some AnchorElement methods up.
mshtml: Move some AreaElement methods up.
mshtml: Move some FormElement methods up.
mshtml: Move some FrameElement methods down.
mshtml: Move some IFrame methods down.
mshtml: Move some ObjectElement methods up.
mshtml: Move some SelectElement methods up.
mshtml: Move node vtbl QI methods around.
mshtml: Move node vtbl destructor methods down.
mshtml: Get rid of useless element destructors.
mshtml: Use specific dispex vtbls for remaining HTML elements.
mshtml: Use specific dispex for each SVG element.
mshtml: Use the dispex's query_interface for DocumentType nodes.
mshtml: Use the dispex's query_interface for Document nodes and fragments.
mshtml: Use the dispex's query_interface for DOMTextNodes.
mshtml: Use the dispex's query_interface for the remaining nodes.
mshtml: Use the dispex's destructor for all nodes.
mshtml: Use the dispex's get_dispid for all nodes.
mshtml: Use the dispex's get_name for all nodes.
mshtml: Use the dispex's invoke for all nodes.
mshtml: Use the event_target vtbl's handle_event for all nodes.
Hans Leidekker (6):
winmm/tests: Avoid truncating the handle passed to waveInGetDevCapsW().
wbemprox: Get Win32_OperatingSystem.BuildType from the registry.
wbemprox: Fix Win32_OperatingSystem.TotalVirtual/VisibleMemorySize.
wbemprox: Implement Win32_OperatingSystem.InstallDate.
systeminfo: Add an implementation on top of WMI.
secur32: Only return success from initialize_package() when initialization fully succeeds.
Henri Verbeet (2):
wined3d: Don't validate the frontbuffer's DRAWABLE location in wined3d_swapchain_resize_buffers() when NO3D is set.
d3d11/tests: Properly mark the indexed sample position test as succeeding with the Vulkan backend.
Huw D. M. Davies (1):
gdiplus: Copy the compound array in GdipClonePen().
Jacek Caban (4):
mshtml: Remove unused functions.
include: Support ARM64EC target in intrin.h.
include: Move __getReg intrinsic to intrin.h.
include: Support ARM64EC target in winnt.h.
Jactry Zeng (5):
msi: Use CreateFileW() for handling path from cabinet_open() instead.
cabinet/tests: Initialize CURR_DIR globally.
msxml3: Store ValidateOnParse property in domdoc_properties instead.
msxml3: Add ValidateOnParse support for IXMLDOMDocument3_{get,set}Property().
msxml3/tests: Add tests of ValidateOnParse property.
Jeff Smith (2):
gdiplus/tests: Test GdipCreateFont character set initialization.
gdiplus: Fix GdipCreateFont character set initialization.
Jinoh Kang (1):
wbemprox: Fix out-of-bounds access caused by codepoints above U+00FF.
Joel Holdsworth (6):
include: Add flags to FILE_RENAME_INFORMATION used by FileRenameInformationEx.
ntdll/tests: Test both FileRenameInformation and FileRenameInformationEx in test_file_rename_information.
include: Add flags to FILE_LINK_INFORMATION used by FileLinkInformationEx.
ntdll/tests: Test both FileLinkInformation and FileLinkInformationEx in test_file_link_information.
ntdll/tests: Skip FileRenameInformationEx tests on older Windows versions.
ntdll/tests: Skip FileLinkInformationEx tests on older Windows versions.
Martin Storsjö (2):
include: Update the d3d12 headers from vkd3d.
include: Update the d3d12 header from vkd3d.
Mohamad Al-Jaf (7):
windows.applicationmodel: Add IPackageStatics stub interface.
windows.applicationmodel: Implement IPackageStatics::get_Current().
windows.applicationmodel: Implement IPackage::get_InstalledLocation().
windows.applicationmodel: Add IStorageItem stub interface.
windows.applicationmodel/tests: Add IStorageItem::get_Path() tests.
windows.applicationmodel: Implement IStorageItem::get_Path().
windows.applicationmodel/tests: Use PathRemoveFileSpecW() instead of PathCchRemoveFileSpec().
Nikolay Sivov (6):
d3d10/effect: Implement 'mov' opcode for expressions.
d3d10/effect: Implement instructions used for signed integer division.
d3d10/effect: Add signed integer compare instructions for expressions.
d3d10/tests: Add some tests for D3D10.1 blend state in effects.
d3dcompiler: Add support for matrix majority compiler flags.
d3d10/tests: Test for correct return value.
Paul Gofman (7):
mf/tests: Add tests for AAC decoder with different input number of channels.
winegstreamer: Handle missing or zero channel count in _GetOutputAvailableType in AAC decoder.
winegstreamer: Correct output available types attrs in AAC decoder for channel count > 2.
winegstreamer: Validate maximum channel count in _SetInputType in AAC decoder.
winegstreamer: Also return output with 2 channels for multichannel inputs from AAC decoder.
shell32: Avoid stack corruption with long name in SHELL_TryAppPathW().
shell32: Handle long command line in execute_from_key().
Piotr Caban (7):
msvcp110: Add _Winerror_map implementation.
msvcr110: Simplify _StructuredTaskCollection finished task counter updating.
msvcr110: Use Context blocking functions in _StructuredTaskCollection class.
msvcp140_atomic_wait: Add __std_acquire_shared_mutex_for_instance implementation.
wineps.drv: Remove unused hmtx_tab field from TYPE42 structure.
wineps.drv: Don't crash if specified font is missing required table in T42_download_header.
msvcp90: Silence FIXME in _Locinfo::_Locinfo_ctor and _Locinfo::_Locinfo_Addcats functions.
Rémi Bernon (74):
dmusic: Avoid swallowing collection Load failures.
dmusic: Rewrite downloading instrument to port.
dmusic: Parse collection wave table.
dmusic: Parse collection wave lists.
dmusic: Keep an internal ref on the instrument's collection.
dmusic: Implement downloading wave to port.
dmusic: Parse instrument regions articulation lists.
dmusic: Implement instrument articulation downloads.
dmime/tests: Test that SendPMsg also converts reference time.
dmime: Convert DMUS_PMSG music and reference times in SendPMsg.
dmime: Get rid of the DMUS_PMSGItem typedef.
dmime: Use a struct list to keep performance messages.
dmime: Remove unnecessary struct message members.
dmime: Rename DMUS_PMSGToItem to message_from_DMUS_PMSG.
dmime: Pass the DMUS_PMSG through the performance graph.
dmband: Rename IDirectMusicBandImpl prefix to band.
dmband: Get rid of the IDirectMusicBandImpl typedef.
dmband: Get rid of the IDirectMusicBandTrack typedef.
dmband: Avoid leaking bands on band track Release.
dmband: Avoid leaking collection on band release.
dmband: Rewrite band lbin list parsing.
dmband: Rewrite band lbil list parsing.
dmband: Rewrite band dmbd chunk parsing.
dmband: Rewrite band IPersistStream_Load.
dmime: Rename IDirectMusicSegment8Impl method prefix to segment.
dmime: Use one-liners for segment parameter checks.
dmime: Get rid of the IDirectMusicSegmentImpl typedef.
dmime: Avoid leaking tracks in IDirectMusicSegment_Release.
dmime: Rewrite segment IDirectMusicSegment_GetTrack.
dmime: Rewrite segment IDirectMusicSegment_GetTrackGroup.
dmime: Rewrite segment IDirectMusicSegment_InsertTrack.
dmime: Rewrite segment IDirectMusicSegment_RemoveTrack.
dmime: Use segment_append_track in Clone and parse_track_form.
dmime/tests: Add some DMUS_NOTIFICATION_PMSG tests.
dmime/tests: Test wave segments and DMUS_WAVE_PMSG.
dmime/tests: Test sequence track and DMUS_NOTE_PMSG.
dmime/tests: Test band track and DMUS_PATCH_PMSG.
dmusic/tests: Fixup chunk alignment in steam_end_chunk.
dmusic: Keep the original instrument patch in the entry.
dmband: Rewrite band track lbdl/lbnd lists parsing.
dmband: Rewrite band track DBMT chunk parsing.
dmband: Rewrite band track IPersistStream_Load.
dmime: Get rid of the IDirectMusicSeqTrack typedef.
dmime: Implement DirectMusicSeqTrack IPersistStream_Load.
dmloader: Rename IDirectMusicLoaderImpl method prefix to loader.
dmloader: Get rid of the IDirectMusicLoaderImpl typedef.
dmloader: Initialize ref to 1, and release after QueryInterface.
dmloader: Introduce a new loader_stream_create helper.
dmloader: Get rid of the custom generic stream wrapper.
dmime/tests: Remove some duplicated tests.
dmime/tests: Move performance tests into dmime.c.
dmime/tests: Test performance Init with a created port.
dmime: Set the port direct sound before activating it.
dmime: Initialize performance in Init rather than InitAudio.
dmime: Return DMUS_E_AUDIOPATHS_IN_USE when audio paths are in use.
dmime: Return DMUS_E_AUDIOPATH_INACTIVE when audio paths are not enabled.
dmloader: Use a simpler file stream implementation.
dmusic/tests: Test default gm.dls sound font instruments.
dmloader: Remove invalid default DLS collection check.
dmloader: Add fallbacks if the configured GMFilePath doesn't exist.
dmusic: Avoid leaking articulations when freeing regions.
dmusic: Avoid crashing in traces if wave doesn't have a WSMPL.
dmusic: Implement SoundFont2 collection parsing.
dmusic: Implement SoundFont2 wave sample parsing.
dmusic: Implement SoundFont2 instrument parsing.
dmime/tests: Add some tests for GUID_ConnectToDLSCollection.
dmime/tests: Test segment state and playing a custom track.
dmime: Implement IDirectMusicSegment_SetParam.
dmband: Implement band track GUID_ConnectToDLSCollection parameter.
dmime: Implement IDirectMusicSegment_(Download|Unload).
dmband: Implement IDirectMusicBand_(Download|Unload).
dmband: Implement band track GUID_UnloadFromAudioPath parameter.
dmband: Implement band track GUID_DownloadToAudioPath parameter.
dmime: Implement IDirectMusicPerformance_DownloadInstrument.
Yuxuan Shui (4):
gdi32: Make GetStockObject hotpatchable.
user32: Make CallWindowProcA hotpatchable.
user32: Add hotpatchable wrapper for GetWindowLongA.
rtworkq: Fix leak of thread pool work items.
Zebediah Figura (5):
wined3d: Pass a wined3d_stateblock_state to wined3d_device_validate_device().
d3d10core/tests: Test performing a full clear after a draw.
wined3d: Remove invalid parameter checks from internal wined3d_device_set_*() functions.
wined3d: Make wined3d_stateblock_state_{init,cleanup}() static.
wined3d: Move struct wined3d_stateblock into stateblock.c.
Zhiyi Zhang (2):
user32/tests: Fix test failures in Hindi UTF-8 and mixed locales.
user32: Enable IsDialogMessageA() ASCII to Unicode mapping only when the user default lang ID is CJK.
1
0
The Wine team is proud to announce that release 1.9 of vkd3d, the Direct3D to
Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Yet more improvements to the HLSL compiler.
- A new utility to inspect the contents of DXBC blobs.
- Miscellaneous bug fixes.
The source is available from the following location:
https://dl.winehq.org/vkd3d/source/vkd3d-1.9.tar.xz
The current source can also be pulled directly from the git repository:
https://gitlab.winehq.org/wine/vkd3d.git
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
----------------------------------------------------------------
What's new in vkd3d 1.9
=======================
*** libvkd3d
- Copying between depth/stencil and colour formats in
ID3D12GraphicsCommandList::CopyResource() is supported.
- The ID3D12Fence1 interface is supported.
*** libvkd3d-shader
- vkd3d_shader_scan() supports retrieving descriptor information for `d3dbc'
shaders. This is one of the requirements for eventual SPIR-V generation from
`d3dbc' sources.
- New features for the HLSL source type:
- Support for the following intrinsic functions:
- clip()
- ddx_coarse() and ddy_coarse()
- ddx_fine() and ddy_fine()
- tex1D(), tex2D(), texCUBE(), and tex3D()
- Constant folding support for more expression types. In particular:
- comparison operators
- floating-point min() and max()
- logical `and' and `or'
- dot products
- square roots
- logarithms
- Support for multi-sample texture object declarations without explicit
sample counts in shader model 4.1 and later shaders.
- Support for using constant expressions as sample counts in multi-sample
texture object declarations.
- Support for variable initialisers using variables declared earlier in the
same declaration list. E.g., `float a = 1, b = a, c = b + 1;'.
- The GetDimensions() texture object method is implemented.
- Matrix swizzles are implemented.
- Parser support for if-statement attributes like `[branch]' and
`[flatten]'.
- Support for the `inline' function modifier.
- Previously, vkd3d_shader_compile() would in some cases return VKD3D_OK
despite compilation failing when targeting legacy Direct3D bytecode. These
cases have been fixed.
- Various HLSL preprocessor fixes for edge cases related to stringification.
- SPIR-V target support for the `linear noperspective centroid' input
interpolation mode.
- New interfaces:
- The vkd3d_shader_scan_signature_info structure extends the
vkd3d_shader_compile_info structure, and can be used to retrieve
descriptions of `dxbc-tpf' and `d3dbc' shader inputs and outputs.
- vkd3d_shader_free_scan_signature_info() is used to free
vkd3d_shader_scan_signature_info structures.
- The VKD3D_SHADER_COMPILE_OPTION_PACK_MATRIX_ORDER compile option can be
used to specify the default matrix packing order for HLSL sources.
- The vkd3d_shader_varying_map_info structure extends the
vkd3d_shader_compile_info structure, and can be used to specify a mapping
between the outputs of a shader stage and the inputs of the next shader
stage.
- vkd3d_shader_build_varying_map() is used to build a mapping between the
outputs of a shader stage and the inputs of the next shader stage.
- The VKD3D_SHADER_DESCRIPTOR_INFO_FLAG_RAW_BUFFER flag returned as part of
the vkd3d_shader_descriptor_info structure indicates the descriptor refers
to a byte-addressed (`raw') buffer resource.
*** vkd3d-compiler
- The `--matrix-storage-order' option can used to specify the default matrix
storage order for HLSL sources.
*** vkd3d-dxbc
- vkd3d-dxbc is a new utility that can be used to inspect the contents of DXBC
blobs.
1
0
The Wine development release 8.16 is now available.
What's new in this release:
- Beginnings of a DirectMusic revival.
- Many fixes and improvements in the regression tests.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.16.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 8.16 (total 33):
- #42809 GPS Track Editor: arrows not shown
- #51561 Wine's built-in gdiplus.dll lags in Paint.NET compared to native (Win 7) gdiplus.dll
- #51995 Roblox's bad performance on Wine
- #52196 BENNING PC-Win ST 750-760 Designer crashes on start, needs GdipSetPenCompoundArray implementation
- #53435 user32:msg - test_SendMessage_other_thread() sometimes gets a wrong status on Windows
- #54202 mscoree:mscoree breaks user32:msg - subtest_hvredraw() fails on most Windows 7 test configurations
- #54331 Game "Antecrypt": Black screen after launch
- #54368 ::DrawGeometry doesn't respect stroke style
- #54655 user32:msg - test_InSendMessage() sometimes gets unexpected flags on Windows
- #54683 shlwapi:ordinal - test_SHFormatDateTimeA() fails due to daylight saving time on Windows
- #54944 ntdll:exception - test_extended_context() crashes on Window 11
- #54945 ntdll:exception - test_virtual_unwind() fails on Windows 11
- #54998 DnsQuery(DNS_TYPE_SRV) fails to parse some of the server answers
- #55225 kernel32:thread - The 32-bit test_stack() gets an unexpected values for -2 & -3 indexes on Windows
- #55227 wtsapi32:wtsapi - The 32-bit check_wts_process_info() fails to get the user token on Windows 7 & 8
- #55237 oleaut32:usrmarshal - The 64-bit test_marshal_VARIANT() gets bad values for wv[5&6] on Windows 8+
- #55238 ntdll:exception - The 64-bit test_nested_exception() fails on Windows 11
- #55244 mshtml:misc - test_HTMLStorage() crashes in Wine
- #55246 ntdll:om - The 64-bit test_object_types() crashes on Windows 8+
- #55317 user32:msg - test_hotkey() finds no free WinKey+letter on Windows 11
- #55354 user32:msg - test_dialog_messages() sometimes gets a bad sequence on Windows 7
- #55366 The GitLab CI sometimes tries to link winscard with libpcsclite on macOS
- #55459 Softerra LDAP Browser fails to turn off LDAP_OPT_ENCRYPT, LDAP_OPT_ROOTDSE_CACHE, and LDAP_OPT_SIGN
- #55501 PS Core (pwsh.exe) fails to start:Call to unimplemented function wldp.dll.WldpGetLockdownPolicy
- #55505 Vitis 2020.1 needs support for `if exist ""` in batch file
- #55507 Softerra LDAP Browser needs LDAP_OPT_CLIENT_CERTIFICATE
- #55508 Wine 8.15: compiles successfully in Flatpak but fails during runtime with a SIGSEGV
- #55531 combase:roapi - test_ActivationFactories() fails on Windows and Wine
- #55532 kernel32:actctx - test_two_dlls_at_same_time() crashes on Windows 7+ and Wine
- #55533 setupapi:devinst & setupapi:install - test_class_installer() fails on Windows 7+ and Wine
- #55534 ucrtbase:thread - test_thread_library_reference() fails on Windows 7+ and Wine
- #55535 The dinput:hid test summary line fails to take skip messages into account on Windows 7
- #55539 user32:msg test_hvredraw fails in win1709 with unexpected region
----------------------------------------------------------------
Changes since 8.15:
Alex Henrie (19):
wldap32: Rename cert_callback to server_cert_callback.
wldap32: Implement setting LDAP_OPT_CLIENT_CERTIFICATE.
msctf: Use CRT allocation functions.
shcore: Use CRT allocation functions.
shlwapi: Use CRT allocation functions.
snmpapi: Use CRT allocation functions.
uiautomationcore: Use CRT allocation functions.
mpr: Use CRT allocation functions.
cmd: Handle `if exist` with an empty string argument.
wintab32: Use CRT allocation functions.
wintrust: Use CRT allocation functions.
extrac32: Use CRT allocation functions.
oleview: Use CRT allocation functions.
wineboot: Use CRT allocation functions.
winemenubuilder: Use CRT allocation functions.
winmm: Avoid explicitly casting the pointer returned from Heap(Re)Alloc.
winmm: Use CRT allocation functions.
newdev: Use CRT allocation functions.
http: Use CRT allocation functions.
Alexandre Julliard (21):
kernel32/tests: Also remove stack pointer checks on 64-bit.
oleaut32/tests: Mark the win9x behavior as todo on Wine.
makedep: Make the spec file optional for testdll resources.
makedep: Make the spec file optional for data-only dlls.
makedep: Make the spec file optional for native modules.
winegcc: Don't disable unwind tables for PE targets.
winebuild: Add SEH information to relay entry points on ARM64.
ntdll/tests: Use a valid buffer address for misalignment test.
ntdll: Always fetch the %fs register from the thread data.
ntdll: Ignore attempts to change segment registers on x86-64.
ntdll: Don't save segment registers in the syscall frame on x86-64.
ntdll: Add missing backslash to query image file execution options.
win32u: Use the correct length for kernel object names in object attributes.
wow64: Don't add MEM_RESERVE for invalid flags combinations.
include: Add DECLSPEC_NOINLINE macro.
ntdll/tests: Fix some test failures on ARM64 Windows.
localspl: Fix an uninitialized variable warning with clang.
ntdll: Fix the hardcoded selector values for ARM64.
ntdll: Fixup the pc address for breakpoint exceptions on ARM64.
ntdll: Fix the SystemProcessorFeaturesInformation value on ARM platforms.
ntdll/tests: Mark some tests as todo for ARM64.
Alexandros Frantzis (5):
winewayland.drv: Add initial stub for wl_pointer handling.
winewayland.drv: Handle pointer focus events.
winewayland.drv: Handle pointer motion events.
winewayland.drv: Handle pointer button and scroll events.
winewayland.drv: Implement SetCursor using cursor bitmap data.
Alfred Agrell (6):
quartz: Fill in VMR9SurfaceAllocatorNotify_NotifyEvent stub.
quartz: Recreate surfaces in VMR9SurfaceAllocatorNotify_ChangeD3DDevice.
quartz/tests: Add test for VMR9SurfaceAllocatorNotify_NotifyEvent.
quartz/tests: Add test for VMR9SurfaceAllocatorNotify_ChangeD3DDevice.
quartz: Delete some redundant members from struct quartz_vmr.
quartz/tests: Fix segfault in changed3ddevice test.
Alistair Leslie-Hughes (6):
diasymreader: Remove DECLSPEC_HIDDEN usage.
qmgr: Remove DECLSPEC_HIDDEN usage.
kernel32: Remove DECLSPEC_HIDDEN usage.
user32: Remove DECLSPEC_HIDDEN usage.
wshom.ocx: Remove DECLSPEC_HIDDEN usage.
d3drm: Correct D3DRMIMAGE validation.
Arkadiusz Hiler (2):
dsound: Get rid of DSOUND_capturers and related lock.
dsound: Get rid of the global device GUID arrays.
Bartosz Kosiorek (1):
gdiplus/tests: Extend DrawImage scaling tests.
Billy Laws (1):
include: Add CHPEV2 CPU area definitions.
Biswapriyo Nath (6):
include: Add AudioCaptureEffectsManager runtimeclass in windows.media.effects.idl.
include: Add AudioRenderEffectsManager runtimeclass in windows.media.effects.idl.
include: Add AudioEffectsManager runtimeclass in windows.media.effects.idl.
include: Add IPackage2 definition in windows.applicationmodel.idl.
include: Add missing error codes in msctf.idl.
include: Add IEnumTfPropertyValue definition in msctf.idl.
Brendan Shanks (15):
tools: Use posix_spawn() instead of fork()/execvp().
server: Remove the fallback epoll() syscalls.
crypt32: Ensure unixlib function tables and enum stay in sync.
msv1_0: Ensure unixlib function tables and enum stay in sync.
ws2_32: Ensure unixlib function tables and enum stay in sync.
bcrypt: Ensure unixlib function tables and enum stay in sync.
winegstreamer: Ensure unixlib function tables and enum stay in sync.
dwrite: Ensure unixlib function tables and enum stay in sync.
winspool.drv: Ensure unixlib function tables and enum stay in sync.
netapi32: Ensure unixlib function tables and enum stay in sync.
capi2032: Ensure unixlib function tables and enum stay in sync.
winealsa: Ensure unixlib function tables and enum stay in sync.
winecoreaudio: Ensure unixlib function tables and enum stay in sync.
wineoss: Ensure unixlib function tables and enum stay in sync.
winepulse: Ensure unixlib function tables and enum stay in sync.
Daniel Lehman (2):
msxml3/tests: Fix failure messages.
msvcp110: Add std::_Throw_future_error.
Dmitry Timoshkov (15):
wldap32: Add support for ldap_set_option(LDAP_OPT_HOST_NAME).
kerberos: Add ISC_REQ_DELEGATE to the list of supported flags.
dnsapi/tests: Add some tests for DNS_TYPE_SRV messages.
dnsapi: Accept name records of exact size at the end of the packet.
dnsapi: Set correct wDataLength for DNS_TYPE_SRV records.
gdiplus/tests: Fix compilation with PSDK compiler.
gdiplus/tests: Add a test for calling GdipImageSelectActiveFrame() with invalid frame on a memory bitmap.
gdiplus: In GdipImageSelectActiveFrame rely on codec->select_func() to fail.
comctl32: Use iswalnum() to filter alpha numeric characters from unicode messages.
schedsvc: Remove duplicate dwControlsAccepted initialization.
wevtsvc: Remove duplicate dwControlsAccepted initialization.
srvsvc: Add LanmanServer stub service.
user32: Listbox shouldn't send WM_COMMAND/LBN_DBLCLK notification if it has no items.
server: Write terminating '\0' in the strings.
d2d1: Scale stroke width for D2D1_STROKE_TRANSFORM_TYPE_FIXED in DrawGeometry::ID2D1DeviceContext1().
Eric Pouech (3):
kernel32/console: Add tests for GenerateConsoleCtrlEvent().
cmd: Better handle ctrl-c events.
dbghelp: Don't insert dwz file map into module's file maps' chain.
Esme Povirk (8):
user32/tests: Trace run number in test_SendMessage_other_thread.
user32/tests: Wait for GetMessage call to complete.
user32/tests: Check all letters in test_hotkey.
user32/tests: Register test_hvredraw class in temp desktop.
user32/tests: Detect win7's broken GetQueueStatus behavior.
user32/tests: Delete a faulty test.
user32/tests: Account for ignored messages in PeekMessage call.
user32/tests: Ignore other messages in test_broadcast.
Etaash Mathamsetty (2):
include: Update definition of KDPC.
ntoskrnl.exe/tests: Add KeInitializeDpc tests.
Evan Tang (2):
d3d11: Add tests for clearing RTs in the middle of a render.
wined3d: Restart vk render pass on RT clear.
François Gouget (2):
dmsynth/tests: Add the trailing linefeed to a win_skip() message.
kernel32/tests: Allow a 0 removed entry count in the completion test.
Gabriel Ivăncescu (61):
mshtml: Implement querySelector for document fragments.
mshtml: Implement querySelectorAll for document fragments.
mshtml: Expose an EventTarget interface on the outer window for events' target dispatch.
mshtml: Return interface directly from node vtbl's QI instead of HRESULT, without AddRef.
mshtml: Introduce query_interface in dispex vtbl and use it for DOM Nodes.
mshtml: Use query_interface in the dispex vtbl for inner windows.
mshtml: Use query_interface in the dispex vtbl for XMLHttpRequest.
mshtml: Trace the object name in dispex methods.
mshtml: Unstub some implemented event handlers in IHTMLWindow7 interface.
mshtml: Use query_interface in the dispex vtbl for builtin constructors.
mshtml: Use query_interface in the dispex vtbl for HTMLLocation.
mshtml: Use query_interface in the dispex vtbl for HTMLStorage.
mshtml: Use query_interface in the dispex vtbl for CSS Styles.
mshtml: Use query_interface in the dispex vtbl for StyleSheetRules and collections.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMChildrenCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLElementCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLRectCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLFiltersCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLAttributeCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLMimeTypesCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLNamespaceCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLPluginsCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMAttribute.
mshtml: Use query_interface in the dispex vtbl for HTMLEventObj.
mshtml: Use query_interface in the dispex vtbl for DOM Events.
mshtml: Get rid of the custom query_interface for DOM Events.
mshtml: Use query_interface in the dispex vtbl for MutationObserver.
mshtml: Use query_interface in the dispex vtbl for DOMTokenList.
mshtml: Use query_interface in the dispex vtbl for HTMLRect.
mshtml: Use query_interface in the dispex vtbl for DOM and Text Ranges.
mshtml: Use query_interface in the dispex vtbl for HTMLSelectionObject.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMImplementation.
mshtml: Use query_interface in the dispex vtbl for HTMLScreen.
mshtml: Use query_interface in the dispex vtbl for History.
mshtml: Use query_interface in the dispex vtbl for Navigator.
mshtml: Use query_interface in the dispex vtbl for Console.
mshtml: Use query_interface in the dispex vtbl for MediaQueryList.
mshtml: Use query_interface in the dispex vtbl for Performance.
mshtml: Use query_interface in the dispex vtbl for PerformanceNavigation.
mshtml: Use query_interface in the dispex vtbl for PerformanceTiming.
mshtml: Get rid of `outer` in DispatchEx.
mshtml: Forward objects' IUnknown methods to the DispatchEx.
mshtml: Get rid of the custom qi for CSS Styles.
mshtml: Traverse and unlink AnchorElements using the dispex.
mshtml: Traverse and unlink AreaElements using the dispex.
mshtml: Traverse and unlink BodyElements using the dispex.
mshtml: Traverse and unlink FormElements using the dispex.
mshtml: Traverse and unlink FrameElements using the dispex.
mshtml: Traverse and unlink IFrames using the dispex.
mshtml: Traverse and unlink ImageElements using the dispex.
mshtml: Traverse and unlink InputElements using the dispex.
mshtml: Traverse and unlink ButtonElements using the dispex.
mshtml: Traverse and unlink LinkElements using the dispex.
mshtml: Traverse and unlink ObjectElements using the dispex.
mshtml: Traverse and unlink OptionElements using the dispex.
mshtml: Traverse and unlink ScriptElements using the dispex.
mshtml: Traverse and unlink SelectElements using the dispex.
mshtml: Traverse and unlink StyleElements using the dispex.
mshtml: Traverse and unlink TableElements using the dispex.
mshtml: Traverse and unlink TextAreaElements using the dispex.
mshtml: Unlink document nodes and fragments using the dispex.
Gerald Pfeifer (1):
ntdll: Fix leave_handler for FreeBSD and NetBSD.
Hans Leidekker (19):
wtsapi/tests: Use a heap buffer for the user SID.
webservices/tests: Fully initialize xmlstr.
wbemprox: Call GetAdaptersAddresses() in a loop.
netprofm: Call GetAdaptersAddresses() in a loop.
wpcap: Call GetAdaptersAddresses() in a loop.
ipconfig: Use CRT allocation functions.
ipconfig: Call GetAdaptersAddresses() in a loop.
wsdapi: Use CRT allocation functions.
wsdapi: Call GetAdaptersAddresses() in a loop.
wsdapi/tests: Use CRT allocation functions.
wsdapi/tests: Call GetAdaptersAddresses() in a loop.
ws2_32/tests: Use CRT allocation functions.
ws2_32/tests: Call GetAdaptersAddresses() in a loop.
iphlpapi/tests: Use CRT allocation functions.
iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
wpcap/tests: Accept another return value from pcap_can_set_rfmon().
winscard/tests: Skip tests when SCardListReadersA() returns an empty list.
iphlpapi/tests: Call GetAdaptersAddresses() in a loop.
iphlpapi/tests: Call GetExtendedTcp/UdpTable() in a loop.
Helix Graziani (1):
wldp: Add WldpQueryWindowsLockdownMode stub.
Huw D. M. Davies (1):
ntdll: Store the codepage data addresses in both PEBs.
Jacek Caban (10):
ntdll: Unconditionally forward console events to kernelbase.
mshtml: Use unsigned types for bitfields.
msvcrt: Use unsigned types for bitfields.
ole32/tests: Don't use bitfield for called_todo.
regedit: Use unsigned types for bitfields.
shell32: Use unsigned types for bit fields.
shell32: Use a signed value to assign single signed bitfields values.
server: Store both contexts in pending context object.
ntdll/tests: Add tests for setting context on unsuspended thread.
wow64win: Implement wow64_NtUserImmTranslateMessage.
Jacob Czekalla (1):
comctl32/status: Invalidate entire status bar on WM_SIZE.
Jeff Smith (3):
xaudio2/tests: Improve IID_IXAudio2 interface version checking.
dwrite: Treat null character as NO_VISUAL in script analyzer.
gdiplus: GdipIsVisiblePathPoint is not affected by world transform.
Jinoh Kang (3):
loader: Fix calculation of thread_data address in Linux x86-64 preloader.
loader: Don't return from __stack_chk_fail() stub in preloader.
user32/tests: Isolate window update region tests in a temporary desktop.
Joel Holdsworth (1):
ntdll/tests: Update link test to reflect Windows 11 behaviour.
Julian Rüger (1):
po: Update German translation.
Lorenzo Ferrillo (2):
ole32: Leave the RunningObjectTable Critical Section before umarshalling object.
ole32: Add debug info to RunningObjectTable critical section.
Matteo Bruni (11):
wined3d: Don't call wined3d_context_gl_apply_blit_state() from texture2d_read_from_framebuffer().
wined3d: Prepare/load the destination resource location in ffp_blitter_blit().
wined3d: Prepare/load the destination resource location in arbfp_blitter_blit().
wined3d: Don't bind the FBO to GL_READ_FRAMEBUFFER in wined3d_context_gl_apply_blit_state().
wined3d: Don't call wined3d_texture_load() from wined3d_context_gl_apply_blit_state().
wined3d: Don't setup FBO and draw buffers in wined3d_context_gl_apply_blit_state().
wined3d: Rename wined3d_context_gl_apply_fbo_state_blit() function.
wined3d: Handle depth textures in texture2d_read_from_framebuffer().
wined3d: Don't force going through a texture when downloading from renderbuffers.
wined3d: Skip acquiring a context for an offscreen resource in texture2d_read_from_framebuffer().
wined3d: Don't skip ARB fragment program selection when fog state is dirty.
Mohamad Al-Jaf (5):
windows.applicationmodel: Add stub DLL.
appxdeploymentclient: Add stub DLL.
appxdeploymentclient: Implement IActivationFactory::ActivateInstance().
include: Add Windows.Management.Deployment.IPackageManager2 interface definition.
appxdeploymentclient: Add IPackageManager2 stub interface.
Nikolay Sivov (2):
kernel32/tests: Add activation context test with empty assembly manifest.
ntdll/actctx: Accept empty assembly elements.
Paul Gofman (18):
ntdll/tests: Add tests for RtlGetFullPathName_U and RtlDosPathNameToNtPathName_U with mask.
ntdll/tests: Test NtQueryDirectoryFile with wildcards.
kernel32/tests: Add more tests for FindFirstFile with wildcards.
kernelbase: Duplicate file name matching code for FindNextFileW().
kernelbase: Get unprocessed mask in FindFirstFileExW().
kernelbase: Support masks suggesting no extension in FindNextFile().
ntdll/tests: Adjust test_virtual_unwind() for Win11 results.
include: Define up to date exception flags.
ntdll/tests: Adjust test_nested_exception() for Win11 results.
ntdll/tests: Adjust test_extended_context() for Win11 results.
ntdll/tests: Adjust test_raiseexception_regs() for Win11 results.
wtsapi32: Improve WTSEnumerateSessionsW() stub.
wtsapi32: Implement WTSEnumerateSessionsA() on top of WTSEnumerateSessionsW().
wtsapi32: Handle WTSConnectState class in WTSQuerySessionInformationW().
server: Support FileStandardInformation for pipes.
server: Don't set SO_RCVBUF below Windows default value on Unix socket.
d3dx9: Handle special adjacency index value in d3dx9_mesh_OptimizeInplace().
d3dx9/tests: Add a basic test for d3dx9_mesh_OptimizeInplace().
Piotr Caban (4):
msvcp100: Fix failure class layout.
msvcp110: Add _Throw_C_error implementation.
wineps: Remove dynamic glyph list.
wineps: Fix EMRPOLYDRAW16 printing.
Ryan Hendrickson (1):
regedit: Export hex(4) instead of dword if size isn't 4 bytes.
Rémi Bernon (122):
dmsynth: Remove unnecessary comments.
dmsynth: Always return S_FALSE from DllCanUnloadNow.
dmsynth: Move IDirectMusicSynthSinkImpl struct to where it is used.
dmsynth: Rename IDirectMusicSynthSinkImpl method prefix to synth_sink.
dmsynth: Get rid of the IDirectMusicSynthSinkImpl typedef.
dmsynth: Move IDirectMusicSynthImpl struct to where it is used.
dmsynth: Rename IDirectMusicSynth8Impl method prefix to synth.
dmsynth: Get rid of the IDirectMusicSynth8Impl typedef.
dmsynth: Use CRT allocation functions.
dmsynth/tests: Avoid dynamic format string.
dmsynth/tests: Import and use a check_interface helper.
dmsynth/tests: Test DirectMusicSynthSink class in isolation.
dmsynth/tests: Test DirectMusicSynth class in isolation.
windows.applicationmodel/tests: Add some IPackageManager tests.
makedep: Use #pragma makedep testdll for TESTDLL resources.
makedep: Support generating .exe TESTDLL resources.
windows.applicationmodel/tests: Test IPackageManager_RegisterPackageAsync.
windows.applicationmodel/tests: Test executing a WinRT package application.
include: Fix incorrect IDirectMusicPortDownload_Unload macro.
dmusic/tests: Test IDirectMusic(Port)Download interfaces.
dmusic/tests: Test IDirectMusicPort_(Download|Unload)Instrument.
dmusic: Always return S_FALSE from DllCanUnloadNow.
dmusic: Simplify and cleanup IDirectMusicDownload constructor.
dmusic: Move IDirectMusicDownloadImpl struct to where it is used.
dmusic: Rename IDirectMusicDownloadImpl method prefix to download.
dmusic: Implement synth port IDirectMusicPortDownload_GetDLId.
dmusic: Implement IDirectMusicPortDownload_AllocateBuffer.
dmusic: Implement IDirectMusicPortDownload_(Download|Unload).
dmusic: Implement IDirectMusicPortDownload_GetBuffer.
dmsynth: Implement IDirectMusicSynthSink_SetDirectSound semi-stub.
dmsynth: Avoid leaking master clock references.
dmsynth: Allow changing master clock while active.
dmsynth: Implement IDirectMusicSynthSink_Activate semi-stub.
dmsynth: Implement SampleToRefTime and RefTimeToSample.
makedep: Fix a string format specifier typo.
dmsynth: Move constructor parameter checks to class factory.
include: Use IReferenceClock interface from strmif.idl in dmusicc.h.
dmsynth: Implement latency IReferenceClock interface on the sink.
dmsynth: Forward IDirectMusicSynth_GetLatencyClock to the sink.
dmsynth: Return S_FALSE if IDirectMusicSynth_Activate is no-op.
dmsynth: Return DMUS_E_SYNTHNOTCONFIGURED when sink fails to activate.
dmusic: Move constructor parameter checks to class factory.
dmusic: Rename IDirectMusicCollectionImpl method prefix to collection.
dmusic: Get rid of the IDirectMusicCollectionImpl typedef.
dmusic: Get rid of struct collection liCollectionPosition member.
dmusic: Get rid of struct collection liWavePoolTablePosition member.
dmusic: Simplify and cleanup IDirectMusicInstrument constructor.
dmusic: Rename IDirectMusicInstrumentImpl method prefix to instrument.
dmusic: Get rid of the IDirectMusicInstrumentImpl typedef.
dinput/tests: Report the driver success and skipped tests counters.
windows.applicationmodel/tests: Report success and skipped tests counters.
ntoskrnl/tests: Use wine/test.h in the driver tests.
dmime/tests: Test IDirectMusicGraph interface with a dummy tool.
dmime/tests: Test performance IDirectMusicTool interface.
dmime/tests: Test performance IDirectMusicGraph interface.
dmime/tests: Test IDirectMusicPerformance time conversion.
dmime/tests: Test IDirectMusicPerformance_*PMsg methods.
dmime/tests: Test IDirectMusicTool message reception filter.
dmime/tests: Test IDirectMusicTool message reception delay.
dmsynth/tests: Test IDirectMusicSynth_Unload.
dmusic: Avoid passing invalid handle to IDirectMusicSynth_Unload.
dmsynth: Implement IDirectMusicSynth_(Download|Unload) for instruments.
dmsynth: Implement IDirectMusicSynth_(Download|Unload) for waves.
dmsynth: Implement IDirectMusicSynth_Download for instrument regions.
dmsynth: Implement IDirectMusicSynth_Download for instrument articulations.
dmusic: Use a struct list for instrument articulations.
dmusic: Use a struct list for instrument regions.
dmusic: Reset riff chunk type to 0 when it is invalid.
dmusic: Rewrite instrument lrgn list parsing.
dmusic: Rewrite instrument lart list parsing.
dmusic: Rewrite instrument ins chunk parsing.
dmusic: Allocate and parse instruments in a single pass.
dmusic: Cleanup collection instrument iteration loops.
dmusic: Stop leaking instruments on collection release.
dmime: Always return S_FALSE from DllCanUnloadNow.
dmime: Use CRT allocation functions.
dmime: Use the correct interface methods.
dmime: Fix indentation in DirectMusicPerformance class constructor.
dmime: Rename IDirectMusicPerformance8Impl method prefix to performance.
dmime: Get rid of IDirectMusicPerformance8Impl typedef.
dmime: Fix indentation in IDirectMusicPerformance_QueryInterface.
dmime: Add a IDirectMusicGraph interface to the performance.
dmime: Add a IDirectMusicTool interface to the performance.
dmband: Always return S_FALSE from DllCanUnloadNow.
dmband: Use CRT allocation functions.
dmband: Use PARENTSRC with dmusic.
dswave: Always return S_FALSE from DllCanUnloadNow.
dswave: Use CRT allocation functions.
dswave: Use PARENTSRC with dmusic.
dmstyle: Awlays return S_FALSE from DllCanUnloadNow.
dmstyle: Use CRT allocation functions.
dmstyle: Use PARENTSRC with dmusic.
dmime: Remove FIXME from performance IDirectMusicGraph methods.
dmime: Implement some performance IDirectMusicTool methods.
dmime: Rewrite IDirectMusicGraph tools iteration.
dmime: Rename DirectMusicGraph method prefix to graph.
dmime: Get rid of the IDirectMusicGraphImpl typedef.
dmime: Implement IDirectMusicGraph_StampPMsg.
dmime: Implement performance IDirectMusicGraph_StampPMsg.
dmime: Set the tool delivery type on the messages flags.
dmcompos: Always return S_FALSE from DllCanUnloadNow.
dmcompos: Use CRT allocation functions.
dmcompos: Use PARENTSRC with dmusic.
dmloader: Always return S_FALSE from DllCanUnloadNow.
dmloader: Use CRT allocation functions.
dmloader: Use PARENTSRC with dmusic.
dmscript: Always return S_FALSE from DllCanUnloadNow.
dmscript: Use CRT allocation functions.
dmscript: Use PARENTSRC with dmusic.
dmime: Use PARENTSRC with dmusic.
dmime: Rewrite IDirectMusicPerformance8_GetTime.
dmime: Implement MusicToReferenceTime and ReferenceToMusicTime.
dmime: Cleanup IDirectMusicPerformance_AllocPMsg.
dmime: Cleanup IDirectMusicPerformance_FreePMsg.
dmime: Cleanup IDirectMusicPerformance_SendPMsg.
dmime: Implement IDirectMusicPerformance8_ClonePMsg.
dmusic: Rewrite collection lins list parsing.
dmusic: Rewrite collection ptbl chunk parsing.
dmusic: Rewrite collection INFO list parsing.
dmusic: Rewrite collection DLS chunk parsing.
dmusic: Parse instrument name from INFO list.
dmusic: Add more parsed instruments traces.
Stefan Dösinger (13):
d3d9/tests: Skip big test_query loops if the d3d implementation is too slow.
d3d9/tests: Don't fail d3d9ex if the window manager restores focus too soon.
d3d9/tests: Don't fail test_reset_fullscreen if the WM resizes us.
d3d9/tests: Don't check messages when doing the minimization workaround dance.
d3d8/tests: Don't check messages when doing the minimization workaround dance.
gitlab: Enable d3d8 and d3d9 device tests.
d3d9/tests: Zero stride tests crash on Windows XP, r200 GPU.
d3d8/tests: Zero stride tests crash on Windows XP, r200 GPU.
d3d9/tests: Request a 3 mip level cube texture in test_getdc().
d3d8/tests: Fix skipping ATI2N in test_resource_access.
d3d9/tests: Fix skipping ATI2N in test_resource_access.
d3d8/tests: Mark the hidden test WM_WINDOWPOSCHANGED test flaky.
d3d9/tests: Mark hidden window WM_WINDOWPOSCHANGED tests unconditionally flaky.
Tim Clem (2):
win32u/tests: Add a test for cross-process WM_GETDLGCODE with a NULL lparam.
win32u: Correct the packed size of WM_GETDLGCODE when lparam is NULL.
Yuxuan Shui (2):
urlmon: Test http protocol through CreateBinding.
urlmon: Fix NULL dereference in BindProtocol_UnlockRequest.
Zebediah Figura (14):
d3dxof: Remove unnecessary includes.
wmvcore: Explicitly include strmif.h.
include: Do not import strmif.idl in mediaobj.idl.
dsound: Do not include strmif.h.
wined3d: Enable shaderDrawParameters on Vulkan 1.1 if supported.
wined3d: Allow creating a feature level < 10 device if KHR_shader_draw_parameters is missing.
wined3d: Do not use EXT_host_query_reset if hostQueryReset is not actually supported.
wined3d: Do not use EXT_transform_feedback if transformFeedback is not actually supported.
wined3d: Remove the unused "sampler" local variable from wined3d_context_vk_load_shader_resources().
wined3d: Remove WINED3D_TEXTURE_NORMALIZED_COORDS.
wined3d: Remove the unused "current_fprogram_id" field from struct shader_arb_priv.
wined3d: Remove the unused "current_vprogram_id" field from struct shader_arb_priv.
wined3d: Do not set last_was_pshader from the GLSL fragment pipe.
sensapi: Remove unnecessary includes.
Zhiyi Zhang (4):
comctl32/edit: Don't use WM_TIMER to update caret position.
user32/edit: Don't use WM_TIMER to update caret position.
user32/tests: Test IsDialogMessageA() converting ASCII WM_CHAR messages.
user32: Map WM_CHAR wparam in ASCII to Unicode in IsDialogMessageA() for CJK locales.
Ziqing Hui (9):
winegstreamer: Add push_event wrapper.
winegstreamer: Add codec data to h264 format.
mf/tests: Call check_attributes in check_mft_get_output_current_type_.
mf/tests: Add tests for h264 encoder.
mf/tests: Use h264 and aac in mp4 media sink tests.
winegstreamer: Add MFMPEG4SinkClassFactory.
winegstreamer: Introduce new wg_muxer struct.
winegstreamer: Implement seeking query for wg_muxer sink pad.
winegstreamer: Create wg_muxer for media sink.
1
0
The Wine development release 8.15 is now available.
What's new in this release:
- Support for TEXT print processor.
- Cycle Collection support in MSHTML.
- Cross-process memory notifications in Wow64.
- Various bug fixes.
The source is available at:
https://dl.winehq.org/wine/source/8.x/wine-8.15.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://www.winehq.org/git 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 8.15 (total 19):
- #43822 TrackMania Nations Forever (Steam) car music doesn't play
- #45273 Chessbase 11 cannot draw arrows
- #54064 ntdll:threadpool - test_tp_io() sometimes fails & crashes in Wine (GitLab CI)
- #54718 msvcr90:msvcr90 - test__get_current_locale() sometimes gets an unexpected refcount on w10pro64
- #54756 Multiple games crash on unimplemented concrt140.dll.??0_Cancellation_beacon(a)details@Concurrency@@QEAA(a)XZ (Forza Horizon 4, The Legend of Sisyphus (Andromeda Software Development))
- #55259 TranscendPang has corrupted graphics in-game
- #55286 msvcrt:file - The 64-bit test_invalid_stdin_child() sometimes gets a bad stdin handle on Windows 10
- #55287 msvcrt:file - The 32-bit test_pipes() fails in the new WoW mode
- #55333 ws2_32:sock - test_connect_events() sometimes fails in Wine
- #55341 Colin McRae Rally 2.0 black screen
- #55351 gdiplus:graphicspath - test_flatten2() fails on Windows 7 - 11
- #55402 CMD '!var!' not working in 'if' statement
- #55414 Ultimate Spider-Man: Widescreen Fix shifts HUD too much to the right
- #55443 Wine crashes when an image is dragged onto notepad.exe and games
- #55450 Softerra LDAP Browser needs LDAP_OPT_AUTO_RECONNECT
- #55457 Robot Battle 1.4 crashes on startup after commit 08dc691d
- #55471 nGlide wrapper produces black screen in games using the D3D backend
- #55475 Respondus LockDown Browser crashes on unimplemented function KERNEL32.dll.DiscardVirtualMemory
- #55500 Launching new processes in Virtual Desktops is slow and stutters the system
----------------------------------------------------------------
Changes since 8.14:
Akihiro Sagawa (2):
cmd: Use towlower()/towupper() for WCHARs.
cmd: DIR command outputs free space for the path.
Alex Henrie (12):
windowscodecs: Use CRT allocation functions.
shell32: Use CRT allocation functions.
xaudio2_7: Use CRT allocation functions.
activeds: Use CRT allocation functions.
mshtml: Define skip_prefix without using a magic number.
cryptui: Use CRT allocation functions.
mciavi32: Use CRT allocation functions.
mlang: Use CRT allocation functions.
mmdevapi: Use CRT allocation functions.
mpr: Fix double free in WNetGetResourceInformationA.
dmusic: Use CRT allocation functions.
wldap32: Report success when turning off LDAP_OPT_(ENCRYPT|ROOTDSE_CACHE|SIGN).
Alexandre Julliard (22):
winex11: Work around a false positive gcc warning.
ntdll: Also store syscall id and names following the syscall dispatcher pointer.
wow64: Reimplement syscall resolution using the syscall dispatcher name table.
ntdll: Implement the cross-process work list functions.
wow64: Create the cross-process work list.
ntdll: Implement RtlOpenCrossProcessEmulatorWorkConnection().
wow64: Send cross-process notifications.
wow64: Implement Wow64ProcessPendingCrossProcessItems().
ntdll/tests: Add tests for cross-process notifications.
winebuild: Ignore syscalls that point to an alias.
wow64: Also send notifications for failed memory management calls.
kernel32/tests: Remove some workarounds for old Windows versions.
kernel32/tests: Fix alignment issues on 64-bit.
kernel32/tests: Make the generated dlls relocatable.
kernel32/tests: Remove tests for the exact value of the stack pointer.
ntdll/tests: Fix alignment issues on 64-bit.
ntdll/tests: Allow more invalid length values on Windows.
ntdll/tests: Work around a Windows pointer truncation bug in CPU info.
oleaut32/tests: Fix a pointer truncation issue on 64-bit.
winmm/tests: Fix a pointer truncation issue on 64-bit.
scrrun: Fix pointer hashing on 64-bit.
gdi32: Fix buffer size parameter in GetFontFileData for 64-bit.
Alexis Murzeau (1):
wpcap: Handle negative count for pcap_dispatch and pcap_loop.
Alistair Leslie-Hughes (9):
opcservices: Remove DECLSPEC_HIDDEN usage.
avifil32: Remove DECLSPEC_HIDDEN usage.
evr: Remove DECLSPEC_HIDDEN usage.
hhctrl.ocx: Remove DECLSPEC_HIDDEN usage.
dxdiagn: Remove DECLSPEC_HIDDEN usage.
netcfgx: Remove DECLSPEC_HIDDEN usage.
schedsvc: Remove DECLSPEC_HIDDEN usage.
comctl32: Remove DECLSPEC_HIDDEN usage.
msvcrt: Remove DECLSPEC_HIDDEN usage.
Anton Baskanov (1):
winex11.drv: Mark drawable as dirty when setting pixel format.
Bartosz Kosiorek (2):
gdiplus: Improve performance by switching loops and fix size.
gdiplus: Add support for GdipPathIterNextPathType.
Biswapriyo Nath (8):
include: Add KnownFolders runtimeclass in windows.storage.idl.
include: Add ApplicationData runtimeclass in windows.storage.idl.
include: Add IRandomAccessStream generic types in windows.storage.streams.idl.
uiautomationcore: Fix typo with TreeScope_Subtree name.
include: Add AudioProcessing enum in windows.media.idl.
include: Add Windows.Media.Capture.MediaCategory enumeration.
include: Add Windows.Media.Render.AudioRenderCategory enumeration.
include: Add Windows.Media.Effects.AudioEffect runtimeclass.
Brendan Shanks (3):
kerberos: Ensure unixlib function tables and enum stay in sync.
mountmgr.sys: Ensure unixlib function tables and enum stay in sync.
winebus.sys: Ensure unixlib function tables and enum stay in sync.
Daniel Lehman (1):
include: Add [_w]getenv_s.
Davide Beatrici (14):
winepulse: Fix crash when requesting exclusive mode with an unsupported format.
wineoss: Update device cache in get_device_guid().
winepulse: Open/create driver registry key in get_device_guid().
winealsa: Export get_device_guid().
winecoreaudio: Export get_device_guid().
wineoss: Export get_device_guid().
winepulse: Export get_device_guid().
mmdevapi: Import get_device_guid() from driver.
winepulse: Move GetEndpointIDs into mmdevapi.
winealsa: Remove GetEndpointIDs.
winecoreaudio: Remove GetEndpointIDs.
wineoss: Remove GetEndpointIDs.
mmdevapi: Simplify load_driver_devices() by combining loops and removing unneeded allocation(s).
mmdevapi: Move name string duplication in MMDevice_Create() from caller.
Dmitry Sokolov (1):
cmd: Fixed var substring in 'enableDelayedExpansion' mode.
Dmitry Timoshkov (1):
ntdll: Implement NtCreateToken().
Eric Pouech (12):
dbghelp: Fix sign extension issues on 32bit compilation.
ntdll/tests: Add test for Win10 OutputDebugStringW evolution.
ntdll/tests: Introduce enumeration to handle stages in test_debugger().
ntdll/tests: Add tests for debuggee and new Win10 unicode debug strings.
kernelbase: Emit DBG_PRINTEXCEPTION_WIDE_C from OutputDebugStringW.
kernelbase: Implement WaitForDebugEventEx().
kernel32/tests: Fix spurious failures in console:test_wait() test.
kernel32/tests: Only access ProcessGroupId field when present.
kernel32/tests: Add tests for group and console flags in CreateProcess.
server: Separate console and new group flag (CreateProcess).
kernel32/tests: Extend to new process group tests for CreateProcess.
kernelbase: Correctly handle new process group flag in CreateProcess.
Esme Povirk (8):
user32/tests: Test cross-platform use of scroll functions.
user32/tests: Use winetest context in ok_sequence.
user32: Remove some todo's for working tests.
user32/tests: Share code between ok_sequence and dump_sequence.
user32/tests: Distinguish between extra and missing messages.
user32/tests: Always generate a description for WM_NCCALCSIZE.
mscoree/tests: Catch expected exception in loadpaths.exe.
user32/tests: Mark an occasional Windows behavior as broken.
Etaash Mathamsetty (4):
ntdll: Allow NULL timeout in NtCreateNamedPipeFile.
ntdll: Add semi-stub for NtOpenKeyTransactedEx.
kernelbase: Add GetPackagePathByFullName stub.
wevtapi: Add stub for EvtCreateBookmark.
Gabriel Ivăncescu (37):
mshtml: Traverse variants using a helper function.
mshtml: Use destructor in the vtbl for PerformanceTiming.
mshtml: Implement Cycle Collection for HTMLPerformance.
mshtml: Implement Cycle Collection for HTMLPerformanceNavigation.
mshtml: Implement Cycle Collection for objects that don't require traversal.
mshtml: Implement Cycle Collection for HTMLDOMAttribute.
mshtml: Implement Cycle Collection for HTMLAttributeCollection.
mshtml: Implement Cycle Collection for HTMLCSSStyleDeclaration.
mshtml: Implement Cycle Collection for HTMLStyleSheet.
mshtml: Implement Cycle Collection for HTMLStyleSheetsCollection.
mshtml: Implement Cycle Collection for HTMLStyleSheetRulesCollection.
mshtml: Implement Cycle Collection for HTMLStyleSheetRule.
mshtml: Use actual name when traversing variant.
mshtml: Implement Cycle Collection for HTMLDOMChildrenCollection.
mshtml: Implement Cycle Collection for HTMLElementCollection.
mshtml: Implement Cycle Collection for HTMLRectCollection.
mshtml: Implement Cycle Collection for HTMLRect.
mshtml: Implement Cycle Collection for DOMTokenList.
mshtml: Implement Cycle Collection for MutationObserver.
mshtml: Implement Cycle Collection for HTMLDOMImplementation.
mshtml: Implement Cycle Collection for MediaQueryList.
mshtml: Implement Cycle Collection for HTMLTextRange.
mshtml: Implement Cycle Collection for HTMLDOMRange.
mshtml: Implement Cycle Collection for HTMLSelectionObject.
mshtml: Implement Cycle Collection for HTMLEventObj.
mshtml: Implement Cycle Collection for DOM Events.
winex11: Avoid querying GPU properties in get_host_primary_monitor_rect.
mshtml: Actually traverse the object-specific edges.
mshtml: Separate the HTMLLocation from the outer window.
mshtml: Implement Cycle Collection for HTMLLocation.
mshtml: Implement Cycle Collection for outer windows.
mshtml: Get rid of NULL checks for the dispex vtbl.
mshtml: Implement Cycle Collection for inner windows.
mshtml: Move HTMLPerformanceNavigation related fields to the window.
mshtml: Move PerformanceTiming related fields to the window.
mshtml: Implement Cycle Collection for HTMLPerformanceTiming.
mshtml: Implement Cycle Collection for XMLHttpRequest.
Jeff Smith (11):
gdiplus/tests: Simplify ICONINFO initialization.
gdiplus/tests: Create helper function for testing image properties.
gdiplus/tests: Add test for cursor with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for mask-only icon with GdipCreateBitmapFromHICON.
gdiplus: Fix GdipCreateBitmapFromICON return status with mask-only icon.
gdiplus/tests: Add test for 32 bpp icon with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for non-square icon with GdipCreateBitmapFromHICON.
gdiplus/tests: Add test for bitmap locked data from GdipCreateBitmapFromHICON.
gdiplus: Fix GdipCreateBitmapFromHICON bitmap data.
shlwapi/tests: Fix SHFormatDateTime test during DST.
shlwapi: Fix SHFormatDateTime implementation during DST.
Lorenzo Ferrillo (1):
secur32: Increment iteration index after load_package error.
Louis Lenders (1):
wldp: Add WldpGetLockdownPolicy stub.
Marcus Meissner (1):
cryptui: LoadStringW gets characters as size, not bytes.
Matteo Bruni (1):
d3dcompiler/tests: Avoid interpolation filters in test_samplers().
Mohamad Al-Jaf (5):
include: Add dxcore_interface.h file.
include: Add dxcore.h file.
dxcore: Add stub DLL.
dxcore: Add DXCoreCreateAdapterFactory() stub.
apisetschema: Add ext-ms-win-dxcore-l1-1-0.
Nikolay Sivov (1):
wldp: Add WldpIsDynamicCodePolicyEnabled() stub.
Paul Gofman (3):
user32/tests: Test more flags for MessageBox.
user32/msgbox: Implement MB_TOPMOST.
dinput: Unregister raw input on foreground loss.
Piotr Caban (15):
msvcr70: Don't set SSE2 control register in _control87.
wmic: Use fwprintf to output error messages.
wmic: Fix output when redirected to pipe.
msvcr90/tests: Restore thread locale settings in _getptd tests to avoid side effects.
msvcr90/tests: Reorder locale refcount tests to workaround leak in _create_locale.
msvcrt/tests: Make registry handle inheritable in test_invalid_stdin tests.
ntdll: Don't overwrite last byte of RuntimeInfo if odd number of bytes is used.
localspl: Store fallback print processor in AddPrinterDriver.
localspl: Try fallback print processor if datatype is not supported.
winprint: Implement TEXT print processor.
msvcr110: Add Context::IsCurrentTaskCollectionCanceling implementation.
msvcr110: Add _Cancellation_beacon class implementation.
msvcr120/tests: Remove workaround for not implemented _StructuredTaskCollection::ctor().
msvcr120/tests: Add _Cancellation_beacon tests.
msvcr120/tests: Add Context::IsCurrentTaskCollectionCanceling tests.
Rémi Bernon (35):
include: Add Windows.Management.Deployment.DeploymentResult runtimeclass definition.
include: Add Windows.Management.Deployment.PackageUserInformation runtimeclass definition.
include: Add Windows.Management.Deployment.PackageManager runtimeclass definition.
include: Add Windows.Storage.Streams.RandomAccessStreamReference runtimeclass definition.
include: Add Windows.ApplicationModel.AppDisplayInfo runtimeclass definition.
include: Add Windows.ApplicationModel.PackageStatus runtimeclass definition.
widl: Guard against re-import of the main input file.
include: Add Windows.ApplicationModel.Core.AppListEntry runtimeclass definition.
include: Add Windows.ApplicationModel.IPackage3 interface definition.
winegstreamer: Don't append videoconvert for video/x-wmv output.
include: Add MF_BYTESTREAM_EFFECTIVE_URL GUID declaration.
mf/tests: Add some network scheme resolver tests.
mf/scheme_handler: Split file scheme handler to scheme_handler.c.
mf/scheme_handler: Implement http(s):// scheme handler using urlmon.
mf/session: Use local variables to access transform node streams.
mf/session: Use a helper to deliver transform node requested samples.
mf/session: Drain transform node input streams individually.
mf/session: Drain remaining requests in transform_node_deliver_samples.
mf/session: Use helpers to push and pop samples for transform streams.
mf/session: Push transform input samples directly to ProcessInput.
mf/session: Request more samples from upstream when necessary.
mf/session: Increase the request count when requests are already queued.
include: Prefix winetest global counters with winetest_.
include: Rename winetest thread data struct and getter.
include: Prefix winetest color constants with winetest_.
include: Make general winetest helpers static inline.
include: Initialize winetest global counters to 0.
include: Rename winetest_printf to winetest_print_location.
include: Pass a temporary buffer to winetest_elapsed.
include: Introduce winetest wrappers for vprintf and GetTickCount.
include: Avoid using strcmp directly in wine/test.h.
dinput: Get rid of duplicated winetest helpers.
win32u: Init vsc2vk in NtUserGetKeyNameText only if necessary.
win32u: Init vsc2vk in NtUserMapVirtualKeyEx only if necessary.
win32u: Init vsc2char in NtUserMapVirtualKeyEx only if necessary.
Torge Matthies (1):
crypt32: Fix CMS SignedData encoding.
Wonjun Jung (3):
wbemprox: Add Win32_SoundDevice query test for Caption property.
wbemprox: Add Caption property in Win32_SoundDevice.
wbemprox: Add NetConnectionID, NetEnabled properties in Win32_NetworkAdapter.
Zebediah Figura (13):
wined3d: Move struct wined3d_texture_gl to wined3d_gl.h.
wined3d: Move struct fbo_entry to wined3d_gl.h.
wined3d: Move struct wined3d_sampler_gl to wined3d_gl.h.
wined3d: Move struct wined3d_buffer_gl to wined3d_gl.h.
wined3d: Move struct wined3d_rendertarget_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_shader_resource_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_unordered_access_view_gl to wined3d_gl.h.
wined3d: Move struct wined3d_swapchain_gl to wined3d_gl.h.
wined3d: Move the remaining wined3d_gl_info functions to wined3d_gl.h.
wined3d: Move struct wined3d_format_gl to wined3d_gl.h.
wined3d: Move the remaining GL-specific definitions to wined3d_gl.h.
wined3d: Move the wined3d_gl.h include to individual files.
server: Signal AFD_POLL_BIT_WRITE at the same time as AFD_POLL_BIT_CONNECT.
1
0