The Wine development release 10.8 is now available.
What's new in this release:
- User handles in shared memory for better performance.
- Improvements to TIFF image support.
- More work on the new PDB backend.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.8.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks …
[View More]to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.8/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.8 (total 18):
- #37813 Defiance fails to connect to login Server
- #51248 UrlGetPart produces different results from Windows
- #54995 msys2-64/cygwin64: git clone fails with 'Socket operation on non-socket'
- #56723 Vegas Pro 14: crash upon creating the main window
- #56983 UI: Application using ModernWPF crashes, Windows.UI.ViewManagement.UISettings not implemented
- #57148 cmd,for: ghidraRun.bat shows: Syntax error: unexpected IN
- #57397 Apps hang when trying to show tooltip
- #57424 msys2-64/cygwin64: mintty.exe not able to show bash.exe output.
- #57575 dmsynth: incorrect condition for buffer underrun in synthsink.c:synth_sink_write_data
- #57805 Wine CoreMIDI: Extra program change event on sending program change through MIDI Output from winmm
- #57941 Build broken with libglvnd <=1.3.3
- #57986 Final Fantasy XI Online window borders and content behave strangely
- #58067 comctl32/edit: Unable to enter values in Adobe Lightroom Classic 10.4
- #58085 foobar2000. Columns UI user interface error listing fonts using DirectWrite
- #58185 Country Siblings: EXCEPTION_ACCESS_VIOLATION related with D3D11
- #58191 dwrite tests fail to compile with mingw-gcc 15 due to attempt to link to truncf
- #58207 Caret gets broken in Edit (incl Combobox) when using long texts
- #58212 boost::interprocess::named_mutex does not work
### Changes since 10.7:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (5):
d2d1: Fix a crash in Clear method if no target is set.
d2d1: Fix a crash in DrawBitmap method family if no target is set.
d2d1: Fix a crash in DrawGeometry method family if no target is set.
d2d1: Fix a crash in FillGeometry method family if no target is set.
d2d1: Fix a crash in DrawGlyphRun method family if no target is set.
Alex Henrie (5):
dsound/tests: Allocate right amount of memory in test_secondary8 (ASan).
opcservices: Fix string comparison in opc_part_uri_get_rels_uri.
mfmediaengine/tests: Mark a refcount test in test_SetCurrentTime as flaky.
quartz: Clamp MediaSeeking_GetCurrentPosition to the stop position.
quartz/tests: Increase the timeout of a pause test in test_media_event.
Alexandre Julliard (16):
shell32/tests: Remove leftover file that hides succeeding tests.
tools: Add support for syscalls with a custom entry point.
ntdll: Define NtQueryInformationProcess as a custom syscall.
ntdll: Don't require syscall flag on Zw functions.
ntdll/tests: Add a test for syscall numbering.
dbghelp: Fix wrong variable used in EX case.
mountmgr: Remove redundant casts.
odbc32: Remove redundant casts.
opengl32: Remove redundant casts.
winebth.sys: Remove redundant casts.
winegstreamer: Remove redundant casts.
wineps: Remove redundant casts.
winedmo: Remove redundant casts.
ntdll: Use the appropriate type for the xstate_features_size variable.
include: Add some fields to the user shared data.
include: Fix the name of the user shared data structure.
Alexandros Frantzis (2):
winewayland: Use ARGB buffers for shaped windows.
winex11: Initialize ex_style_mask output parameter.
Alfred Agrell (9):
ntdll: Fix RtlUTF8ToUnicodeN for expected output ending with a surrogate pair that doesn't fit.
include: Fix a typoed vtable call macro.
include: Fix some typoed vtable call macros.
include: Fix a typoed vtable call macro.
include: Fix a typoed vtable call macro.
include: Fix some typoed vtable call macros.
include: Fix some typoed comments.
include: Fix some typoed vtable call macros.
include: Fix some typoed vtable call macros.
Alistair Leslie-Hughes (6):
odbc32: SQLColAttributesW accept field id SQL_COLUMN_NAME.
include: Add ApplicationRecoveryInProgress/Finished prototype.
include: Add InitNetworkAddressControl prototype.
include: Add some SHARD_* defines.
include: Add some ENDSESSION_* defines.
include: Add IHTMLOptionButtonElement interface.
Andrew Nguyen (1):
wine.inf: Add BootId value for Session Manager\Memory Management\PrefetchParameters key.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
server: Improve returned value in member WriteQuotaAvailable.
Brendan McGrath (3):
winegstreamer: Only align the first plane in gst_video_info_align.
winegstreamer: Allow decodebin to eliminate caps that don't use system memory.
mfreadwrite: Use stream_index from ASYNC_SAMPLE_READY command.
Brendan Shanks (5):
winemac: Set the OpenGL backbuffer size to the size in window DPI.
winhttp: Use GlobalAlloc for the result of WinHttpDetectAutoProxyConfigUrl.
winhttp: Add a cache to WinHttpDetectAutoProxyConfigUrl().
nsiproxy: Set the name of internal threads.
nsiproxy: Implement change notifications for NSI_IP_UNICAST_TABLE on macOS.
Connor McAdams (6):
d3dx9: Make functions for pixel copying/conversion/filtering static.
d3dx9: Move code for format conversion of a single pixel into a common helper function.
d3dx9/tests: Add some color key tests.
d3dx9: Set all color channels to zero when color keying.
d3dx9: Calculate a range of color key channel values in d3dx_load_pixels_from_pixels() if necessary.
d3dx9: Don't color key compressed pixel formats on 32-bit d3dx9.
Dmitry Timoshkov (3):
combase: Find correct apartment in ClientRpcChannelBuffer_SendReceive().
user32/tests: Add a message test for listbox redrawing after LB_SETCOUNT.
ldap: Use correct SPN when authenticating to Kerberos DC.
Eric Pouech (17):
dbghelp: Introduce a cache for loading blocks in new PDB reader.
winedump: Dump some symbols for managed code.
dbghelp: Silence symbol for managed code.
dbghelp: Silence FIXME when dealing with empty hash table.
dbghelp: Fix using Start parameter in TI_FINDCHILDREN request.
dbghelp: Get rid of code quality warning.
dbghelp: Return method_result from pdb_reader_request_cv_typeid.
dbghelp: Load global symbols from DBI.
dbghelp: Beef up reading compiland header helper.
dbghelp: Build compiland table for new PDB reader.
dbghelp: Create all symt* from new PDB reader.
dbghelp: Workaround SAST false positive.
dbghelp: Skip compilands without MSF stream (new PDB).
dbghelp: Add method to query backend for symbol by address.
dbghelp: Add method to query symbols by name.
dbghelp: Add method to enumerate symbols.
dbghelp: Load compilands on demand (new PDB).
Gabriel Ivăncescu (29):
mshtml: Ignore setting non-writable external props.
mshtml: Don't redefine deleted props in dispex_define_property.
jscript: Properly fill the builtin props.
mshtml: Expose "arguments" from host functions in IE9+ modes.
mshtml: Expose "caller" from host functions in IE9+ modes.
mshtml: Expose "arguments" and "caller" from host constructors in IE9+ modes.
mshtml: Get rid of useless "iter" member in the attribute collection enum.
mshtml/tests: Test iframe window navigation resetting props.
mshtml: Fill the props in the host method instead of enumerating next prop.
mshtml: Only fill the external props once, unless they are volatile.
mshtml: Properly fill the prototype's "constructor" prop.
mshtml: Properly fill the constructor's "prototype" prop.
mshtml: Properly fill the window's constructors.
mshtml: Properly fill the window's script vars.
mshtml: Enumerate all own custom props if requested.
mshtml: Implement nodeType prop for attributes.
mshtml: Implement attributes prop for attributes.
mshtml: Implement ownerDocument prop for attributes.
mshtml: Implement cloneNode for attributes.
mshtml: Implement appendChild for attributes.
mshtml: Implement insertBefore for attributes.
mshtml: Implement hasChildNodes for attributes.
mshtml: Implement childNodes prop for attributes.
mshtml: Implement firstChild prop for attributes.
mshtml: Implement lastChild prop for attributes.
mshtml: Implement previousSibling prop for attributes.
mshtml: Implement nextSibling prop for attributes.
mshtml: Implement replaceChild for attributes.
mshtml: Implement removeChild for attributes.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.315.
Hans Leidekker (2):
winedump: Improve formatting of CLR metadata.
wldap32: Don't map errors from ldap_set_optionW().
Jacek Caban (2):
mshtml: Add CSSStyleDeclaration::content property implementation.
ntdll/tests: Initialize out buffer in threadpool tests.
Jinoh Kang (2):
include: Fix ARM64EC acq/rel barrier to match ARM64.
user32/tests: Test BeginPaint() clipbox of cropped window with CS_PARENTDC.
Mike Swanson (1):
notepad: Restructure menus and make hot-keys unique.
Mohamad Al-Jaf (6):
windows.ui: Implement IUISettings4 stub.
windows.ui: Implement IUISettings5 stub.
coremessaging: Add IDispatcherQueueControllerStatics stub.
coremessaging/tests: Add IDispatcherQueueControllerStatics::CreateOnDedicatedThread() tests.
coremessaging/tests: Add CreateDispatcherQueueController() tests.
coremessaging: Partially implement CreateDispatcherQueueController().
Nikolay Sivov (17):
windowscodecs/tests: Use wide-char literals in tests.
windowscodecs/converter: Add 48bppRGBHalf -> 32bppBGRA conversion path.
windowscodecs/converter: Add 48bppRGBHalf -> 128bppRGBFloat conversion path.
windowscodecs/tests: Add a test for 24bpp TIFF with separate sample planes.
windowscodecs/tiff: Add support for files with separate planes.
windowscodecs: Fix information strings for the Ico decoder.
windowscodecs: Fix information strings for the Jpeg decoder.
windowscodecs: Fix information strings for the Tiff decoder.
libs: Enable JPEG codec in libtiff.
windowscodecs/tiff: Use libjpeg for colorspace conversion YCbCr -> RGB.
windowscodecs/tests: Add some tests for multi-frame tiffs vs SUBFILETYPE tag.
windowscodecs/tiff: Skip frames marked with SUBFILETYPE(0x1).
comctl32/edit: Remove change notifications on Ctrl+A selections.
user32/edit: Reset internal capture state on WM_CAPTURECHANGED.
comctl32/edit: Reset internal capture state on WM_CAPTURECHANGED.
windowscodecs/tiff: Zero-initialize decoder structure.
gdi32/uniscribe: Do not limit the number of items in ScriptStringAnalyse().
Paul Gofman (10):
win32u: Don't redraw window in expose_window_surface() if window has surface.
win32u: Don't inflate rect in expose_window_surface().
shell32: Avoid writing past end of xlpFile or lpResult in SHELL_FindExecutable().
ntdll: Bump current build number to 19045 (Win10 22H2).
services: Create ImagePath registry value with REG_EXPAND_SZ type.
ntdll: Allocate output string if needed for REG_EXPAND_SZ in RTL_ReportRegistryValue().
user32: Add stub for IsWindowArranged().
msvcp: Use _beginthreadex() in _Thrd_start().
kernel32/tests: Add test for removing completion port association with job.
server: Support removing completion port association with job.
Piotr Caban (12):
netapi32: Validate bufptr argument before accessing it.
netapi32: Fix WOW64 server_getinfo thunk.
netapi32: Fix WOW64 share_add thunk.
netapi32: Fix WOW64 wksta_getinfo thunk.
netapi32: Use correct allocators for buffers returned by NetServerGetInfo and NetWkstaGetInfo.
netapi32: Add NetShareGetInfo implementation for remote machines.
ntdsapi: Add DsMakeSpnA implementation.
ntdsapi: Fix referrer handling in DsMakeSpnW function.
msado15: Don't return early in _Recordset_Open if there are no columns.
msado15: Initialize columns in ADORecordsetConstruction_put_Rowset.
msado15: Fix Fields object refcounting.
msado15/tests: Fix some memory leaks.
Rémi Bernon (37):
winebus: Ignore mouse / keyboard hidraw devices by default.
server: Remove const qualifier from shared memory pointers.
include: Implement ReadAcquire64.
server: Use NTUSER_OBJ constants for user object types.
server: Allocate a session shared memory header structure.
server: Move the user object handle table to the shared memory.
win32u: Use the session shared object to implement is_window.
win32u: Use the session shared object for user handle entries.
winewayland: Implement window surface shape and color keying.
windows.gaming.input: Move async impl interfaces to a dedicated IDL.
windows.media.speech: Sync async impl with windows.gaming.input.
cryptowinrt: Sync async impl with windows.gaming.input.
windows.devices.enumeration: Sync async impl with windows.gaming.input.
windows.security.credentials.ui.userconsentverifier: Sync async impl with windows.gaming.input.
server: Remove unused get_window_info atom reply parameter.
win32u: Read the windows full handle from the shared memory.
win32u: Use the session user entries for is_current_thread_window.
win32u: Use the session user entries for is_current_process_window.
win32u: Read window tid / pid from the session shared memory.
wineandroid: Get rid of now unnecessary function loading.
winex11: Get rid of now unnecessary function loading.
winemac: Get rid of now unnecessary function loading.
winewayland: Get rid of now unnecessary function loading.
win32u: Pass thread id to next_process_user_handle_ptr.
win32u: Get rid of struct WND tid member.
win32u: Get rid of struct user_object.
gitlab: Run ntoskrnl tests with win64 architecture.
windows.devices.enumeration: Factor DeviceWatcher creation in a device_watcher_create helper.
windows.devices.enumeration: Implement DeviceWatcher::get_Status.
windows.devices.enumeration: Implement DeviceWatcher async state changes.
windows.devices.enumeration: Split setupapi device enumeration to a separate helper.
windows.media.speech/tests: Make refcount tests results deterministic.
win32u: Don't load the display drivers in service processes.
win32u: Rename set_window_style to set_window_style_bits.
win32u: Add NtUserAlterWindowStyle syscall stub.
win32u: Implement and use NtUserAlterWindowStyle.
winebus: Skip device stop if it wasn't started.
Tim Clem (2):
ntdll: Treat TokenElevationTypeDefault tokens in the admin group as elevated.
advapi32/tests: Skip a token elevation test if OpenProcess fails.
Vibhav Pant (8):
windows.devices.enumeration/tests: Add conformance tests for FindAllAsync().
windows.devices.enumeration: Add a stubbed implementation for FindAllAsync() and DeviceInformationCollection.
windows.devices.enumeration: Add a stubbed IDeviceInformation implementation for device interfaces.
windows.devices.enumeration: Create IDeviceInformation objects from all present device interfaces.
windows.devices.enumeration: Add tests for initial device enumeration in DeviceWatcher.
windows.devices.enumeration: Implement IDeviceInformationStatics::CreateWatcher.
windows.devices.enumeration: Implement EnumerationCompleted handler for DeviceWatcher.
windows.devices.enumeration: Implement initial device enumeration for DeviceWatcher::Start().
Yeshun Ye (3):
dssenh: Add 'CRYPT_VERIFYCONTEXT | CRYPT_NEWKEYSET' support for CPAcquireContext.
dssenh/tests: Add test for CryptAcquireContextA.
find: Support switch /i or /I.
Yuxuan Shui (3):
win32u: Fix potential use of uninitialized variables.
msvcrt: Use _LDOUBLE type in exported functions.
ntdll: Also relocate entry point for builtin modules.
Zhiyi Zhang (4):
windows.ui: Implement IWeakReferenceSource for IUISettings.
windows.ui: Implement weak_reference_source_GetWeakReference().
include: Add windows.ui.viewmanagement.core.idl.
include: Add ID3D11FunctionLinkingGraph.
Ziqing Hui (11):
shell32/tests: More use of check_file_operation helper in test_copy.
shell32: Fail if wildcards are in target file names.
shell32: Introduce file_entry_{init,destroy} helpers.
shell32: Remove a useless index variable in parse_file_list.
shell32: Rework FO_COPY operation.
shell32: Remove useless bFromRelative member.
shell32: Add overwrite confirmation for FO_COPY.
shell32/tests: Add more wildcard target tests.
shell32: Introduce has_wildcard helper.
shell32: Handle invalid parameter correctly for SHFileOperationW.
shell32: Introduce parse_target_file_list helper.
```
[View Less]
The Wine development release 10.7 is now available.
What's new in this release:
- User fault fd support to improve write watches performance.
- Support for Float format conversions in WindowsCodecs.
- More work on the new PDB backend.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.7.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
…
[View More]Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.7/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.7 (total 14):
- #18803 PokerStars windows disappear on alert
- #18926 In Winamp, the "send to..." submenu in the playlist menu does not appear
- #20172 Button "Alt Gr" triggers access violation in Teach2000
- #31775 Misaligned icons in icon bar
- #33624 winhelp: Popups appear with bogus scrollbars which disappear when you click them
- #37706 ScrollWindowEx() returns ERROR if the window is not visible (in the Windows API sense); real Windows returns NULLREGION
- #38379 Barnham Junction fails to start "Cannot create file C\users\username\Temp\BBC*.tmp\Sim Resources\Barnham Junction\Nameboard.bmp"
- #48792 HeidiSQL: some icons completely grayed out
- #50226 Native Access 1.13.5 Setup PC.exe Installer installs infinitely
- #50851 The procedure entry point RasClearConnectionStatistics could not be located in the dynamic link library RASAPI32.dll
- #56107 Comdlg32/Color - Cross not painted
- #57684 Games do not receive keyboard input in virtual desktop mode
- #58072 LVSCW_AUTOSIZE does not include the size of the state imagelist
- #58082 Race condition in GlobalMemoryStatusEx() implementation
### Changes since 10.6:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (3):
cmd: Use the OEM code page if GetConsoleOutputCP fails.
cmd/tests: Add updated code page test in batch file.
cmd: Use the console output code page to read batch files.
Alex Henrie (2):
gdi32: Limit source string length in logfont_AtoW (ASan).
gdi32: Ensure null termination in logfont_AtoW.
Alexander Morozov (3):
ntoskrnl.exe/tests: Test some Io functions with FDO and PDO.
ntoskrnl.exe/tests: Test that calling some Io functions does not result in receiving IRP_MN_QUERY_ID.
ntoskrnl.exe: Fix getting DevicePropertyEnumeratorName.
Alexandre Julliard (25):
ntdll: Round the virtual heap size to a page boundary.
kernel32/tests: Don't use _ReadWriteBarrier on ARM platforms.
configure: Default to MSVC mode with LLVM cross-compilers.
configure: Move cross-compiler checks before header checks.
configure: Make the missing PE compiler notice a warning.
configure: Use a standard pkg-config check for Alsa.
include: Use pragma push/pop.
tools: Use pragma push/pop.
dlls: Use pragma push/pop.
programs: Use pragma push/pop.
configure: Re-enable pragma pack warnings.
urlmon/tests: Run the ftp tests against test.winehq.org.
wininet/tests: Run the ftp tests against test.winehq.org.
include: Avoid long types on the Unix side.
ntdll: Remove redundant casts.
win32u: Remove redundant casts.
winex11: Remove redundant casts.
winemac: Remove redundant casts.
wineandroid: Remove redundant casts.
winewayland: Remove redundant casts.
tools: Fix tracing of empty strarray.
tools: Use booleans where appropriate.
tools: Generate syscall macros directly with the right offset.
tools: Add a platform-independent name for the ALL_SYSCALLS macros.
ntdll: Add a test for invalid syscall numbers.
Alexandros Frantzis (3):
winewayland: Support building with older EGL headers.
winewayland: Always check the role to determine whether a surface is a toplevel.
winewayland: Introduce helper to check whether a surface is toplevel.
Attila Fidan (1):
winewayland: Require wl_pointer for pointer constraints.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (4):
ntoskrnl.exe/tests: Remove unused function pointers.
spoolss: Avoid buffer-overflow when setting numentries (ASan).
d3d11/tests: Add broken to test_nv12.
gdi32/tests: Remove one test for NtGdiMakeFontDir.
Billy Laws (2):
ntdll: Allow mem{cpy,move} optimisation now -fno-builtins is used.
ntdll: Check arm64ec TEB frames are valid before popping them.
Brendan McGrath (3):
mf: Update state and start clock for both paused and stopped.
mf: Reset audio client on flush.
winegstreamer: Handle the Stream Group Done event.
Brendan Shanks (2):
win32u: Enter font_lock in NtGdiMakeFontDir.
win32u: Raise realized font handle limit to 5000.
Charlotte Pabst (1):
mfplat/tests: Don't assume video processor MFT can provide samples.
Dmitry Timoshkov (3):
user32/tests: Add more ScrollWindowEx() tests.
win32u: Fix return value of ScrollWindowEx() for invisible windows.
windowscodecs: Also initialize FlipRotator.bpp field.
Elizabeth Figura (4):
wined3d/glsl: Move clip distance enabling to shader_glsl_apply_draw_state().
wined3d/glsl: Move GL_FRAMEBUFFER_SRGB application to shader_glsl_apply_draw_state().
wined3d: Move SRGB write enable to wined3d_extra_ps_args.
wined3d: Move the clip plane mask to wined3d_extra_vs_args.
Eric Pouech (9):
dbghelp: Move typedef handling to the new PDB backend.
dbghelp: Add user field to function and inline sites.
dbghelp: Move reading inlinee line number information to PDB backend.
dbghelp: Directly store compiland's name in symt_compiland.
dbghelp: Use symref_t to describe a symbol's container.
cmd: Factor out code_page when searching for a label.
conhost: Add support for ESC in win32 edit mode.
conhost: Handle ctrl-break unconditionally.
conhost: Handle ctrl-c from unix console in ReadConsoleW + control.
Esme Povirk (7):
oleaut32: Use apartment-less WIC.
oleaut32: Copy palette from WIC source for indexed formats.
gdiplus: Limit clip region calculation to device rectangle.
gdiplus: Don't trace old values in GdipSetMatrixElements.
appwiz.cpl: Report addon download failures.
comctl32: Implement EVENT_OBJECT_STATECHANGE for progress control.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for progress bars.
Francisco Casas (1):
d2d1: Compile shaders on device creation instead of device context creation.
Gabriel Ivăncescu (9):
mshtml: Rename struct constructor to stub_constructor.
mshtml: Consolidate the functional constructors into a common struct implementation.
mshtml: Define the constructor's prototype on mshtml side.
mshtml: Define "create" from XMLHttpRequest constructor as a jscript prop in IE9+ modes.
mshtml: Return proper string from functional constructors' toString in IE9+ modes.
mshtml: Store the object_id of the last object in the prototype chain that contains the needed prop.
mshtml: Validate builtin host functions in IE9+ using prototype_id rather than tid where possible.
mshtml: Use designated initializers for the Location dispex data.
mshtml: Remove unused struct mutation_observer_ctor.
Hans Leidekker (3):
odbc32: Fix replicating unixODBC data sources.
include: Fix typos in exclusiveto attributes.
msv1_0: Drop the ntlm_auth check.
Jinoh Kang (4):
Revert "kernel32/tests: Don't use _ReadWriteBarrier on ARM platforms."
kernel32/tests: Don't use _ReadWriteBarrier() on clang.
kernel32/tests: Run store_buffer_litmus_test() in a single-iteration loop.
kernel32/tests: Shorten time for negative half of litmus test for FlushProcessWriteBuffers().
Keno Fischer (1):
ntdll: Make server requests robust to spurious short writes.
Louis Lenders (1):
combase: Add stub for RoOriginateErrorW.
Marc-Aurel Zent (4):
server: Store process base priority separately.
server: Use process base priority in set_thread_base_priority.
ntdll: Implement ProcessBasePriority class in NtSetInformationProcess.
ntdll/tests: Add tests for setting process base priority.
Michael Stefaniuc (2):
maintainers: Remove myself as the Stable maintainer.
dmsynth: Don't report an underrun when current equals write position.
Mohamad Al-Jaf (4):
windows.media.mediacontrol: Fix a memory leak.
windows.devices.enumeration: Guard against WindowsDuplicateString() failure.
windows.system.profile.systemid/tests: Add ISystemIdentificationInfo::get_Id() tests.
windows.system.profile.systemid: Implement ISystemIdentificationInfo::get_Id().
Nikolay Sivov (23):
include: Add newer winhttp option constants.
comctl32/tests: Add a column width test for LVSCW_AUTOSIZE with a state imagelist.
comctl32/listview: Use state icon width when autosizing columns.
winedump: Fix a crash in 'dump' command.
include: Change the schannel.h guard name.
include: Add WINHTTP_SECURITY_INFO type.
windowscodecs/tests: Remove A->W test data conversion.
windowscodecs/tests: Add some tests for encoder info.
windowscodecs: Fix JPEG encoder information strings.
windowscodecs: Fix TIFF encoder information strings.
shell32: Simplify error handling when FolderItemVerbs object is created.
shell32: Fix use-after-free at FolderItemVerbs creation (ASan).
windows.ui/tests: Remove tests for exact color values.
uiautomationcore: Fix BSTR buffer overrun (ASan).
comdlg32/colordlg: Fix color picker cursor painting.
windowscodecs/png: Fix byte-swapping mode usage in the encoder.
windowscodecs/tests: Add a test for big-endian TIFF image data handling.
windowscodecs/tiff: Remove unnecessary image data byte-swaping.
windowscodecs/converter: Add 24bppBGR -> 128bppRGBAFloat conversion path.
windowscodecs/converter: Add 32bppBGRA - > 128bppRGBAFloat conversion path.
windowscodecs/converter: Add 128bppRGBAFloat -> 32bppBGRA conversion path.
windowscodecs/converter: Add 96bppRGBFloat -> 128bppRGBFloat conversion path.
windowscodecs/converter: Add 96bppRGBFloat -> 32bppBGRA conversion path.
Pali Rohár (2):
win87em: Fix __FPMATH symbol name.
krnl386: Set carry flag for unimplemented DPMI 0800h call (Physical Address Mapping).
Paul Gofman (6):
opengl32: Don't distinguish WGL_SWAP_EXCHANGE_ARB and WGL_SWAP_UNDEFINED_ARB when filtering in wglChoosePixelFormatARB().
kernel32/tests: Add more tests for write watches.
ntdll: Use UFFD for write watches support if available.
wbemprox: Implement Win32_CacheMemory table.
netapi32: Fix service names in NetStatisticsGet().
ntdll: Make sure NT flag is not set before iretq in wine_syscall_dispatcher_return on x86-64.
Piotr Caban (18):
msvcr110/tests: Link to msvcr110.
msvcr70/tests: Link to msvcr70.
msvcr71/tests: Link to msvcr71.
include: Add _FCbuild() declaration.
include: Add vsscanf declaration.
include: Add function declarations used in msvcr120 tests.
msvcr120/tests: Link to msvcr120.
msvcrt: Fix memory leaks in create_locinfo.
makefiles: Use -fno-builtin for CRT tests.
msvcr80/tests: Link to msvcr80.
include: Add functions used by msvcr90 tests.
msvcr90/tests: Link to msvcr90.
msvcrt: Avoid dynamic allocation when storing locale name.
msvcrt: Use LC_MAX constant in create_locinfo.
secur32/tests: Make NTLM server challenge blob human-readable.
secur32/tests: Use one copy of server challenge reply in NTLM tests.
secur32/tests: Fix NTLM tests on Windows 11 by accepting NTLMv2 in test server response.
secur32/tests: Don't accept NTLMv1 type 3 message in NTLM tests.
Rastislav Stanik (1):
kernelbase: Fix race condition in GlobalMemoryStatusEx().
Rémi Bernon (12):
d3d9/tests: Skip some d3d12 tests instead of crashing.
win32u: Use the driver_funcs interface for osmesa pixel formats.
win32u: Add an opengl_driver_funcs entry to implement wglGetProcAddress.
opengl32: Generate error messages in null functions.
opengl32: Pass null GL funcs to __wine_get_wgl_driver.
win32u: Add procedure loading to generic OpenGL code.
win32u: Add a generic wglSwapBuffers implementation.
wineandroid: Use the generic wglSwapBuffers implementation.
winemac: Use the generic wglSwapBuffers implementation.
winewayland: Use the generic wglSwapBuffers implementation.
winex11: Use the generic wglSwapBuffers implementation.
win32u: Add nulldrv swap_buffers implementation.
Stefan Dösinger (3):
odbc32: Don't call wcslen in debugstr_sqlwstr.
odbc32: Retlen may be NULL in SQLGetData.
msvcrt: Add truncf to the import library.
Tim Clem (1):
comctl32: Track initial taskdialog layout on a per-dialog basis.
Yuxuan Shui (1):
winegstreamer: Make sure WMSyncReader never reads in the background.
```
[View Less]
The Wine development release 10.6 is now available.
What's new in this release:
- New lexer in Command Processor.
- PBKDF2 algorithm in Bcrypt.
- More support for image metadata in WindowsCodecs.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.6.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work …
[View More]of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.6/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.6 (total 27):
- #6682 IrfanView's 4.44 Help -> About window is missing a picture on the left
- #13884 No music in Blue Wish Resurrection Plus
- #29912 No parent button in file selection dialog
- #31701 Alan Wake crashes on start without native d3dx9_36
- #35652 Multiple MMORPH game launchers crash on startup or apps fail to update initial window content ('DIALOG_CreateIndirect' needs to trigger WM_PAINT)(Aeria Games 'Aura Kingdom', STOnline)
- #39453 Graphs not rendering using gdiplus
- #41729 2GIS 3.0 application crashes on exit.
- #44978 Text in WC3 World Editor isn't colored properly
- #45460 Running EVE Online keeps locking up after a few hours
- #48121 Unity games do not fire OnApplicationFocus/OnApplicationPause events on focus regain
- #51053 Alan Wake Crashes After Intro Cut Scene
- #51378 Failures with `DetourCreateProcessWithDllEx` for Microsoft's Detours Library
- #51546 Xenos 2.3.2 dll injector crashes
- #51575 Texconv fails with mipmap error unless "-nowic" is supplied to disable WIC use
- #51584 Zafehouse: Diaries demo needs support for pixel format DXT5 in D3DXSaveSurfaceToFileInMemory
- #52553 Resource Hacker 5.1.8 fails to render tree view on left, shows white screen
- #55819 when alt+tab out and in again, the input no longer working
- #56073 Some Unity games don't receive keyboard input when using virtual desktop
- #57283 The Queen of Heart 99 SE : corrupted visuals on KO screen
- #57492 Players can't join Astroneer dedicated server with enabled encryption because BCryptExportKey encryption of key not yet supported
- #57665 The Medium game launcher has no background image
- #57738 Title of "Select Topic" window in hh.exe is not translatable
- #57951 Ultrakill: level 1-1 has invisible tree leaves on WINED3D, works fine on DXVK
- #57998 ClickOnce apps don't start after installing winetricks dotnet472
- #58057 Certificate import wizard does not give visual confirmation when a specific certificate store is selected
- #58061 [FL Studio] When holding CTRL to zoom in the playlist, it also scrolls vertically - possible regression
- #58066 Virtual desktop doesn't resize correctly (missing window border) when VD size = desktop size
### Changes since 10.5:
```
Akihiro Sagawa (1):
server: Fix the accumulation method when merging WM_MOUSEWHEEL message.
Alex Henrie (1):
cryptui: Copy localized name of selected store to textbox.
Alexander Morozov (1):
ntoskrnl.exe/tests: Fix a test failure on 32-bit Windows 7.
Alexandre Julliard (37):
winegcc: Set default section alignment to 64k on ARM64.
winegcc: Add a boolean flag for the -marm64x option.
winebuild: Align sections to 64k on ARM64.
ntdll: Move a bit more work into the open_builtin_so_file() helper function.
ntdll: Add a helper function to open the main image as .so file.
ntdll: Move some code around to group together all functions related to .so dlls.
ntdll: Don't build support for .so dlls on platforms that don't have them.
win32u: Implement NtGdiMakeFontDir().
gdi32/tests: Add a test for NtGdiMakeFontDir().
gdi32: Use NtGdiMakeFontDir() to implement CreateScalableFontResourceW().
win32u: Remove the __wine_get_file_outline_text_metric() syscall.
win32u: Implement NtUserGetProcessDefaultLayout().
win32u: Implement NtUserBeginDeferWindowPos().
win32u: Implement NtUserSetForegroundWindow().
win32u: Implement NtUserKillSystemTimer().
cng.sys: Use the native subsystem.
hidclass.sys: Use the native subsystem.
hidparse.sys: Use the native subsystem.
wmilib.sys: Use the native subsystem.
mouhid.sys: Remove unneeded spec file.
makefiles: Require .sys modules to use the native subsystem.
mmdevapi: Move the device GUID cache to the common code.
mmdevapi: Move the registry device name lookup to the common code.
mmdevapi: Move assigning a device GUID to the common code.
mmdevapi: Forward driver entry points to the loaded driver.
winmm: Always load mmdevapi as audio driver.
mmdevapi: Get rid of the Wine info device.
mmdevapi: Move the auxMessage() implementation to the common code.
mmdevapi: Unload the driver module on process detach.
mmdevapi: Allow audio drivers to defer MIDI support to a different driver.
mmdevapi: Move the DriverProc implementation to the common code.
mmdevapi: Move the mid/modMessage implementations to the common code.
mmdevapi: Merge mmdevdrv.h into mmdevapi_private.h.
makefiles: Make spec files optional for driver modules.
ntdll: Add a stub for NtCreateSectionEx().
kernelbase: Implement CreateFileMapping2().
cmd/tests: Fix the NUL device name.
Bernhard Übelacker (7):
ws2_32/tests: Add broken to test_WSAAddressToString.
propsys/tests: Add broken to test_PropVariantChangeType_R8.
psapi/tests: Add broken to test_GetModuleFileNameEx.
winhttp/tests: Add broken to test_redirect.
setupapi/tests: Add broken to test_SetupDiOpenDeviceInterface.
advapi32/tests: Avoid crash in test_LsaLookupNames2 by setting len to zero.
ntdll/tests: Make single step test succeed for 32-bit systems.
Brendan McGrath (1):
winegstreamer: Push flush event when flushing.
Byeong-Sik Jeon (9):
win32u: Preserve result string from multiple WINE_IME_POST_UPDATE calls during ImeProcessKey.
win32u: Support WM_IME_KEYDOWN message during ImeProcessKey.
imm32: Fix the WM_IME_COMPOSITION messages to be between the WM_IME_{START|END}COMPOSITION message.
winewayland: Use an empty string to clear the composition string.
win32u: Add more CompAttr, CompClause implementation using cursor_begin, cursor_end concept.
winewayland: Extend cursor_pos using cursor_begin, cursor_end.
winemac: Extend cursor_pos using cursor_begin, cursor_end.
winex11: Extend cursor_pos using cursor_begin, cursor_end.
winex11: Update only when caret pos changed in xic_preedit_caret.
Charlotte Pabst (2):
mfplat/tests: Add test for MF_XVP_PLAYBACK_MODE.
winegstreamer: Allow caller to allocate samples in MF_XVP_PLAYBACK_MODE.
Conor McCarthy (1):
server: Do not call setpriority() if it cannot be used safely.
Daniel Lehman (3):
oleaut32/tests: Test for bpp.
oleaut32/tests: Add some test bmps.
oleaut32: Handle more pixel formats in OleLoadPicture.
Daniel Martin (1):
activeds: Implement ADsBuildVarArrayInt.
Dmitry Timoshkov (8):
sane.ds: Fix DC leak.
sane.ds: Change return type of sane_categorize_value() to void.
sane.ds: Clarify how SANE mode names map to ICAP_PIXELTYPE values.
sane.ds: Use sizeof() instead of hard-coded values, avoid zero initializing local variables when not necessary.
bcrypt/tests: Add a test for exporting/importing AES wrapped blob with different key sizes.
bcrypt: Add support for exporting AES wrapped blob for a 256-bit key.
bcrypt: Add support for importing AES wrapped blob for a 256-bit key.
cryptext: Implement CryptExtOpenCER.
Elizabeth Figura (12):
user32/tests: Test messages when creating a visible modeless dialog.
wined3d: Partially move fog mode to wined3d_extra_ps_args.
wined3d: Move alpha test func to wined3d_extra_ps_args.
wined3d: Partially move texture index and transform flags to wined3d_extra_ps_args.
wined3d: Make ffp_vertex_update_clip_plane_constants() static.
wined3d: Feed clip planes through a push constant buffer.
wined3d: Add support for a layered DPB.
ddraw/tests: Test a stretched blit to self with overlap.
wined3d: Fix a bit of logic around identical fog start/end.
ws2_32/tests: Add tests for socket handle validity checks in send functions.
ntdll: Validate fd type in IOCTL_AFD_WINE_COMPLETE_ASYNC.
ws2_32: Allow using duplicated socket handles in WS2_sendto().
Eric Pouech (31):
cmd/tests: Add more lexer related tests.
cmd: Rely on node_builder to get lexer state.
cmd: Check command buffer instead of keeping whitespace state.
cmd: Factorize end-of-line conditions.
cmd: Handle directly commands til eol.
dbghelp: Fix line number when multiple entries have same offset.
dbghelp: Always reset all the fields for local scope enumeration.
dbghelp: Don't report local symbols when they are not present.
dbghelp: Use new pdb reader for DEFRANGE based local variables.
dbghelp: Introduce helper to query info from index.
cmd: Rewrite string handling in lexer.
cmd: Remove unneeded variable 'thisChar' in lexer.
cmd: Removed acceptCommand variable.
cmd: Remove lastWasRedirect variable in lexer.
cmd: Fix infinite loop in FOR /L.
dbghelp: Add SYMFLAG_NULL for out of scope local variables.
dbghelp: Rename ptr <> index conversion helpers.
dbghelp: Introduce an opaque type to store type of data & function.
dbghelp: Use opaque symref_t inside typedef symbol.
dbghelp: Introduce helpers to discrimate symref_t owner.
dbghelp: Now returning PDB basic types as a symref_t.
dbghelp: Advertize old PDB reader types into new reader.
dbghelp: Add method for search type by name.
dbghelp: Add enum_types debug-info method.
dbghelp: Move pointer type handle to PDB backend.
dbghelp: Move array type handling to PDB backend.
dbghelp: Move function signature type handling to PDB backend.
dbghelp: Move enumeration type to PDB backend.
dbghelp: Move UDT type handling to PDB backend.
dbghelp: No longer preload the types from PDB.
dbghelp: Optimize request to codeview types.
Esme Povirk (13):
comctl32: Implement MSAA events for header controls.
gdiplus: Implement path to region conversion without gdi32.
gdiplus/tests: Test rounding of region rectangles.
advapi32: Return success from TreeSetNamedSecurityInfoW.
comctl32: Implement MSAA events for listbox.
comctl32/tests: Test MSAA events for listbox.
comctl32/tests: Add more MSAA event tests for listbox.
gdiplus: Limit path rasterization to region bounding box.
comctl32: Implement MSAA events for listview controls.
comctl32/tests: Test listview MSAA events.
comctl32/tests: Add test for MSAA event on listview setview.
gdiplus: Rename a misleading variable.
gdiplus: Simplify rect region conversion to HRGN.
Etaash Mathamsetty (2):
winewayland.drv: Implement support for xdg-toplevel-icon.
winewayland: Implement relative motion accumulator.
Fabian Maurer (2):
gdiplus/tests: Add test for loading .ico.
gdiplus: Use correct format guid for .ico files.
Gabriel Ivăncescu (5):
mshtml: Don't expose "create" from Image constructor in IE9+ modes.
mshtml: Don't expose "create" from Option constructor in IE9+ modes.
mshtml: Use own window property for Image constructor.
mshtml: Use own window property for Option constructor.
mshtml: Use get_constructor in window's get_XMLHttpRequest.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.312.
Gerald Pfeifer (2):
ntdll: Fix build on platforms without getauxval.
winemaker: Account for FreeBSD.
Giovanni Mascellani (1):
dxgi/tests: Do not request a frame latency waitable on D3D10.
Hans Leidekker (1):
rsaenh/tests: Get rid of workarounds for old Windows versions.
Jacek Caban (1):
mshtml: Rename prototype_id to object_id.
Joachim Priesner (1):
msvcrt: Concurrency: Fix signed/unsigned comparison.
John Szakmeister (1):
ntdll: Correctly detect the NUL device under macOS.
Lorenzo Ferrillo (7):
kernelbase: Factor out common functionality for performance counter functions.
kernelbase: Add implementation of PerfSetULongCounterValue.
kernelbase: Add implementation for PerfSetULongLongCounterValue.
advapi32/tests: Create tests for PerfSetULongCounterValue.
advapi32/tests: Add test For PerfSetULongLongCounterValue.
kernelbase: Check for PERF_ATTRIB_BY_REFERENCE attribute in PerfSetCounterRefValue.
kernelbase: Check for PERF_SIZE_LARGE in PerfSetULongLongCounterValue and PerfSetULongCounterValue.
Marcus Meissner (1):
configure: Avoid problems with -Werror=return-type in check.
Matteo Bruni (2):
d3dx9/tests: Clean up D3DXSaveTextureToFileInMemory tests.
d3dxof/tests: Get rid of test_dump().
Nikolay Sivov (33):
windowscodecs/tests: Add some tests for initial metadata readers content.
windowscodecs/tests: Add more tests for the item id handling.
windowscodecs/tests: Add some tests for bKGD chunk.
windowscodecs/tests: Add line context to the metadata comparison helper.
windowscodecs/tests: Remove redundant string length check for VT_LPSTR metadata value.
windowscodecs/tests: Use wide-char literals in metadata tests.
msvcirt/tests: Fix buffer overrun with a terminating null (ASan).
uiautomationcore/tests: Fix use-after-free (ASan).
windowscodecs/tests: Add another test case for 4bps tiff.
windowscodecs/tiff: Fix stride value for 4bps RGBA.
propsys/tests: Add more tests for PropVariantToDouble().
propsys/tests: Add some tests for PropVariantChangeType(VT_R8).
propsys/tests: Use correct members to initialize PropVariantToDouble() test input.
propsys: Fix PropVariantToDouble() for float input.
propsys: Implement PropVariantChangeType(VT_R8).
windowscodecs/tests: Add a PNG encoder test with 64bppRGBA format.
windowscodecs/tests: Add some tests for metadata handlers component info.
windowscodecs/tests: Add some more tests for creating metadata readers.
windowscodecs/tests: Add some tests for GetMetadataHandlerInfo().
windowscodecs/metadatahandler: Remove unused internal vtable entries.
windowscodecs/metadata: Pass handler pointer to the loader implementation.
windowscodecs/metadata: Make it possible to populate default items at creation time.
windowscodecs/metadata: Create default item for the gAMA reader.
windowscodecs/metadata: Create default items for the cHRM handler.
windowscodecs/metadata: Create default item for the hIST handler.
windowscodecs/metadata: Create default items for the tIME handler.
windowscodecs/tests: Add more tests for initial reader contents.
windowscodecs/metadata: Add default item for the GifComment handler.
windowscodecs/metadata: Implement bKGD chunk reader.
dwrite: Implement GetFontSet() for collections.
windowscodecs/metadata: Add a stub for bKGD writer.
windowscodecs/metadata: Add a stub for tIME writer.
combase: Add a stub for SetRestrictedErrorInfo().
Paul Gofman (2):
ntdll: Do not mark first stack guard page as committed.
ntdll: Add some specifics for NtQueryInformationProcess( ProcessDebugObjectHandle ) parameters handling.
Piotr Caban (16):
conhost: Allow raster fonts.
conhost: Merge validate_font and validate_font_metric helpers.
conhost: Imrove best matching font selection in set_first_font.
conhost: Prioritize font charset when selecting initial font.
advapi32: Make username and domain match case insensite.
include: Add some PBKDF2 related definitions.
bcrypt: Fix BcryptDeriveKeyPBKDF2 with NULL salt.
bcrypt: Add PBKDF2 algorithm provider.
bcrypt: Handle PBKDF2 in BCryptGetProperty.
bcrypt: Handle PBKDF2 in BCryptGenerateSymmetricKey.
bcrypt: Reorganize hash_handle_from_desc helper so it can be reused.
bcrypt: Add BCryptKeyDerivation partial implementation (PBKDF2 algorithm).
include: Add _[w]dupenv_s declaration.
include: Add _aligned_msize() declaration.
include: Add wmemmove_s declaration.
msvcr100/tests: Link to msvcr100.
Rémi Bernon (36):
winemac: Get DC pixel format from winemac-internal objects.
winex11: Trace XReconfigureWMWindow requests mask.
winex11: Send _NET_WM_STATE requests to X root window.
winex11: Only set NET_WM_STATE_FULLSCREEN for the desktop.
user32/tests: Add more SW_SHOWNA / SetFocus tests.
win32u: Set window foreground when setting focus.
kernel32/tests: Use the public PROCESS_BASIC_INFORMATION definition.
ntdll/tests: Use the public PROCESS_BASIC_INFORMATION definition.
winex11: Avoid sending WM_MOUSEACTIVATE on WM_TAKE_FOCUS.
winemac: Avoid sending WM_MOUSEACTIVATE on WM_TAKE_FOCUS.
explorer: Paint the desktop even without RDW_ERASE.
winex11: Avoid setting RDW_ERASE on expose events.
dbghelp/tests: Remove now succeeding todo_wine.
psapi/tests: Remove now succeeding todo_wine.
cfgmgr32/tests: Add Windows 7 broken result.
activeds: Use VT_I4 instead of VT_UI4.
inetmib1/tests: Avoid printing large number of failures on macOS.
kernel32/tests: Avoid printing large number of failures on macOS.
dbghelp/tests: Remove now succeeding todo_wine.
win32u: Handle some pixel format initialization.
opengl32/tests: Avoid leaking contexts.
opengl32/tests: Add more WGL_ARB_pbuffer tests.
opengl32/tests: Add more WGL_ARB_render_texture tests.
win32u: Introduce a generic pbuffer implementation from winex11.
winewayland: Use the generic pbuffer implementation.
winemac: Use the generic pbuffer implementation.
win32u: Add a nulldrv pbuffer stub implementation.
win32u: Introduce opengl_driver_funcs for memory DCs.
win32u: Pass pixel format to osmesa_create_context.
win32u: Implement generic context functions.
win32u: Check the DC internal pixel formats against the context format.
wineandroid: Use the generic context functions.
winemac: Use the generic context functions.
winewayland: Use the generic context functions.
winex11: Use the generic context functions.
win32u: Add nulldrv context functions.
Santino Mazza (5):
amstream: Implement IMemAllocator stub for ddraw stream.
amstream/tests: Test for custom allocator in ddraw stream.
amstream: Implement custom allocator for ddraw stream.
amstream/tests: Test for dynamic formats in ddraw stream.
amstream: Implement dynamic formats in ddraw stream.
Sebastian Lackner (1):
user32: Call UpdateWindow() after showing a dialog.
Stefan Dösinger (1):
odbc32: Call the driver's SQLGetInfoW after a->w conversion.
Sven Baars (8):
win32u: Fix a string leak (Valgrind).
ntdll/tests: Fix a leak on error path (Coverity).
ntdll/tests: Fix a string leak (Valgrind).
ntdll: Empty the atom table before destroying it (Valgrind).
ntdll/tests: Fix some string leaks (Valgrind).
ntdll/tests: Don't trace invalid pointers (Valgrind).
ntdll/tests: Fix some uninitialized variable warnings (Valgrind).
ntdll: Avoid evaluating a possibly uninitialized variable in RtlExpandEnvironmentStrings(). (Valgrind).
Tim Clem (1):
winemac.drv: Only send key down events to the window's inputContext.
Tobias Gruetzmacher (4):
wininet: Handle HTTP status code 308 (Permanent Redirect).
winhttp: Handle HTTP status code 308 (Permanent Redirect).
urlmon: Handle HTTP status code 308 (Permanent Redirect).
rsaenh: Ignore reserved field in import_key.
Vibhav Pant (10):
winebth.sys: Fix use-after-free in dispatch_auth (Coverity).
winebth.sys: Broadcast PnP event after updating properties for remote devices.
winebth.sys: Broadcast PnP event when remote devices are removed/lost.
winebth.sys: Broadcast GUID_BLUETOOTH_RADIO_IN_RANGE events for newly discovered remote devices as well.
ws2_32/tests: Allow socket() for Bluetooth RFCOMM sockets to fail with WSAEPROTONOSUPPORT.
winebth.sys: Implement IOCTL_BTH_DISCONNECT_DEVICE.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_REMOVE_DEVICE.
bluetoothapis: Add stub for BluetoothRemoveDevice.
bluetoothapis: Implement BluetoothRemoveDevice.
bluetoothapis/tests: Add tests for BluetoothRemoveDevice.
Yuri Hérouard (1):
wined3d: Use temporary buffer when stretching a surface to itself with cpu blit.
Zhiyi Zhang (7):
user32/tests: Properly test ShowWindow(SW_MAXIMIZE) regarding WS_CAPTION.
win32u: Fix incorrect work area for maximized windows.
user32/tests: Add more window placement maximized position tests.
win32u: Check against the monitor work area in update_maximized_pos().
win32u: Use a more fitting name for a helper function.
win32u: Properly scale monitor work area when emulate_modeset is enabled.
win32u: Support windows spanning multiple monitors in map_window_rects_virt_to_raw().
Ziqing Hui (6):
shell32/tests: Add more tests to test_rename.
shell32/tests: Test NULL and empty file name for SHFileOperation.
shell32/tests: Avoid showing UI when testing.
shell32: Rework add_file_entry, add more parameters.
shell32: Don't parse wildcard for rename operation.
shell32: Rework rename_files.
```
[View Less]
The Wine stable release 9.0.1 is now available.
What's new in this release:
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.0/wine-9.0.1.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]…
[View More]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.0.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.0.1 (total 74):
- #25207 SHFileOperation does not create new directory on FO_MOVE
- #33050 FDM (Free Download Manager) crashes with page fault when any remote FTP directory opened
- #44863 Performance regression in Prince of Persia 3D
- #46070 Basemark Web 3.0 Desktop Launcher crashes
- #46074 Visio 2013 crashes with unimplemented function msvcr100.dll.??0_ReaderWriterLock@details@Concurrency@@QAE@XZ
- #48110 Multiple .NET 4.x applications need TaskService::ConnectedUser property (Toad for MySQL Freeware 7.x, Microsoft Toolkit from MS Office 2013)
- #49089 nProtect Anti-Virus/Spyware 4.0 'tkpl2k64.sys' crashes on unimplemented function 'fltmgr.sys.FltBuildDefaultSecurityDescriptor'
- #49703 Ghost Recon fails to start
- #49877 Minecraft Education Edition shows error during install: Fails to create scheduled task
- #51285 The bmpcoreimage test in user32:cursoricon fails on most Windows versions
- #51599 cmd.exe incorrectly parses an all-whitespace line followed by a closing parenthesis
- #51813 python fatal error redirecting stdout to file
- #51957 Program started via HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths should also be started if extension ".exe" is missing
- #52399 SIMATIC WinCC V15.1 Runtime installer: SeCon tool fails with error 5 while trying to create 'C:\\windows\Security\\SecurityController' (needs '%windir%\\security')
- #52622 windows-rs 'lib' test crashes on unimplemented function d3dcompiler_47.dll.D3DCreateLinker
- #52879 ESET SysInspector 1.4.2.0 crashes on unimplemented function wevtapi.dll.EvtCreateRenderContext
- #53934 __unDName fails to demangle a name
- #54759 Notepad++: slider of vertical scrollbar is too small for long files
- #55000 wineserver crashes below save_all_subkeys after RegUnLoadKey
- #55268 user32:cursoricon - LoadImageA() fails in test_monochrome_icon() on Windows 8+
- #55282 Flutter SDK can't find "aapt" program (where.exe is a stub)
- #55421 Fallout Tactics launcher has graphics glitches
- #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
- #55765 The 32-bit d2d1:d2d1 frequently crashes on the GitLab CI
- #55810 Finding Nemo (Steam): window borders gone missing (virtual desktop)
- #55876 Acrom Controller Updater broken due to oleaut32 install
- #55883 SpeedWave can't draw Window, needs oleaut32.OleLoadPictureFile().
- #55897 cpython 3.12.0 crashes due to unimplemented CopyFile2
- #55945 KakaoTalk crashes when opening certain profiles after calling GdipDrawImageFX stub
- #55997 Dolphin Emulator crashes from 5.0-17264
- #56054 Microsoft Safety Scanner crashes on exit on unimplemented function tbs.dll.GetDeviceIDString
- #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"
- #56122 LANCommander won't start, prints "error code 0x8007046C" (ERROR_MAPPED_ALIGNMENT)
- #56133 explorer.exe: Font leak when painting
- #56135 Dictionnaire Hachette Multimédia Encyclopédique 98 crashes on start
- #56139 scrrun: Dictionary does not allow storing at key Undefined
- #56168 dbghelp hits assertion in stabs_pts_read_type_def
- #56174 Forza Horizon 4 crashes with concrt140.dll.?_Confirm_cancel@_Cancellation_beacon@details@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.
- #56243 ShowSystray registry key was removed without alternative
- #56244 SplashTop RMM client for Atera crashes on unimplemented function shcore.dll.RegisterScaleChangeNotifications
- #56256 Windows Sysinternals Process Explorer 17.05 shows incomplete user interface (32-bit).
- #56265 Epic Games Launcher 15.21.0 calls unimplemented function cfgmgr32.dll.CM_Get_Device_Interface_PropertyW
- #56271 Free Download Manager no longer works after it updated (stuck at 100% CPU, no visible window)
- #56309 Across Lite doesn't show the letters properly when typing
- #56334 Page fault when querying dinput8_a_EnumDevices
- #56357 Zero sized writes using WriteProcessMemory succeed on Windows, but fail on Wine.
- #56361 Geovision Parashara's Light (PL9.exe) still crashes in wine
- #56367 Tomb Raider 3 GOG crashes at start
- #56369 Advanced IP Scanner crashes on unimplemented function netapi32.dll.NetRemoteTOD
- #56372 musl based exp2() gives very inaccurate results on i686
- #56400 SSPI authentication does not work when connecting to sql server
- #56434 WScript.Network does not implement UserName, ComputerName, and UserDomain properties
- #56493 PresentationFontCache.exe crashes during .Net 3.51 SP1 installation
- #56498 Incorrect substring expansion for magic variables
- #56503 CryptStringToBinary doesn't adds CR before pad bytes in some cases
- #56554 ON1 photo raw installs but wont run the application
- #56579 Setupapi fails to read correct class GUID and name from INF file containing %strkey% tokens
- #56582 vb3 combobox regression: single click scrolls twice
- #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
- #56653 GetLogicalProcessorInformation can be missing Cache information
- #56666 BExAnalyzer from SAP 7.30 does not work correctly
- #56730 Access violation in riched20.dll when running EditPad
- #56755 White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c)
- #56763 Firefox 126.0.1 crashes on startup
- #56781 srcrrun: Dictionary setting item to object fails
- #56871 The 32-bit wpcap program is working abnormally
### Changes since 9.0:
```
Alex Henrie (10):
tbs: Add GetDeviceIDString stub.
include: Add mgmtapi.h and LPSNMP_MGR_SESSION.
mgmtapi: AddSnmpMgrOpen stub.
msvcp140_2: Implement __std_smf_hypot3.
where: Implement search with default options.
explorer: Fix font handle leaks in virtual desktop.
pdh: Add PdhConnectMachineA stub.
ntdll/tests: Delete the WineTest registry key when the tests finish.
ntdll/tests: Rewrite the RtlQueryRegistryValues tests and add more of them.
ntdll: Succeed in RtlQueryRegistryValues on direct query of nonexistent value.
Alexandre Julliard (16):
configure: Add /usr/share/pkgconfig to the pkg-config path.
winsta: Start time is an input parameter in WinStationGetProcessSid.
oleaut32: Fix IDispatch::Invoke for vararg functions with empty varargs.
ntdll: Add default values for cache parameters.
secur32/tests: Update count for new winehq.org certificate.
gitlab: Add 'build' tag on Linux build jobs.
gitlab: Remove make -j options.
dnsapi/tests: Update tests for winehq.org DNS changes.
urlmon/tests: Fix a test that fails after WineHQ updates.
wininet/tests: Update issuer check for winehq.org certificate.
urlmon/tests: Skip test if ftp connection fails.
user32/tests: Fix some sysparams results on recent Windows.
dnsapi/tests: Update DNS names for the new test.winehq.org server.
wininet/tests: Update certificate for the new test.winehq.org server.
secur32/tests: Update expected results for the new test.winehq.org server.
winhttp/tests: Allow some more notifications for the new test.winehq.org server.
Alistair Leslie-Hughes (3):
fltmgr.sys: Implement FltBuildDefaultSecurityDescriptor.
fltmgr.sys: Create import library.
ntoskrnl/tests: Add FltBuildDefaultSecurityDescriptor test.
Andrew Nguyen (2):
oleaut32: Bump version resource to Windows 10.
ddraw: Reserve extra space in the reference device description buffer.
Bartosz Kosiorek (2):
gdiplus/tests: Add GdipDrawImageFX tests except effects or attributes.
gdiplus: Partially implement GdipDrawImageFX.
Benjamin Mayes (1):
windowscodecs: Add conversions from PixelFormat32bppBGRA->PixelFormat16bppBGRA5551.
Bernhard Übelacker (10):
server: Avoid unloading of HKU .Default registry branch.
server: Allow VirtualQueryEx on "limited" handle.
wing32: Add tests.
wing32: Avoid crash in WinGGetDIBPointer when called with NULL bitmap info.
dbghelp: Return early if HeapAlloc failed.
ntdll: Fix structure layout in RtlQueryProcessDebugInformation for 64-bit.
wininet: Add missing assignment of return value.
wininet: Avoid crash in InternetCreateUrl with scheme unknown.
cmd: Handle lines with just spaces in bracket blocks.
cmd: Avoid execution if block misses closing brackets.
Dmitry Timoshkov (4):
oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath.
oleaut32: Factor out stream creation from OleLoadPicturePath.
oleaut32: Implement OleLoadPictureFile.
kerberos: Allocate memory for the output token if requested.
Eric Pouech (4):
dbghelp: Support redefinition of a range statement.
server: Allow 0-write length in WriteProcessMemory().
cmd: Add test for substring handling in 'magic' variable expansion.
cmd: Fix substring expansion for 'magic' variables.
Esme Povirk (1):
gdiplus: Prefer Tahoma for generic sans serif font.
Fabian Maurer (11):
win32u: Factor out scroll timer handling.
win32u: Only set scroll timer if it's not running.
oleaut32: Add test for invoking a dispatch get-only property with DISPATCH_PROPERTYPUT.
oleaut32: Handle cases where invoking a get-only property with INVOKE_PROPERTYPUT returns DISP_E_BADPARAMCOUNT.
riched20: In para_set_fmt protect against out of bound cTabStop values.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi/tests: Add tests for IAudioSessionControl2 GetGroupingParam / SetGroupingParam.
mmdevapi: Implement IAudioSessionControl2 GetDisplayName / SetDisplayName.
mmdevapi: Implement IAudioSessionControl2 GetIconPath / SetIconPath.
mmdevapi: Implement IAudioSessionControl2 GetGroupingParam SetGroupingParam.
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.
Hans Leidekker (13):
wbemprox: Protect tables with a critical section.
wbemprox: Handle implicit property in object path.
netprofm: Support NLM_ENUM_NETWORK flags.
netprofm: Set return pointer to NULL in networks_enum_Next().
msi: Install global assemblies before running deferred custom actions.
msi: Install global assemblies after install custom actions and before commit custom actions.
wpcap: Handle different layout of the native packet header structure on 32-bit.
winhttp/tests: Fix test failures introduced by the server upgrade.
secur32: Handle GNUTLS_MAC_AEAD.
secur32/tests: Switch to TLS 1.2 for connections to test.winehq.org.
secur32/tests: Mark some test results as broken on old Windows versions.
crypt32/tests: Fix a test failure.
wbemprox: Use separate critical sections for tables and table list.
Helix Graziani (1):
cfgmgr32: Add CM_Get_Device_Interface_PropertyW stub.
Jinoh Kang (4):
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().
Kartavya Vashishtha (1):
kernelbase: Implement CopyFile2().
Louis Lenders (3):
shcore: Add stub for RegisterScaleChangeNotifications.
shell32: Try appending .exe when looking up an App Paths key.
wmic: Support interactive mode and piped commands.
Martin Storsjö (1):
musl: Fix limiting the float precision in intermediates.
Michael Stefaniuc (2):
gitlab: Do not run the build script on each commit.
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
Nicholas Tay (1):
win32u: Preserve rawinput device instance ID case in add_device().
Nikolay Sivov (10):
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.
wshom/network: Use TRACE() for implemented method.
wshom/network: Implement GetTypeInfo().
wshom/network: Implement ComputerName() property.
wshom/network: Check pointer argument in get_UserName().
wshom/network: Implement UserDomain property.
d2d1: Fix a double free on error path (Valgrind).
scrrun/dictionary: Implement putref_Item() method.
Paul Gofman (5):
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.
winhttp: Always return result at once if available in WinHttpQueryDataAvailable().
winhttp: Always return result at once if available in WinHttpReadData().
kernel32/tests: Add tests for critical section debug info presence.
Peter Johnson (1):
wined3d: Added missing GTX 3080 & 1070M.
Piotr Caban (5):
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.
msvcrt: Store _unDName function parameter backreferences in parsed_symbol structure.
Roland Häder (1):
wined3d: Added missing GTX 1650.
Rémi Bernon (9):
dinput/tests: Add some IRawGameController2 interface tests.
windows.gaming.input: Stub IRawGameController2 interface.
explorer: Restore a per-desktop ShowSystray registry setting.
secur32/tests: Update the tests to expect HTTP/2 headers.
imm32/tests: Add todo_himc to some ImmTranslateMessage expected calls.
urlmon/tests: Expect "Upgrade, Keep-Alive" connection string.
user32/tests: Add flaky_wine to some SetActiveWindow tests.
wininet: Parse multi-token Connection strings for Keep-Alive.
user32/tests: Fix cursoricon tests on recent Windows versions.
Sam Joan Roque-Worcel (1):
win32u: Make SCROLL_MIN_THUMB larger.
Santino Mazza (1):
crypt32: Fix CryptBinaryToString not adding a separator.
Tim Clem (1):
gitlab: Update configuration for the new Mac runner.
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.
Vijay Kiran Kamuju (10):
msvcr100: Add _ReaderWriterLock constructor implementation.
wine.inf: Create security directory.
concrt140: Add stub for _Cancellation_beacon::_Confirm_cancel().
taskschd: Implement ITaskService_get_ConnectedUser.
taskschd: Return success from Principal_put_RunLevel.
taskschd: Implement TaskService_get_ConnectedDomain.
d3dcompiler: Add D3DCreateLinker stub.
netapi32: Add NetRemoteTOD stub.
mscms: Add stub for WcsGetDefaultColorProfile.
wevtapi: Add stub EvtCreateRenderContext().
Zebediah Figura (4):
shell32/tests: Remove obsolete workarounds from test_move().
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().
Zhenbo Li (1):
shell32: Create nonexistent destination directories in FO_MOVE.
Zhiyi Zhang (6):
include: Rename DF_WINE_CREATE_DESKTOP to DF_WINE_VIRTUAL_DESKTOP.
server: Inherit internal desktop flags when creating desktops.
rtworkq: Avoid closing a thread pool object while its callbacks are running.
rtworkq: Avoid possible scenarios that an async callback could be called twice.
user32/tests: Add some ReleaseCapture() tests.
win32u: Only send mouse input in ReleaseCapture() when a window is captured.
```
[View Less]
The Wine development release 10.5 is now available.
What's new in this release:
- Support for larger page sizes on ARM64.
- Mono engine updated to version 10.0.0.
- Pairing support in the Bluetooth driver.
- Vulkan H.264 decoding.
- %GS register swapping on macOS.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.5.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You …
[View More]will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.5 (total 22):
- #2155 Failure of SetFocus, SetActiveWindow and SetForegroundWindow
- #52715 wine segfaults on asahi linux due to 16k pages (apple M1 hardware, linux kernel/userland)
- #56377 Microsoft Edge freezes almost immediately after launching
- #56479 Shrift 2 Translation Patch 1.3Gamev2.07: could not load file or assembly. access denied.
- #56837 Bad file pointer after a file write in appending mode
- #57010 Pantheon - error during installation
- #57406 Brothers - A Tale of Two Sons launcher fails to launch
- #57784 Video modes are broken
- #57919 Rally Trophy: Keyboard key is not configurable anymore, regression
- #57920 Rally Trophy: Input device configuration doesn't show mapped keys anymore, regression
- #57940 ntoskrnl.exe tests can trigger BSOD
- #57948 Listview / LVM_GETORIGIN returns wrong coordinates
- #57973 Listbox selected items are rendered even with LBS_NOSEL
- #57987 The Queen of Heart 99 SE : Config.exe crashes just before saving and quitting
- #57996 PS Core installer crashes (regression)
- #58006 winegcc seg-faults in wine 10.4
- #58008 wine-10.4 hangs on macOS (Rosetta 2)
- #58022 mscoree:comtest and mscoree:mscoree fail
- #58024 Listview does not handle WM_VSCROLL(SB_BOTTOM)
- #58038 Keyboard input lost after alt-tabbing in virtual desktop
- #58050 Game Controllers panel crashes on exit
- #58052 TipTap launcher for OverField crashes: Call to unimplemented function USER32.dll.IsTopLevelWindow
### Changes since 10.4:
```
Alex Henrie (4):
ntdll: Correct NtAllocateReserveObject arguments in specfile.
ntdll: Implement querying StorageDeviceProperty for optical discs.
cryptui: Use wide character string literal for L"".
shell32/tests: Use wide character string literals.
Alexandre Julliard (48):
winegcc: Store the output name in a global variable.
winegcc: Use -nostdlib for MSVC builds.
winegcc: Always add strip flag to the linker args explicitly.
winegcc: Validate the target option after all arguments have been handled.
winegcc: Always pass the -x option through the files list.
winegcc: Store the linking options in global variables.
winegcc: Store the files arguments in a global variable.
ntdll: Limit the header mapping size to the size of the file.
ntdll: Don't use private writable mappings on macOS.
ntdll: Retrieve the host page size on the Unix side on ARM64.
ntdll: Align virtual memory allocations to the host page size.
ntdll: Align virtual memory deallocations to the host page size.
ntdll: Apply virtual page protections to the entire host page.
ntdll: Align file mappings to the host page size.
ntdll: Align stack guard pages to the host page size.
ntdll: Align to the host page size when calling mlock/munlock/msync.
server: Support the host page size being different from the Windows page size.
widl: Preserve pragma pack() statements in header files.
widl: Use pragma pack in generated files.
include: Use pragma pack in idl files.
ntdll: Round the size of the .so NT header to the file alignment.
winegcc: Don't forward -v to the compiler by default.
winegcc: Only pass explicit linker arguments with -print-libgcc-file-name.
winegcc: Set the entry point option in get_link_args().
winegcc: Add a helper function to read options from a file.
include: Move InitializeObjectAttributes definition to ntdef.h.
ntdll: Use the InitializeObjectAttributes macro in more places.
ntdll/tests: Use the InitializeObjectAttributes macro in more places.
kernelbase: Use the InitializeObjectAttributes macro in more places.
wine.inf: Add list of known dlls.
wineboot: Fetch the list of supported machines once at startup.
wineboot: Create section objects for known dlls.
advapi32: Delay import cryptsp.
comctl32: Delay import oleacc.
comdlg32: Delay import winspool
gdiplus: Delay import mlang.
imagehlp: Delay import dbghelp.
wldap32: Delay import some libraries.
ntdll: Only enable redirection around the calls that access the file system.
ntdll: Add a helper to build an NT name from the system directory.
ntdll: Try to open dll mappings from the KnownDlls directory first.
ntdll: Only check HAVE_PTHREAD_TEB when setting %fs on Linux.
wineps.drv: Delay import winspool.
kernelbase: Redirect system32 paths manually for delayed file moves.
setupapi: Don't print an error when failing to replace a native dll.
setupapi: Delay fake dll installation until reboot for files in use.
makefiles: Handle the makefile disable flags directly in configure.
makefiles: Skip building some programs that are only useful for the host architecture.
Alfred Agrell (1):
server: Fall back to epoll_wait if epoll_pwait2 doesn't work.
Anders Kjersem (1):
setupapi: Don't add backslash on empty folder.
André Zwing (2):
bluetoothapis/tests: Don't test function directly when reporting GetLastError().
kernel32/tests: Don't test function directly when reporting GetLastError().
Attila Fidan (1):
winewayland: Don't use a destroyed surface in text input.
Bartosz Kosiorek (4):
gdiplus/test: Add GdipReversePath test for Path Pie.
gdiplus: Fix GdipReversePath for mixed Bezier and Line points in subpath.
gdiplus/tests: Add tests for GdipGetPathWorldBounds with single point.
gdiplus: Add single point support for GdipGetPathWorldBounds.
Bernhard Übelacker (1):
joy.cpl: Set devnotify to NULL after it got unregistered (ASan).
Brendan McGrath (5):
mfplat/tests: Fix crash in MFShutdown on Windows.
mfplat/tests: Fix leak of media events.
mfplat/tests: Fix leak of media source.
winegstreamer: Allow NULL for time_format.
mfsrcsnk: Allow NULL for time_format.
Brendan Shanks (6):
ntdll: Remove ugly fallback method for getting a thread's GSBASE on macOS.
ntdll: Ensure init_handler runs in signal handlers before any compiler-generated memset calls.
ntdll: Don't access the TEB through %gs when using the kernel stack in x86_64 syscall dispatcher.
ntdll: Set %rsp to be inside syscall_frame before accessing %gs in x86_64 syscall dispatcher.
ntdll: On macOS x86_64, swap GSBASE between the TEB and macOS TSD when entering/leaving PE code.
ntdll: Remove x86_64 Mac-specific TEB access workarounds that are no longer needed.
Connor McAdams (5):
d3dx9/tests: Add a test for reading back a texture saved as D3DXIFF_JPG.
d3dx9/tests: Add more tests for saving textures to DDS files.
d3dx9: Add support for saving IDirect3DTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
d3dx9: Add support for saving IDirect3DCubeTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
d3dx9: Add support for saving IDirect3DVolumeTexture9 textures to DDS files in D3DXSaveTextureToFileInMemory().
Dmitry Timoshkov (1):
bcrypt/tests: Add some tests for export/import of BCRYPT_AES_WRAP_KEY_BLOB.
Elizabeth Figura (18):
wined3d: Feed fog constants through a push constant buffer.
wined3d: Introduce a separate wined3d_extra_ps_args state for point sprite enable.
wined3d/glsl: Move legacy shade mode to shader_glsl_apply_draw_state().
wined3d: Partially move shade mode to wined3d_extra_ps_args.
kernel32/tests: Add more tests for orphaned console handles.
server: Fail to create an unbound input/output when there is no console.
server: Use a list of screen buffers per console.
server: Allow waiting on an orphaned screen buffer.
server: Track unbound input signaled state based on its original console.
server: Track unbound output signaled state based on its original console.
d3d11: Plumb SubmitDecoderBuffers() through wined3d.
wined3d: Create and submit video decode command buffers.
wined3d: Call vkQueueSubmit() if there are semaphores.
wined3d: Add a "next" pointer to wined3d_context_vk_create_image().
wined3d: Implement Vulkan H.264 decoding.
d3d11/tests: Add tests for H.264 decoding.
wined3d: Invert gl_FragCoord w.
wined3d: Use VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV_READ_FORMAT_UNKNOWN if possible.
Eric Pouech (11):
dbghelp: Fix order of non-commutative binary op:s in PDB/FPO unwinder.
dbghelp: Introduce new PDB reader, use it for unwinding FPO frames.
dbghelp: Don't keep PDB files mapped after parsing is done.
dbghelp: Introduce a vtable per module_format.
dbghelp: Rename struct internal_line into lineinfo.
dbghelp: Always copy the source file string.
dbghelp: Introduce interface for line info access.
dbghelp: Introduce method to get next/prev line information.
dbghelp: Introduce method to enumerate line numbers.
dbghelp: Add method to enumerate source files.
dbghelp: No longer store line information from old PDB reader.
Eric Tian (1):
gdiplus: Avoid storing NULL in gdip_font_link_section.
Esme Povirk (9):
comctl32: Implement EVENT_OBJECT_VALUECHANGE for edit controls.
comctl32/tests: Test MSAA events for edit controls.
mscoree: Update Wine Mono to 10.0.0.
win32u: Implement EVENT_OBJECT_NAMECHANGE.
comctl32/tests: Add test for SysLink accDoDefaultAction.
comctl32: Implement accDoDefaultAction for SysLink controls.
comctl32/tests: Test accLocation values on SysLink control.
comctl32/tests: Test SetWindowText and LM_GETITEM for SysLink.
comctl32/tests: Test MSAA events for SysLink.
Francisco Casas (1):
d2d1: Add [loop] attribute in sample_gradient() shader function.
Gabriel Ivăncescu (8):
mshtml: Keep the link from the inner window to the outer window even when detached.
jscript: Obtain the jsdisp for host objects in other contexts.
mshtml: Make sure manually created document dispex info is initialized in IE9+ modes.
mshtml: Release the node if there's no script global when handling events.
jscript: Get rid of the funcprot argument.
mshtml: Don't mess with the outer window if we're already detached.
jscript: Don't leak when popping (u)int values off the stack.
jscript: Don't leak when return value of host constructor is not used.
Hans Leidekker (7):
adsldp/tests: Fix test failures.
wbemprox: Get rid of unused imports.
wbemprox: Get rid of the per-table lock.
bcrypt: Make secret parameter to create_symmetric_key()/generate_symmetric_key() const.
bcrypt: Only print a fixme if a vector has been set.
bcrypt: Add support for BCRYPT_AES_WRAP_KEY_BLOB in BCryptExportKey().
bcrypt: Add support for BCRYPT_AES_WRAP_KEY_BLOB in BCryptImportKey().
Kevin Martinez (2):
shell32: Added stub for IEnumObjects interface.
shell32: Added stub for IObjectCollection interface.
Kostin Mikhail (1):
regsvr32: Ignore obsolete flag /c.
Louis Lenders (3):
win32u: Add stub for NtUserSetAdditionalForegroundBoostProcesses.
powrprof: Add stub for PowerRegisterForEffectivePowerModeNotifications.
dwmapi: Do not prefer native dll.
Marc-Aurel Zent (5):
server: Implement ThreadPriority class in NtSetInformationThread.
server: Move last thread information to get_thread_info flags.
server: Return the correct base/actual thread priorities.
kernelbase: Use ProcessPriorityClass info class in GetPriorityClass.
server: Return the correct base/actual process priority.
Nikolay Sivov (13):
user32/tests: Add some tests for current selection with LBS_NOSEL.
comctl32/tests: Add some tests for current selection with LBS_NOSEL.
user32/listbox: Do not paint item selection with LBS_NOSEL.
comctl32/listbox: Do not paint item selection with LBS_NOSEL.
libtiff: Provide zlib allocation functions.
windowscodecs/metadata: Always initialize handler pointer.
windowscodecs/jpeg: Add support for App1 metadata blocks in the decoder.
windowscodecs/tests: Add some tests for the App0 reader.
comctl32/listview: Handle WM_VSCROLL(SB_BOTTOM).
windowscodecs/converter: Implement BW -> 24BGR conversion.
windowscodecs/converter: Implement 48bppRGB -> 128bppRGBFloat conversion.
wmphoto: Use CRT allocation functions.
d3d10/effect: Fix constant buffer overrun when updating expression constants (ASan).
Paul Gofman (11):
wintrust: Don't set desktop window when initializing provider data.
kernel32/tests: Add tests for known dlls load specifics.
ntdll/tests: Fix a test failure on Windows wow64.
msvcp140: Implement codecvt_char16 ctors and dtor.
msvcp140: Implement codecvt_char16_do_out().
msvcp140: Implement codecvt_char16_do_in().
msvcp: Fix output size check in codecvt_wchar_do_out().
setupapi/tests: Add a test for SetupDiOpenDeviceInterface().
cfgmgr32: Implement CM_Get_Device_Interface_List[_Size][_Ex]W().
cfgmgr32: Implement CM_Get_Device_Interface_List[_Size][_Ex]A().
cfgmgr32: Implement CM_Get_Device_Interface_PropertyW() for DEVPKEY_Device_InstanceId.
Piotr Caban (1):
msvcrt: Update file position in _flsbuf() in append mode.
Robert Lippmann (1):
server: Use INOTIFY_CFLAGS.
Rémi Bernon (54):
winex11: Use the current state when deciding how to reply to WM_TAKE_FOCUS.
winex11: Use the state tracker for the desktop window _NET_WM_STATE.
opengl32: Remove unused type parameter.
opengl32: Remove unnecessary interlocked exchange.
opengl32: Use an explicit GLsync pointer in the union.
opengl32: Introduce an opengl_context_from_handle helper.
opengl32: Introduce a wgl_pbuffer_from_handle helper.
winex11: Introduce a new handle_state_change helper.
winex11: Track _NET_ACTIVE_WINDOW property changes.
dinput/tests: Load cfgmgr32 dynamically.
dinput/tests: Add more EnumDevicesBySemantics tests.
dinput: Fix EnumDeviceBySemantics user checks.
dinput: Fix keyboard / mouse semantics matching.
dinput: Only load mappings that have not yet been set.
dinput: Avoid overriding app-configured action map controls.
winex11: Get rid of now unnecessary unmap_window helper.
winex11: Keep _NET_WM_USER_TIME on individual toplevel windows.
winex11: Avoid stealing focus during foreground window mapping.
win32u: Introduce a new opengl_driver_funcs structure.
win32u: Implement opt-in WGL_(ARB|EXT)_extensions_string support.
wineandroid: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winemac: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winewayland: Use win32u for WGL_(ARB|EXT)_extensions_string support.
winex11: Use win32u for WGL_(ARB|EXT)_extensions_string support.
win32u: Add a nulldrv init_wgl_extensions implementation.
cfgmgr32/tests: Load some functions dynamically.
winemac: Use the default wglGetPixelFormatAttribivARB implementation.
winemac: Remove the driver wglChoosePixelFormatARB implementation.
win32u: Implement opt-in generic wgl(Get|Set)PixelFormat(WINE).
wineandroid: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winewayland: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winex11: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
winemac: Use win32u generic wgl(Get|Set)PixelFormat(WINE).
win32u: Add a null driver set_pixel_format implementation.
winex11: Only set focus_time_prop for managed windows.
winex11: Keep track of whether mapped window needs activation.
winex11: Refactor X11DRV_GetWindowStateUpdates control flow.
win32u: Return foreground window changes from GetWindowStateUpdates.
win32u: Call ActivateWindow callback when foreground window changes.
winex11: Use _NET_ACTIVE_WINDOW to request/track window activation.
win32u: Move WGL_ARB_pixel_format extension registration.
winex11: Ignore GL drawable creation failure on reparent.
win32u: Remove unnecessary win32u_(get|set)_window_pixel_format exports.
setupapi: Implement SetupDiOpenDeviceInterface(A|W).
winex11: Cleanup code style in X11DRV_wglCreatePbufferARB.
winex11: Cleanup code style in X11DRV_wglQueryPbufferARB.
winex11: Cleanup code style in X11DRV_wglBindTexImageARB.
winex11: Compute texture binding enum from the texture target.
winex11: Remove some pbuffer related dead code.
opengl32/tests: Cleanup memory DC rendering tests.
opengl32/tests: Update memory DC pixel format tests.
opengl32/tests: Update memory DC drawing tests.
gdi32/tests: Test selecting bitmap on a D3DKMT memory DC.
opengl32/tests: Test GL rendering on D3DKMT memory DCs.
Sven Baars (9):
dmime/tests: Use wine_dbgstr_longlong.
win32u: Store window styles in a DWORD (Coverity).
win32u: Always set DriverVersion.
makedep: Fix a compilation warning.
d3dxof: Fix a memory leak on error path (Coverity).
d3dxof/tests: Fix a memory leak on error path (Coverity).
adsldp: Fix a leak on error path in search_ExecuteSearch() (Valgrind).
adsldp: Free ber in search_GetNextRow() (Valgrind).
adsldp/tests: Fix a name leak (Valgrind).
Tim Clem (1):
imm32: Add a stub for CtfImmRestoreToolbarWnd.
Tomasz Pakuła (4):
dinput/tests: Add tests for 6-axis force feedback joystick.
include: Define the max number of supported HID PID axes.
winebus: Support creation of dynamic number of PID axes.
winebus: Get the number of haptic axes from SDL.
Vibhav Pant (16):
ws2_32/tests: Add tests for creating Bluetooth RFCOMM sockets.
server: Add support for creating Bluetooth RFCOMM sockets.
ws2_32: Add bind tests for Bluetooth RFCOMM sockets.
ws2_32: Support bind for Bluetooth RFCOMM addresses.
winebth.sys: Register a pairing agent with BlueZ during startup.
winebth.sys: Broadcast a WINEBTH_AUTHENTICATION_REQUEST PnP event on receiving a RequestConfirmation request from BlueZ.
winebth.sys: Implement IOCTL_WINEBTH_AUTH_REGISTER.
bluetoothapis: Implement BluetoothRegisterForAuthenticationEx and BluetoothUnregisterForAuthentication.
bluetoothapis/tests: Add tests for BluetoothRegisterForAuthenticationEx and BluetoothUnregisterAuthentication.
winebth.sys: Support cancellation of pairing sessions via BlueZ.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_SEND_AUTH_RESPONSE.
bluetoothapis: Add stub for BluetoothSendAuthenticationResponseEx.
bluetoothapis: Implement BluetoothSendAuthenticationResponseEx.
bluetoothapis/tests: Add tests for BluetoothSendAuthenticationResponseEx.
winebth.sys: Allow service auth requests from BlueZ for authenticated devices.
ws2_32/tests: Check for WSAEAFNOSUPPORT or WSAEPROTONOSUPPORT if socket() fails for AF_BTH.
Vitaly Lipatov (1):
wow64: Skip memcpy for null pointer.
Yongjie Yao (1):
wmp: Check the return value of IOleClientSite_QueryInterface().
Yuri Hérouard (1):
comctl32: Avoid segfault in PROPSHEET_DoCommand when psInfo is NULL.
Ziqing Hui (7):
shell32/tests: Remove old windows tests for test_copy.
shell32/tests: Add more tests to test_copy.
shell32/tests: Introduce check_file_operation helper.
shell32/tests: Use more check_file_operation.
shell32/tests: Use check_file_operation in test_rename.
shell32/tests: Use check_file_operation in test_delete.
shell32/tests: Use check_file_operation in test_move.
```
[View Less]
The Wine development release 10.4 is now available.
What's new in this release:
- Improvements to PDB support in DbgHelp.
- More Vulkan video decoder support in WineD3D.
- Accessibility support in the SysLink control.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.4.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find …
[View More]documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.4 (total 28):
- #33770 Strong Bad's Episode 1 - Homestar Ruiner Demo crashes without d3dx9_27 (purist)
- #33943 Battle.net client dropdowns do not appear until you hover its options
- #42117 Multiple applications have windows with double caption/title bars (Chessmaster 9000, Steam when Windows >= Vista)
- #44795 Need for Speed: Shift demo main menu has messed up rendering (needs ID3DXEffect::SetRawValue implementation)
- #46012 Command & Conquer 3: Kane's Wrath (1.03) Invisible units and tiberium
- #46662 absolute value of unsigned type 'unsigned int' has no effect
- #47165 iTunes 12.9.4+ user interface is rendered black (only text visible)
- #47278 Multiple games and applications require TGA support in D3DXSaveSurfaceToFileInMemory (Europa Universalis 4 Golden Century, ShaderMap 4.x)
- #53103 ie8 doesn't start (race condition)
- #54066 SysLink control shouldn't delete the HFONT it didn't create
- #56106 Roon 2.0.23 crashes due to unable to find library: Windows.Storage.Streams.RandomAccessStreamReference
- #56108 Edit control should stop processing characters when left mouse button is down
- #56225 16-bit Myst deadlocks on start since Wine 3.2
- #57540 unrecognized charset 'SHIFT_JIS' when running Wine with LC_ALL=ja_JP.SJIS
- #57559 Chessbase 17 database table background and non-selected entries rendered in black
- #57717 Adobe Illustrator CS6 (16), Adobe Photoshop CS6 (13), likely all CS6 apps: Main menu bar item shortcut/accelerator key underlines positioning is wrong with built-in gdiplus
- #57746 BeckyInternetMail/VirtualListView: The ListView of the email list isn't redrawn while receiving email.
- #57800 Fullscreen OpenGL apps have unintended literal transparency
- #57826 Zenless Zone Zero fails to start after update to 10.1
- #57848 Wrong alignment of GUI elements in Enterprise Architect
- #57853 Error: makecab.exe not found
- #57874 wineloader no longer able to find ntdll.so
- #57889 Prntvpt (Print Ticket API): printing is cropped in landscape orientation
- #57896 winemenubuilder crash
- #57952 Q-Dir crashes on exit.
- #57962 Firefox 136.0.1 fails to start
- #57963 Firefox crashes on youtube: wine: Call to unimplemented function ucrtbase.dll.imaxdiv, aborting
- #57964 Firefox crashes: wine: Call to unimplemented function KERNEL32.dll.GetCurrentApplicationUserModelId, aborting
### Changes since 10.3:
```
Alex Henrie (3):
winecfg: Use wide character string literal for "Tahoma".
wuauserv: Use wide character string literal for "wuauserv".
fusion: Use wide character string literals.
Alexander Morozov (2):
ntoskrnl.exe/tests: Improve device properties test, avoid BSOD.
ntoskrnl.exe: Implement MmMapLockedPages.
Alexandre Julliard (33):
include: Add a number of missing TCHAR macros.
include: Use pragma pack push/pop.
ntdll: Update the main exe entry point when the module is relocated.
ntdll: Disallow AT_ROUND_TO_PAGE on 64-bit.
user32: Add some more stubs for ordinal functions that forward to win32u.
server: Consistently use size_t for page sizes.
server: Compute the size of the PE header that can be mapped.
ntdll: Only copy the PE section data to a separate block when necessary.
krnl386: Handle DOS ioctl with simulated real mode interrupt.
krnl386: Remove the CTX_SEG_OFF_TO_LIN macro.
ntdll: Pass an explicit mask to the ROUND_SIZE macro.
ntdll: Pass the base address to decommit_pages().
tools: Add is_pe_target() common helper function.
winegcc: Make the target options global variables.
winegcc: Move setting the compatibility defines to a separate helper function.
winegcc: Move the initial argument array out of the options structure.
winegcc: Move the remaining directory options out of the options structure.
winegcc: Remove option fields that already have a corresponding output file variable.
winegcc: Pass the files list explicitly to the various compilation functions.
winegcc: Pass the output name explicitly to the various compilation functions.
winegcc: Store the file processor type in a global variable.
winegcc: Store the various search path directories in global variables.
winegcc: Store the library search suffix in a global variable.
winegcc: Store the winebuild path in a global variable.
winegcc: Store the compiler arguments in global variables.
winegcc: Pass tool names directly to build_tool_name instead of using an enum.
winegcc: Store various string options as global variables.
winegcc: Store all the boolean options in global variables.
winegcc: Get rid of the options struct.
ntdll: Round all sizes to the section alignment for PE mappings.
ntdll: Always map files as writable and adjust permissions.
server: Fix limit check for adding a committed range.
ntdll: Force committed access on anonymous mappings.
Alexandros Frantzis (4):
winewayland: Implement wl_data_device initialization.
winewayland: Support wl_data_device for copies from win32 clipboard to native apps.
winewayland: Support wl_data_device for copies from native apps to win32 clipboard.
winewayland: Warn about missing clipboard functionality.
Anders Kjersem (2):
comctl32/listview: Never use null buffer with LVN_ENDLABELEDIT on a text change.
shcore: Implement OS_TABLETPC and OS_MEDIACENTER.
Attila Fidan (1):
win32u: Return 0 from NtUserGetKeyNameText if there is no translation.
Bartosz Kosiorek (6):
gdiplus: Fix widening of LineCapArrowAnchor.
gdiplus/tests: Improve test drawing accuracy of GdiAddPath*Curve functions.
gdiplus: Improve drawing accuracy of GdiAddPath*Curve functions.
gdiplus/tests: Add additional test for GdipAddPathArc.
gdiplus/tests: Add GdipFlattenPath tests with default flatness 0.25.
gdiplus: Fix GdipFlattenPath return path precision.
Bernhard Übelacker (4):
kernel32/tests: Flush pending APCs and close handles (ASan).
ieframe: Enter reallocation path one position earlier (ASan).
advapi32: Avoid buffer underrun in split_domain_account (ASan).
msxml6/tests: Make test pass with Windows 7.
Biswapriyo Nath (1):
include: Add mpeg2data.idl.
Brendan McGrath (3):
mfplat: Add mp3 resolver hint.
mf/tests: Test timestamps in H264 decoder.
mf/tests: Test timestamps in WMV decoder.
Brendan Shanks (5):
ntdll: Stop using chdir() in file_id_to_unix_file_name().
ntdll: Move the dir_queue into file_id_to_unix_file_name().
ntdll: Add a lock around the get_dir_case_sensitivity_attr() fs_cache.
ntdll: Use *at() functions in get_dir_case_sensitivity().
ntdll: Stop using chdir() in nt_to_unix_file_name().
Connor McAdams (8):
d3dx9/tests: Add tests for ID3DXEffect::SetRawValue().
d3dx9: Partially implement ID3DXEffect::SetRawValue().
d3dx9: Add support for setting 4x4 matrices in ID3DXEffect::SetRawValue().
d3dx9: Fixup return values for D3DXPT_BOOL parameters in ID3DXEffect::GetValue().
d3dx9: Add stubs for D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9/tests: Add tests for D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9: Implement D3DXSaveVolumeToFile{A,W,InMemory}().
d3dx9: Use D3DXSaveVolumeToFileInMemory() inside of D3DXSaveTextureToFileInMemory().
Dmitry Timoshkov (4):
prntvpt: PageImageableSize capabilities depend on page orientation.
wldap32: Also initialize idW.Flags field.
kerberos: Fix imported target name leak.
winex11.drv: Don't add MWM_DECOR_BORDER to windows without a caption.
Dylan Donnell (2):
ntdll: Return STATUS_ACCESS_VIOLATION from NtQueryInformationThread ThreadHideFromDebugger if *ret_len is not writable.
ntdll/tests: Add tests for ret_len on NtQueryInformationThread HideFromDebugger.
Elizabeth Figura (13):
wined3d: Avoid indexing a 2-element array by shader type.
wined3d: Invalidate bumpenv_constants in wined3d_stateblock_primary_dirtify_all_states().
wined3d: Bind video session memory.
d3d11: Implement GetDecoderBuffer() for metadata buffers.
d3d11: Implement GetDecoderBuffer() for bitstream buffers.
d3d11: Create a wined3d video decoder output view.
d3d11: Implement DecoderBeginFrame() and DecoderEndFrame().
advapi32: Move SystemFunction032 to cryptsp.
advapi32: Move lmhash functions to cryptsp.
advapi32: Merge crypt_lmhash.c into crypt_des.c.
advapi32: Move the remaining SystemFunction* functions to cryptsp.
advapi32: Move DES functions to cryptbase.
advapi32: Move the remaining SystemFunction* functions to cryptbase.
Ellington Santos (1):
wpcap: Implement pcap_set_immediate_mode.
Eric Pouech (28):
cmd: Fix regression in PAUSE test.
winedump: Use correct computation for first section out of a .DBG file.
winedump: Use correct field when dumping CodeView symbols.
winedump: Don't miss PDB_SYMBOL_RANGE* in PDB files.
winedump: Don't miss hash entries in PDB files.
winedump: Support more than 64K files in PDB DBI module source substream.
include: Remove flexible array member from PDB JG header.
winedump: Support dumping large PDB files (>4G).
dbghelp: Fix potential crash for old debug formats.
dbghelp: Support large PDB files (> 4G).
dbghelp: Store pointer to context instead of context.
dbghelp: Optimize vector allocation.
dbghelp: Simplify get_line_from_addr().
dbghelp: Support module lookup in SymEnumSourceFiles.
dbghelp: Factorize some code between type enumeration APIs.
dbghelp: Only store types with names in module.
dbghelp: Factorize function signature creation {dwarf}.
dbghelp: Introduce helper to match an ANSI string against a Unicode regex.
winedbg: Support more integral types in VARIANT for enum value.
dbghelp: Pass a VARIANT to add an enumeration entry.
dbghelp: Use VARIANT for storing enum values (pdb).
dbghelp: Store LEB128 encoded as 64bit entities (dwarf).
dbghelp: Introduce helper to fill in VARIANT (dwarf).
dbghelp: Fix debug information for C++ enumeration types (dwarf).
dbghelp: Add a couple of missing basic types for PDB.
dbghelp: Silence a couple of CodeView symbols.
dbghelp: Uniformize the two readers for PDB line information.
dbghelp: Only load line information when SYMOPT_LOAD_LINE is set.
Esme Povirk (10):
gdiplus: Reset X position before drawing hotkey underlines.
comctl32: Include only link items as IAccessible children.
comctl32: Implement get_accState for SysLink controls.
comctl32: Implement acc_getName for SysLink.
comctl32: Implement get_accDefaultAction for SysLink.
comctl32: Implement accLocation for SysLink.
comctl32: Implement get_accChildCount for SysLink.
comctl32: Implement accChild for SysLink.
comctl32: Implement IOleWindow for SysLink.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for datetime control.
Hans Leidekker (7):
odbc32: Pass through result length pointers when PE/Unix pointer sizes are equal.
wpcap: Check for failure from pcap_dump_open().
wpcap: Fix Unix call in pcap_dump_close().
wpcap: Remove unneeded trace.
wpcap: Pass the dumper handle to pcap_dump().
wpcap: Correct params structure in wow64_dump_open().
wpcap: Fall back to a buffer copy if 32-bit mmap support is not available.
Jacek Caban (3):
rpcrt4: Don't validate buffer in NDR marshaler.
kernelbase: Factor out get_process_image_file_name.
kernelbase: Use ProcessImageFileNameWin32 in GetModuleFileNameExW.
Joe Souza (1):
cmd: Allow any key to continue past DIR /P pauses.
Kun Yang (1):
msvcrt: Add MSVCRT__NOBUF flag check in _filbuf to avoid dead loop in application which sets the flag.
Louis Lenders (2):
magnification: Add stub for MagUninitialize.
kernelbase: Add stub for GetCurrentApplicationUserModelId.
Marc-Aurel Zent (7):
include: Fix RTL_PATH_TYPE names.
ntdll: Implement RtlGetFullPathName_UEx.
include: Add thread priority constants.
ntdll/tests: Add tests for process and thread priority.
server: Infer process priority class in set_thread_priority.
server: Clarify between effective thread priority and class/level.
server: Rename thread priority to base_priority.
Matteo Bruni (8):
d3dx9: Load the D3DAssemble() function pointer from the proper DLL.
d3dx9/tests: Fix expected asm test results on version >= 42.
d3dcompiler/tests: Clean up temporary file after the test.
d3dx9_42: Generate an import library.
d3dx9/tests: Add d3dx9_42 tests.
d3dcompiler: Fix a few version-dependent error returns in D3DReflect().
d3dcompiler/tests: Add d3dcompiler_42 tests.
d3dx9/tests: Skip some shader tests if we can't create a D3D object.
Mohamad Al-Jaf (17):
include: Add robuffer.idl.
wintypes: Add IBufferFactory stub.
include: Add Windows.System.Profile.SystemIdentification definition.
windows.system.profile.systemid: Add stub dll.
windows.system.profile.systemid: Add ISystemIdentificationStatics stub.
windows.system.profile.systemid/tests: Add ISystemIdentificationStatics::GetSystemIdForPublisher() tests.
windows.system.profile.systemid: Partially implement ISystemIdentificationStatics::GetSystemIdForPublisher().
windows.system.profile.systemid/tests: Add ISystemIdentificationInfo::get_Source() tests.
windows.system.profile.systemid: Implement ISystemIdentificationInfo::get_Source().
wintypes/tests: Add IBufferFactory::Create() tests.
wintypes: Implement IBufferFactory::Create().
wintypes: Implement IBuffer::get_Capacity().
wintypes: Implement IBuffer::put_Length().
wintypes: Implement IBuffer::get_Length().
wintypes: Add IBufferByteAccess stub.
wintypes/tests: Add IBufferByteAccess::Buffer() tests.
wintypes: Implement IBufferByteAccess::Buffer().
Nikolay Sivov (12):
d3dx9/effect: Remove explicit objects pointer from the parsing helpers.
d3dx9/effect: Remove misleading trace message.
comctl32/tests: Run LVM_GETORIGIN tests on v6.
comctl32/tests: Add a test for LVM_GETORIGIN returned coordinate.
comctl32/listview: Invert origin coordinate for LVM_GETORIGIN.
comctl32/listview: Handle WM_VSCROLL(SB_TOP).
d3dx9/tests: Enable tests for d3dx9_35.dll.
comctl32/tests: Add a LVN_ENDLABELEDIT test with empty text.
comctl32/tests: Add a test for LVM_FINDITEM with LVS_OWNERDATA.
comctl32/listview: Use correct LVN_ODFINDITEM notification.
user32/edit: Block key input when mouse input is captured.
comctl32/edit: Block key input when mouse input is captured.
Paul Gofman (9):
ntdll/tests: Test NtCreateUserProcess() with limited access rights.
ntdll: Do not fail NtCreateUserProcess() if requested access doesn't have PROCESS_CREATE_THREAD.
win32u: Prevent remote drawing to ULW layered window.
setupapi: Fix buffer size passed to SetupDiGetDeviceInstanceIdW() in get_device_id_list().
setupapi: Increase id buffer size in get_device_id_list().
ntdll: Properly set context control registers from the other thread on wow64.
ntdll/tests: Test first trap address when setting trap flag in various ways.
ntdll: Fix setting trap flag with CONTEXT_CONTROL and instrumentation callback on x64.
ntdll: Set CONTEXT_CONTROL frame restore flag in sigsys_handler().
Piotr Caban (3):
advapi32: Fix environment parameter handling in CreateProcessWithLogonW.
include: Add imaxdiv declaration.
msvcr120: Add imaxdiv implementation.
Robert Lippmann (1):
winedump: Fix grep warning.
Roman Pišl (2):
kernel32/tests: Test ReplaceFileW with forward slashes.
kernelbase: Handle correctly paths with forward slashes in ReplaceFileW.
Rémi Bernon (15):
win32u: Don't set foreground window if window is minimized.
opengl32: Generate pointer offsets in the extension registry.
opengl32: Generate ALL_(WGL|GL|GL_EXT)_FUNCS macros and prototypes.
opengl32: Get rid of opengl_funcs internal structures.
opengl32: Use ALL_GL(_EXT)_FUNCS to generate opengl_funcs table.
opengl32: Stop generating wine/wgl_driver.h.
hidclass: Rename BASE_DEVICE_EXTENSION to struct device.
hidclass: Use HID_DEVICE_EXTENSION as base for fdo and pdo.
hidclass: Use a dedicated struct phys_device for PDOs.
hidclass: Use a dedicated struct func_device for FDOs.
hidclass: Avoid leaking input packet from the device thread.
winexinput: Remove pending IRPs on IRP_MN_REMOVE_DEVICE.
hidclass: Dispatch IRP_MN_SURPRISE_REMOVAL to the minidrivers.
hidclass: Wait for the pending IRP after thread shutdown.
winex11: Use -1 as fullscreen monitor indices to clear the property.
Sebastian Lackner (1):
win32u: Fix alpha blending in X11DRV_UpdateLayeredWindow.
Tim Clem (2):
imm32: Add a stub for CtfImmHideToolbarWnd.
win32u: Add a stub for NtUserIsChildWindowDpiMessageEnabled.
Vadim Kazakov (1):
ntdll: Print name for TOKEN_INFORMATION_CLASS.
Vibhav Pant (15):
winebth.sys: Remove the first 2 zero bytes after byte-swapping Bluetooth addresses.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_START_DISCOVERY.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_STOP_DISCOVERY.
bluetoothapis: Implement BluetoothFindFirstDevice and BluetoothFindDeviceClose.
bluetoothapis/tests: Add tests for BluetoothFindFirstDevice, BluetoothFindDeviceClose.
bluetoothapis: Implement BluetoothFindNextDevice.
bluetoothapis/tests: Add tests for BluetoothFindNextDevice.
bluetoothapis/tests: Use the correct file name while skipping tests when no radios are found.
bluetoothapis: Add a basic implementation for BluetoothGetDeviceInfo.
bluetoothapis/tests: Add tests for BluetoothGetDeviceInfo.
cfgmgr32: Add stub for CM_Unregister_Notification.
cfgmgr32/tests: Add basic tests for CM_(Un)Register_Notification.
dinput/tests: Add tests for CM_Register_Notification.
cfgmgr32: Implement CM_Register_Notification and CM_Unregister_Notification.
user32: Remove incorrect FIXME warning while registering for DBT_DEVTYP_HANDLE notifications.
Ziqing Hui (4):
winegstreamer: Assume stream type is always not NULL for media sink.
winegstreamer: Implement stream_sink_type_handler_GetMajorType.
winegstreamer: Implement stream_sink_type_handler_GetMediaTypeCount.
winegstreamer: Implement stream_sink_type_handler_GetMediaTypeByIndex.
```
[View Less]
The 6.14.0 release of Framework Mono is now available.
This is the first release of Framework Mono from its new home at Winehq.
It includes work from the past 5 years that was never included in a
stable release because no stable branch had been created in that time.
Highlights are native support for ARM64 on macOS and many improvements
to windows forms for X11.
The current set of supported platforms is:
* Linux: x86[3], amd64[1], arm64[3]
* macOS: amd64[2], arm64[2]
* Windows: x86[3], …
[View More]amd64[3]
[1] Tested manually and automatically through GitLab CI.
[2] Tested manually only, no CI implemented yet.
[3] No testing process yet.
Linux armv5te is known to be broken, but a work-around is possible by
disabling float optimizations. I am hoping to fix that in the near future.
Binary packages are not currently available. The source is available at
https://dl.winehq.org/mono/sources/mono/mono-6.14.0.tar.xz
There has also been a release of libgdiplus, version 6.2, with source
code available at
https://dl.winehq.org/mono/sources/libgdiplus/libgdiplus-6.2.tar.gz,
which did not get its own announcement at the time.
Since this is the first release at Winehq, I wanted to give a detailed
report on where this project is and what my priorities are. I'm
including that below.
# What's New in 6.14.0
* Native support for macOS on ARM. Cis-compilation on ARM macOS is now
assumed to be compiling for macOS, not cross-compiling for iOS.
* System.Windows.Forms:
* Fixed various resource leaks on X11.
* Redesigned Clipboard and Drag And Drop implementation on X11.
* Stability improvements on X11.
* Improved support for generated COM interfaces.
* Fixed some common cases where processes would hang on exit.
* Added Georgian translation.
* Many warning fixes. The Linux amd64 build no longer warns when
compiling the C portion of the codebase, and this is enforced for new
changes via CI.
* Many bug fixes.
# A Note on Terminology
There are at least 3 different related projects using the name Mono:
* Framework Mono is the project previously hosted at
https://github.com/mono/mono, which was then simply called Mono. I have
made this change to distinguish it from "monovm" and "Wine Mono", which
are different projects. Framework Mono is a cross-platform runtime
compatible with .NET Framework.
* "monovm" is a separate fork of the Mono runtime that's part of modern
.NET and can be used instead of CoreCLR.
* "Wine Mono" is a downstream distribution based on Framework Mono that
is used in Wine to replace .NET Framework.
There are also at least 2 different related .NET projects using 3
different names:
* .NET Framework is a proprietary Windows component that supports
cross-platform executable code using an object-oriented model.
* .NET Core was an open-source project supporting many of the same
languages and APIs as .NET Framework but mostly incompatible with it.
.NET Core was renamed to ".NET" when version 5 was released. I call it
"modern .NET" to distinguish it from .NET Framework.
# My Goals
For those not aware, in February of 2024, I made a fork of Framework
Mono at Winehq (https://gitlab.winehq.org/mono/mono/-/tree/main). In
August, Winehq took over the project officially, with me as maintainer,
and this fork became the project's official home
(https://github.com/mono/mono/issues/21796).
I approach this project with very different motivation and resources
from the previous team. I am not trying to sell it to anyone as a
development platform. I do not have a dedicated team for this effort. My
employer is supportive, but I have other responsibilities, and I've
found that for my own mental health I have to switch frequently between
different projects.
I mention this because I think it's important for people to understand
where I'm coming from, so they can get some idea of why I prioritize the
things I do, and why certain things are missing.
My main goal is to keep Mono working the way it has been, on desktop
platforms. For a project of this complexity, that takes consistent
effort, because other software it needs to interact with is updating,
and sometimes those updates will break things. Personally, I use Mono to
run KeePass natively on Linux, and as a target platform for a program I
am developing called Xalia.
I want to provide a space for people who want to contribute. I don't
like watching contributions get lost simply because no one is there to
review them, which was a frequent occurrence on GitHub.
Selfishly for my employer, I want Wine Mono to have a functioning
upstream. I have to continue working on Wine Mono to improve its
compatibility with Windows. Wine Mono is a fork of cross-platform code
designed only to work on a single implementation of a single platform.
The longer I keep to that narrow focus, without anyone working on the
other platforms, the worse that codebase will get. I believe that
maintaining code for multiple platforms makes it cleaner, and this is
worth it even for Wine Mono alone.
# What we lost in the Winehq Migration
## Clarity for Users and Contributors
The announcement in August was confusing and still lacks visibility.
People regularly show up on GitHub and file issues and pull requests
without realizing the project has moved. I do keep an eye on these, and
I respond or transfer contributions where appropriate, but it's not
ideal. GitHub doesn't have the latest version of the code, at least not
at the old URL (I have created an official mirror at
https://github.com/wine-mono/mono), so they may duplicate effort or
write changes that conflict with the latest version. Archiving the
repository was suggested as a solution, but I worry that contributions
would be lost if people can't immediately file them.
There doesn't seem to be any way to add a banner to the top of the
project page. Redirects are only possible by transferring the repository
to another organization on GitHub, and I can't do that because of
concerns about protecting the data currently on that repository. Those
concerns are also the reason I can't mirror updates to the original
repository on GitHub.
Anyway, if you want to get the latest development version of the source
code, or file an issue or merge request, use this link:
https://gitlab.winehq.org/mono/mono
## Official Binaries
The infrastructure used to build binaries for Mono was not transferred
to Winehq (and I doubt we could maintain it if it had been). For us to
supply binaries, someone needs to recreate that on Winehq's
infrastructure (probably GitLab jobs). I haven't been able to do that yet.
It'd be really nice for macOS in particular because there haven't been
any ARM binaries released yet.
## Platform Support
Mono supported a lot of different platforms and CPU architectures. I
have neither the knowledge, time, nor hardware to support all of them. I
figure Web Assembly, Android, and iOS are already covered by modern
.NET, and in Mono they lack the specific advantage of binary
compatibility with .NET Framework. Therefore, I am focusing on the most
common desktop platforms and the CPU architectures that could run Mono.
(Notably, I believe Windows on ARM would be worth supporting, but Mono
hasn't yet been ported to it, and this would likely be a non-trivial
effort that I don't currently have the resources for.)
I don't plan to intentionally break the other targets, but I also cannot
currently test them, so they may unintentionally break. If someone has a
use case for some other target, and is able to maintain it (or at least
add CI support so I have a way to tell when it's working), then I'd be
open to supporting it. In particular, the Linux armv5te platform is
broken, and I know that someone is depending on it, so I am hoping to
fix it and add support in the future.
## Testing and Continuous Integration
The old Mono GitHub had CI for a dizzying array of platforms and
configurations. On Winehq GitLab, our CI currently supports amd64 Linux
and no other platforms. I would really like to have CI for all the
supported CPU/operating system combinations. I'd intended to get it done
before this release, but that ended up taking so much of my time that I
had to just set it aside for a while. I'm hoping to get back to it soon.
## Crash Reporting (MERP)
The Crash Reporting (MERP) feature was causing test failures on macOS. I
have been advised by the previous maintainers that this feature was
probably only used by Microsoft for their own projects, and that flaws
in the approach made it not worth maintaining. Microsoft has, of course,
moved on, and I couldn't find any indication of anyone else using this.
It also required an external reporting tool that is proprietary to
Microsoft. It's likely possible for a third party to create their own
implementation, but again, I couldn't find any indication that anyone
had done this.
Specifically, MERP did crash reporting in a manner similar to WER
(Windows Error Reporting). Its major design flaw is that it attempted to
produce crash reports from inside the process that had crashed. If a
process crashed, it's likely that the state is corrupted, and this
corruption would often cause MERP to fail to produce a report. To
mitigate this, a complex "breadcrumbs" system was implemented in MERP so
that, if it fails to gather crash information for a report, it can at
least report that it failed to gather the crash information, but such
reports do not help with understanding either the original crash or the
MERP failure. Making this work properly would require a redesign using
an external process that monitors an application for crashes and handles
crash reporting.
The "Mono.Runtime" methods that configure MERP and check for crashes are
now no-ops. Related methods that query information outside of a crash
throw PlatformNotSupportedException.
# My Current Priorities
## Fix armv5te Platform
See https://gitlab.winehq.org/mono/mono/-/issues/7. Since there is a
work-around available, I'm hoping for a simple solution by detecting the
platform capabilities. It may also be possible to add this platform to
CI using QEMU.
## Update Cryptography
Mono uses BoringSSL for its cryptography. It was forked in 2016, and
since then it has never been updated from upstream. The fork contains
hacks that remove a dependency on the Go programming language.
My understanding is that updating simply isn't practical. Some people
have apparently had success with resetting to the newest version, but
I've since been told that only rebuilds work, not clean builds, so
there's no telling what kind of strange hybrid that creates. It's no
longer practical to remove the Go dependency. Upstream also explicitly
recommends against any third party using BoringSSL, because they have no
guarantees of API or ABI stability.
I'm not an expert in computer security, but using an 8 year old fork of
a cryptography library that's impossible to update is, in my uneducated
opinion, very bad. I would like to replace BoringSSL with something
modern, and preferably dynamically linked so it can be more easily
updated, probably OpenSSL.
## Expand the CI
I would like to have CI for all the supported platforms. I'm hoping to
get back to this soon. See "Testing and Continuous Integration" above.
## Binaries for macOS and Windows
I understand compilation is a barrier for users of macOS and Windows
especially, and the old binary packages included more projects than just
Framework Mono itself. I feel that it makes sense to wait until after we
have CI though, as I'd prefer to have these packages built by CI.
Packaging is also more complex than building and testing these projects.
## Remove Dependencies on Old Hosting
We still depend on mono-project.com and github.com/mono for a lot of
things. I don't know how long those resources will continue to work, so
I would like to mirror them and ensure that the Framework Mono codebase
isn't using them.
[View Less]
The Wine development release 10.3 is now available.
What's new in this release:
- Clipboard support in the Wayland driver.
- Initial Vulkan video decoder support in WineD3D.
- Bundled Compiler-RT library for ARM builds.
- Header fixes for Winelib C++ support.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.3.tar.xz>
Binary packages for various distributions will be available
from the …
[View More]respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.3 (total 18):
- #3930 Miles Sound System (WAIL32.DLL) SuspendThread() deadlock in WINMM callback (silent black screen on HOMM startup)
- #8532 JawsEditor 2.5/3.0 reports "Invalid imagesize" on startup ('IPicture::SaveAsFile' method too stubby/incorrect)
- #38879 wbemprox fill_videocontroller calls are expensive
- #40523 legrand xlpro3 400 : unable to insert a pictogram
- #41427 [Game Maker Studio - Android] subst.exe is not implemented
- #45119 Multiple applications from Google sandbox-attacksurface-analysis-tools v1.1.x (targeting native API) need 'ntdll.NtGetNextProcess' implementation
- #50337 Roland Zenology Pro (VST3 plugin) used with carla-bridge fails to save files
- #50929 Silver Chains (GOG) crashes and start dumping memory in console
- #51121 HeidiSQL 11.0.0.5919 shows a blinking black screen and crashes without virtual desktop
- #52094 IDA Pro 7.6 crashes when loading idapython3.dll
- #56695 Unreal Engine game checks for a specific VC runtime regkey
- #57323 Windows 7 Card Games crash on start
- #57849 Multiple games: sleep accuracy is affected by mouse movement speed
- #57850 Reolink fails to load dll: err:module:import_dll Loading library libvips-42.dll
- #57854 Steam.exe fails to start (hangs upon loading) in Wine-10.2
- #57881 Wine10.2 Noble does not open Quicken 2004, qw.exe file
- #57899 R-Link 2 Toolbox crash
- #57903 kernel32:loader - test_export_forwarder_dep_chain fails on Windows 7
### Changes since 10.2:
```
Alexander Morozov (1):
wineusb.sys: Add support for URB_FUNCTION_VENDOR_ENDPOINT.
Alexandre Julliard (32):
ntdll: Fix pointer access in read_image_directory().
tomcrypt: Import code from upstream libtomcrypt version 1.18.2.
tomcrypt: Import code from upstream libtommath version 1.1.0.
bcrypt: Use the bundled tomcrypt library for hash algorithms.
ntdll: Use the bundled tomcrypt for the crc32 implementation.
rsaenh: Split encrypt and decrypt implementation functions.
rsaenh: Use the bundled tomcrypt to replace the local copy.
configure: Check that the 32- and 64-bit builds are using the same libdir.
ntdll: Add some missing Zw exports.
apisetschema: Add some new apisets, and old ones for recently added dlls.
dataexchange: Don't create an empty import lib.
makefiles: Import winecrt0 by default even with -nodefaultlibs.
tools: Avoid const strarray pointers in all functions.
include: Fix some invalid array definitions in PDB structures.
makefiles: Add support for assembly source files.
makefiles: Add support for optionally installing external libs.
libs: Import code from upstream compiler-rt version 8.0.1.
makefiles: Link to compiler-rt for builds in MSVC mode.
profapi: Don't create an empty importlib.
winedump: Fix dumping of empty values in version resources.
make_unicode: Generate the PostScript builtin font metrics.
wineps: Remove the old font generation code.
wineps: Move the generated glyph list to a separate glyphs.c file.
wineps: Update the glyph list to a more recent version.
wineps: Generate all core fonts metrics into a single file.
wineps: Reduce the size of the stored core fonts metrics data.
png: Import upstream release 1.6.47.
setupapi: Create fake dlls for missing dlls only if explicitly requested.
include: Import mmreg.h instead of duplicating definitions.
winegcc: PE targets always use msvcrt mode, remove redundant checks.
winegcc: Use -nodefaultlibs also for the linker tests.
winegcc: Merge the utility functions into the main file.
Alexandros Frantzis (8):
winewayland: Implement zwlr_data_control_device_v1 initialization.
winewayland: Support copying text from win32 clipboard to native apps.
winewayland: Generalize support for exporting clipboard formats.
winewayland: Support exporting various clipboard formats.
winewayland: Support copying data from native clipboard to win32 apps.
winewayland: Normalize received MIME type strings.
winewayland: Present EGL surfaces opaquely.
winewayland: Treat fully transparent cursors as hidden.
Alistair Leslie-Hughes (6):
include: Add Get/SetValue for gdiplus Color class.
include: Keep the same header order as SDK in gdiplus.h.
include: Add gdiplusbase.h.
include: Add a few sal.h defines.
include: Add stscanf_s define.
vbscript: Correct resource text for VBSE_PARAMETER_NOT_OPTIONAL.
Arkadiusz Hiler (1):
krnl386: Silence a warning in GetSystemDirectory16().
Attila Fidan (2):
winewayland: Update locked pointer position hint.
winewayland: Implement SetCursorPos via pointer lock.
Bernhard Kölbl (1):
wine.inf: Add VC runtime version key.
Bernhard Übelacker (11):
comctl32/tests: Skip a few tests in non-english locale.
user32/tests: Fix monitor dpi awareness test.
ntdll/tests: Skip FileFsFullSizeInformationEx test on older windows.
kernelbase/tests: Skip test if EnumSystemFirmwareTables is not available.
propsys/tests: Add broken for unexpected value in windows 7.
d2d1/tests: Adjust tolerance of a few float comparisons in windows 7.
ws2_32/tests: Allow WSAConnectByNameA test to fail with WSAEOPNOTSUPP.
propsys/tests: Fix check_PropVariantToBSTR2.
setupapi: Initialize the files member in SetupDuplicateDiskSpaceListW. (ASan).
setupapi/tests: Fix message of ok statement.
kernel32/tests: Add broken in test_IdnToNameprepUnicode.
Brendan McGrath (24):
mp3dmod/tests: Add tests for selecting an invalid stream.
mp3dmod: Check for invalid stream.
mp3dmod/tests: Add tests for GetInputCurrentType.
mp3dmod/tests: Add tests for GetOutputCurrentType.
mp3dmod: Implement GetInputCurrentType.
mp3dmod: Implement GetOutputCurrentType.
mp3dmod: Fix leak of previous outtype.
mfplat/tests: Add additional MFCreateWaveFormatExFromMFMediaType tests.
mfplat: Allow MF_MT_USER_DATA to be missing for all subtypes.
winedmo: Call avformat_find_stream_info for the mp3 format.
mp3dmod: Return S_OK in Allocate/Free Resources.
mp3dmod/tests: Add test for 32-bit sample size.
mp3dmod: Add support for 32-bit sample size.
mp3dmod/tests: Test different output sample rates.
mp3dmod: Return error if requested output format values don't agree.
mp3dmod: Only allow 1/2 and 1/4 subsampling.
mp3dmod/tests: Add test for nChannels = 0 on input.
mp3dmod: Ensure nChannels is greater than zero on input.
mf/tests: Test different length user_data against aac decoder.
winegstreamer: Validate the value of cbSize in aac decoder.
winegstreamer: Expand GST_ELEMENT_REGISTER* defines.
wined3d: Interpret Y'CbCr values as being from the reduced range.
mp3dmod: Implement an IMFTransform interface.
mfsrcsnk: Register the MP3 Byte Stream Handler class.
Brendan Shanks (9):
include: Add D3DKMT_WDDM_*_CAPS.
winemac: Remove pre-macOS 10.12 workarounds.
winemac: Always use notifications to detect window dragging.
winecoreaudio: Remove pre-macOS 10.12 workaround.
winegcc: Rename TOOL_ enum constants.
tools: Use _NSGetExecutablePath to implement get_bindir on macOS.
server: Use _NSGetExecutablePath to implement get_nls_dir on macOS.
loader: Use _NSGetExecutablePath to implement get_self_exe on macOS.
user32: Use the correct DPI in AdjustWindowRect(Ex) when DPI virtualization is active.
Charlotte Pabst (1):
winex11.drv: Weaken filter_event conditions for some events.
Connor McAdams (11):
d3dx9/tests: Add some more tests for saving surfaces as targa files.
d3dx9/tests: Add a test for saving a surface as D3DXIFF_DIB.
d3dx9/tests: Add tests for saving surfaces to non-DDS files.
d3dx9: Add TGA prefix to targa specific defines.
d3dx9: Add basic support for saving surfaces to targa files.
d3dx9: Add support for selecting a replacement pixel format when saving pixels to a file.
d3dx9: Add support for saving PNG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving JPG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving BMP files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving paletted pixel formats in d3dx_pixels_save_wic().
d3dx9: Add support for saving DIB files in d3dx_save_pixels_to_memory().
Conor McCarthy (4):
ntdll/tests: Test NtQueryVolumeInformationFile() with FileFsFullSizeInformationEx.
kernel32/tests: Test GetDiskSpaceInformationA().
ntdll: Handle FileFsFullSizeInformationEx in NtQueryVolumeInformationFile().
kernelbase: Implement GetDiskSpaceInformationA/W().
Daniel Lehman (3):
dwrite: Fix spelling for Sundanese.
xml2: Import upstream release 2.12.9.
xml2: Import upstream release 2.12.10.
Dmitry Timoshkov (7):
oleaut32/tests: Add some tests for loading and saving EMF using IPicture interface.
oleaut32: Add support for loading and saving EMF to IPicture interface.
oleaut32: Implement a better stub for IPicture::SaveAsFile.
wbemprox: Add support for Win32_PhysicalMemoryArray.
windowscodecs: Make support for WICBitmapTransformRotate270 more explicit.
kernel32: SuspendThread() in Win9x mode should return 0 for current thread.
advapi32: Add CreateProcessWithLogonW() semi-stub.
Elizabeth Figura (27):
d3dx9/tests: Define D3DX_SDK_VERSION=36 for d3dx9_36.
d3dx9/tests: Test implicit truncation warnings.
vkd3d: Import vkd3d-utils.
d3dcompiler: Use D3DPreprocess() from vkd3d-utils.
d3dcompiler: Use D3DCompile2VKD3D() from vkd3d-utils.
d3dx9: Reimplement D3DXCompileShader() for versions before 42.
d3dx9: Link versions 42 and 43 to the corresponding d3dcompiler DLL.
wined3d: Use a separate format value for d3d10+ NV12.
wined3d: Separate a wined3d_texture_vk_upload_plane() helper.
wined3d: Separate a wined3d_texture_vk_download_plane() helper.
wined3d: Implement planar Vulkan uploads.
wined3d: Implement planar Vulkan downloads.
wined3d: Implement planar Vulkan blits.
wined3d: Enable KHR_sampler_ycbcr_conversion.
wined3d: Implement planar NV12 in the Vulkan renderer.
d3d11/tests: Extend NV12 tests.
setupapi/tests: Test disk space list APIs.
setupapi: Get rid of the DISKSPACELIST typedef.
setupapi: Implement SetupAddToDiskSpaceList().
setupapi: Correctly implement SetupQuerySpaceRequiredOnDrive().
d3d11: Implement ID3D11VideoDevice::GetVideoDecoderProfile[Count]().
wined3d: Introduce a Vulkan decoder backend.
d3d11: Create a wined3d_decoder object backing the d3d11 decoder object.
wined3d: Look for a video decode queue.
wined3d: Create a Vulkan video session backing the wined3d_decoder_vk.
d3d9/tests: Expand the YUV blit tests a bit.
ddraw/tests: Port yuv_layout_test() from d3d9.
Eric Pouech (4):
findstr/tests: Add test for default findstr regex vs text search mode.
findstr: Set default search mode to regex.
findstr/tests: Always set text/regex search mode in tests.
cmd: Open file in 'TYPE' with more sharing attributes.
Esme Povirk (4):
gdiplus: Stub GdipGetEffectParameters.
gdiplus/tests: Add tests for effect parameters.
gdiplus: Split effect parameter size into helper function.
gdiplus: Store parameters on effect objects.
Etaash Mathamsetty (2):
ntdll: Implement NtGetNextProcess.
ntdll/tests: Add NtGetNextProcess tests.
Eugene McArdle (2):
ntdll/tests: Test updated NtQueryDirectoryFile mask reset behaviour.
ntdll: Invalidate cached data in NtQueryDirectoryFile when mask is changed.
Floris Renaud (1):
po: Update Dutch translation.
Giovanni Mascellani (8):
dxgi: Submit Vulkan presentation as soon as possible.
dxgi: Set the frame latency even when increasing the frame latency.
dxgi: Do not bias the frame latency fence.
dxgi: Directly signal the frame latency fence.
dxgi: Remove the frame latency fence.
dxgi: Make the frame latency waitable a semaphore.
dxgi: Wait on the frame latency semaphore when the client doesn't do it.
dxgi/tests: Use an explicit frame latency waitable when testing the back buffer index.
Hajo Nils Krabbenhöft (1):
d2d1: Update DC target surface with current HDC contents on BeginDraw().
Hans Leidekker (7):
subst: Add basic implementation.
win32u: Also set DriverVersion for software devices such as llvmpipe.
wbemprox: Don't use DXGI adapter values for Win32_SoundDevice.
wbemprox: Get Win32_VideoController values from the registry.
wmic: Treat VT_I4 values as unsigned.
wbemprox: Fix format string.
wbemprox/tests: Avoid test failures on Windows 7.
Haoyang Chen (2):
comctl32: Fix Alloc/HeapAlloc mismatches.
cryptnet: Uniform return value that is the same as _wfsopen.
Henri Verbeet (1):
wined3d: Handle a NULL "push_constants" buffer in glsl_fragment_pipe_alpha_test_func().
Jacek Caban (13):
winegcc: Don't include host include paths when compiling with MSVCRT.
include: Use inline function for DeleteFile.
include: Use wchar_t for platform types on PE targets.
include: Add UnsignedMultiply128 and _umul128 support.
include: Add ShiftRight128 and __shiftright128 support.
include: Use inline functions for CopyFile and MoveFile.
include: Use struct inheritance for MONITORINFOEX declaration in C++.
include: Add isnormal C++ declaration.
include: Introduce minwindef.h header file.
include: Introduce fibersapi.h header file.
include: Add missing d3d8types.h defines.
include: Introduce minwinbase.h header file.
include: Introduce sysinfoapi.h header file.
Jinoh Kang (10):
ntdll: Sink module dependency registration towards the end of the function in find_forwarded_export().
ntdll: Don't re-add a module dependency if it already exists.
ntdll: Register module dependency for export forwarders regardless of whether the dependency is already loaded.
ntdll: Properly track refcount on static imports of export forwarders.
ntdll: Eagerly call process_attach() on dynamic imports of export forwarders.
ntdll: Explicitly ignore dynamic (GetProcAddress) importers as relay/snoop user module.
ntdll: Properly track refcount on dynamic imports of export forwarders.
ntdll: Remove superflous NULL check for importer.
kernel32/tests: Fix thread handle leak in store_buffer_litmus_test.
kernel32/tests: Work around Windows 7 issuing DllNotification even when loading with DONT_RESOLVE_DLL_REFERENCES.
Louis Lenders (1):
ntdll: Silence the noisy FIXME in RtlGetCurrentProcessorNumberEx.
Mark Jansen (2):
version/tests: Add a test for an empty value in VerQueryValueW.
kernelbase: Fix VerQueryValueW with no data.
Mohamad Al-Jaf (1):
makecab: Add stub program.
Nikolay Sivov (24):
windowscodecs/gif: Store Image descriptor offset when reading GIF data.
windowscodecs/metadata: Add an option to initialize reader from a memory block.
windowscodecs/decoder: Separate metadata block reader to a reusable structure.
windowscodecs/decoder: Add support for metadata block reader at decoder level.
windowscodecs/decoder: Add support for IWICBitmapDecoder::CopyPalette() in common decoder.
windowscodecs: Use common decoder for GIF format.
windowscodecs/decoder: Reuse metadata readers instances.
windowscodecs/decoder: Implement metadata readers enumerator for the common decoder.
msxml3/tests: Remove tests that already run for msxml6.
msxml6/tests: Move some of the SAXXMLReader60 tests.
rtworkq: Fix private queue id mask check.
mfplat/tests: Run tests modifying process state in separate processes.
d2d1/tests: Add some tests for device context handling in the DC target.
include: Add some flags constants used in pipes API.
windowscodecs: Implement query strings enumerator.
windowscodecs/tests: Add some more tests for query enumeration.
windowscodecs/metadata: Do not decorate 'wstr' items with a type name in returned queries.
windowscodecs: Implement CreateQueryWriterFromReader().
windowscodecs/tests: Add some tests for stream position handling when nested readers are used.
windowscodecs/metadata: Restore original stream position on GetStream().
windowscodecs/metadata: Replicate original stream position when creating writer instances from readers.
windowscodecs/tests: Add some tests for metadata handler GetClassID().
windowscodecs/metadata: Implement GetClassID().
windowscodecs: Implement GetPreferredVendorGUID().
Paul Gofman (5):
ntdll: Add stub for RtlDeriveCapabilitySidsFromName().
ntdll/tests: Add tests for RtlDeriveCapabilitySidsFromName().
ntdll: Implement RtlDeriveCapabilitySidsFromName().
kernelbase: Implement DeriveCapabilitySidsFromName().
kernelbase/tests: Add test for DeriveCapabilitySidsFromName().
Piotr Caban (9):
msvcr120: Simplify feupdateenv implementation.
ole32: Mark property storage dirty in PropertyStorage_ConstructEmpty.
ole32: Mark property storage not dirty after it's saved.
ole32: Remove end label from PropertyStorage_WriteToStream.
ole32: Reset output stream when wrting property storage.
whoami: Return non-zero value on error.
whoami: Handle arguments starting with '/' and '-'.
whoami: Parse and validate all command line arguments.
whoami: Support format specifiers when handling /user argument.
Raphael Riemann (1):
kernelbase: Add WerRegisterCustomMetadata stub.
Rémi Bernon (29):
winevulkan: Generate function pointers for required funcs.
winevulkan: Enable the VK_EXT_headless_surface extension.
win32u: Pass a vulkan_instance pointer to vulkan_surface_create.
win32u: Use VK_EXT_headless_surface for nulldrv surface.
winex11: Initialize window managed flag in create_whole_window.
winex11: Request managed/embedded in a new window_set_managed helper.
winex11: Check managed window changes in WindowPosChanged.
winex11: Pass fullscreen flag to is_window_managed.
winewayland: Pass fullscreen flag to is_window_managed.
wined3d: Avoid double-free of swapchain surface on error.
include: Add a MB_CUR_MAX definition in ctype.h.
include: Add some _BitScanForward(64) declarations in intrin.h.
include: Fix InlineIsEqualGUID C++ warning.
include: Fix wmemchr C++ warning.
winetest: Avoid underflow when computing filtered output size.
win32u: Move OpenGL initialization to a separate source.
win32u: Move dibdrv OpenGL functions to opengl.c.
win32u: Move OSMesa OpenGL functions to opengl.c.
win32u: Remove unncessary OSMesa indirections.
win32u: Guard OpenGL function pointers initialization.
wineandroid: Remove now unnecessary wine_get_wgl_driver init guard.
winemac: Remove now unnecessary wine_get_wgl_driver init guard.
winex11: Remove now unnecessary wine_get_wgl_driver init guard.
winewayland: Remove now unnecessary wine_get_wgl_driver init guard.
include: Add IID_PPV_ARGS macro.
include: Add QueryDisplayConfig declaration.
include: Add d3d8 interface GUIDs.
include: Add D3D9 interface GUIDs.
include: Fix D3DDEVINFO_D3DRESOURCEMANAGER type name.
Sebastian Lackner (1):
oleaut32: Implement SaveAsFile for PICTYPE_ENHMETAFILE.
Tim Clem (1):
wbemprox: Add Manufacturer and Speed to Win32_PhysicalMemory.
Vadim Kazakov (1):
include: Add definition of NEGOSSP_NAME.
Vibhav Pant (15):
winebth.sys: Store known devices per radio from org.bluez.Device1 objects on BlueZ.
winebth.sys: Add a basic implementation for IOCTL_BTH_GET_DEVICE_INFO.
winebth.sys: Add connection related properties for remote devices.
winebth.sys: Queue a DEVICE_ADDED event on receiving InterfacesAdded for objects that implement org.bluez.Device1.
winebth.sys: Remove the corresponding device entry for Bluetooth radios on receiving InterfacesRemoved for org.bluez.Device1 objects.
winebth.sys: Use the correct DBus property name in IOCTL_WINEBTH_RADIO_SET_FLAG.
winebth.sys: Initially set numOfDevices to 0 in IOCTL_BTH_GET_DEVICE_INFO.
winebth.sys: Don't iterate over the remaining radios once a local device has been removed.
winebth.sys: Use the "Name" property of a BlueZ adapter for the local radio name.
winebth.sys: Use the "Trusted" property from BlueZ device objects to set BDIF_PERSONAL.
winebth.sys: Set the device class for remote devices from BlueZ's "Class" property.
winebth.sys: Only set the updated properties for local radios on BLUETOOTH_WATCHER_EVENT_TYPE_RADIO_PROPERTIES_CHANGED.
winebth.sys: Update properties for tracked remote devices on receiving PropertiesChanged for org.bluez.Device1 objects from BlueZ.
ws2_32: Implement WSAAddressToString() for Bluetooth (AF_BTH) addresses.
ws2_32/tests: Add tests for Bluetooth addresses for WSAStringToAddress().
William Horvath (2):
server: Use a high precision timespec directly for poll timeouts on supported platforms.
server: Use epoll_pwait2 for the main loop on Linux.
Yuxuan Shui (1):
winegstreamer: Avoid large buffer pushes in wg_transform.
Zhiyi Zhang (8):
imm32/tests: Test that the IME UI window shouldn't be above normal windows at creation.
imm32: Move the IME UI window to the bottom at creation.
d3d11/tests: Test that the fallback device window shouldn't be above normal windows at creation.
dxgi: Move the fallback device window to the bottom at creation.
winex11.drv: Allow MWM_FUNC_MAXIMIZE when WS_MAXIMIZE is present.
win32u: Use the normal window rectangle to find monitor when a window is minimized.
win32u: Remove an unused parameter.
win32u: Don't use the current mode in the registry if it's a detached mode.
Ziqing Hui (4):
mfreadwrite/tests: Move writer creation tests to test_sink_writer_create.
mfreadwrite/tests: Test getting transforms and media sinks from writer.
mfreadwrite/tests: Test AddStream and SetInputMediaType for writer.
mfreadwrite/tests: Test sample processing for writer.
```
[View Less]
The Wine development release 10.2 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.15.
- Support for setting thread priorities.
- New Wow64 mode can be enabled dynamically.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.2.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find …
[View More]documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.2 (total 20):
- #25872 Guild Wars 'test system' doesn't show test results
- #39474 MSWT Kart 2004 does not work
- #50152 YOU and ME and HER: Game crashes after launching from game launcher
- #56260 16-bit Myst deadlocks when entering Book
- #56464 vbscript: Join() builtin is not implemented
- #56951 psql 16: unrecognized win32 error code: 127 invalid binary: Invalid argument / could not find a "psql.exe" to execute
- #57310 wineboot failed to initialize a wine prefix
- #57625 Regression: some fullscreen games are displayed incorrectly upon switching from and back to game window
- #57787 Final Fantasy XI Online crashes with unhandled page fault on launch
- #57793 Wine Wordpad started with blank screen
- #57795 cmd lacks support for right-to-left handle redirection (2<&1)
- #57803 Sekiro: Shadows Die Twice crashes at launch with Xbox One controller connected
- #57804 cmd: '@echo off' gets propagated to parent on CALL instruction (CALL seems to freezes)
- #57809 cmd: Incorrect substring expansion of last character (e.g. `!MY_STR:~1!`)
- #57810 ITextStream::WriteBlankLines() needs to be implemented for libxml2's configure.js to work
- #57817 mvscp90 ::std::ifstream::seekg(0) crashes
- #57819 Wine unable to start when built with binutils 2.44
- #57824 SetThreadPriority unexpectedly fails on terminated threads instead of no-op
- #57834 Cyberpunk 2077 doesn't load with CyberEngine Tweaks
- #57847 Cross-compiled Wine no longer installs a 'wine' loader binary
### Changes since 10.1:
```
Adam Markowski (1):
po: Update Polish translation.
Aida Jonikienė (1):
wined3d: Add DXT format mappings in the Vulkan renderer.
Alex Henrie (6):
urlmon/tests: Use wide character string literals.
advapi32/tests: Use wide character string literals.
setupapi: Use wide character string literals.
msxml3: Use wide character string literals.
krnl386: Add a WOWCallback16Ex flag to simulate a hardware interrupt.
mmsystem: Simulate a hardware interrupt in MMSYSTDRV_Callback3216.
Alexandre Julliard (31):
user32: Set last error on failed window enumeration.
server: Fix desktop access check for window enumeration.
ntdll: Add a helper function to retrieve the .so directory.
ntdll: Add a helper function to get the alternate 32/64-bit machine.
ntdll: Set the WINELOADER variable on the PE side, using a Windows path.
loader: Install the Wine loader in the Unix lib directory.
tools: Add a simpler Wine launcher in the bin directory.
tools: Move the loader man pages to the new Wine loader directory.
dbghelp: Always use the WINELOADER variable for the loader name.
ntdll: Disable file system redirection until the initial exe is loaded.
ntdll: Look for a builtin exe corresponding to the loader basename.
makefiles: Install binaries as symlinks to wine.
ntdll: Allow forcing new wow64 mode by setting WINEARCH=wow64.
ntdll: Move setting DYLD_LIBRARY_PATH on macOS to the loader.
makefiles: Create wine as a symlink to tools/wine/wine.
makefiles: Link to the wine loader in the tools directory if it was built.
makefiles: Generate the wow64 symlinks from makedep.
makefiles: Generate more of the re-configure rules from makedep.
make_unicode: Update timezone data source to version 2025a.
makefiles: Don't clean files in other directories.
png: Import upstream release 1.6.45.
lcms2: Import upstream release 2.17.
faudio: Import upstream release 25.02.
rsaenh: Use RtlGenRandom() directly.
rsaenh: Don't use printf.
vkd3d: Import upstream release 1.15.
lcms2: Allow creating a transform without specifying input/output formats.
server: Support an arbitrary number of PE sections.
ntdll: Support an arbitrary number of PE sections.
vkd3d: Update version number.
makefiles: Fix the distclean target to clean everything.
Alexandros Frantzis (1):
winewayland: Don't crash on text input done events without focus.
Anton Baskanov (1):
winedbg: Make crash dialog topmost.
Attila Fidan (4):
winewayland: Enable/disable the zwp_text_input_v3 object.
winewayland: Post IME update for committed text.
winewayland: Implement SetIMECompositionRect.
winewayland: Post IME update for preedit text.
Austin English (1):
mshtml: Add registry association for .log files.
Bernhard Übelacker (3):
wbemprox: Increase buffer size one iteration earlier (ASan).
ntdll/tests: Skip leap secondInformation test with older Windows versions.
msvcrt/tests: Add missing parameter pmode to _open call (ASan).
Biswapriyo Nath (3):
include: Add UI Automation Style ID definitions.
include: Add IWiaDevMgr2 definition in wia_lh.idl.
include: Add missing structures for wiadef.h in wia_lh.idl.
Brendan McGrath (3):
winedmo: Explicitly set 'Data1' value for VP9 GUID.
mf/tests: Add tests using a new WMV decoder MFT.
winegstreamer: Store and use previous WMV stride value.
Brendan Shanks (2):
configure: MacOS is always darwin*.
winecoreaudio: Avoid duplicate Program Change or Channel Aftertouch MIDI messages.
Connor McAdams (2):
quartz/tests: Add a test for resetting stream position after receiving EC_COMPLETE.
quartz/filtergraph: Allow changing stream position after receiving EC_COMPLETE.
Conor McCarthy (16):
mfplat/tests: Test putting work on an undefined queue id.
rtworkq/tests: Test putting work on an undefined queue id.
rtworkq: Support putting work on RTWQ_CALLBACK_QUEUE_UNDEFINED.
rtworkq: Support putting work on any id in RTWQ_CALLBACK_QUEUE_PRIVATE_MASK.
mfplat/tests: Introduce a helper to check the platform lock count.
mfplat/tests: Test mixing of MF platform functions with their Rtwq equivalents.
mfplat/tests: Test platform startup and lock counts.
rtworkq/tests: Test work queue.
rtworkq: Introduce a platform startup count.
rtworkq: Introduce an async result object cache.
mfplat: Free the inner cookie passed to resolver_create_cancel_object().
mfplat/tests: Release callback2 in test_event_queue().
mfplat/tests: Check for async result release after canceling work and shutting down.
rtworkq/tests: Test scheduled items.
rtworkq/tests: Test queue shutdown with pending items.
rtworkq: Do not cancel pending callbacks when closing a thread pool.
Damjan Jovanovic (2):
scrrun: Implement ITextStream::WriteBlankLines().
cmd: Add support for right-to-left handle redirection (2<&1).
Dmitry Timoshkov (17):
windowscodecs/tests: Add some tests for IWICBitmapFlipRotator.
windowscodecs: Implement IWICBitmapFlipRotator(WICBitmapTransformFlipHorizontal) for bitmaps with bpp >= 8.
windowscodecs: Implement IWICBitmapFlipRotator(WICBitmapTransformRotate90) for bitmaps with bpp >= 8.
windowscodecs: Simplify a bit FlipRotator_CopyPixels() implementation.
wldap32: Enable libldap tracing with +wldap32 channel.
wldap32: Don't use win32 constant when calling into libldap.
oleaut32: Fix logic for deciding whether type description follows the name.
oleaut32: 'typekind' is the last field of SLTG_OtherTypeInfo structure.
oleaut32: Implement decoding of SLTG help strings.
oleaut32: Add support for decoding SLTG function help strings.
oleaut32: Add support for decoding SLTG variable help strings.
oleaut32: Make OleLoadPicture load DIBs using WIC decoder.
server: Add support for merging WM_MOUSEWHEEL messages.
oleaut32: Add missing fixup for SLTG typename offset.
oleaut32: Avoid double initialization of TypeInfoCount when reading SLTG typelib.
gdiplus: Add support for more image color formats.
gdiplus/tests: Add some tests for loading TIFF images in various color formats.
Elizabeth Figura (9):
shdocvw: Remove ParseURLFromOutsideSource() implementation.
shdocvw: Remove URLSubRegQueryA() implementation.
wined3d: Propagate a CLEARED location when blitting.
wined3d: Explicitly check for BUFFER/SYSMEM before calling wined3d_texture_download_from_texture().
wined3d: Introduce initial support for Direct3D 10+ 2-plane formats.
wined3d: Forbid creating unaligned planar textures.
wined3d: Forbid unaligned blits for planar textures.
wined3d: Implement creating views of planar resources.
d3d11: Implement D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT.
Eric Pouech (4):
cmd/tests: Add tests about echo mode persistence across batch calls.
cmd: Preserve echo mode across interactive batch invocation.
cmd/tests: Add tests wrt. variable expansion with substring modifition.
cmd: Fix substring substitution in variable expansion.
Esme Povirk (4):
comctl32: Test for an IAccessible interface on SysLink controls.
comctl32: Further testing of SysLink IAccessible.
comctl32: Stub IAccessible interface for SysLink controls.
comctl32: Implement accRole for SysLink controls.
Francis De Brabandere (1):
vbscript: Add Join implementation.
Gabriel Ivăncescu (2):
mshtml: Clear the documents list when detaching inner window.
jscript: Use as_jsdisp where object is known to be a jsdisp.
Gijs Vermeulen (1):
winegstreamer: Implement IWMSyncReader2::GetMaxOutputSampleSize.
Hans Leidekker (1):
sort: Support /+n option.
Jacek Caban (11):
ntdll: Pass WINE_MODREF to import_dll.
ntdll: Pass importer pointer to find_ordinal_export.
ntdll: Pass importer pointer to find_named_export.
ntdll: Pass importer pointer to find_forwarded_export.
ntdll: Pass importer pointer to build_import_name.
ntdll: Use NULL importer in LdrGetProcedureAddress.
ntdll: Remove no longer needed current_modref.
msvcp: Avoid explicitly aligning structs passed by value.
msvcp60: Avoid explicitly aligning structs passed by value.
ntdll: Use signed type for IAT offset in LdrResolveDelayLoadedAPI.
winebuild: Avoid using .idata section for delay-load import libraries.
Jinoh Kang (11):
server: Don't fail SetThreadPriority() on terminated threads.
kernel32/tests: Add a basic FlushProcessWriteBuffers stress test.
kernel32/tests: Add a store buffering litmus test involving FlushProcessWriteBuffers.
include: Fix ReadNoFence64 on i386.
server: Fix incorrect usage of __WINE_ATOMIC_STORE_RELEASE in SHARED_WRITE_BEGIN/SHARED_WRITE_END.
include: Prevent misuse of __WINE_ATOMIC_* helper macros for non-atomic large accesses.
kernel32/tests: Add basic tests for internal flags of modules loaded with DONT_RESOLVE_DLL_REFERENCES.
kernel32/tests: Test for unexpected LDR_PROCESS_ATTACHED flag in import dependency loaded with DONT_RESOLVE_DLL_REFERENCES.
kernel32/tests: Test for unexpected loader notification for import dependency loaded with DONT_RESOLVE_DLL_REFERENCES.
ntdll: Skip DLL initialization and ldr notification entirely if DONT_RESOLVE_DLL_REFERENCES is set.
ntdll: Remove redundant LDR_DONT_RESOLVE_REFS checks before calling process_attach().
Joe Souza (3):
cmd/tests: Add tests for command DIR /O.
cmd: Cleanup DIR /O logic.
cmd: Implement ability to abort lengthy directory operations via Ctrl-C.
Marc-Aurel Zent (5):
server: Also set thread priorities upon process priority change.
kernel32/tests: Setting process priority on a terminated process should succeed.
server: Implement apply_thread_priority on macOS for application priorities.
server: Implement apply_thread_priority on macOS for realtime priorities.
server: Apply Mach thread priorities after process tracing is initialized.
Martin Storsjö (2):
ntdll: Allow running arm/aarch64 in (old) wow64 mode.
server: Include ARMNT as one of the supported architectures on aarch64.
Michele Dionisio (2):
timeout: Add a timeout command.
timeout/tests: Add minimal test suite.
Mohamad Al-Jaf (14):
windows.web/tests: Remove superfluous cast.
windows.web/tests: Add IJsonValue::get_ValueType() tests.
windows.web: Implement IJsonValue::get_ValueType().
windows.web: Partially implement IJsonValueStatics::Parse().
windows.web: Add error handling in IJsonValue::GetArray().
windows.web: Add error handling in IJsonValue::GetObject().
windows.web: Implement IJsonValue::GetString().
windows.web: Implement IJsonValue::GetNumber().
windows.web: Implement IJsonValue::GetBoolean().
windows.web/tests: Add IJsonValueStatics::Parse() tests.
include: Reorder windows.storage.stream classes.
windows.storage: Add stub dll.
windows.storage: Move RandomAccessStreamReference class from wintypes.
windows.storage: Add error handling in IRandomAccessStreamReferenceStatics::CreateFromStream().
Nikolay Sivov (41):
windowscodecs: Implement CreateMetadataWriter().
windowscodecs/metadata: Create nested writer instances when loading IFD data.
windowscodecs/metadata: Add a stub for WICApp1MetadataWriter.
windowscodecs: Filter options in CreateMetadataWriter().
windowscodecs/metadata: Add initial implementation of CreateMetadataWriterFromReader().
windowscodecs/tests: Add an item enumeration test for the App1 reader.
windowscodecs/metadata: Implement SetValue().
maintainers: Add myself to the scrrun.dll section.
wbemprox: Fix a memory leak while filling Win32_PnPEntity fields.
windowscodecs/metadata: Recursively create nested writers in CreateMetadataWriterFromReader().
windowscodecs/tests: Use generic block writer for testing.
windowscodecs/tests: Add some tests for querying nested readers in App1 format.
windowscodecs/tests: Add some tests for the query writer used on App1 data.
windowscodecs/metadata: Handle nested metadata handlers lookup by CLSID.
windowscodecs/tests: Add a top level block enumerator for the test block writer.
windowscodecs/tests: Add some tests for handler objects enumerator.
windowscodecs: Add missing traces to the IWICEnumMetadataItem implementation.
msi: Avoid invalid access when handling format strings.
windowscodecs/tests: Add some query tests with the Unknown reader.
windowscodecs/metadata: Share implementation between query reader and writer objects.
windowscodecs/tests: Add some tests for CreateQueryWriter().
windowscodecs/tests: Add query reader tests for live block reader updates.
windowscodecs/tests: Add some tests for CreateQueryWriterFromReader().
windowscodecs/tests: Add some tests for the query reader container format.
windowscodecs/metadata: Use VT_LPWSTR type instead of BSTRs when parsing queries.
windowscodecs/metadata: Collect query components before assigning values.
windowscodecs/metadata: Add a helper to parse query index syntax.
windowscodecs/metadata: Use separate helpers to parse query items.
windowscodecs/metadata: Handle empty items in queries.
windowscodecs/metadata: Return query writer object from GetMetadataByName() when block writer is used.
windowscodecs/metadata: Base returned query handlers on metadata handlers.
windowscodecs: Implement CreateQueryWriter().
windowscodecs/tests: Add some tests for default metadata item set.
windowscodecs/metadata: Add flags mask to configure builtin handlers.
windowscodecs/metadata: Implement removing items with IWICMetadataWriter.
windowscodecs/tests: Add some tests for RemoveMetadataByName().
windowscodecs/metadata: Implement RemoveMetadataByName().
windowscodecs/tests: Remove WinXP workarounds from png metadata test.
windowscodecs/tests: Move non-specific CreateQueryReaderFromBlockReader() tests to a separate function.
windowscodecs/tests: Add a test for reader instances returned from the decoder.
windowscodecs: Remove TGA decoder.
Paul Gofman (24):
user32/tests: Test system generated WM_MOUSEMOVE with raw input.
server: Ignore WM_MOUSEMOVE with raw input / RIDEV_NOLEGACY.
dwmapi: Sleep in DwmFlush().
ntoskrnl.exe/tests: Open directory object with nonzero access in test_permanent().
httpapi: Don't open files with zero access.
kernel32: Don't open reg keys with zero access mask.
setupapi: Don't open reg keys with zero access mask.
devenum: Don't open reg keys with zero access mask.
quartz: Don't open reg keys with zero access mask.
wbemprox: Don't open reg keys with zero access mask.
shell32: Don't open reg keys with zero access mask.
server: Check for zero access in alloc_handle().
include: Add cfgmgr ID list filter constants.
setupapi: Implement CM_Get_Device_ID_List[_Size]W().
setupapi: Implement CM_Get_Device_ID_List[_Size]A().
setupapi: Make device instance handlers persistent.
setupapi: Implement CM_Locate_DevNode[_Ex]{A|W}().
winex11.drv: Sort Vulkan physical devices in get_gpu_properties_from_vulkan().
win32u: Sort Vulkan physical devices in get_vulkan_gpus().
crypt32/tests: Add test for chain engine cache update.
crypt32: Lock store in MemStore_deleteContext().
crypt32: Do not temporary delete contexts in I_CertUpdateStore().
crypt32: Only sync registry store if registry has changed.
crypt32: Resync world store for default engines in get_chain_engine().
Rémi Bernon (11):
win32u: Introduce a new add_virtual_mode helper.
win32u: Pass host enumerated display modes to get_virtual_modes.
win32u: Keep virtual screen sizes in a SIZE array.
win32u: Introduce a new get_screen_sizes helper.
win32u: Check generated sizes with the maximum display mode.
win32u: Generate fake resolution list from the host modes.
win32u: Generate modes for the host native frequency.
server: Introduce a new find_mouse_message helper.
winetest: Ignore success and color codes in tests output limit.
win32u: Drop now unnecessary WM_WINE_DESKTOP_RESIZED internal message.
winex11: Delay changing window config if win32 side is still minimized.
Sven Baars (2):
win32u: Fix an uninitialized variable warning on GCC 10.
winegstreamer: Fix a compiler warning with GStreamer 1.18 or lower.
Torge Matthies (2):
ntdll: Add sys_membarrier-based implementation of NtFlushProcessWriteBuffers.
ntdll: Add thread_get_register_pointer_values-based implementation of NtFlushProcessWriteBuffers.
Vibhav Pant (10):
winebth.sys: Don't call dbus_pending_call_set_notify with a NULL pending call.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_SET_FLAG.
winebth.sys: Call bluez_watcher_close as part of bluetooth_shutdown.
bluetoothapis: Add stub for BluetoothEnableIncomingConnections.
bluetoothapis/tests: Add tests for BluetoothEnableIncomingConnections.
bluetoothapis: Implement BluetoothEnableIncomingConnections.
bluetoothapis: Add stub for BluetoothEnableDiscovery.
bluetoothapis/tests: Add tests for BluetoothEnableDiscovery.
bluetoothapis: Implement BluetoothEnableDiscovery.
winebth.sys: Free Unix handle to the local radio after updating its properties.
Wei Xie (1):
http.sys: Avoid crashes in complete_irp() if http header value is space.
Zhiyi Zhang (17):
prntvpt: Add a missing return (Coverity).
ntdll: Implement RtlEnumerateGenericTableWithoutSplaying().
ntdll/tests: Add RtlEnumerateGenericTableWithoutSplaying() tests.
ntdll: Implement RtlEnumerateGenericTable().
ntdll/tests: Add RtlEnumerateGenericTable() tests.
ntdll: Implement RtlGetElementGenericTable().
ntdll/tests: Add RtlGetElementGenericTable().
user32/tests: Test TME_LEAVE when the cursor is not in the specified tracking window.
win32u: Post WM_MOUSELEAVE immediately when the cursor is not in the specified tracking window.
include: Add D3DKMT_DRIVERVERSION.
gdi32/tests: Add D3DKMTQueryAdapterInfo() tests.
win32u: Support KMTQAITYPE_CHECKDRIVERUPDATESTATUS for NtGdiDdDDIQueryAdapterInfo().
win32u: Support KMTQAITYPE_DRIVERVERSION for NtGdiDdDDIQueryAdapterInfo().
winex11.drv: Go though WithdrawnState when transitioning from IconicState to NormalState.
d2d1: Add D2D1ColorMatrix effect stub.
d2d1: Add D2D1Flood effect stub.
d3d11/tests: Test D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT feature.
```
[View Less]
The vkd3d team is proud to announce that release 1.15 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:
- Much more complete support for tessellation shaders in the HLSL compiler.
- Improved function overload resolution in the HLSL compiler.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/…
[View More]vkd3d-1.15.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.15
### libvkd3d
- New interfaces:
- vkd3d_queue_signal_on_cpu() allows a Direct3D 12 fence to be signalled
when all preceding work on a Direct3D 12 command queue has been submitted
to the corresponding Vulkan queue.
### libvkd3d-shader
- New features for the HLSL source type:
- ‘InputPatch’ and ‘OutputPatch’ tessellation shader objects. This was the
main feature required by most tessellation shaders that was still missing,
and tessellation shaders should be considered generally usable now.
- Unrolling of loops containing conditional jumps.
- Improved function overload resolution. Previously the compiler was unable
to decide between multiple function overloads with the same number of
parameters.
- The parser is able to continue parsing in a larger number of error cases.
This allows more issues in the input to be reported during a single
compilaton attempt.
- The following intrinsic functions are supported:
- GatherCmp()
- GatherCmpAlpha(), GatherCmpBlue(), GatherCmpGreen(), and GatherCmpRed()
- InterlockedAdd(), InterlockedAnd(), InterlockedCompareExchange(),
InterlockedCompareStore(), InterlockedExchange(), InterlockedMax(),
InterlockedMin(), InterlockedOr(), and InterlockedXor()
- isinf()
- Separate resource and sampler support for shader model 1-3 target
profiles.
- Casts on the left hand side of assignments.
- Reassociation and redistribution of constants in binary expressions, to
facilitate constant folding.
- Packing of interstage I/O variables with the ‘SV_IsFrontFace’,
‘SV_PrimitiveID’, ‘SV_RenderTargetArrayIndex’, ‘SV_SampleIndex’, and
‘SV_ViewPortArrayIndex’ semantics matches d3dcompiler/fxc more closely.
- Parser support for the ‘LineStream’, ‘PointStream’, and ‘TriangleStream’
Stream-Output objects.
- A number of instructions have been implemented for the experimental MSL
target. Although more and more shaders are starting to work, support is
still fairly limited. For example, shader resource views and unordered
access views are still entirely unsupported.
- Shader code generation for fixed-function fog. Like the existing shader code
generation for other fixed-function features, this is mainly relevant for
executing shader model 1-3 sources in modern target environments like
Vulkan.
- The ‘fx’ parser can parse binary effects containing inline shader blobs.
- Internal validator support for validating I/O signatures, as well as I/O
source and destination parameters. The validator is enabled by the
‘force_validation’ option, specified through the VKD3D_SHADER_CONFIG
environment variable.
- Internal validator support for validating the number of indices used with a
register, as well as basic bounds checking for static indices.
- New interfaces:
- The vkd3d_shader_scan_hull_shader_tessellation_info structure extends the
vkd3d_shader_compile_info structure, and can be used to retrieve the
output primitive type and partitioning mode used by a hull shader. This
information is particularly useful for specifying
vkd3d_shader_spirv_domain_shader_target_info structures when targetting
SPIR-V in OpenGL environments.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_FRAGMENT_MODE shader parameter
specifies the kind of fog to generate in a fragment shader.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_COLOUR shader parameter
specifies the fog colour.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_END shader parameter
specifies the ‘end’ parameter used for linear fog generation.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_SCALE shader parameter
specifies the ‘scale’ parameter used for fog generation.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_SOURCE shader parameter
specifies the kind of fog coordinate to output from a pre-rasterisation
shader.
### vkd3d-compiler
- The new ‘dxbc-fx’ source type specifies an effect binary embedded in a DXBC
container. This is a convenience feature;
‘vkd3d-compiler -x dxbc-fx blob.dxbc’ is equivalent to
‘vkd3d-dxbc -x t:FX10 blob.dxbc | vkd3d-compiler -x fx’.
### Changes since vkd3d 1.14:
```
Anna (navi) Figueiredo Gomes (6):
vkd3d-shader/hlsl: Implement cast from bool to int for SM1.
tests/hlsl: Add GatherCmp() tests.
vkd3d-shader/hlsl: Implement the GatherCmp() methods.
tests/shader_runner: Add a "mesa<23.3" tag.
tests/hlsl: Add mixed argument size tests.
vkd3d-shader/hlsl: Consider conversions across all parameters in function_compare().
Conor McCarthy (29):
vkd3d: Store only a single vkd3d descriptor type in each Vulkan descriptor set.
vkd3d: Introduce struct vkd3d_vk_descriptor_pool_array.
vkd3d: Introduce vkd3d_vk_descriptor_pool_array_push_array().
vkd3d: Introduce vkd3d_vk_descriptor_pool_array_push().
vkd3d: Introduce vkd3d_vk_descriptor_pool_array_pop().
vkd3d: Introduce vkd3d_vk_descriptor_pool_array_destroy_pools().
vkd3d: Create separate descriptor pools for each vkd3d descriptor type.
vkd3d: Create descriptor pools of geometrically increasing size.
tests/hlsl: Add float64 wave op tests.
tests/hlsl: Add uint64 wave op tests.
tests/hlsl: Add int64 wave op tests.
vkd3d-shader/dxil: Implement DX intrinsic EvalSampleIndex.
vkd3d-shader/dxil: Implement DX intrinsic EvalCentroid.
vkd3d: Return the correct depth/stencil plane format from GetCopyableFootprints().
vkd3d: Return correctly aligned depth/stencil sizes from GetCopyableFootprints().
vkd3d: Do not require the ALLOW_DEPTH_STENCIL flag for depth/stencil formats in GetCopyableFootprints().
tests/hlsl: Add a test for SV_RenderTargetArrayIndex.
vkd3d-shader/dxil: Handle SV_RenderTargetArrayIndex.
tests/hlsl: Pass a profile string instead of a shader type to dxc_compiler_compile_shader().
tests/hlsl: Add some arithmetic uint16 shader tests.
tests/hlsl: Add more arithmetic uint16 tests.
tests/hlsl: Add arithmetic int16 tests.
tests/hlsl: Add arithmetic float16 tests.
tests/hlsl: Add a numeric types 16-bit test.
tests/hlsl: Add constant buffer 16-bit tests.
tests/hlsl: Add GetDimensions() 16-bit tests.
tests/hlsl: Add typed buffer UAV 16-bit tests.
tests/hlsl: Add a raw buffer UAV 16-bit test.
tests/hlsl: Add structured buffer UAV 16-bit tests.
Elizabeth Figura (65):
vkd3d-shader/spirv: Handle SSA registers in spirv_compiler_get_register_info().
vkd3d-shader/ir: Allow controlling fog through parameters.
vkd3d-shader/ir: Add a couple of traces for signature remapping.
vkd3d-shader/ir: Allow controlling the fog source through a parameter.
vkd3d-shader/ir: Implement exponential fog.
vkd3d-shader/hlsl: Do not abort when modifying a const expression.
vkd3d-shader/hlsl: Do not abort parsing when invalid modifiers are used.
vkd3d-shader/hlsl: Move the numeric type check to add_constructor().
vkd3d-shader/hlsl: Return an error expression when a function is used as a variable.
vkd3d-shader/hlsl: Translate invalid implicit-size arrays to an error type.
vkd3d-shader/d3dbc: Omit unnecessary instruction maximum versions.
vkd3d-shader/d3dbc: Mark some more instructions as version-limited.
vkd3d-shader: Fix the disassembly names of IFC and BREAKC.
vkd3d-shader: Correct the disassembly for POSITIONT.
tests: Add a reflection test for shader model 4.0.
vkd3d-shader/hlsl: Remove unused expr ops.
vkd3d-shader/ir: Always initialise "*control_point_count" in vsir_signature_from_register_type().
vkd3d-shader/hlsl: Document matrix swizzles.
vkd3d-shader/hlsl: Use a structure for matrix swizzles.
vkd3d-shader/hlsl: Use swizzle helpers in more places.
vkd3d-shader/hlsl: Store swizzles in vsir format.
tests/shader_runner: Use is_todo instead of separate shader states.
tests/shader_runner: Use a separate variable for shader type.
tests/shader_runner: Don't bother distinguishing directive substrings.
vkd3d-shader/d3dbc: Use struct vkd3d_shader_dst_param instead of struct sm1_dst_register.
vkd3d-shader/d3dbc: Use struct vkd3d_shader_src_param instead of struct sm1_src_register.
vkd3d-shader/d3dbc: Use struct vkd3d_shader_instruction instead of struct sm1_instruction.
tests/shader_runner: Record HLSL todo/fail state for each shader model.
tests/shader_runner: Test HLSL compilation in a separate pass.
tests/shader_runner: Test versions where the compilation result changes.
tests: Use fail(sm<5) instead of [require] for uav-atomics.
vkd3d-shader/spirv: Correctly implement DTOF.
vkd3d-shader/spirv: Correctly implement DTOI.
vkd3d-shader/spirv: Correctly implement DTOU.
tests/d3d12: Make the dtof test a bit more interesting.
vkd3d-shader: Explicitly translate between d3dbc and vsir register types.
vkd3d-shader/d3dbc: Normalize to a single VKD3DSPR_CONST register set when reading.
vkd3d-shader/d3d-asm: Define register names in a table.
vkd3d-shader/ir: Separate VKD3DSPR_ADDR and VKD3DSPR_TEXTURE.
vkd3d-shader/ir: Separate VKD3DSPR_OUTPUT and VKD3DSPR_TEXCRDOUT.
vkd3d-shader/d3dbc: Introduce d3dbc_parse_register().
vkd3d-shader/hlsl: Avoid some uses of the default case when switching over hlsl_base_type.
vkd3d-shader/d3dbc: Do not access the type dimensions for non-numeric types.
vkd3d-shader/hlsl: Move the "dimx" and "dimy" fields to the type-specific union.
tests: Adjust angle-unit.shader_test to pass with 1.x.
tests: Adjust arithmetic-float.shader_test to pass with 1.x.
tests: Adjust arithmetic-float-uniform.shader_test to pass with 1.x.
tests: Adjust arithmetic-int.shader_test to pass with 1.x.
tests: Adjust array-parameters.shader_test to pass with 1.x.
tests: Adjust array-size-expr.shader_test to pass with 1.x.
tests: Adjust abs.shader_test to pass with 1.x.
tests: Add another unrolling test.
vkd3d-shader/hlsl: Implement broadcasts in constant folding.
vkd3d-utils: Fix matrix packing precedence in D3DCompile2VKD3D().
vkd3d-shader/hlsl: Use the casted value in exp().
tests: Add some stress tests for scope and variable definition.
vkd3d-shader/hlsl: Do not define a separate scope for function parameters.
vkd3d-shader/hlsl: Factor out the error message into hlsl_add_var().
vkd3d-shader/hlsl: Do not abort on variable redefinition.
vkd3d-shader/hlsl: Handle error instructions in add_shader_compilation().
vkd3d-shader/hlsl: Add an add_switch() helper.
vkd3d-shader/hlsl: Handle error instructions in add_switch().
vkd3d-shader/hlsl: Pass the block to add_zero_mipmap_level().
vkd3d-shader/hlsl: Use a block in prepend_input_var_copy().
vkd3d-shader/hlsl: Use a block in hlsl_normalize_binary_exprs().
Feifan He (46):
vkd3d-shader/msl: Implement VKD3DSIH_ADD.
vkd3d-shader/msl: Implement support for VKD3DSPR_IMMCONST registers.
vkd3d-shader/msl: Implement support for VKD3DSPSM_ABS modifiers.
vkd3d-shader/msl: Implement VKD3DSIH_AND.
vkd3d-shader/msl: Implement VKD3DSIH_NEU.
vkd3d-shader/msl: Implement support for VSIR_DIMENSION_VEC4 immediate constants.
vkd3d-shader/msl: Implement VKD3DSIH_MUL.
vkd3d-shader/msl: Implement VKD3DSIH_INE.
vkd3d-shader/msl: Implement VKD3DSIH_OR.
vkd3d-shader/msl: Implement VKD3DSIH_DIV.
vkd3d-shader/msl: Implement support for VKD3DSPSM_NEG modifiers.
vkd3d-shader/msl: Implement VKD3DSIH_GEO.
vkd3d-shader/msl: Implement VKD3DSIH_FRC.
vkd3d-shader/msl: Implement VKD3DSIH_MOVC.
vkd3d-shader/msl: Implement VKD3DSIH_ITOF.
vkd3d-shader/msl: Implement VKD3DSIH_FTOI.
vkd3d-shader/msl: Implement VKD3DSIH_UTOF.
vkd3d-shader/msl: Implement VKD3DSIH_FTOU.
vkd3d-shader/msl: Implement VKD3DSIH_ROUND_PI.
vkd3d-shader/msl: Implement VKD3DSIH_ROUND_Z.
tests/shader_runner_metal: Implement depth texture and state.
tests/shader_runner_metal: Implement clears.
vkd3d-shader/msl: Implement support for the VKD3DSPR_DEPTHOUT register.
vkd3d-shader/msl: Implement VKD3DSIH_DP3.
vkd3d-shader/msl: Implement VKD3DSIH_DP4.
vkd3d-shader/msl: Implement VKD3DSIH_DP2.
vkd3d-shader/msl: Implement VKD3DSIH_SQRT.
vkd3d-shader/msl: Handle the VKD3DSIM_LINEAR interpolation modifier on inputs.
vkd3d-shader/msl: Implement VKD3DSIH_IEQ.
vkd3d-shader/msl: Implement VKD3DSIH_EXP.
vkd3d-shader/msl: Implement VKD3DSIH_LTO.
vkd3d-shader/msl: Implement VKD3DSIH_ROUND_NI.
vkd3d-shader/msl: Implement VKD3DSIH_IF and VKD3DSIH_ENDIF.
vkd3d-shader/msl: Implement VKD3DSIH_ROUND_NE.
vkd3d-shader/msl: Handle SV_IS_FRONT_FACE inputs.
vkd3d-shader/msl: Implement VKD3DSIH_LOG.
vkd3d-shader/msl: Implement VKD3DSIH_MAX.
vkd3d-shader/msl: Implement VKD3DSIH_MIN.
vkd3d-shader/msl: Implement VKD3DSIH_RSQ.
vkd3d-shader/msl: Implement VKD3DSIH_NOT.
vkd3d-shader/msl: Implement VKD3DSIH_ELSE.
vkd3d-shader/msl: Implement support for VKD3DSPDM_SATURATE modifiers.
vkd3d-shader/msl: Implement VKD3DSIH_MAD.
vkd3d-shader/msl: Implement VKD3DSIH_ISHL.
vkd3d-shader/msl: Implement VKD3DSIH_ISHR.
vkd3d-shader/msl: Implement VKD3DSIH_USHR.
Francisco Casas (55):
vkd3d-shader/tpf: Remove HLSL_IR_SWIZZLE handling.
vkd3d-shader/hlsl: Store SM4 stores in the vsir program.
vkd3d-shader/hlsl: Store SM4 loads in the vsir program.
vkd3d-shader/hlsl: Store SM4 resource stores in the vsir program.
tests: Test signature reflection for PRIMID, RTINDEX and VPINDEX.
vkd3d-shader/hlsl: Add special allocation rules for PRIMID, RTINDEX, and VPINDEX.
tests: Test allocation rules for FFACE and SAMPLE.
vkd3d-shader/hlsl: Add special allocation rules for FFACE and SAMPLE.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_LOADs in the vsir program.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_SAMPLEs in the vsir program.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_GATHERs in the vsir program.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_SAMPLE_INFOs in the vsir program.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_RESINFOs in the vsir program.
vkd3d-shader/hlsl: Store SM4 jumps in the vsir program.
vkd3d-shader/tpf: Apply extra bits to all conditional ops.
vkd3d-shader/hlsl: Migrate SM4 control flow instructions to the vsir program.
vkd3d-shader/hlsl: Remove hlsl_ir_vsir_instruction_ref, again.
vkd3d-shader/dxbc: Parse the SFI0 ROV requirement.
vkd3d-shader/hlsl: Store ROV feature requirement in the vsir_program.
vkd3d-shader/hlsl: Store the global flags in the vsir program.
vkd3d-shader/hlsl: Store SM4 sampler declarations in the vsir program.
vkd3d-shader/hlsl: Store SM4 texture declarations in the vsir program.
tests: Add additional sampler allocation tests for SM1.
tests: Test sampler array allocation.
vkd3d-shader/hlsl: Lower separated samplers for SM1.
vkd3d-shader/hlsl: Support combined samplers from texture arrays.
vkd3d-shader/hlsl: Allocate samplers by decreasing bind count in SM1.
vkd3d-shader/hlsl: Allow lowering separate sampler arrays on deref offset 0.
vkd3d-shader/hlsl: Store SM4 constant buffer declarations in vsir program.
vkd3d-shader/hlsl: Generate RDEF outside tpf_compile().
vkd3d-shader/hlsl: Generate CTAB outside sm1_generate_vsir().
vkd3d-shader/hlsl: Store hull and domain shader properties in vsir_program.
vkd3d-shader/tpf: Remove hlsl_ctx from tpf_compiler.
vkd3d-shader/hlsl: Lower sample lods for SM1.
vkd3d-shader/ir: Properly lower texldb.
tests/hlsl: Test tex2Dproj().
vkd3d-shader/ir: Properly lower texldp.
vkd3d-shader: Avoid passing NULL to memcpy(). (ubsan)
vkd3d-shader: Avoid passing NULL to qsort(). (ubsan)
vkd3d-shader: Avoid passing NULL to memset(). (ubsan)
vkd3d-shader: Avoid left shifting signed integers. (ubsan)
tests: Test SampleGrad() on ps_3_0.
vkd3d-shader/hlsl: Lower separate SampleGrad() for SM1.
vkd3d-shader/hlsl: Don't lower separate samples with texel offsets.
tests: Test casting negative floats to int.
vkd3d-shader/hlsl: Properly lower casts to int for negative numbers.
vkd3d-shader/hlsl: Specialize lowering SM1 casts to int for vertex shaders.
tests/hlsl: Add lhs cast tests.
tests/hlsl: Test partial assignments due to lhs casts.
tests/hlsl: Add more function cast tests.
vkd3d-shader/hlsl: Delay lowering complex casts until after parse time.
vkd3d-shader/hlsl: Support non-size-changing lhs casts.
vkd3d-shader/hlsl: Don't count cast to param type on IN as part of OUT var's lhs.
vkd3d-shader/hlsl: Don't forbid first base type cast on var assignments.
tests/shader_runner: Pass the correct buffer size to swprintf() in dxc_compiler_compile_shader().
Giovanni Mascellani (87):
vkd3d-shader/ir: Validate the semantic index for tessellation system values.
vkd3d-shader/ir: Check that semantic indices for tessellation system values are not duplicated.
vkd3d-shader/ir: Keep track of the tessellator domain in struct vsir_program.
vkd3d-shader/ir: Validate tessellation system values for the given tessellator domain.
vkd3d-shader/ir: Check that tessellation system values only appear in the patch constant signature.
vkd3d-shader/ir: Validate index count for PRIMID registers.
vkd3d-shader/ir: Validate index count for OUTPOINTID registers.
vkd3d-shader/ir: Validate index count for FORKINSTID registers.
vkd3d-shader/ir: Validate index count for JOININSTID registers.
vkd3d-shader/ir: Validate index count for TESSCOORD registers.
vkd3d-shader/ir: Validate index count for THREADID registers.
vkd3d-shader/ir: Validate index count for THREADGROUPID registers.
vkd3d-shader/ir: Validate index count for LOCALTHREADID registers.
vkd3d-shader/ir: Validate index count for LOCALTHREADINDEX registers.
vkd3d-shader/ir: Check that all tessellation system values appear in the patch constant signature.
vkd3d-shader/ir: Check that tessellation system value registers are consecutive.
vkd3d-shader/ir: Validate index count for COVERAGE registers.
vkd3d-shader/ir: Validate index count for SAMPLEMASK registers.
vkd3d-shader/ir: Validate index count for GSINSTID registers.
vkd3d-shader/ir: Validate index count for WAVELANECOUNT registers.
vkd3d-shader/ir: Validate index count for WAVELANEINDEX registers.
vkd3d-shader/ir: Validate index count for OUTSTENCILREF registers.
vkd3d-shader/dxil: Emit register SAMPLEMASK for output sysval SV_Coverage.
vkd3d-shader/ir: Validate the register type for DCL_INPUT instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_SIV instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_SGV instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS_SIV instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS_SGV instructions.
vkd3d-shader/ir: Validate the register type for DCL_OUTPUT instructions.
vkd3d-shader/ir: Validate the register type for DCL_OUTPUT_SIV instructions.
vkd3d-shader/ir: Synthesize the default control point phase in the HS control point I/O normaliser.
vkd3d-shader/ir: Evaluate OUTCONTROLPOINT usage in the patch constant phase directly.
tests: Use plain skip() when skipping a test in the shader runner.
tests: Print the file name instead of the test name in test logs.
vkd3d-shader/spirv: Merge emitting input and output registers.
vkd3d-shader/ir: Encode I/O declarations in vsir_program.
vkd3d-shader/ir: Remove I/O declarations before I/O normalisation.
vkd3d-shader/ir: Remove I/O declarations before normalising hull shader control point I/O.
vkd3d-shader/ir: Remove I/O declarations before flattening hull shader phases.
vkd3d-shader/ir: Merge removing I/O declarations in the general instruction lowering pass.
vkd3d-shader/ir: Validate the control point index when it is statically known.
vkd3d: Do not use more than a few million descriptors in Vulkan heap set layouts.
vkd3d-shader/ir: Validate the array index when it is statically known.
vkd3d-shader/ir: Validate the register type for registers used as relative addresses.
vkd3d-shader/ir: Introduce a helper function to determine the signature for a register type.
vkd3d-shader/ir: Validate the DCL_INDEX_RANGE instruction.
vkd3d-shader/ir: Check that DCL_INDEX_RANGE ranges do not overlap with unrelated signature elements.
vkd3d-shader/spirv: Introduce a SPIR-V parser.
vkd3d-shader/spirv: Parse the SPIR-V magic number.
vkd3d-shader/spirv: Parse the SPIR-V version number.
vkd3d-shader/spirv: Parse the SPIR-V generator magic number.
vkd3d-shader/spirv: Parse the SPIR-V id bound.
vkd3d-shader/spirv: Parse the SPIR-V instruction schema.
vkd3d-shader/ir: Check that the DCL_INDEX_RANGE effective mask stabilizes after one iteration.
vkd3d-shader/ir: Check that signature element masks are left-aligned with in a DCL_INDEX_RANGE.
vkd3d-shader/ir: Validate the register index and count for signature elements.
vkd3d-shader/ir: Validate the signature element stream index.
vkd3d-shader/ir: Validate the signature element register index, for some sysvals.
vkd3d-shader/ir: Check that signature elements do not conflict with each other.
vkd3d-shader/ir: Give more meaningful names to I/O normalisation levels.
vkd3d-shader/d3dbc: Normalise I/O register write masks when not disassembling.
vkd3d-shader/ir: Represent information about I/O registers with a table.
vkd3d-shader/ir: Validate INPUT destination parameters using a uniform helper.
vkd3d-shader/ir: Validate PATCHCONST destination parameters using a uniform helper.
vkd3d-shader/ir: Validate OUTPUT destination parameters.
vkd3d-shader/ir: Validate INCONTROLPOINT destination parameters.
vkd3d-shader/ir: Validate OUTCONTROLPOINT destination parameters.
vkd3d-shader/ir: Remove a redundant assignment.
vkd3d-shader/ir: Simplify shader_register_normalise_arrayed_addressing().
tests/hlsl: Add tests for the EvaluateAttribute*() intrinsics.
tests/hlsl: Add some clip/cull distance tests.
vkd3d-shader/ir: Disallow array signature elements for normalisation levels < SM6.
vkd3d-shader/ir: Validate OUTPUT source parameters using a uniform helper.
vkd3d-shader/ir: Validate PATCHCONST source parameters using a uniform helper.
vkd3d-shader/ir: Validate INPUT source parameters.
vkd3d-shader/ir: Validate INCONTROLPOINT source parameters.
vkd3d-shader/ir: Validate OUTCONTROLPOINT source parameters.
vkd3d: Log the requested feature levels for D3D12_FEATURE_FEATURE_LEVELS.
vkd3d: Describe DXGI_UNKNOWN as having one plane.
vkd3d: Only call d3d12_fence_garbage_collect_vk_semaphores_locked() when using binary semaphores.
vkd3d: Release queued fences when stopping the fence worker.
vkd3d: Support signalling a fence once all outstanding work is submitted to Vulkan.
vkd3d: Explicitly call the appropriate waiting function in the fence worker.
vkd3d-shader/spirv: Interpret the write mask as a destination swizzle for double comparison operations.
vkd3d-common: Write a thread id in the log on macOS too.
ci: Explicitly install SPIRV-Tools in the macOS CI environment.
Henri Verbeet (31):
tests: Get rid of some redundant "glsl" todo's.
vkd3d-shader/hlsl: Use hlsl_error() instead of hlsl_fixme() for ambiguous function calls.
vkd3d-shader/hlsl: Introduce hlsl_dump_type().
vkd3d-shader/hlsl: Introduce hlsl_dump_ir_function_decl().
vkd3d-shader/hlsl: Output the candidates for ambiguous function calls.
vkd3d: Introduce d3d12_descriptor_set_layout_init().
vkd3d-shader/spirv: Parse SPIR-V instructions.
vkd3d: Drop smaller pools in d3d12_command_allocator_reset_descriptor_pool_array().
tests: Add yet more overload resolution tests.
vkd3d-shader/hlsl: Prefer overload candidates without component count narrowing.
vkd3d-shader/hlsl: Prefer overload candidates with matching component type classes.
vkd3d-shader/hlsl: Prefer overload candidates with matching component types.
vkd3d-shader/hlsl: Prefer overload candidates without component type narrowing.
vkd3d-shader/hlsl: Prefer overload candidates without component count widening.
vkd3d-shader/d3dbc: Separate writing the comment bytecode from write_sm1_uniforms().
vkd3d-shader/hlsl: Move CTAB generation to hlsl_codegen.c.
tests/shader_runner: Ignore the "backcompat" option for shader model 5.1+.
vkd3d-shader/hlsl: Make sm4_get_interpolation_mode() static.
vkd3d-shader/hlsl: Move sm4_get_extern_resources() to hlsl_codegen.c.
vkd3d-shader/hlsl: Move sm4_free_extern_resources() to hlsl_codegen.c.
tests/shader_runner: Do not use skip() for shader model requirements.
vkd3d-shader/hlsl: Move RDEF generation to hlsl_codegen.c.
demos: Use the assembler to embed HLSL sources.
vkd3d-shader/msl: Get rid of a stray vkd3d_string_buffer_printf() in the VEC4 UINT immediate constant handling.
vkd3d: Avoid freeing the input signature twice on error paths in d3d12_pipeline_state_init_graphics().
vkd3d-compiler: Store the target type as a struct target_type_info pointer.
vkd3d-compiler: Store the source type as a struct source_type_info pointer.
vkd3d-compiler: Introduce "dxbc-fx" as a source type.
include: Add vkd3d_shader_scan_hull_shader_tessellation_info to the list of chained compilation structures.
include: Add missing VKD3D_FORCE_32_BIT_ENUM enum elements.
vkd3d-shader/ir: Remove vForkInstanceId and vJoinInstanceId declarations in vsir_program_flatten_hull_shader_phases().
Nikolay Sivov (5):
vkd3d-shader/hlsl: Add parser support for stream-output object types.
vkd3d-shader/fx: Implement parsing inline shader blobs.
vkd3d-shader/fx: Remove newlines from the parser error messages.
vkd3d-compiler: Support fx_4_0 sources embedded in DXBC containers.
vkd3d-shader/hlsl: Implement the isinf() intrinsic.
Shaun Ren (43):
vkd3d-shader/dxil: Allow zero domain input control point count.
vkd3d-shader: Implement scanning hull shader tessellation information.
tests/shader_runner_vulkan: Enable patch list topology support.
tests/shader_runner_gl: Implement tessellation support.
vkd3d-shader/hlsl: Implement normalization of binary expressions.
vkd3d-shader/hlsl: Collect together terms with constant coefficients.
tests/shader_runner_vulkan: Check if create_shader_stage() fails in create_compute_pipeline().
tests/shader_runner_gl: Add "opengl" tag.
tests/shader_runner_gl: Bind buffer UAVs for compute shaders.
tests/hlsl: Add a test for UAV InterlockedCompareExchange().
tests/hlsl: Add tests to check the types of the value arguments of atomic ops.
tests/hlsl: Add tests to check the void return type of atomic ops.
tests/hlsl: Add tests for valid destination types of atomic operations.
vkd3d-shader/hlsl: Implement the InterlockedAdd() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedAnd() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedCompareExchange() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedCompareStore() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedExchange() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedMax() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedMin() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedOr() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedXor() intrinsic.
vkd3d-shader/spirv: Emit the tessellator domain for domain shaders.
vkd3d-shader/hlsl: Forbid declaring parameters as both out and const.
tests: Test invalid out const parameters.
vkd3d-shader/d3d-asm: Print vocp registers with subscript.
vkd3d-shader/hlsl: Forbid declaring const variables with no initializer.
tests/hlsl: Test invalid const variables with no initializer.
vkd3d-shader/hlsl: Parse InputPatch and OutputPatch objects.
vkd3d-shader/hlsl: Validate and record InputPatch/OutputPatch types.
tests/hlsl: Test the syntax of InputPatch/OutputPatch variables.
tests/hlsl: Test passthrough hull shader control point function.
tests/hlsl: Test hull shader control point function output parameters.
tests/hlsl: Test OutputPatch usage in patch constant functions.
vkd3d-shader/hlsl: Add an "is_patch_constant_func" field to struct hlsl_ctx.
vkd3d-shader/hlsl: Implement input semantic variable copies for patch variables.
vkd3d-shader/tpf: Improve readability of compat mapping in sm4_sysval_semantic_from_semantic_name().
vkd3d-shader/hlsl: Generate vsir signature entries for patch variables.
vkd3d-shader/hlsl: Declare semantics for patch variables in vsir.
vkd3d-shader/hlsl: Allocate semantic registers for patch variables.
tests/shader_runner: Support the negation of tag matches.
vkd3d-shader/hlsl: Generate vsir registers from patch variable derefs.
tests: Test signature reflection for patch inputs in hull/domain shaders.
Victor Chiletto (10):
tests: Add more function overloading tests.
vkd3d-shader/hlsl: Explicitly track the copy propagation state stack.
vkd3d-shader/hlsl: Allow copy propagation to be stopped early.
vkd3d-shader/hlsl: Constant fold casts to boolean.
vkd3d-shader/hlsl: Run copy propagation incrementally during loop unrolling.
vkd3d-shader/hlsl: Do not clone the entire program for loop unrolling.
vkd3d-shader/hlsl: Remove loop_unrolling_find_unrollable_loop().
vkd3d-shader/hlsl: Partially defer continue resolution.
vkd3d-shader/hlsl: Unroll loops with conditional jumps.
vkd3d-shader/hlsl: Drop the _ir_ infix from enum hlsl_loop_unroll_type.
```
[View Less]