Wine-Announce
By message
wine-announce@list.winehq.org
By month
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 700 discussions
The Wine development release 11.19 is now available.
What's new in this release:
- Support for vertical text in GDIPlus.
- Unicode character tables updated to Unicode 18.0.0.
- Caching for DNS queries.
- Improvements to the VBScript parser.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.19.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.19/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.19 (total 23):
- #25355 Time clock SBE 1.2 and 2.2 not working properly on ubuntu 10.04LTS
- #45969 ArcGIS Pro crashes on start
- #57100 Command Post fails to load
- #58319 winevdm crashes running Quicktime 2
- #59831 Zombie Army 4: Dead War running launcher leads to a memory leak
- #59944 BOINC's project dialog is messed up
- #60117 Evolution: The Game of Intelligent Life demo fails to start
- #60276 Paint.net 5.2 (Build 9739) tool window does not get sized correctly
- #60298 msvc-wine: freeze / deadlock during build due to a recent regression
- #60305 Focus problem between X window and Wine window
- #60322 wineboot blocks for ~5sec. on both macOS and Linux, slowing down the entire Wine startup process in certain situations.
- #60343 Euro Truck Simulator 2 fails to start using OpenGL renderer with the EGL backend
- #60345 rsaenh: CryptSetHashParam(HP_HMAC_INFO) with CALG_SHA_256 on PROV_RSA_FULL reports success but leaves the hash uninitialized; next CryptHashData() crashes (Aniimo, Steam 4126040)
- #60371 Desperados 2: Cooper's Revenge crashes with Animated Shadows enabled on NVIDIA under X11/XWayland
- #60374 msys2: forked process died unexpectedly, retry 0, exit code 0xE0000269, errno 11
- #60378 _aligned_malloc returns an undersized non-NULL pointer for sizes near SIZE_MAX due to overflow
- #60380 .NET Framework 4.8 : Decimal Math.Round always rounds up and never down
- #60381 XInput: The controller "disable" feature is not implemented
- #60385 Final Fantasy XI Online: Mouse/pointer cursor activates at unintended times (redux).
- #60386 Compile errors in dlls/opencl/unix_thunks.c
- #60392 Clicking "Replace All" crashes Wine Notepad
- #60403 gdiplus: GdipWidenPath reads past the dash pattern of a DashStyleCustom pen without dashes
- #60412 Hard Truck Apocalypse hangs and hits a stack overflow with builtin msvcr71/msvcp71
### Changes since 11.18:
```
Aleksei Arsenev (2):
include: Add REPLACEFILE_IGNORE_ACL_ERRORS.
kernelbase: Implement REPLACEFILE_IGNORE_*_ERRORS in ReplaceFileW().
Alex Henrie (38):
riched20: Change dark green in pen_colors from dark cyan to dark green.
riched20: Fix reversal of "objlock" and "objupdate" in rtfKey.
riched20: Fix logging of wNumberingTab in ME_DumpParaStyleToBuf.
riched20: Correct always-true condition in ME_AppendToHGLOBAL.
comctl32: Check array length before dereferencing in TOOLBAR_WrapToolbar.
shell32: Allocate enough space for the final null in build_paths_list.
setupapi: Don't overallocate in (append|delete)_multi_sz_value.
crypt32: Pass the correct length when querying CNGExtraAlgid.
shell32: Remove duplicate check in IExplorerBrowser_fnSetFolderSettings.
msvcrt: Fix typo in function name in comment above _snwscanf_s_l.
include: Fix typo in comment at end of include guard in msvcrt/share.h.
msvcrt: Pass buffer size in WCHARs from _wassert to _snwprintf.
tapi32: Fix backwards string copy in tapiGetLocationInfoA.
krnl386: Delete NE_DumpModule and NE_WalkModules.
msi: Trace function arguments in DISTINCT_CreateView.
dssenh: Trace the algorithm ID argument in CPDeriveKey.
wineps: Return NULL, not FALSE, from create_print_ctx on error.
combase: Fix leak of registry key in get_library_for_classid.
oleaut32: Call get_ptr_size only once in TLB_size_instance.
win32u: Call FT_Set_Charmap only once in select_charmap.
mapi32: Allocate enough space for null terminator in load_mapi_provider.
mshtml: Decrement the refcount in InstallCallback_Release.
mshtml: Fix logging of IDM_UNORDERLIST in query_edit_status.
urlmon: Close HKEYs with CloseRegistryKey in get_mime_filter.
notepad: Always pass a DWORD to EM_GETSEL and EM_SETSEL.
ntdll: Set IPV6_MTU_DISCOVER for IPv6, not IPv4, in sock_ioctl.
msimtf: Call ImmGetCandidateListCountW from GetCandidateListCountW.
advapi32: Correctly pass the domain from LogonUserA to LogonUserW.
kernel32/tests: Test ReleaseSemaphore with an invalid release count.
ntdll/tests: Test NtReleaseSemaphore with an invalid release count.
ntdll: Make the release count argument to NtReleaseSemaphore signed.
ntdll: Validate the release count argument in NtReleaseSemaphore.
rpcrt4: Compile ndr64_(async_)client_call only on 64-bit architectures.
hnetcfg: Fix stack corruption in fw_app_put_ProcessImageFileName.
wmp: Also call AddRef on the first connection in EnumConnections_Next.
quartz: Don't overallocate in FilterMapper_EnumMatchingFilters.
ws2_32: Increase the size of the WSAAddressToString buffers.
notepad: Use CRT allocation functions.
Alexandre Julliard (13):
ntdll: Always reserve some top-down space.
ntdll: Always allocate the virtual heap with mmap() on 64-bit.
ntdll: Make sure that the first thread data is outside of the exe range.
configure: Consistently check for both headers and libraries with pkgconfig.
preloader: Remove i386 macOS support.
preloader: Don't reserve the top-down addresses.
preloader: Remove WINEPRELOADRESERVE support in the macOS preloader.
faudio: Import upstream release 26.10.
msvcrt: Always use explicit sized variant of time_t.
msvcrt: Use 32-bit time_t with older msvcrt versions.
kerberos: Don't build the dll at all if the needed libraries are missing.
msvcrt: Fix stat() function prototypes for older msvcrt versions.
msvcrt: Define _CORECRT_BUILD when building msvcrt modules.
Alistair Leslie-Hughes (19):
windows.devices.enumeration: Return E_NOINTERFACE when no interface found.
sapi: Return error on memory allocation failure.
sapi: Handle memory allocation failure in ISpVoice::Speak.
oleaut32: Use the correct sizeof value in VARIANT_FormatString.
oleaut32: Assign the correct size in FmtMediumTime.
oleaut32: Output the correct varType variable.
msado15: Add validation checks for position in _Stream_put_Position.
include: Add RecordStatusEnum typedef.
include: Add missing d3d12 typedefs.
dpnet: Remove unneeded parameters from Create Functions.
dpnet: Implement DirectPlay8Create.
server: Correct mode mask compare.
msado15: Check correct pointer in parse_criteria.
inetmib1: Correctly access the table entries.
comdlg32: Consistently use SendDlgItemMessageW for messages.
rsaenh: Don't finalize hash for buffer size query in RSAENH_CPGetHashParam().
winetest: Correct CLSID format string.
include: Add some d3d12 options structs.
amstream: Remove duplicate assignment.
Andrii Yukhymchak (1):
ntdll: Fixed compile time issue in socket.c for OpenBSD.
Anna (navi) Figueiredo Gomes (1):
win32u: Load IDC_WAIT if no cursor was ever set.
Anton Baskanov (1):
dmime: Set F_INSTRUMENT_DRUMS for the 10th channel in midi_parser_handle_program_change().
Bernhard Kölbl (6):
windows.media.speech: Avoid leaking an HSTRING.
windows.media.speech: Improve memory allocation handling.
windows.media.speech: Improve memory allocation handling.
windows.media.speech: Improve memory allocation handling.
windows.media.speech: Improve handling of GetUserDefaultLocaleName errors.
windows.media.speech: Downgrade GetRuntimeClassName to a FIXME.
Bernhard Übelacker (3):
comctl32_v6: Avoid uninitialized values in szDim in SYSLINK_Render.
dnsapi: Increase allocations by the terminating character.
cmd: Avoid reading past string termination in WCMD_split_command_build.
Brendan Shanks (13):
winemac: Use C string format strings in the ObjC-only ERR().
winemac: Use C99 bool for internal functions/variables in macdrv.h.
winemac: Move all Windows includes (by Unix files) to macdrv.h.
winemac: Don't expose GDI driver function prototypes to ObjC code.
winemac: In ObjC files, replace BOOL in Windows headers with WINBOOL.
winemac: Avoid RIID redefinition errors with CFPlugIn.h.
winemac: Include OpenGL in macdrv.h to avoid typedef conflicts.
winemac: Include config.h and macdrv.h in all ObjC files.
winemac: Add default debug channels to ObjC files.
winemac: Remove winemac-specific logging functions.
winemac: Improve debugstr_cf().
winemac: Remove pre-macOS 10.15 workarounds.
winemac: Use [NSAnimationContext begin/endGrouping] in place of the deprecated NSDisable/EnableScreenUpdates().
Charlotte Pabst (14):
mfplat/tests: Add non-locking d3d12 buffer tests.
mfplat/tests: Test that d3d12 buffer Lock() is readonly.
mfplat/tests: Test d3d12 buffer read-write lock failures.
mfplat/tests: Test d3d12 buffer lock behavior.
mfplat/tests: Test d3d12 buffer sync object interactions.
mfplat/tests: Add d3d12 buffer creation tests.
mfplat: Allow creating d3d12-backed buffers.
mfplat: Implement Lock()/Unlock() for d3d12 buffer.
mfplat: Implement GetCurrentLength()/SetCurrentLength() for d3d12 buffer.
mfplat: Implement Lock2D()/Unlock2D() for d3d12 buffer.
mfplat: Implement GetScanline0AndPitch() for d3d12 buffer.
mfplat: Implement Lock2DSize() for d3d12 buffer.
mfplat: Implement GetResource() for d3d12 buffer.
mfplat/tests: Fix use-after-free in d3d12 buffer tests.
Connor McAdams (12):
winebus: Set proper device capabilities for winebus devices.
winebus: Allow the PnP manager to generate a container ID for us.
winebus: Rename input field in struct device_desc to interface.
winebus: Get USB interface information on MacOS if possible.
winebus: Move USB specific code out of get_device_subsystem_info() and into its own function.
winebus: Get vid/pid/version values using their sysattr values for USB devices.
winebus: Get interface number for USB based udev devices.
winebus: Get interface number for USB based IOHID devices.
winebus: Avoid setting serial number field unnecessarily.
winebus: Don't report a serial number for USB devices that don't have one.
hidclass.sys: Use DEVPKEY_Device_InstanceId to get PDO IDs.
hidclass.sys: Don't query container ID from the bus PDO.
Conor McCarthy (28):
mf/sar: Move audio renderer flush actions inside the conditional code block for active state.
mf/tests: Test Flush() on a shutdown audio renderer stream sink.
mf/sar: Check for null audio client before resetting during flush.
mfplat: Return the error code from dxgi_buffer_GetUnknown().
mfplat/tests: Test MFInitMediaTypeFromWaveFormatEx() with WAVE_FORMAT_EXTENSIBLE and zero cbSize.
mfplat: Validate MFInitMediaTypeFromWaveFormatEx() cbSize for WAVE_FORMAT_EXTENSIBLE.
mfplat/tests: Add tests for zero image width or height.
mfplat: Return E_INVALIDARG for zero height in MFCalculateImageSize().
mfplat: Check for null media type in sample_allocator_InitializeSampleAllocator().
mfplat: Check for null media type in sample_allocator_InitializeSampleAllocatorEx().
mfplat/tests: Test sample allocator initialisation with null media type.
mfplat: Return the error code on failure of presentation_descriptor_init().
mf/topology_loader: Pass the output pointer to topology_node_get_object() instead of its address.
mf/topology_loader: Get the input at the current loop index in topology_node_set_device_manager().
mf/topology: Return the exchanged new value in topology_generate_id().
mf: Always reset maxlen in mf_get_handler_strings().
mf/scheme_handler: Always release the byte stream in scheme_handler_callback_Invoke().
mf/topology: Guard against overflow in topology_node_reserve_streams().
mf/tests: Test SetTimer() with no time source.
mf/clock: Do not leave a relative 'time' on error in present_clock_schedule_timer().
mf/clock: Check time_source for null in present_clock_schedule_timer().
mf/copier: Validate sample_copier_transform_ProcessOutput() count parameter.
mf/session: Check topo_node for null in the METransformNeedInput handler.
mf/sac: Check for memory allocation failure in enum_audio_capture_sources().
mfmediaengine: Add a missing else in media_engine_GetCurrentSource().
mfsrcsnk: Validate stream identifier is not zero.
mfsrcsnk: Initialise all necessary sink fields before creating a wave format.
mfplat: Set the handler's activate pointer in MFRegisterLocalByteStreamHandler().
Daniel Betz (1):
cmd: Fix buffer overflows in search_command() for long parameters.
Daniel Lehman (4):
ucrtbase/tests: Add strftime format tests with %O.
msvcp140/tests: Add tests for time_put<char>.
ucrtbase: Stub %O in strftime.
msvcp140: Pass along %O in format to time_put.
Daniel Varga (1):
msvcrt: Don't compute handler pointer in cxx_frame_handler if it's not needed.
Dmitry Timoshkov (2):
winemenubuilder: Use character literals instead of hex codes.
winemenubuilder: Simplify the code a bit.
Elizabeth Figura (10):
mountmgr: Implement IOCTL_DVD_SEND_KEY.
mountmgr: Implement IOCTL_DVD_END_SESSION.
mountmgr: Implement IOCTL_DVD_GET_REGION.
mountmgr: Implement IOCTL_DVD_READ_STRUCTURE.
mountmgr: Implement IOCTL_CDROM_CHECK_VERIFY.
mountmgr: Implement IOCTL_SCSI_PASS_THROUGH.
mountmgr: Implement IOCTL_SCSI_PASS_THROUGH_DIRECT.
mountmgr: Implement IOCTL_SCSI_GET_ADDRESS.
mountmgr: Implement IOCTL_SCSI_GET_CAPABILITIES.
mountmgr: Implement IOCTL_SCSI_GET_INQUIRY_DATA.
Eric Blum (2):
user32/tests: Test toolwindow minimum width.
win32u: Fix minimum width of WS_EX_TOOLWINDOW windows.
Eric Pouech (12):
cmd/tests: Add some more tests.
cmd: Introduce explicit delimiters constants.
cmd: Introduce a delimiter set for executable.
cmd: Remove unnecessary parameter to WCMD_parameter*().
cmd: Add structure splitting a command line into command + args/options.
cmd: Introduce helper to identify word inside a string.
cmd: Introduce struct word_iterator to help builtin commands parsing.
include: Add SCN scanf constants for byte-sized ptr.
include/msvcrt: Default time_t to 64bit even on 32bit compilations.
include/msvcrt: Add missing debug definitions.
include: Add a poor's man implementation of malloca()/freea().
include: Fix socklen_t definition.
Esme Povirk (12):
ntdll: Stub NtOpenPrivateNamespace.
gdiplus/tests: Add test for DriverStringOptionsVertical.
gdiplus: Support vertical text in GdipDrawDriverString.
gdiplus: Support vertical text in GdipMeasureDriverString.
gdiplus: Implement vertical text in GdipDrawString.
gdiplus/tests: Remove duplicated line.
gdiplus: Implement vertical text in GdipMeasureString.
gdiplus: Implement vertical text in GdipMeasureCharacterRanges.
gdiplus/tests: Add tests for vertical string measurement.
gdiplus: Implement vertical text in GdipAddPathString.
windowscodecs: Check for integer overflow in DDS decoder.
uiautomation/tests: Skip a test that crashes on Windows 11.
Etaash Mathamsetty (1):
winewayland: Implement color management protocol for Vulkan color space.
Francis De Brabandere (13):
vbscript: Report a syntax error for overflowing hex and octal literals.
vbscript: Treat unused reserved words as keywords.
vbscript: Allow keywords that are valid identifiers as ReDim variable names.
vbscript: Fix indexing an array named default or property.
vbscript: Implement Erase as a builtin procedure instead of a statement.
vbscript: Don't assert on an assignment to Me.
vbscript: Don't assert on an assignment to an expression in parentheses.
vbscript: Report "Name redefined" for a redefined parameter name.
vbscript: Report "Name redefined" for more local declarations.
vbscript: Don't check class method names against locals of another method.
vbscript: Report "Name redefined" for a class variable declared twice.
vbscript: Report "Name redefined" for a name declared by ReDim.
vbscript: Allow a class property after a method of the same name.
Giang Nguyen (2):
ucrtbase/tests: Test the tmpnam() family.
msvcrt: Place the tmpnam() names in the temporary directory for the UCRT.
Gijs Vermeulen (1):
quartz: Check whether the pin is connected in IBasicVideo::get_VideoWidth() and get_VideoHeight().
Hans Leidekker (14):
dnsapi: Fix record data length in DnsRecordCopyEx().
dnsapi: Validate domain name in DnsQuery_UTF8().
dnsapi: Introduce a helper to allocate a record.
dnsapi: Add support for the hosts file in DnsQuery_UTF8().
widl: Build an index for typeref and typedef tables to speed up merge lookups.
ws2_32: Support AI_CANONNAME | AI_DNS_ONLY flags in getaddrinfo().
wineboot: Avoid multicast DNS lookup when resolving canonical hostname.
dnsapi: Add a cache.
dnsapi: Implement DnsRecordListFree(DnsFreeFlat).
dnsapi: Implement DnsGetCacheDataTable().
dnsapi: Avoid VOID, PCSTR, PCSWTR, etc.
dnsapi: Update option mapping.
include: Define DNS_QUERY_DNSSEC_REQUIRED.
kerberos: Initialize the unixlib in DllMain().
Herman Semenoff (1):
d3dcompiler_43: Use memchr() and an end pointer in get_line().
Ivan Ivlev (1):
winemenubuilder: Do not write empty arguments to desktop entries.
Jacek Caban (7):
ieframe: Fix DISPID_AMBIENT_SILENT return value.
ieframe: Handle safe array access errors in navigate_url.
ieframe: Fix returned cookie in EnumConnections_Next.
ieframe: Clean up VARIANT variables in on_offlineconnected_change and on_silent_change.
ieframe: Fix error handling in get_travellog_stream.
ieframe: Handle memory allocation failure in create_webbrowser.
ieframe: Handle memory allocation failure in create_callback.
Janne Kekkonen (1):
dbghelp: Initialize missing DWARF attribute names to empty strings.
Johnny Arcitec (1):
xinput1_3: Do not enumerate "disabled" controllers.
Marc-Aurel Zent (4):
mountmgr: Fix type in dvd_read_structure for DVD disk key descriptor.
winemac: Move IME related functions into their own file.
winemac: Send IME updates directly from the main thread.
imm32: Do not classify aliased HKLs as IME.
Matteo Bruni (10):
d3dx9/tests: Fix compare_elements() error string on declaration size mismatch.
d3dcompiler: Fix texcoord bounds check in find_ps_builtin_semantics().
d3dcompiler: Add error checking to GetCurrentDirectoryA() call.
d3dx9: Handle 0 argument in make_pow2().
d3dcompiler: Properly handle a coissue flag on the first assembly shader instruction.
d3dcompiler: Properly handle a predicate on the first assembly shader instruction.
d3dx9/shader: Check for NULL bytecode in get_shader_semantics().
d3dx9/effect: Check memory allocation in BeginParameterBlock().
d3dx9/effect: Check wide string allocation in D3DXCreateEffect[Compiler]FromFile[Ex]A().
d3dx9/sprite: Check vertex data allocation in d3dx_sprite_flush().
Michael Stefaniuc (11):
dmusic: Drop unused assigment.
dmime: Add missing break for a switch case.
dmime: Fix operator precedence issue.
dmime: Don't use substraction to compare two signed ints.
dmime: Don't leak mem when freeing a sequence track.
dmime: Split the Wave track SetParam into helpers per type.
dmime: Don't leak dsound references in the Wave track SetParam.
dmsynth: Don't leak references when destroying a sink.
dmsynth: Don't leak a ref to the sink when destroying the synth.
dmime: Pass the destination buffer size to stream_chunk_get_*.
dmime: A MIDI note is just 7 bits so mask off the high bit.
Michael Weghorn (1):
include: Add UI Automation HeadingLevelIds.
Mikhail Zhadanov (1):
ws2_32: Add support for SIO_UDP_NETRESET.
Nello De Gregoris (6):
rsaenh: Return NTE_BAD_ALGID for an HMAC with no hash algorithm.
rsaenh: Allow any implemented hash algorithm for HMAC.
rsaenh: Check the HMAC hash algorithm in CPSetHashParam().
rsaenh: Use the hash implementation for the HMAC key in CPSetHashParam().
rsaenh: Pad the HMAC key with the block length of the hash algorithm.
rsaenh/tests: Test the inner hash algorithm of an HMAC.
Nikolay Sivov (6):
msvcp: Implement GetNextAsyncId().
unicode: Update to Unicode 18.0.0.
include: Add some types for the D2D1ColorManagement effect.
d2d1: Add Color Management effect stub.
mfplat/tests: Add some tests for DXGI_FORMAT_R8_UINT buffers.
mfplat: Handle R8_UINT format in MFCreateDXGISurfaceBuffer().
Paul Gofman (5):
server: Make messages mergeable by default.
kernel32/tests: Add tests for setting zero group affinity mask.
ntdll: Treat zero group affinity as full group affinity.
d3dx10/sprite: Fix matrix multiplication order in d3dx10_sprite_draw().
d3dx10/sprite: Avoid drawing extra primitives with mismatched texture in d3dx10_sprite_draw_batch().
Peter Wedder (2):
dinput: Use link collections when reading HID joystick values.
winebus: Put joystick hat switches in separate collections.
Piotr Caban (15):
wmiutils: Implement IMarshal interface in WbemDefPath.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_I8.
oledb32: Support converting DBTYPE_VARIANT to DBTYPE_BOOL.
ncrypt: Don't allow setting NCRYPT_PROVIDER_HANDLE_PROPERTY property in NCryptSetProperty.
ncrypt: Make ncrypt provider handles refcounted.
secur32: Fix LsaFreeReturnBuffer return value.
msxml3: Get rid of no longer needed element_entry structure.
msxml3: Return success when setting MaxXMLSize property.
oleaut32: Don't overflow maximum date value in VariantTimeToSystemTime when handling milliseconds.
mshtml: Add HTMLCSSStyleDeclaration:textOverflow property implementation.
mshtml: Test VT_UI8 type in JavaScript.
mshtml: Handle VT_I8 type in JavaScript.
kernel32/tests: Test if LOCALE_SSORTLOCALE returned name is valid.
nls: Fix ku-Arab sortlocale.
nls: Generate pap-029 locale data.
Rémi Bernon (36):
winemac: Make the cocoa id<X> typedefs consistent with vulkan headers.
win32u: Parse extensions directly into the BOOLEAN set.
win32u: Parse context version from GL_VERSION string.
opengl32: Simplify make_opengl extensions enumeration.
win32u: Parse and keep track of available EGL extensions.
win32u: Load core and extension GL procedures using a loop.
win32u: Load all EGL core and extension functions.
win32u: Restore dropped return FALSE if pbuffer creation fails.
win32u: Parse wglCreateContextAttribsARB attribs on behalf of the drivers.
win32u: Use the opengl_context_attrs to keep opengl_context attributes.
win32u: Move some context attribute checks out of the drivers.
winemac: Get rid of the now unnecessary macdrv_context core field.
winemac: Merge create_context into macdrv_context_create.
win32u: Move internal_context_create helper around.
win32u: Check ES2_PROFILE_BIT against the profile attributes.
win32u: Initialize context draw / read buffers when making it current.
win32u: Introduce get_root_context for separate context sharing.
opengl32: Use the root contexts to decide if sharing is possible.
opengl32: Use a specific unix call to switch root contexts.
win32u: Recreate framebuffer surface on root context change.
win32u: Create extra root and thread contexts with NO_ERROR flag.
win32u: Create extra root contexts for compat contexts on macOS.
win32u: Get rid of the now unnecessary context shared flag.
win32u: Also notify pbuffer surfaces of internal context activation.
win32u: Use the null surface if framebuffer surface has no target.
win32u: Add a default pbuffer implementation using the FBO surface.
win32u: Avoid using glDrawPixels with the FBO surface pbuffer.
winemac: Implement pbuffers using the framebuffer surface.
win32u: Pass both strings as a single WINE_IME_POST_UPDATE param.
win32u: Pass the IME update return pointer to ImeToAsciiEx.
opengl32: Add more wglChoosePixelFormat filtering traces.
win32u: Use a structure for extra pixel format flags.
winex11: Request sRGB colorspace for sRGB pixel formats.
winewayland: Request sRGB colorspace for sRGB pixel formats.
win32u: Generate extra sRGB pixel formats for onscreen EGL configs.
winewayland: Register a color-management-v1 protocol listener.
Thibault Payet (1):
mountmgr: Fixup build issues related to cdrom.
Thomas Ritter (1):
gdiplus: Widen DashStyleCustom pens without dashes as solid lines.
Tobiasz Laskowski (2):
ole32/tests: Test DoDragDrop before OleInitialize.
ole32: Fix DoDragDrop uninitialized error code.
Vibhav Pant (7):
wintypes/tests: Add additional tests for RoResolveNamespace.
wintypes: Add an initial implementation for RoResolveNamespace.
widl: Set the memberref field for all ATTR_STATIC attributes on a type.
wintypes/tests: Fix buffer overflow while creating a HSTRING with an embedded NUL.
wintypes: Fix incorrect heap allocation in RoResolveNamespace.
widl: Add initial support for merging multiple WinMD files.
widl: Accept multiple input IDLs when invoked with --winmd and --output.
Vishnunithyasoundhar S (3):
msvcrt: Check for overflow in aligned memory allocation.
oleaut32: Fix VarDecRound() rounding of discarded digits.
attrib: Reject file name arguments longer than MAX_PATH.
Zhiyi Zhang (4):
include: Add a PW_RENDERFULLCONTENT flag for PrintWindow().
user32/tests: Add tests for PrintWindow().
win32u: Reimplement NtUserPrintWindow() without sending WM_PRINT messages.
ntdll: Add a ZwOpenPrivateNamespace() private export.
```
1
0
The Wine development release 11.18 is now available.
What's new in this release:
- More NTOSKRNL support for kernel drivers.
- A wide range of fixes for various code correctness issues.
- Some compatibility fixes in standard C headers.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.18.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.18/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.18 (total 21):
- #18260 QuickTime 2.x win16 installer exits silently
- #45104 OOB read in gdiplus
- #51499 Assassin's Creed Rogue some textures have Normal Map effect
- #54146 Super Meat Boy: Periodic Music Corruption
- #57980 Adobe Creative Cloud requires unimplemented function KERNEL32.dll.SetThreadpoolTimerEx
- #59278 Adobe Express Photos installer crashes on unimplemented function KERNEL32.dll.PackageFullNameFromId
- #59335 Screamer 4x4 v1.2 (GOG.com) crashes after 40-50 seconds in XWayland full-screen mode
- #59908 Reading a file: When a line is longer, End of File (EOF) is triggered
- #59934 SlingPlayer 1.5 has a broken border
- #60288 Enclave: brightness control no longer works
- #60290 Mouse button handling regressions in several games when launched through Steam
- #60291 Wine application windows react to mouse clicks outside window
- #60292 Star Wars: Knights of the Old Republic: graphical overlay/corruption in 3D scenes after starting or loading a game
- #60296 Return to Krondor: corrupted text and graphics in several menu screens
- #60307 The Bard's Tale IV Director's Cut: MP4 playback broken, causing black screen and hang
- #60311 wmic: /value after get is treated as a property name
- #60326 mfreadwrite regression causes 'In Sound Mind' to crash during startup videos
- #60327 Regression since "ntdll: Allocate the initial TEB after the main image is loaded."
- #60331 arm64ec regression since "ntdll: Allocate the initial TEB after the main image is loaded."
- #60337 Wine unable to start up after "ntdll: Store the main module handle in a global variable."
- #60338 Wine applications such as Regedit and Notepad show Arabic when the system locale is Norwegian Nynorsk
### Changes since 11.17:
```
Alex Henrie (17):
include: Define EXIT_FAILURE as 1, not -1.
include: Correct the size of OUTLINETEXTMETRIC16.otmsUnderscorePosition.
mmsystem: Correct callback arguments in timeCB3216.
combase: Fix double free on error path in dispatch_rpc.
mshtml: Fix double free on error path in get_nsstyle_pos.
ieframe: Fix duplication of post data in navigate_bsc.
setupapi: Fix "DelService" search in SetupInstallServicesFromInfSectionW.
ntdll: Fix length computation in RtlUpcaseUnicodeStringToOemString.
wined3d: Add device information for the NVIDIA L4 GPU.
dwrite: Correct interface name in warning in rendertarget_DrawGlyphRun.
mshtml: Fix format specifier in warning in HTMLDOMTextNode_splitText.
gdiplus: Fix typo in DLL name in comment above GdipAddPathArcI.
setupx: Correct function name in comment in VCP_UI_NodeCompare.
vbscript/tests: Fix format specifier in error message in run_tests.
wow64: Correct comment above wow64_NtWorkerFactoryWorkerReady.
wnaspi32: Remove duplicate definition of INQUIRY_VENDOR from aspi.h.
mpr: Always use heap allocation in WNetGetConnectionA.
Alexandre Julliard (28):
fluidsynth: Fix an enum conversion compiler warning.
server: Store the image path first in the startup info.
ntdll: Map the main exe before allocating the process parameters.
ntdll: Allocate the initial thread data in high memory.
ntdll: Ignore the preloader range when allocating reserved areas.
ntdll: Use the debug info from the thread data as soon as it's allocated.
ntdll: Store the session id in a global variable.
ntdll: Store the cpu count in a global variable.
ntdll: Add a separate helper to allocate the initial thread data.
ntdll: Set the startup_info_size global variable directly in server_init_process().
ntdll: Allocate the initial TEB after the main image is loaded.
ntdll: Store the redirection flag in the thread data before the TEB is created.
ntdll: Setup large address space before allocating the first TEB.
ntdll: Set the arm64ec bitmap pointer once the PEB is allocated.
ntdll: Only initialize the wow64 TEB in wow64 mode.
ntdll: Only allocate the wow64 TEB in wow64 mode.
ntdll: Allocate initial TEB and process parameters in high memory on 64-bit.
ntdll: Store the main module handle in a global variable.
ntdll: Setup the DOS address space after the main module is loaded.
ntdll: Don't try to load a 32-bit main image in high memory.
ntdll: Don't return early from load_main_exe if the file is missing.
ntdll: Always load builtins from ARM64 directory on ARM64EC.
ntdll: Initialize resource loading before the activation context.
ntdll: Use en-US as last fallback for resource lookups.
makedep: Disable the tests of a disabled module.
makedep: Explicitly list targets instead of using `all`.
dmloader/tests: Skip test that only works on 32-bit.
msvfw32/tests: Skip test that only works on 32-bit.
Alfred Agrell (2):
include/ddraw: Fix typoed vtbl macro.
include/dsound: Fix typoed vtbl macros.
Alistair Leslie-Hughes (14):
winedump: Corrections for generating stub dll.
include: Convert d3d10_1shader.h to idl.
server: Correct sizeof usage.
include: Fix typos in vtbl macros.
msado15: Correct len calculation in stream_ReadText.
include: Fix WriteProfileSection macro.
include: Fix DI_INF_IS_SORTED defined value.
include: Remove parameter name in ScrollConsoleScreenBufferW.
include: Fix LPFN_WSASTRINGTOADDRESS typedef.
include: Correct WS_AF_OSI define.
include: Correct FORWARD__WT_PROXIMITY/_INFOCHANGE defines.
oleaut32: Don't skip characters after 'c' in VarTokenizeFormatString.
localspl: Correct buffer size being passed to cups_start_doc.
oleaut32: Correctly compare the last character in VarFormatPercent.
Andrey Gusev (3):
d3dx: Check for NULL new_data in convert_dib_to_bmp().
msi: Check for NULL prop,val in msi_parse_command_line().
msi: Check for NULL t in append_storage_to_db().
Anton Baskanov (11):
dsound: Get rid of committedbuff and report the mixing position as writepos instead.
dsound: Reuse input samples from the previous resampling iteration.
dsound: Equalize latency for all resampling ratios.
dsound/tests: Test that the filters are applied before resampling.
dsound: Apply the filters before resampling.
dmband: Handle GUID_Download and GUID_Unload.
dmime/tests: Test that the collection is not leaked when parsing a MIDI file.
dmime: Don't leak collection in midi_parser_parse().
dmusic/tests: Test multiple downloads of an instrument.
dmusic: Allow downloading an instrument to multiple ports.
dmusic: Keep track of instrument download count.
Bernhard Kölbl (1):
webservices: Probe the next element with the desired name before staying at the current one.
Bernhard Übelacker (4):
winex11.drv: Use memmove in strip_driver_extra.
comctl32/tests: Add missing newline in ok statement.
sechost: Avoid buffer-overlow with too short strings in ConvertStringSidToSid.
lsass: Make copies of strings to make it freeable by RPC.
Brian Carbone (1):
winewayland: Fix dummy buffer leak.
Charlotte Pabst (2):
mfsrcsnk/tests: Test that byte streams are read in chunks of 0x40000.
winegstreamer: Read input in chunks of 256KiB.
Connor McAdams (10):
include/ddk: Add missing PnP minor function code definition.
ntoskrnl/tests: Introduce new PnP driver tests for device trees.
ntoskrnl: Set DEVPKEY_Device_FirstInstallDate for devices.
ntoskrnl: Add support for creating unique instance ID values based on parent device.
setupapi: Fix device instance ID string casing.
ntoskrnl: Set SPDRP_CAPABILITIES for PnP devices.
ntoskrnl: Handle DevicePropertyContainerID in IoGetDeviceProperty().
ntoskrnl: Set container ID for root PnP devices.
ntoskrnl: Assign container IDs to PnP devices that don't report their own.
hidclass.sys: Use the PnP manager to supply the majority of the device instance ID.
Conor McCarthy (7):
mf/tests: Test OnClockStop() is called after adding a clock state sink.
mf/tests: Test audio renderer MEStreamSinkStopped after OnClockStop().
mf/tests: Test video renderer stopped and paused events after OnClock*().
mf/clock: Don't notify a sink that is also the time source in AddClockStateSink().
mf/evr: Always send MEStreamSinkStopped in OnClockStop().
mf/evr: Always send MEStreamSinkPaused in OnClockPaused().
mf/session: Ignore MEStreamSinkStopped if prerolling or starting sinks.
Daniel Lehman (2):
msxml3/tests: Add test for XPath with namespace.
msxml3: Fix crash when collecting elements with namespace.
Dmitry Timoshkov (4):
crypt32/tests: Add some tests for PKCS signed message attributes.
crypt32: Properly encode CMSG_ENCODED_MESSAGE in the PKCS signed message decoder.
crypt32/tests: Add some comments to the signed message attributes test.
crypt32: Use public symbolic names.
Elizabeth Figura (28):
mountmgr: Handle IRP_MJ_CREATE for disk devices.
ntoskrnl/tests: Test failing IRP_MJ_CREATE.
ntdll: Do not store the file handle in async_fileio.
server: Get rid of the comp_flags argument to create_request_async().
server: Allow open_file_object to be async.
server: Relay the result of IRP_MJ_CREATE.
mountmgr: Split cdrom ioctls to a separate file.
mountmgr: Open cdrom devices.
mountmgr: Implement IOCTL_CDROM_READ_TOC.
mountmgr: Implement IOCTL_CDROM_SEEK_AUDIO_MSF.
mountmgr: Implement IOCTL_CDROM_STOP_AUDIO.
mountmgr: Implement IOCTL_CDROM_PAUSE_AUDIO.
mountmgr: Implement IOCTL_CDROM_RESUME_AUDIO.
mountmgr: Implement IOCTL_CDROM_GET_VOLUME.
mountmgr: Implement IOCTL_CDROM_SET_VOLUME.
mountmgr: Implement IOCTL_CDROM_PLAY_AUDIO_MSF.
d3d11: Implement DiscardResource().
d3d11: Implement DiscardView().
mountmgr: Implement IOCTL_CDROM_READ_Q_CHANNEL.
mountmgr: Implement IOCTL_CDROM_RAW_READ.
mountmgr: Implement IOCTL_CDROM_DISK_TYPE.
mountmgr: Implement IOCTL_CDROM_GET_DRIVE_GEOMETRY.
mountmgr: Implement IOCTL_*_MEDIA_REMOVAL and IOCTL_STORAGE_EJECTION_CONTROL.
mountmgr: Implement IOCTL_STORAGE_EJECT_MEDIA.
mountmgr: Implement IOCTL_*_LOAD_MEDIA.
mountmgr: Implement IOCTL_STORAGE_RESET_DEVICE.
mountmgr: Implement IOCTL_DVD_START_SESSION.
mountmgr: Implement IOCTL_DVD_READ_KEY.
Eric Pouech (11):
include: Fix some typos in wincrypt.h.
include/msvcrt: Add missing constants in corecrt.h.
include/msvcrt: Add some missing prototypes.
include/msvcrt: Add missing vsnprint_s implementation.
include/msvcrt: Add missing _mkgmtime() prototype(s).
include/msvcrt: Add some missing C++ overloaded functions.
include/msvcrt: Add non standard tzset() prototype.
include/msvcrt: Define C++ exceptions only if _HAS_EXCEPTIONS is set.
include/msvcrt: Move abs C++ overload from stdlib.h to cmath.
include: Add missing prototype.
include: Add some missing prototypes about C++ new handler.
Esme Povirk (9):
gphoto2.ds: Fix grayscale palette initialization.
ole32: Fix offset update in propertystorage_read_scalar.
ole32: Rewrite free loop on error path.
ole32: Handle failures in StgStreamImpl_CopyTo.
ole32: Use common error path.
ole32: Check for read past end of stream.
sane.ds: Fix MSG_QUERYSUPPORT for unknown capability.
sane.ds: Fix accidentally concatenated strings.
windowscodecs: Check for multiplication overflow in BMP decoder.
Etaash Mathamsetty (8):
ntoskrnl.exe: Implement PsGetThreadProcess.
ntoskrnl.exe: Implement PsGetProcessPeb.
ntoskrnl.exe: Implement PsGetContextThread.
ntoskrnl.exe: Implement PsReferencePrimaryToken.
ntoskrnl.exe: Implement MmGetPhysicalMemoryRanges.
ntoskrnl.exe: Implement SeLocateProcessImageName.
ntoskrnl.exe: Add semi-stub for MmGetVirtualForPhysical.
ntoskrnl.exe: Add stub for KeCapturePersistentThreadState.
Francis De Brabandere (1):
vbscript: Free fixed-size array data on release.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.362.
Giang Nguyen (4):
wined3d: Handle buffers without a structure byte stride in wined3d_device_context_discard_resource().
wined3d: Use the texture level count to compute the discarded sub-resource index.
d3d11: Release the resource returned by ID3D11View::GetResource() in DiscardView().
d3d11/tests: Test DiscardResource() and DiscardView().
Hans Leidekker (30):
odbc32: Remove unused pSQLBindParam function pointer.
odbc32: Consistently use KeyValueBasicInformation in get_drivers().
odbccp32: Fix setting the driver filename in SQLWriteDSNToIniW().
odbccp32: Check for allocation failure in write_registry_values().
odbccp32: Fix handle leak on error in write_registry_values().
msi: Validate localpath length in open_package().
msi: Handle NULL usersid/prodcode in get_deferred_action().
msi: Handle missing SourceDir property in change_media().
msi: Check for allocation failure in MsiLoadStringA().
msi: Check the result of MSI_RecordGetString() in is_uninstallable().
msi: Check for allocation failure in marshal_record().
msi: Check for MSI_CreateRecord() failure in ITERATE_FindRelatedProducts().
msi: Fix potential use-after-free in st_find_free_entry().
msi: Fix memory leak on error in do_msidbCustomActionTypeDll().
msi: Clean up on failure in MsiFormatRecordA().
msi: Avoid underflow in MSI_GetUserInfo().
msi: Avoid underflow in UPDATE_execute().
mscms: Allocate dest dynamically in InstallColorProfileW().
mscms: Fix buffer size check in GetColorProfileFromHandle().
mscms: Fix parameter validation in CreateMultiProfileTransform().
widl: Keep a list of winmd specific data.
wmic: Support /value parameter.
wmic: fgetws() takes character count.
shell32: Navigate to folder in ItemMenu_InvokeCommand() if hosted by a shell browser.
winscard: Handle NULL states in SCardGetStatusChangeW().
winscard: Remove duplicate assignment.
winscard: Check names_len parameter in SCardStatusA/W().
rsaenh: Set last error before returning in export_public_key_impl().
rsaenh: Handle get_key_container() failure in RSAENH_CPSetKeyParam().
ncrypt: Validate data parameter in NCryptImportKey().
Jacek Caban (12):
ntdll: Use correct Pc offset in ARM64EC process_breakpoint_handler.
ntdll: Avoid exposing ARM64 call_user_mode_callback context to the client side.
winegcc: Pass target CPU to build_tool_name.
winebuild: Use x86_64 assembly for arm64ec targets.
configure: Disable 32-bit only crt modules on 64-bit targets.
configure: Disable 32-bit only Direct Music modules on 64-bit targets.
configure: Disable 32-bit only Direct Play modules on 64-bit targets.
configure: Disable 32-bit only OLE modules on 64-bit targets.
configure: Disable more 32-bit only modules on 64-bit targets.
configure: Disable d3d8.dll on 64-bit targets.
kernelbase: Remove ARM64EC assembly version of RaiseException.
winegcc: Use -target compiler argument when targeting a different CPU than the main target.
Marc-Aurel Zent (1):
imm32: Cancel IME composition on hkl deactivation.
Marcus Meissner (3):
lsass: Use boolean for checking, not pointer.
lsass: Assign result of realloc.
msv1_0: Free cmd on exit.
Matteo Bruni (30):
d3dx9: NULL the out pointer for unsupported interfaces in ID3DXBuffer QueryInterface().
include: Add missing PURE decoration on CloneMesh.
d3dx9/effect: Fix object array element release.
d3dx: Introduce a linear_color_from_format() helper.
d3dx: Introduce a format_from_linear_color() helper.
d3dx9: Fix linearization in box filtering.
d3d10: Compute dependent properties for all the state variables.
d3dx9: Add missing error checks in wide string allocations.
include: Add missing PURE decoration on GetFunction[ByName].
d3dx: Get rid of a duplicated declaration.
d3dx10: Add missing wide string allocation error check in D3DX10CreateAsyncFileLoaderA().
d3dx11: Add missing wide string allocation error check in D3DX11CreateAsyncFileLoaderA().
d3dx9: Fix potential leak in OptimizeInplace()'s failure path.
d3d10: Add a comment for intentional behavior in pres_not() and pres_or().
d3dx9: Fix sampler parameters release.
d3dx9: Free effect on creation failure.
d3dx9: Always initialize effect output parameter in D3DXCreateEffect*().
d3dx9/tests: Add a couple missing effect creation checks.
d3dx9/tests: Release effects created because of todo_wine.
d3dx9/mesh: Validate skin weights data more strictly.
d3dx9/effect: Validate parameter object id.
d3dx9/effect: Downgrade OOB effect value traces from FIXME() to WARN().
d3dx9/tests: Test binary effect with invalid pass index in resource.
d3dx: Validate RLE-compressed TGA data more strictly.
d3dx9/mesh: Fix normal data size validation.
d3dx9/mesh: Don't overflow vertex declaration buffer in SetDeclaration().
d3dx9/mesh: Don't overflow vertex declaration buffer in UpdateSemantics().
d3dx9/mesh: Don't overflow vertex declaration buffer in D3DXCreateMesh().
d3dx9/mesh: Add bounds checking in declaration_equals().
d3dx9/tests: Add some tests for overflowing vertex declarations.
Michel Bernert (1):
imm32: Fix malformed messages in ImeToAsciiEx().
Nello De Gregoris (11):
ntoskrnl.exe/tests: Add tests for PsGetThreadProcess.
ntoskrnl.exe/tests: Add tests for PsGetProcessPeb.
ntoskrnl.exe/tests: Add tests for PsGetContextThread.
server: Allow creating token kernel objects.
ntoskrnl.exe/tests: Add tests for token kernel objects.
ntoskrnl.exe: Implement PsDereferencePrimaryToken.
ntoskrnl.exe/tests: Add tests for PsReferencePrimaryToken.
ntoskrnl.exe/tests: Add tests for MmGetPhysicalMemoryRanges.
ntoskrnl.exe/tests: Add tests for SeLocateProcessImageName.
ntoskrnl.exe: Implement PsGetProcessImageFileName.
ntoskrnl.exe/tests: Add tests for PsGetProcessImageFileName.
Nikola Kuburović (2):
ntdll: Fix out-of-bounds access in NtQueryInformationToken.
ntdll: Add missing token information classes.
Nikolay Sivov (30):
include: Fix pointer types in qos2.h.
include: Fix PST_RS422 constant name.
include: Remove duplicated macros from wingdi.h.
include: Fix typo in IOCTL_AVIO_MODIFY_STREAM definition.
include: Fix a typo in IMAPISession_MessageOptions() macro.
d3dx10/tests: Add some more tests for sprite state restoration.
d3dx10/tests: Test batched sprite drawing when interleaved with immediate one.
d3dx10/tests: Test immediate sprite drawing outside of Begin-End.
d3dx10/sprite: Make DrawSpritesImmediate() work outside of Begin-End.
kernel32/tests: Add some tests for PackageFullNameFromId().
kernelbase: Partially implement PackageFullNameFromId().
wined3d/spirv: Fix a typo in bitwise mask test.
wined3d: Add missing mutex release in failure paths of swapchain initialization.
wined3d: Remove duplicated code block.
wined3d: Remove unnecessary assignment.
d3drm: Access created objects only on successful paths.
d3drm: Use correct interface methods macros.
include: Fix some typos in methods macros of D3DRM interfaces.
include: Fix PST_RS449 value.
mfreadwrite: Fix end-of-segment notifications for MF_SINK_WRITER_ALL_STREAMS.
mfreadwrite/reader: Fix async command objects leak.
mshtml: Use correct method names in error messages.
mfreadwrite/reader: Initialize operation object refcount.
wpcap: Remove duplicated trace call.
xmllite/writer: Improve failure handling in WriteRawChars().
winegstreamer/aac: Fix a copy-paste mistake in SetOutputType().
winegstreamer: Fix a copy-paste mistake in internal video type mapping helper.
winegstreamer: Fix typos in trace messages.
d2d1: Add Premultiply effect stub.
d2d1: Add 3D Transform effect stub.
Paul Gofman (13):
ddraw/tests: Add tests for _ProcessVertices with vertex blending.
wined3d: Support vertex blending for position in process_vertices_strided().
ddraw/tests: Add test for lighting in _ProcessVertices with vertex blending.
wined3d: Support vertex blending for lighting in process_vertices_strided().
ntdll/tests: Fix test failures in test_extended_context() on current up to date Win11 (25H2).
amstream: Unblock ddraw_mem_allocator_GetBuffer() and return VFW_E_NOT_COMMITTED when stream is flushing.
ntdll/tests: Fix test failures in test_copy_context() on current up to date Win11 (25H2).
ntdll/tests: Fix test failures with exception reporting flags on current up to date Win11 (25H2).
ntdll: Send debug event exceptions as exception space.
Revert "kernelbase: Don't modify non-volatile regs in RaiseException() on x64.".
ntdll/tests: Fix termination_handler parameter definition.
ntdll/tests: Expect xstate in context in test_wow64_context().
server: Consider _MOVE_NOCOALESCE and _ABSOLUTE flags when merging mouse events.
Rémi Bernon (48):
opengl32: Move default FBO buffer restore helper around.
opengl32: Restore the default FBOs in pop_default_fbo_buffers.
opengl32: Restore default FBO read/draw buffers after presenting.
win32u: Remove unnecessary FBO read / draw buffers initialization.
winex11: Don't ignore some focus events wrt. XI2 raw mouse events.
winex11: Keep root window XI2 event mask in x11drv_thread_data.
winex11: Restore XI_ButtonPress event instead of raw button events.
opengl32: Add some traces to wglChoosePixelFormatARB.
opengl32: Set the null function table when clearing current context.
winex11: Restore gamma ramp driver entry points.
resampledmo: Don't use AVRational as time base.
imm32: Explicitly link against kernel32 before kernelbase.
win32u: Split drivers make_current into context_activate / thread_cleanup.
win32u: Allocate opengl_context structs in the drivers.
win32u: Set glReserved2 to the current client or internal context.
win32u: Set the internal context drawables when activating.
winemac: Get rid of macdrv_context specific drawable members.
win32u: Avoid setting drawable current if not necessary.
winemac: Use the latched client surface toplevel window.
winemac: Flush GL commands when activating another context.
winemac: Make sure all contexts are double buffer capable.
win32u: Make sure glDrawArrays has an active VAO.
win32u: Keep the size of the opengl_drawable implementation in the funcs.
win32u: Keep the size of the client_surface implementation in the funcs.
win32u: Keep the size of the window_surface implementation in the funcs.
win32u: Pass the pbuffer drawable size to opengl_drawable_create.
win32u: Pass a SIZE to pbuffer_create instead of width / height.
win32u: Use the opengl_drawable virtual_size for the pbuffers dimension.
winemac: Remove unnecessary type alias for WineEventQueue.
winemac: Remove unnecessary type alias for WineStatusItem.
winemac: Remove unnecessary type alias for CAMetalLayer.
winemac: Remove unnecessary type alias for WineMetalView.
winemac: Remove unnecessary type alias for WineOpenGLContext.
winemac: Remove unnecessary type alias for id<MTLDevice>.
winemac: Remove unnecessary type alias for id<WineMetalSwapchain>.
winemac: Remove unnecessary type alias for WineContentView.
winemac: Remove unnecessary type alias for WineWindow.
win32u: Avoid a dump_extensions unused warning.
win32u: Release previous drawables after setting the context drawables.
win32u: Check for any internal context in context_sync_drawables.
win32u: Simplify context_sync_drawables control flow in the noop case.
win32u: Set the context drawables right after activation succeeds.
opengl32/tests: Test viewport initialization with pbuffer DC.
opengl32: Initialize context viewport in init_client_context.
win32u: Move the flush_memory_dc helper before create_memory_pbuffer.
win32u: Initialize memory DC directly in create_memory_pbuffer.
win32u: Use explicit *_LEFT buffer in wglBindTexImageARB.
opengl32: Avoid unix-side crashes without an active context.
Santino Mazza (1):
cmd: Use wine_dbgstr_w to prevent overflows when logging enabled.
Sean Reid (1):
winebus.sys: Truncate input reports to their declared length.
Tobiasz Laskowski (3):
kernel32/tests: Check case for GetTempFileName.
kernel32/tests: Check digit case in temp file hex.
kernel32: Use upper case hex in temp files names.
Vibhav Pant (15):
rometadata/tests: Add additional tests for IMetaDataImport::{EnumCustomAttributes, GetCustomAttributeProps}.
rometadata: Add a varargs helper function to get multiple table columns.
rometadata: Factor creation of TOKEN_ENUM_LIST token enumerators into token_array.
rometadata: Implement IMetaDataImport::{EnumCustomAttributes, GetCustomAttributeProps}.
rometadata: Implement IMetaDataImport::{EnumInterfaceImpls, GetInterfaceImplProps}.
rometadata/tests: Add tests for IMetaDataImport::{EnumTypeRefs, GetTypeRefProps}.
rometadata: Implement IMetaDataImport::{EnumTypeRefs, GetTypeRefProps}.
vccorlib140/tests: Add tests for Platform::Object::Object().
vccorlib140: Implement Platform::Object::Object().
rometadata/tests: Add additional tests for IMetaDataImport::FindTypeRef.
rometadata: Implement IMetaDataImport::FindTypeRef.
rometadata/tests: Add tests for IMetaDataImport2::{EnumGenericParams, GetGenericParamProps}.
rometadata: Set out to NULL when QueryInterface fails.
rometadata/tests: Add tests for IMetaDataAssemblyImport::GetAssemblyRefProps.
vccorlib140: Use the correct prefix in IPrintable RTTI descriptors for exceptions.
Yuxuan Shui (3):
mfreadwrite: Fix callback invocation in ReadSample error path.
mfreadwrite: Make sure ASYNC_READ op can't start until ASYNC_SEEK finishes.
mfreadwrite/tests: Check if and how OnReadSample is called when no stream is selected.
Zhiyi Zhang (8):
user32/tests: Add more tests for CreateCompatibleBitmap() with display DCs.
win32u: Add some special cases for CreateCompatibleBitmap() with a display DC.
user32/tests: Move GetDIBits() tests with display DCs from gdi32.
win32u: Allow 8-bit DDBs with 8-bit display DCs in NtGdiGetDIBitsInternal().
user32/tests: Test that WM_PRINT PRF_CHILDREN sets a clip region.
win32u: Set a clip region when handling WM_PRINT PRF_CHILDREN.
user32/tests: Test WM_PRINT with a child window that has a non-client area.
win32u: Fix drawing the non-client area for child windows with WM_PRINT.
```
1
0
The Wine development release 11.17 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 2.1.
- Initial support for display mode emulation.
- Better support for preferred UI languages.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.17.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.17 (total 44):
- #23364 Tetris JR (win16) exits immediately
- #25373 Nokia S60 5th Edition SDK 1.0: epoc32 emulator and other tools fail to run (Wine's 'hal.dll' is preferred over native, causing failure to load app provided library with same name)
- #29851 Some part of PDFCreator installer cannot display Chinese correctly even Font Replacement is setting correctly
- #30155 SafeDisc v2.05.030 fails due to driver dispatch routine status and irp.IoStatus.u.Status differing (Command & Conquer: Red Alert 2)
- #32368 Bigrats: UI can't display normally and all the widgets didn't work
- #35056 64-bit PTC Pro Engineer Wildfire V5 installer fails (64-bit processors not reported in volatile hardware registry keys)
- #39336 VisualSubSync (ItaSA version) 1.0.2.1 crashes when pressing audio play button
- #42383 certmgr.exe is unable to import certificate in PKCS12 format
- #44137 Wine64 crashes with any 64-bit binary
- #45979 Advanced SystemCare 6.4 needs 'SWbemPropertySet::get__NewEnum' to iterate over 'Win32_PhysicalMedia' properties
- #46671 Biamp canvas crashes on startup
- #46815 PS4 Remote Play 2.x (.NET 4.x app) fails on startup, reports 'Cannot connect to the server.' (missing TEMP directory in user's Local AppData directory)
- #47062 Multiple E-Banking applications by KOBIL Systems GmbH crash on startup due to ntdll.NtQueryDirectoryObject '\\KnownDlls' failure (MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x)
- #47070 DA: Inquisition can't see gamepad
- #48534 32-bit MSXML 6.0 package fails to install in 64-bit WINEPREFIX 'package is not supported on the current processor type.'
- #49078 Sennheiser Wireless Systems Manager 4.4 server (.NET 4.5 app) crashes with 'System.ComponentModel.Win32Exception: Unknown error (0x80090308)'
- #49079 Multiple applications want support for CREATE_NO_WINDOW flag (0x08000000) in CreateProcess
- #50233 Signtools from Windows 10 SDK needs 'wintrust.CryptCATAdminAcquireContext2' implementation
- #50323 Multiple applications need 'Ws2_32.getservbyname' to read information from '%SystemRoot%\System32\Drivers\Etc\services' (Autodesk 3ds Max 9 RaySat service)
- #50572 LDAP_AUTH_NEGOTIATE login fails as authorization user is used instead of authentication user
- #53047 SketchUp 2021 installer quits with "IDS_ERROR_NO_WIZARD_PAGES" (native xmllite works around)
- #53241 wtsapi32:wtsapi - test_WTSEnumerateProcessesW() crashes if a process exits during the test?
- #56366 Worms Blast characters become grey/untextured
- #57983 getaddrinfo cannot handle "https" as the service string on some distros, but windows 10 can
- #58046 Horizon Chase Turbo: gamepad hotplugging doesn't work
- #58511 GunBound crashes on unimplemented function ntoskrnl.exe.KeAcquireGuardedMutex
- #59963 DWARF unwinding crashes on i386
- #60080 GTA: Vice City - Blank white screen during intro video
- #60094 Marathon crashes on launch
- #60095 GTA: San Andreas videos are not displayed when using exclusive fullscreen
- #60140 Signature from BCryptSignHash with RSA 512 key and PSS padding cannot be verified
- #60218 Ground Control: Mouse movement is confined to a small area
- #60219 Ankh - Anniversary Edition: Some textures are rendered black
- #60221 Clive Barker's Jericho Demo has a non-fatal msiexec crash during install
- #60223 IMFTimedText and related APIs missing
- #60226 Wine XInput: XInputGetState returns 0 buttons for connected Bluetooth Xbox One controller
- #60229 Netscape Navigator 3.04 for Windows 3.1 crashes on start on a null pointer
- #60247 SetWindowLongPtr succeeds on a window owned by another process, resulting in a crash
- #60252 winedmo: Issue with demuxer destructor logic
- #60256 Wine application prevents X11 root window from receiving mouse button events
- #60257 win32u: send_mouse_motion() skips resetting raw_mouse.count on empty input, causing a heap buffer overflow
- #60267 Multiple E-Banking applications by KOBIL Systems GmbH terminate on startup due to missing WBEM namespace 'ROOT\SecurityCenter2' (MigrosBank EBanking 8.2.x, Sparda Bank SecureApp 1.x)
- #60275 xEdit (fo4edit, fo3edit) cannot run after 11.15
- #60285 Star Wars: Knights of the Old Republic I/II crash after start
### Changes since 11.16:
```
Akihiro Sagawa (5):
winegstreamer: Make sure every stream has a buffer or an initial gap on initialization.
quartz/tests: Add a timestamp test for the first sample.
winegstreamer: Change wg_parser_create argument from bool to bit flags.
winegstreamer: Rebase PTS values so the stream starts at zero.
winegstreamer: Fix GstCaps reference leak in wg_parser_stream.
Alex Henrie (2):
krnl386: Don't free DISCARDABLE resources in FreeResource16.
compobj: Ensure compobj_malloc is initialized in CoGetMalloc16.
Alexandre Julliard (33):
kernel32/tests: Fix incorrect tests for UI languages with zero flags.
vkd3d: Import upstream release 2.1.
ntdll: Load the system and user UI languages from the registry.
ntdll: Implement RtlGetSystemPreferredUILanguages and RtlGetUserPreferredUILanguages.
ntdll: Implement RtlGet/SetProcessPreferredUILanguages.
ntdll: Partially implement RtlGet/SetThreadPreferredUILanguages.
kernelbase: Reimplement GetThreadUILanguage on top of GetThreadPreferredUILanguages.
kernelbase: Reimplement SetThreadUILanguage on top of SetThreadPreferredUILanguages.
mlang/tests: Enable some ifdef'ed out traces.
mlang/tests: Remove skips for old Windows versions.
mlang/tests: Run some tests in an English locale.
kernel32/tests: Run some tests in an English locale.
jscript/tests: Run some tests in an English locale.
wininet/tests: Run some tests in an English locale.
ieframe/tests: Run tests in an English locale.
mshtml/tests: Run tests in an English locale.
pdh/tests: Run tests in an English locale.
ntdll: Implement RtlpQueryDefaultUILanguage.
ntdll: Return the default user UI language for LOCALE_CUSTOM_UI_DEFAULT.
ntdll: Return the default system UI language for LOCALE_CUSTOM_DEFAULT.
kernelbase: Reimplement GetSystem/UserDefaultUILanguage on top of RtlpQueryDefaultUILanguage.
kernelbase: Add a helper to convert a LCID to a sort locale.
kernelbase: Use the default user UI language for LOCALE_CUSTOM_UI_DEFAULT.
kernelbase: Use the default system UI language for LOCALE_CUSTOM_DEFAULT.
ntdll: Use the preferred UI language list to load resources.
include: Fix wscanf* prototypes.
include: Fix typos in Unicode macros.
include: Fix typos in vtbl macros.
ntdll: Fix mmap_is_in_reserved_area when area starts in the middle of the specified range.
wow64: Check that the entire memory allocation is within the user space range.
vbscript/tests: Run some tests with an English UI language.
shlwapi/tests: Run some tests with an English UI language.
faudio: Import upstream release 26.09.
Alistair Leslie-Hughes (1):
include: Use RECT directly instead of tagRECT define.
Alvin Philips (1):
winebus: Clarify that the Disable Hidraw toggle also affects the IOHID backend in trace message.
Bernhard M. Wiedemann (1):
wscript: Use angle brackets to include the generated ihost.h.
Bernhard Übelacker (3):
wbemdisp: Avoid out-of-bounds read in objectpath_get_DisplayName.
mfplat/tests: Add broken to avoid some test failures.
msv1_0: Fix string termination in ntlm_pool_get_ctx.
Brendan Shanks (7):
ntdll: Spawn a Wine system thread for the macOS main thread on launch.
winemac: Fix memory leak in get_format_entries().
winemac: Stop using deprecated kUTTypeContent/kUTTypeData.
winemac: Remove WineDisplayLink.
winemac: Remove now-unnecessary check for MTLDevice.registryID.
winemac: Stop using deprecated [NSGraphicsContext graphicsPort].
winemac: Stop setting deprecated NSWindow.oneShot.
Connor McAdams (6):
setupapi: Add tests for class device enumeration order.
setupapi: Add a few more SetupDiGetClassDevs() tests.
setupapi: Validate enumerator string passed into SetupDiGetClassDevs().
setupapi: Use CM_Get_Device_ID_List() to implement SetupDiGetClassDevs() for devices.
setupapi: Use CM_Get_Device_Interface_List() to implement SetupDiGetClassDevs() for interfaces.
setupapi: Use cfgmgr32 functions to implement remove_all_device_ifaces().
Conor McCarthy (8):
wbemdisp: Rename propertyset object to class_object.
wbemdisp: Implement ISWbemPropertySet::NewEnum().
wbemdisp: Initialise the variants in enumvar_Next().
wbemdisp: Implement ISWbemMethodSet::NewEnum().
wbemdisp: Implement get ISWbemProperty::Name.
wbemdisp: Add ISWbemQualifierSet stub implementation.
wbemdisp: Add ISWbemQualifierSet enumerator stub implementation.
mfreadwrite: Queue only one output sample while draining transforms.
Daniel Lehman (2):
ntdll/tests: Add tests for RemoveDirectory with open FindFirstFile handle.
ntdll: Open directory handle with FILE_SHARE_DELETE in FindFirstFileW.
Dmitry Timoshkov (3):
crypt32/tests: Add missing CryptEncodeObjectEx() return value check.
crypt32: CryptMsgGetParam(CMSG_SIGNER_UNAUTH_ATTR_PARAM) should set returned size to 0 if there's no attributes.
crypt32: CryptMsgGetParam(CMSG_SIGNER_AUTH_ATTR_PARAM) should set returned size to 0 if there's no attributes.
Elizabeth Figura (4):
ntdll: Implement NtSetVolumeInformationFile(FileFsLabelInformation).
kernel32: Reimplement SetVolumeLabel() using NtSetVolumeInformationFile().
d3d9: Fix clearing flags for managed resources.
wined3d: Store the device functions in context_vk.
Esme Povirk (6):
coml2: Fix missing check for bytes read.
gdiplus: Fix GdipMeasureDriverString with length == 0.
gdiplus: Touch all points in GdipClearPathMarkers.
gdiplus: Add validation to GdipSetImageAttributesNoOp.
gdiplus: Fix incorrect pointer cast writing pens to emf+.
gdiplus: Pass through status code in metafile_deserialize_path.
Etaash Mathamsetty (3):
ntoskrnl.exe: Implement PsGetProcessSessionId.
ntoskrnl.exe: Use the cached session id in PsGetCurrentProcessSessionId.
ntoskrnl.exe: Implement PsGetProcessCreateTimeQuadPart.
Evan Morse (5):
ntdll: Return the object manager status from NtQueryFullAttributesFile.
server: Rewind the directory stream when checking if it is empty.
ntdll/tests: Test SYNCHRONIZE requirement for synchronous I/O options.
ntdll: Request SYNCHRONIZE access with the synchronous I/O options.
ntdll: Require SYNCHRONIZE access for the synchronous I/O options.
Francis De Brabandere (3):
vbscript: Treat a dot right after a keyword as a with-statement dot.
vbscript: Initialize the function pointer before the recursion limit check.
vbscript: Return "Object not a collection" for For Each on Nothing.
Gabriel Ivăncescu (9):
mshtml: Don't throw when retrieving window.external if the DocHost returns E_NOINTERFACE.
jscript: Fix interpreted function.prototype on-demand creation by updating value in-place.
jscript: Don't call the setter for non-writable builtin props.
jscript/tests: Move some tests in lang.js down.
jscript: Use no_gc_traverse for host functions and constructors.
jscript: Get rid of the obj parameter in gc_process_linked_obj.
jscript: Get rid of the obj parameter in gc_process_linked_val.
jscript: Replace the addref/release methods for host objects with get_host_disp.
jscript: Use get_host_disp in the vtbl when retrieving the host outer dispatch.
Gijs Vermeulen (1):
msi: Pass deformated target to HANDLE_CustomType7 in ACTION_CustomAction.
Hans Leidekker (81):
msi: Propagate ERROR_NO_MORE_ITEMS return from custom actions.
msi: Handle NULL params in build_msiexec_args().
wbemdisp: Implement property_get_CIMType().
webservices: Fix nil value check for a couple of types.
webservices: Fix error return in WsReadStartAttribute() and read_comment_bin().
webservices: Handle NULL msg->action in message_insert_http_headers().
webservices: Fix buffer size check in build_dict().
webservices: Remove redundant assignment in grow_strs_array().
webservices: Avoid NULL dereference on error in str_to_qname().
webservices: Decrement len after consuming closing bracket in WsDecodeUrl().
webservices: Correctly initialize loop counter in WsWriteArray().
webservices: Use configured backlog value in open_listener_tcp().
webservices: Fix memory leak on error path in dup_message_mapping().
webservices: Fix memory leak on error in dup_fault().
webservices: Use proper type in queue_write_message_end().
webservices: Correctly parse fragment in WsDecodeUrl().
winhttp: Use %lu to format unsigned integer in send_request().
include: Remove duplicate defines.
winhttp: Fix potential buffer overflow in finished_reading().
winhttp: Validate scheme and hostname length in run_script().
winhttp: Fix return length for ICU_ESCAPE with null-terminated string in get_comp_length().
winhttp: Fix a trace in request_set_option().
winhttp: Validate day of week and month in WinHttpTimeFromSystemTime().
winhttp: Fix error value returned from send_socket_shutdown().
winhttp: Check for allocation failure in add_domain().
bcrypt: Remove duplicate chain mode field.
bcrypt: Return proper values from ecc_blob_curve().
bcrypt: Fix parameter validation in BCryptDeriveKeyCapi().
bcrypt: Verify len against output buffer size in import_key().
msi: Fix memory leak on error in append_productcode().
msi: Fix handle leak on error in get_fusion_filename().
msi: Fix row index in DELETE_execute().
msi: Handle tables without primary key columns in add_table_to_db().
msi: Handle empty string properties in read_properties_from_data().
msi: Fix buffer size calculation in TransformView_add_column().
msi: Handle NULL return from msi_dup_record_field() in get_signature().
msi: Handle missing manifest file in msi_install_assembly().
msi: Consistently check dialog_add_control() failure.
msi: Handle NULL text in dialog_hyperlink().
msi: Remove unused field from struct drop_view.
msi: Fix error message in apply_substorage_transform().
wbemprox: Add SecurityCenter2 namespace.
msi: MsiSetMode() returns UINT.
msi: Handle CreateNamedPipeW() failure.
msi: Fix return values in cabinet_copy_file().
msi: Validate buffer parameters in MsiGetPatchInfoA/W().
msi: Handle NULL folder->ResolvedTarget in set_target_path().
msi: Handle NULL guids in msi_check_patch_applicable().
msi: Fix out-of-bounds read in decode_base85_guid().
msi: Don't free caller owned buffer on error in TransformView_delete_row().
msi: Handle empty file in read_text_archive().
msi: Fix potential heap buffer overflow in DISTINCT_execute().
msi: Avoid out-of-bounds read in read_properties_from_data().
msi: Avoid out-of-bounds read in sqliteGetToken().
widl: Fix buffer size in add_composable_attr_step2().
widl: Pass correct target table in serialize_methodimpl_table().
wbemprox: Zero-initialize columns in create_signature_columns_and_data().
wbemprox: Add NULL check in class_object_GetMethod().
wbemprox: Avoid using uninitialized pointer in wbem_context_Clone().
wbemprox: Use appropriate value for pointer return.
wbemprox: Pass correct buffer size to swprintf() in fill_cache_memory() and fill_processor().
wbemprox: Fix memory leak on error in get_owner().
wbemprox: Fix off-by-one in enum_class_object_Skip().
wbemprox: Set query namespace in wbem_services_ExecNotificationQueryAsync().
wbemprox: Fix cleanup of associations.
wbemprox: Fix memory leak on error in get_pnp_entities() and get_display_adapters().
wbemprox: Fix memory leak on error in class_object_SpawnInstance().
wbemprox: Fix memory leak on error in create_signature_columns_and_data().
wldap32: Fix a memory leak in WLDAP32_ldap_unbind_s().
wldap32: Fix buffer overflow in escape_filter_element().
wldap32: Don't try to free a static buffer in ldap_get_paged_count().
wldap32: Avoid double free in ldap_search_init_pageW().
wldap32: Free memory on error in create_page_control().
secur32: Properly validate context handle in schan_Encrypt/DecryptMessage().
secur32: Remove an outdated comment.
secur32: Fix misplaced parentheses in schan_set_application_protocols().
secur32: Fix memory leak on error in ensure_remote_cert().
secur32: Fix a memory leak on error in get_key_container_path().
secur32: Free GnuTLS credentials on error in acquire_credentials_handle().
secur32: Pass correct comment length in _copyPackageInfoFlatWToA().
secur32: Use the right deallocator in thunk_ContextAttributesAToW().
Henri Verbeet (2):
wined3d: Don't link to libdxguid.
d3dcompiler: Implement D3DReflect() on top of D3DReflectVKD3D().
Huoju Cheng (1):
gdiplus: Fix font family lookup after font substitution.
Ivo Ivanov (3):
dinput: Make instance guid Data4 last bytes similar to Windows.
hidclass.sys: Use FDO instance_id instead of serial number for multi-TLC child PDOs.
winebus.sys: Return an error on IOCTL_HID_GET_STRING when no serial number is available.
Jacek Caban (12):
winegcc: Handle CPU_ARM64EC in get_multiarch_dir.
ntdll: Check that the pointer is within the address space limits before accessing EcCodeBitMap.
ntdll: Don't modify non-volatile registers before switching to the kernel stack in the ARM64 syscall dispatcher.
ntdll: Avoid exposing ARM64 syscall dispatcher to the client side.
wow64: Don't use static for pBTCpuSimulate.
winegstreamer: Silence -Wunused-but-set-global warning.
gitlab: Update to llvm-mingw 20260826.
ntdll: To try to handle suspend doorbell in leave_syscall_callback if the thread is in simulation.
ntdll: Move KiUserEmulationDispatcher handling to restore_context.
ntdll: Define make_esr only on Linux targets.
ntdll: Suppress debug events during CPU simulation.
ntdll/tests: Adjust ARM64EC Rip tests in test_debugger for current Windows versions.
Ken Sharp (1):
wined3d: Cast UINT64 handles to avoid compiler warnings.
Matteo Bruni (10):
d3dx10/tests: Disable two cube textures tests with invalid texture dimensions.
d3dx11/tests: Disable two cube textures tests with invalid texture dimensions.
d3dx10/tests: Tweak a sRGB test to avoid undefined behavior on Windows.
d3dx11/tests: Tweak a sRGB test to avoid undefined behavior on Windows.
d3dx11/tests: Get rid of a debug trace.
d3dcompiler/tests: Get rid of a debug trace.
d3dx9: Move D3DXSHProjectCubeMap() implementation to texture.c.
d3dx9: Move some exports from mesh.c to math.c.
d3dx10: Use shared code for math exports.
include: Add some function prototypes to d3dx10math.h.
Michel Weinachter (7):
ntdll: Make RtlCopySid() return NTSTATUS instead of BOOLEAN.
ntoskrnl.exe: Implement MmMapLockedPagesSpecifyCache().
ntoskrnl.exe/tests: Test the MDL flags maintained by test_mdl_map().
ntoskrnl.exe: Implement MmUnmapLockedPages().
ntoskrnl.exe: Implement MmProbeAndLockPages() and MmUnlockPages().
ntoskrnl.exe/tests: Test MmBuildMdlForNonPagedPool().
ntoskrnl.exe: Implement MmBuildMdlForNonPagedPool().
Nat Brown (1):
ntdll: Keep reserved area bounds page aligned when avoiding 4GB wrap-around.
Nello De Gregoris (12):
evr: Implement IMFVideoDisplayControl::SetRenderingPrefs().
evr/tests: Add tests for IMFVideoDisplayControl rendering preferences.
winegstreamer/wma_decoder: Implement GetInputCurrentType.
winegstreamer/wma_decoder: Implement GetOutputCurrentType.
ntoskrnl.exe: Add stub for KeRegisterBugCheckCallback().
ntoskrnl.exe: Add stub for KeRegisterBugCheckReasonCallback().
ntoskrnl.exe: Add stub for KeDeregisterBugCheckReasonCallback().
ntoskrnl.exe/tests: Add tests for PsGetProcessSessionId.
winegstreamer: Add winegstreamer_create_wma_decoder().
wmadmod: Create the decoder without CoCreateInstance().
xaudio2/tests: Test creating an xWMA source voice without COM.
ntoskrnl.exe/tests: Add tests for PsGetProcessCreateTimeQuadPart.
Nickita Biryulin (1):
server: Remove dangling pointer from load_version_resource.
Nikolay Sivov (77):
mfplat/tests: Remove todo on now succeeding test.
include: Add IMFTimedText* definitions.
comdlg32/filedlg: Improve CDM_GETFILEPATH when view has an active selection.
comdlg32/filedlg: Handle allocation failures in the CDM_GETFILEPATH handler.
comdlg32: Use ReleaseStgMedium() from ole32.
msxml3: Move transformNodeToObject() to a reusable helper.
msxml3: Add explicit traces for unsupported destination objects in transformNodeToObject().
msxml3: Remove a workaround when transforming to a document by using the document stream.
msxml3/tests: Add some tests for IXSL* object properties.
msxml3: Implement stylesheet property getter.
msxml3: Implement ownerTemplate() property.
shell32/shellview: Implement Ctrl-A shortcut for the item list.
msxml3/dom: Fix a typo in a node type string.
msxml3: Unconditionally release bind context instance.
mfplat: Fix a typo in the async write stream callback.
mfplat: Remove duplicated checks from the wrapper stream methods.
include: Fix PJOBOBJECT_END_OF_JOB_TIME_INFORMATION type.
include: Fix duplicated EnumServicesStatus macro.
include: Fix a typo in OPEN_VIRTUAL_DISK_VERSION enum member.
include: Fix AW macros in shlwapi.h.
include: Add missing macros for ID3DXRenderToEnvMap::OnResetDevice().
include: Fix MoveFileTransacted macro.
server: Fix freeing unlinked windows.
msado15: Initialize variant before copying to it.
msado15: Forward to correct method in IRowsetExactScroll::Hash().
msado15: Fix allocation failure check in FindNextRow().
msado15: Fix variant type check when getting bookmark data.
msado15: Fix column info leak on failure paths.
msado15: Initialize refcount for the Property objects.
d2d1: Check for allocation failures when recording command lists.
d2d1: Fix potential brush use-after-free in geometry fill recording.
d2d1: Put command list in error state on brush creation failure right away.
d2d1: Better handle NULL locale name when recording DrawGlyphRun() calls.
dwrite/ot: Fix TTC header read size.
dwrite: Remove duplicated weight pattern check.
dwrite/format: Use consistent way to check for format property changes.
dwrite: Fix a leak on error path in the resource stream.
evr: Return failure for unsupported interfaces on MR_VIDEO_RENDER_SERVICE.
evr/mixer: Fix a copy-paste type in aperture values handling.
evr/presenter: Fix potential use-after-free on swapchain interface.
scrrun/stream: Remove wrong object release on file read failure.
oleaut32/olepicture: Consistently use CRT allocation functions.
oleaut32: Fix allocation failure check in SafeArrayGetElement().
oleaut32: Use correct types for UI8/I8 -> UI2 conversion.
oleaut32: Use correct fields in VarSub() between UI1 values.
dbgeng: Remove unnecessary static variables.
dbgeng/tests: Add a GetModuleParameters() test with start module index.
dbgeng: Fix GetModuleParameters() used with start module index.
winedmo: Use correct parameter structure in wow64_demuxer_destroy().
winedmo: Do not access freed context on cleanup.
dxgi: Fix cleanup path on CreateSurface() failure.
dxgi: Correctly initialize output pointer on GetResource() failure.
dxgi: Use correct flags value in the trace message.
atl: Fix typelib instance leak in AtlGetObjectSourceInterface().
atl: Do not use interface pointer after it's been released in AtlAxCreateControlLicEx().
d3d10: Do not reference adapter on failure path of the device creation.
d3d10_1: Do not reference adapter on failure path of the device creation.
d3d11: Do not reference adapter on failure path of the device creation.
winewayland: Use null-terminated string for the clipboard class name.
ntdll: Use appropriate status code on allocation failure in TpAllocIoCompletion().
d3dx10/tests: Add another sprite rendering test to verify sampler filter type.
d3dx10/tests: Add a sprite immediate rendering tests with non-empty batch.
d3dx10: Partially implement sprite rendering.
d3dx10: Implement sprite view transform methods.
propsys: Remove duplicated property info entry.
propsys: Do not check for null string pointers in InitPropVariantFromStringVector().
propsys/tests: Add a test for PropVariantCompareEx(VT_CLSID,VT_LPWSTR).
propsys: Use coerced value for VT_CLSID case in PropVariantCompareEx().
propsys: Use coerced value for VT_UI1 vectors case in PropVariantCompareEx().
kernel32: Add SetThreadpoolTimerEx() implementation.
include: Remove duplicated macros from commdlg.h.
include: Remove duplicated definitions from d3d9types.h.
include: Remove duplicated prototype from gdiplusflat.h.
include: Fix IF_TYPE_PLC value.
include: Fix KSDATAFORMAT_ATTRIBUTES value.
include: Remove duplicated prototype from corecrt_wstdio.h.
include: Use correct type for SERVICE_INFOW fields.
Paul Gofman (3):
win32u: Only resolve default draw framebuffer before blit or readback.
ntdll: Remove a leftover no-op line in RtlCopyExtendedContext().
ntdll/tests: Fix two tests in test_extended_context() wrongly using ternary expression.
Pavel Cheloveckov (1):
po: Update Russian translation.
Piotr Caban (20):
kerberos: Fix wow64 unseal_message wrapper.
kerberos: Don't access Lsa mode data in user mode functions.
kerberos: Fix copying data to wow client in LsaApCallPackageUntrusted.
secur32: Avoid LSA_SEC_HANDLE truncation when moving handle between 32 and 64-bit processes.
programs: Add SamSs service stub.
secur32: Retrieve security packages list from lsass.exe.
secur32: Call LSA mode functions from lsass.exe.
msv1_0: Support ISC_REQ_MUTUAL_AUTH in ntlm_SpInitLsaModeContext.
msv1_0: Reply with password if ntlm_auth asks for it.
msv1_0: Reuse ntlm_auth processes.
msv1_0: Initialize output buffer on successfull local authentication.
lsass: Accept NULL timestamps in initialize_security_context and accept_security_context.
secur32: Fix memory allocation in LsaGetLogonSessionData.
rsaenh/tests: Add more tests for RSA keys with public exponent 1.
symcrypt: Don't use SymCryptIntExtendedGcd to compute private exponent if public exponent is 1.
rsaenh: Fix buffer size passed to SymCryptIntCreate in rsa_decrypt().
msv1_0: Fix error handling in ntlm_SpAcceptLsaModeContext.
msv1_0: Use NTLM local authentication when empty authentication data is provided.
secur32: Handle SECPKG_ATTR_PACKAGE_INFO in lsa_QueryContextAttributesA.
msv1_0: Handle SECPKG_ATTR_PACKAGE_INFO in ntlm_SpQueryContextAttributes.
Rémi Bernon (40):
win32u: Flush mouse input motion when hitting the clipping rect edges.
opengl32: Use the drawable latched virtual size for multisample resolve.
opengl32: Use the drawable latched virtual size for front buffer emulation.
win32u: Initialize framebuffer attachment storage before binding them.
win32u: Avoid requiring OpenGL 4.5 for the framebuffer surface.
opengl32: Always isolate some object names allocated in win32u.
win32u: Create textures for the FBO single sampled surfaces.
win32u: Swap front / back color attachments in framebuffer_surface_swap.
win32u: Avoid unnecessary internal / client context switches.
win32u: Introduce an optional target surface for the framebuffer surface.
win32u: Allow creating client surfaces with raw physical coordinates.
win32u: Support OpenGL scaling according to emulated resolution.
win32u: Use the framebuffer target drawable in make_client_context_current.
win32u: Only flag client surfaces as updated if something changed.
win32u: Implement a default gamma ramp when emulating display modes.
win32u: Support gamma ramp emulation in GL when emulating display modes.
opengl32: Fix multisampled default framebuffer draw buffer resolution.
win32u: Use SRGB framebuffer if target default FBO is SRGB capable.
win32u: Restore set_window_long_internal GWLP_WNDPROC check.
opengl32: Move extension string filtering to the PE side.
win32u: Move context extensions parsing from opengl32.
win32u: Initialize global extensions with the global context.
win32u: Move some global extension checks from winemac.
opengl32: Hide some unix-only extensions from the PE side.
joy.cpl: Fix incorrect POV index in paint_povs_view.
joy.cpl: Remove unnecessary thread_stop / state_event events creation.
joy.cpl: Clear device interfaces when switching tab.
joy.cpl: Check IID_IGameController QueryInterface result.
joy.cpl: Avoid underflow when setting motor vibration.
winex11: Keep track of mouse device and pointer button mappings.
winex11: Listen to raw mouse button events on the root window.
opengl32: Fix and simplify WOW64 string allocation.
opengl32: Fix incorrect mask for GL_BACK_RIGHT.
win32u: Fix egldrv_describe_pixel_format array bound check.
win32u: Fix some truncated query_renderer_integer memcpy.
user32: Fix some length overflows in init_class_name(_ansi).
win32u: Avoid possible buffer overflow in NtUserGetAtomName.
server: Cast cls_extra - size to int before comparison.
winevulkan: Check for returnedonly on individual members.
winevulkan: Don't flag dynamic array / lengths as returnedonly.
Shaun Ren (1):
windowscodecs: Always pass a valid pcbRead pointer to IStream::Read().
Sven Baars (1):
gitlab: Install libva-dev.
Thibault Payet (1):
ntdll/unix: Fix logical_proc_info_add_numa_node parameter order.
Vibhav Pant (2):
rometadata/tests: Add tests for IMetaDataImport::{EnumInterfaceImpl, GetInterfaceImplProps, FindTypeRef}.
rometadata/tests: Add initial tests for WinRT metadata shipped with Windows.
Ziia Shi (2):
pdh: Avoid access violation in PdhCloseQuery on bad handle.
powrprof: Stub PowerReadACValueIndex.
```
1
0
The vkd3d team is proud to announce that release 2.1 of vkd3d, the 3D graphics
porting library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-2.1.tar.xz>
The current source can also be pulled directly from either of these git
repositories:
<https://gitlab.winehq.org/wine/vkd3d.git>
<https://codeberg.org/vkd3d/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 2.1
### libvkd3d-shader
- New features and improvements for the HLSL source type:
- A flaw has been fixed where nested function calls of the form
‘g(f(1), f(2), f(3));’ would be compiled like ‘g(f(3), f(3), f(3));’.
- A new dead store elimination pass. Its primary purpose is to eliminate
unused uniforms in shader model 1-3 target profiles, allowing vkd3d-shader
to more closely match the constant table layout produced by
d3dcompiler/fxc.
- Arithmetic operations on ‘half’ types in shader model 4 and 5 target
profiles.
- Stricter validation of allowed and required semantics on shader inputs and
outputs. Notably:
- User-defined semantics on outputs are explicitly rejected in shader
model 4 and 5 pixel shader target profiles. These never worked, but
would previously either be rejected by the target, or produce invalid
output.
- Semantics on unused input and outputs are not validated in shader model
1-3 target profiles. This matches the behaviour of d3dcompiler/fxc.
- Shader model 1-3 vertex shader target profiles require ‘position’
outputs.
- Shader model 1-3 pixel shader target profiles require ‘color’ outputs.
- The effects (FX) target can output numeric states and shader objects in
‘fx_2_0’ profiles.
- New features and improvements for the legacy Direct3D byte-code source type:
- The ‘sub’ and ‘break_cmp’ instructions.
- The ‘\_x2’, ‘\_x4’, ‘\_x8’, ‘\_d2’, ‘\_d4’, and ‘\_d8’ instruction
modifiers.
- The ‘\_bias’, ‘\_x2’, ‘\_bx2’, ‘negate’ (‘-register’), and ‘invert’
(‘1 - register’) source operand modifiers.
- The SPIR-V target supports floating-point to 64-bit signed and unsigned
integer conversion operations. These typically originate from DXIL sources.
- New features and improvements for the experimental OpenGL Shading Language
target type:
- Indirect addressing of shader input registers.
- Load and store operations on raw and structured unordered access views and
thread group shared memory.
- Atomic compare/exchange and integer addition operations.
- Bit scanning and counting operations.
- Barrier operations.
- ‘SV_GroupID’, ‘SV_GroupIndex’, and ‘SV_GroupThreadID’ inputs.
- New interfaces:
- The VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_ALLOW_HALF_GLOBALS flag
specifies that global variables with ‘half’ types in HLSL sources should
be compiled as if they had the corresponding ‘float’ types.
### libvkd3d-utils
- New shader reflection features and improvements:
- The GetDesc() method of the ID3D12ShaderReflection interface now returns
all information contained in the D3D12_SHADER_DESC structure.
- The following methods of the ID3D12ShaderReflection interface are
implemented:
- GetBitwiseInstructionCount()
- GetConstantBufferByName()
- GetConversionInstructionCount()
- GetGSInputPrimitive()
- GetMovInstructionCount()
- GetMovcInstructionCount()
- GetResourceBindingDescByName()
- GetThreadGroupSize()
- GetVariableByName()
- IsSampleFrequencyShader()
- The GetVariableByName() method of the ID3D12ShaderReflectionConstantBuffer
interface is implemented.
- The following methods of the ID3D12ShaderReflectionType interface are
implemented:
- GetMemberTypeByName()
- GetMemberTypeName()
- IsEqual()
- The ID3D10ShaderReflection, ID3D10ShaderReflection1, and
ID3D11ShaderReflection interfaces are implemented. Where applicable,
everything above also applies to the version 10, 10.1, and 11 equivalents
of the methods mentioned above.
- When the D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY flag is specified,
D3DCompile2VKD3D() will consider global variables with ‘half’ types to have
the corresponding ‘float’ types. Without this flag, global variables with
‘half’ types are not allowed. This change also applies to D3DCompile() and
D3DCompile2(), which behave like D3DCompile2VKD3D() called with a
‘compiler_version’ of 47.
- New interfaces:
- D3DPreprocessVKD3D() is a variant of D3DPreprocess() that allows
targeting the behaviour of a specific d3dcompiler version.
- D3DReflectVKD3D() is a variant of D3DReflect() that allows
targeting the behaviour of a specific d3dcompiler version.
- D3D10ReflectShader() is equivalent to calling D3DReflectVKD3D() with an
‘iid’ of ‘IID_ID3D10ShaderReflection’ and a ‘version’ of 0.
### vkd3d-compiler
- The ‘--allow-half-globals’ option specifies that global variables with
‘half’ types in HLSL sources should be compiled as if they had the
corresponding ‘float’ types.
- The Windows build of vkd3d-compiler will default to colour output when it's
able to determine that the output is a device capable of interpreting
virtual terminal sequences.
### vkd3d-dxbc
- The ‘--input’ option specifies the input to use for subsequent ‘--update’
options.
- The ‘--update’ option specifies a section to update with the contents of the
current input. For example,
‘vkd3d-dxbc -i priv.bin -u t:PRIV in.dxbc > out.dxbc’ would replace the
private data section of ‘in.dxbc’ with the contents of ‘priv.bin’, and write
the result to ‘out.dxbc’.
- The Windows build of vkd3d-dxbc will default to colour output when it's able
to determine that the output is a device capable of interpreting virtual
terminal sequences.
### Changes since vkd3d 2.0:
```
Elizabeth Figura (55):
vkd3d-utils: Add a D3DPreprocessVKD3D() that allows configuring DLL version.
tests/hlsl_d3d12: Test zero sized includes.
vkd3d-utils: Factor out an init_preprocess_info() helper.
vkd3d-utils: Always supply a "pfn_close_include" callback in init_preprocess_info().
vkd3d-utils: Pass the include context structure for all includes in init_preprocess_info().
vkd3d-utils: Return E_INVALIDARG when opening an empty file in open_include().
vkd3d-shader/d3dbc: Rename d3dbc_compiler variables to "compiler".
vkd3d-shader/hlsl: Remove a redundant hlsl_types_are_equal().
tests: Decrement "refcount_empty3" in test_include_Close().
vkd3d-shader/hlsl: Remove some obsolete block parameters.
vkd3d-shader/hlsl: Don't call allocate_register_reservations() for semantics.
vkd3d-shader/hlsl: Remove an obsolete comment.
vkd3d-shader/d3dbc: Handle 1.x COLOR in sm1_register_from_semantic_name().
vkd3d-shader/hlsl: Remove an unnecessary check for 1.x PS output.
vkd3d-shader/ir: Introduce a separate register type for oPts.
tests/shader_runner: Account for tessellation in get_runner_test_mask().
vkd3d-shader/hlsl: Get rid of the "optimize" argument to allocate_semantic_register().
vkd3d-shader/hlsl: Use allocators corresponding to the signature in allocate_semantic_registers().
vkd3d-shader/hlsl: Call generate_vsir_signature_entry() from allocate_semantic_register().
vkd3d-shader/hlsl: Move some validation to allocate_semantic_register().
vkd3d-shader/hlsl: Move signature construction directly into allocate_semantic_register().
tests/hlsl: Test semantics required by vertex and pixel shaders.
vkd3d-shader/hlsl: Validate that position is output for d3dbc targets.
vkd3d-shader/hlsl: Validate that colour is output for d3dbc targets.
vkd3d-shader/hlsl: Simplify updating temp_count for 1.x in allocate_temp_registers().
vkd3d-shader/hlsl: Process the loop iterator in transformation passes.
vkd3d-shader/hlsl: Rename some deref functions to hlsl_deref_*().
vkd3d-shader/hlsl: Add a hlsl_deref_init_child() helper.
vkd3d-shader/hlsl: Construct a deref directly in prepend_input_var_copy().
vkd3d-shader/hlsl: Construct a deref directly in append_output_var_copy().
vkd3d-shader/hlsl: Use hlsl_block_add_*() helpers in prepend_input_copy().
vkd3d-shader/hlsl: Use hlsl_block_add_load_index() in lower_index_load().
vkd3d-shader/hlsl: Use hlsl_block_add_load_index() in copy_propagation_replace_with_deref().
vkd3d-shader/hlsl: Pass a block to hlsl_new_load_parent().
vkd3d-shader/hlsl: Use block helpers in lower_return().
vkd3d-shader/hlsl: Add a hlsl_block_add_bool_constant() helper.
vkd3d-shader/hlsl: Use block helpers in prepend_uniform_copy().
vkd3d-shader/hlsl: Make hlsl_new_store_index() static.
tests/hlsl: Add a v# indexing shader test.
vkd3d-shader/glsl: Copy outputs using their element index in shader_glsl_shader_epilogue().
vkd3d-shader/glsl: Declare separate variables for each input signature element.
vkd3d-shader/glsl: Handle arrayed inputs.
vkd3d-shader/glsl: Implement support for indirect input register addressing.
vkd3d-shader: Use the vsir signature in vsir_program_copy_d3dbc_input_to_indexable_temp().
vkd3d-shader/glsl: Do not skip UNUSED outputs with a system value.
vkd3d-shader/glsl: Do not guard RET behaviour for sm1.
vkd3d-shader/hlsl: Enable MINIMUM_PRECISION when generating the vsir signature.
vkd3d-shader/hlsl: Handle sm4 TARGET in generate_signature_entry().
vkd3d-shader/hlsl: Fix mask handling in sm1_generate_vsir_init_dst_operand_from_deref().
vkd3d-shader/d3dbc: Introduce struct d3dbc_instruction.
vkd3d-shader/d3dbc: Introduce struct d3dbc_semantic.
vkd3d-shader/d3dbc: Move TEXKILL normalisation to shader_sm1_read_instruction().
vkd3d-shader/d3dbc: Introduce a separate field in d3dbc_instruction for DEF* constants.
vkd3d-shader/d3dbc: Introduce struct d3dbc_operand.
vkd3d-shader/d3dbc: Introduce enum d3dbc_register_type.
Evan Tang (1):
tests/d3d12: Test buffer SRVs with single-texel offsets.
Francisco Casas (23):
vkd3d-shader: Go through d3dbc/tpf bytecode when targeting d3d-asm from HLSL.
vkd3d-shader/ir: Turn vsir register allocation into a proper vsir_transform() pass.
tests/hlsl: Add additional half declaration tests.
vkd3d-shader/hlsl: Introduce a compatibility flag to handle half globals as float.
tests/hlsl: Add tests with half arithmetic expressions.
vkd3d-shader/hlsl: Support half arithmetic operations in shader model 4 and 5.
vkd3d-shader/ir: Introduce struct vsir_compile_info.
vkd3d-shader/spirv: Trace the available SPIR-V extensions.
vd3d-shader/hlsl: Check "is_uniform" instead of "!semantic->name" in ctab_write_uniforms().
vkd3d-shader/hlsl: Handle allocation failures on copy_propagation_push_scope().
vkd3d-shader/ir: Remove an unused iterator variable in instruction_array_normalise_hull_shader_control_point_io().
vkd3d-dxbc: Remove the unused "ptr" variable from dump_data().
tests/hlsl: Test temp copies of uniforms with backcompat.
tests/hlsl: Test conditional per-component writes to temp copies of uniforms with backcompat.
vkd3d-shader/hlsl: Introduce a Dead Store Elimination pass.
vkd3d-shader/hlsl: Use vkd3d_ptr_compare() in copy_propagation_var_def_compare().
tests/hlsl: Merge the writemask-assignop tests into a single file.
vkd3d-shader/hlsl: Check that dse_stores_array is not empty before sorting (ubsan).
tests/hlsl: Add a test for per-component DSE.
tests/hlsl: Add specific DSE and per-component DSE tests.
vkd3d-shader/hlsl: Only mark used components on swizzled loads in DSE.
tests/hlsl: Test multiple calls to the same function as arguments of another.
vkd3d-shader/hlsl: Place the split load next to the load itself on split_copy().
Giovanni Mascellani (46):
tests/d3d12_invalid_usage: Drop some tests for which native behaviour has changed.
ci: Run the Windows tests with the latest Agility SDK.
vkd3d: Parse amplification and mesh shader pipeline subobjects.
tests/hlsl: Test a few simple mesh pipelines.
tests/hlsl: Test normalized pixel formats in more configurations.
tests/hlsl: Test loading from UNORM and UINT textures.
tests/d3d12: Skip test_hull_shader_relative_addressing() on Windows AMD.
tests/hlsl: Tweak a f16 test in arithmetic-float-uniform.shader_test.
tests/hlsl: Skip a test in float-comparison.shader_test on Windows AMD.
tests/hlsl: Account for a bug in switch.shader_test on Windows AMD.
tests/d3d12: Do not skip the "continue" test any more.
tests/d3d12: Skip the "dadd" and "dmovc" on all Windows drivers.
tests/d3d12: Tweak the shader cache tests so that they pass in other environments.
tests/hlsl: Account for a bug on Windows NVIDIA d3d11 in minimum-precision.shader_test.
tests/hlsl: Account for a bug on Windows AMD in cast-64-bit.shader_test.
tests/hlsl: Make a test in non-const-indexing.shader_test more robust.
tests/hlsl: Account for a bug on Windows AMD in non-const-indexing.shader_test.
tests/hlsl: Test RestartStrip() and maxvertexcount() in geometry shaders.
tests/hlsl: Account for some bugs on Windows AMD d3d11 in tgsm.shader_test.
tests/hlsl: Account for a bug on Windows AMD d3d12 in shader-interstage-interface.shader_test.
tests/hlsl: Account for a bug on Windows AMD in mesh.shader_test.
tests/hlsl: Add more mesh and amplification shader tests.
tests/hlsl: Account for a bug on Windows AMD d3d9 in uninitialized-varyings.shader_test.
tests/shader_runner_d3d12: Create X32G8X24 SRVs as views of D32S8X24 textures.
tests/hlsl: Account for a bug on Windows AMD d3d9 in shader-point-size.shader_test.
tests/hlsl: Account for a bug on Windows AMD in mesh.shader_test.
tests/hlsl: Account for a bug on Windows AMD in clip-planes.shader_test.
tests/d3dbc: Use b8g8r8a8-unorm textures for d3d9 tests.
tests/hlsl: Test loading from a swizzled texture.
tests/hlsl: Test GatherCmp{Green,Blue,Alpha}() with a SRV swizzle.
tests/d3dbc: Account for a bug on Windows AMD d3d9 in bump.shader_test.
tests/d3dbc: Avoid testing a negative loop counter in rep.shader_test.
tests/hlsl: Remove outdated comment in wave-reconvergence.shader_test.
tests/hlsl: Account for the Windows NVIDIA behaviour in wave-reconvergence.shader_test.
tests/hlsl: Account for a bug on recent Windows d3d9 in fog.shader_test.
tests/hlsl: Test type sizes and alignments in the amplification shader payload.
tests/hlsl: Test field alignment when composing structures and arrays.
tests/hlsl: Test calling DispatchMesh() either never or more than once.
vkd3d-shader/spirv: Actually use the "mode" parameter in spirv_compiler_emit_denormal_mode().
vkd3d: Enable the VK_KHR_shader_float_controls extension.
tests/d3d12: Print DLL versions when running tests on Windows.
tests/d3d12: Test copying between compressed textures of different sizes.
tests/d3d12: Check all blocks in test_copy_block_compressed_texture().
tests/d3d12: Test copying from small mipmaps of compressed textures.
tests/hlsl: Test the "globallycoherent" keyword.
tests/hlsl: Run RWTexture basic tests for shader model 6.0 too.
Henri Verbeet (167):
vkd3d-shader/glsl: Use vkd3d_shader_find_descriptor().
vkd3d-shader/ir: Remove VSIR_OP_DCL_RESOURCE_RAW instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_RESOURCE_STRUCTURED instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_UAV_RAW instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_UAV_STRUCTURED instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_VERTICES_OUT instructions.
vkd3d-shader/glsl: Implement VSIR_OP_STORE_RAW.
vkd3d-shader/glsl: Implement VSIR_OP_LD_RAW.
vkd3d-shader/glsl: Ignore VKD3DSGF_ENABLE_RAW_AND_STRUCTURED_BUFFERS in shader_glsl_handle_global_flags().
vkd3d-shader/glsl: Implement VSIR_OP_STORE_STRUCTURED.
vkd3d-shader/glsl: Implement VSIR_OP_LD_STRUCTURED.
vkd3d-shader/msl: Ignore VKD3DSGF_ENABLE_UP_TO_64_UAVS in msl_generator_generate().
vkd3d-shader/ir: Rename enum vkd3d_shader_register_type to enum vsir_register_type.
vkd3d-shader/glsl: Output vsir register type names in error messages.
vkd3d-shader/glsl: Output vsir data type names in error messages.
vkd3d-shader/glsl: Output vsir dimension names in error messages.
tests/shader_runner_gl: Require GL_EXT_shader_image_load_formatted for typed UAV loads without format.
tests/d3dbc: Add a test for partially initialised I/O registers.
vkd3d-shader/ir: Handle partially initialised I/O registers in vsir_program_remap_output_signature().
vkd3d-utils: Introduce D3DReflectVKD3D().
tests/hlsl_d3d12: Slightly modify the shader model 5.1 shader in test_reflection().
tests/hlsl_d3d12: Get rid of the "is_todo" parameter to check_signature_element_().
tests/hlsl_d3d12: Run test_reflection() with multiple d3dcompiler versions.
tests/hlsl_d3d12: Run test_default_values_reflection() with multiple d3dcompiler versions.
tests/hlsl_d3d12: Run test_signature_reflection() with multiple d3dcompiler versions.
tests/hlsl: Add some tests for invalid I/O semantics.
vkd3d-shader/hlsl: Disallow user-defined pixel shader outputs in shader model 4+ target profiles.
vkd3d-shader/hlsl: Do not validate unused semantic registers in shader model 1-3 target profiles.
vkd3d-shader/hlsl: Take the kind of input/output into account in sm1_usage_from_semantic_name().
vkd3d-shader/hlsl: Do not allow "sv_target" in sm1_usage_from_semantic_name().
vkd3d-utils: Support the ID3D10ShaderReflection interface in D3DReflectVKD3D().
vkd3d-utils: Support the ID3D11ShaderReflection interfaces in D3DReflectVKD3D().
vkd3d-shader/ir: Rename struct shader_signature to struct vsir_signature.
vkd3d-shader/ir: Rename struct signature_element to struct vsir_signature_element.
vkd3d-utils: Support the ID3D10ShaderReflection1 interface in D3DReflectVKD3D().
vkd3d-shader/ir: Get rid of the "input_control_point_count" parameter to control_point_normaliser_emit_hs_input().
vkd3d-shader: Get the output primitive directly from the vsir program in vsir_program_scan().
vkd3d-shader: Get the tessellator partitioning directly from the vsir program in vsir_program_scan().
tests/hlsl_d3d12: Release the shader blobs on error paths in the reflection tests.
tests/hlsl_d3d12: Add some basic thread group size reflection tests.
vkd3d-utils: Require version 40 for compute shader support.
vkd3d-utils: Implement d3d12_reflection_GetThreadGroupSize().
vkd3d-dxbc: Implement updating section data.
vkd3d-shader/ir: Remove VSIR_OP_DCL_INPUT_CONTROL_POINT_COUNT instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_OUTPUT_CONTROL_POINT_COUNT instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_TESSELLATOR_OUTPUT_PRIMITIVE instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_TESSELLATOR_PARTITIONING instructions.
vkd3d-utils: Introduce D3D10ReflectShader().
tests/hlsl_d3d12: Add some STAT reflection tests.
vkd3d-utils: Parse STAT sections in d3d12_reflection_init().
vkd3d-shader/hlsl: Use VSIR_DATA_U32 as structured buffer resource data type.
vkd3d-shader/ir: Validate that the resource data type for raw view descriptors is VSIR_DATA_U32.
vkd3d-shader/ir: Validate that the resource data type for structured view descriptors is VSIR_DATA_U32.
vkd3d-shader/spirv: Use spirv_compiler_error() in image_format_for_image_read().
vkd3d-shader/glsl: Implement support for the VSIR_REGISTER_LOCALTHREADINDEX register.
vkd3d-shader/ir: Rename struct vkd3d_shader_scan_descriptor_info1 to struct vsir_descriptor_info.
vkd3d-shader/ir: Store the array capacity inside struct vsir_descriptor_info.
vkd3d-shader/ir: Rename struct vkd3d_shader_descriptor_info1 to struct vsir_descriptor.
vkd3d-utils: Implement d3d12_reflection_GetMovInstructionCount().
vkd3d-utils: Implement d3d12_reflection_GetMovcInstructionCount().
vkd3d-utils: Implement d3d12_reflection_GetConversionInstructionCount().
vkd3d-utils: Implement d3d12_reflection_GetBitwiseInstructionCount().
vkd3d-utils: Implement d3d12_reflection_GetGSInputPrimitive().
vkd3d-utils: Implement d3d12_reflection_IsSampleFrequencyShader().
vkd3d-shader/spirv: Always load the UAV data as VSIR_DATA_U32 in spirv_compiler_emit_store_uav_raw_structured().
vkd3d-shader/glsl: Implement support for the VSIR_REGISTER_THREADGROUPID register.
vkd3d-shader/ir: Store the formatting flags in struct vsir_compile_info.
vkd3d-shader/ir: Store the "strip_debug" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the "ssbo_uavs" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the "uav_read_without_format" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the "write_tess_geom_point_size" flag in struct vsir_compile_info.
vkd3d-shader/glsl: Implement VSIR_OP_SYNC.
vkd3d-utils: Avoid leaking "name" on error paths in d3d12_type_init().
vkd3d-utils: Avoid leaking fields[] on error paths in d3d12_type_init().
vkd3d-utils: Avoid leaking "name" on error paths in d3d12_variable_init().
vkd3d-utils: Avoid leaking the default value on error in d3d12_variable_init().
vkd3d-utils: Avoid leaking "name" on error paths in d3d12_buffer_init().
vkd3d-shader/glsl: Implement support for the VSIR_REGISTER_LOCALTHREADID register.
vkd3d-shader/ir: Store the default matrix packing order in struct vsir_compile_info.
vkd3d-shader/ir: Store the backward compatibility flags in struct vsir_compile_info.
vkd3d-shader/ir: Store the fragment coordinate origin in struct vsir_compile_info.
vkd3d-shader/ir: Store the feature flags in struct vsir_compile_info.
vkd3d-shader/ir: Store the "child_effect" flag in struct vsir_compile_info.
vkd3d-shader/glsl: Implement VSIR_OP_ATOMIC_IADD.
tests/hlsl_d3d12: Avoid leaking the "errors" blobs in test_preprocess(). (Valgrind)
vkd3d-shader/ir: Store the "warn_implicit_truncation" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the "include_empty_buffers" flag in struct vsir_compile_info.
vkd3d-shader/ir: Store the denormal mode overrides in struct vsir_compile_info.
vkd3d-shader/hlsl: Add DEPTHOUT to io_dcls when outputting depth.
vkd3d-utils: Avoid leaking variables[] on error paths in d3d12_buffer_init().
vkd3d-utils: Avoid leaking buffers[] on error paths in parse_rdef().
vkd3d-utils: Avoid leaking bindings[] on error paths in parse_rdef().
vkd3d-utils: Avoid leaking buffers[] on error paths in d3d12_reflection_init().
vkd3d-utils: Avoid leaking bindings[] on error paths in d3d12_reflection_init().
vkd3d-shader/hlsl: Only consider used uniforms when updating "flat_constant_count" in generate_vsir_descriptors().
vkd3d-shader/ir: Remove VSIR_OP_DCL_TGSM_RAW instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_TGSM_STRUCTURED instructions.
vkd3d-shader/glsl: Implement TGSM loads and stores.
vkd3d-shader/glsl: Handle TGSM in shader_glsl_atomic().
tests: Enable colour output when outputting to a colour capable tty.
tests/d3dbc: Add some tests for sub instructions.
vkd3d-shader/d3dbc: Lower VSIR_OP_SUB instructions.
vkd3d-shader/glsl: Implement VSIR_OP_IMM_ATOMIC_CMP_EXCH.
tests/d3dbc: Add tests for source/destination modifiers.
vkd3d-shader/d3dbc: Lower destination shift modifiers.
vkd3d-shader/d3dbc: Lower BIAS source modifiers.
vkd3d-shader/d3dbc: Lower BIASNEG source modifiers.
vkd3d-shader/d3dbc: Lower SIGN source modifiers.
vkd3d-shader/glsl: Introduce shader_glsl_print_raw_structured_address().
vkd3d-shader/glsl: Try to simplify the address in shader_glsl_print_raw_structured_address().
vkd3d-dxbc: Support colour output in the Win32 build.
vkd3d-shader/d3dbc: Lower SIGNNEG source modifiers.
vkd3d-shader/d3dbc: Lower X2 source modifiers.
vkd3d-shader/d3dbc: Lower X2NEG source modifiers.
vkd3d-shader/d3dbc: Lower COMP source modifiers.
tests/d3dbc: Add some tests for break_cmp instructions.
vkd3d-shader/d3dbc: Lower VSIR_OP_BREAKC instructions.
vkd3d-compiler: Support colour output in the Win32 build.
tests/hlsl: Test f32 to i64/u64 conversion.
vkd3d-shader/spirv: Handle 64-bit destinations in spirv_compiler_emit_ftou().
vkd3d-shader/dxil: Generate signed destination operands for FTOI instructions.
vkd3d-shader/spirv: Handle 64-bit destinations in spirv_compiler_emit_ftoi().
tests: Support colour output in the Win32 build.
tests/hlsl_d3d12: Add ID3D12ShaderReflection_GetResourceBindingDescByName() tests.
vkd3d-utils: Implement d3d12_reflection_GetResourceBindingDescByName().
tests/hlsl_d3d12: Add ID3D12ShaderReflection_GetConstantBufferByName() tests.
vkd3d-utils: Implement d3d12_reflection_GetConstantBufferByName().
tests/hlsl_d3d12: Add ID3D12ShaderReflectionConstantBuffer_GetVariableByName() tests.
vkd3d-utils: Implement d3d12_buffer_GetVariableByName().
vkd3d-utils: Parse the creator string in parse_rdef().
vkd3d-utils: Validate the RD11 field size in parse_rdef().
vkd3d-shader/hlsl: Only use "type" when initialised in generate_signature_entry(). (Valgrind)
tests/hlsl_d3d12: Add ID3D12ShaderReflection_GetVariableByName() tests.
vkd3d-utils: Implement d3d12_reflection_GetVariableByName().
tests/hlsl_d3d12: Add ID3D12ShaderReflectionType_GetMemberTypeName() tests.
vkd3d-utils: Implement d3d12_type_GetMemberTypeName().
tests/hlsl_d3d12: Add ID3D12ShaderReflectionType_GetMemberTypeByName() tests.
vkd3d-utils: Implement d3d12_type_GetMemberTypeByName().
vkd3d-shader/ir: Free the tgsms[] array in vsir_program_cleanup(). (Valgrind)
vkd3d-shader/glsl: Handle swizzles on scalar sources in shader_glsl_print_src().
vkd3d-shader/dxil: Generate signed source operands for FIRSTBIT_SHI instructions.
tests/hlsl_d3d12: Add ID3D12ShaderReflectionVariable_GetBuffer() tests.
vkd3d-utils: Initialise the "buffer" field in d3d12_variable_init().
vkd3d-utils: Handle "null_variable" in d3d12_variable_GetBuffer().
vkd3d-common: Add missing braces to the definition of VKD3D_MUTEX_INITIALIZER.
tests/hlsl: Run bitwise.shader_test on more shader models.
vkd3d-shader/glsl: Implement VSIR_OP_COUNTBITS.
vkd3d-shader/glsl: Implement VSIR_OP_FIRSTBIT_LO.
vkd3d-shader/ir: Lower FIRSTBIT_HI and FIRSTBIT_SHI instructions.
vkd3d-shader/glsl: Implement VSIR_OP_ILOG2.
vkd3d-shader/glsl: Implement VSIR_OP_ULOG2.
vkd3d-utils: Handle NULL "desc" pointers in d3d12_reflection_GetDesc().
vkd3d-utils: Handle NULL "desc" pointers in d3d12_reflection_GetResourceBindingDesc().
tests/hlsl_d3d12: Test compile flags reflection.
vkd3d-utils: Parse the compile flags in parse_rdef().
tests/hlsl_d3d12: Test invalid blob reflection.
vkd3d-utils: Return the expected error codes from D3DReflectVKD3D() for invalid DXBC blobs in version >= 43.
vkd3d-utils: Handle NULL "data" pointers with non-zero "data_size" in d3d12_reflection_init().
vkd3d-shader/ir: Lower VSIR_OP_FIRSTBIT_SHI to VSIR_OP_FIRSTBIT_HI for the MSL target.
tests/hlsl_d3d12: Test ID3D12ShaderReflectionType_IsEqual().
vkd3d-utils: Implement d3d12_type_IsEqual().
vkd3d-shader/ir: Slightly simplify vsir_program_lower_clz().
tests/hlsl_d3d12: Add a basic interface reflection test.
vkd3d-shader/ir: Allow indirect addressing of descriptor IDs.
vkd3d-shader/tpf: Clone indirect indices of descriptor operands in shader_sm4_read_param().
vkd3d-shader/ir: Allow VSIR_REGISTER_FUNCTIONBODY label operands.
vkd3d-utils: Do not fail when "rd11->zero" is non-zero in parse_rdef().
Matteo Bruni (1):
vkd3d-utils: NULL-check the standard include initial filename.
Nikolay Sivov (5):
vkd3d-shader/fx: Support writing numeric state entries in passes for fx_2_0.
vkd3d-shader/fx: Use the global variable list instead of the externs list when writing fx_2_0 parameters.
vkd3d-shader/fx: Add support for writing shader object initializers for fx_2_0.
vkd3d-shader/fx: Use the globals list when writing fx_4+ objects.
vkd3d-shader/fx: Use the globals list when writing buffers.
Simon McVittie (2):
demos: Use STT_OBJECT instead of @object in the DEMO_ASM_OBJECT_TYPE macro.
tests/d3d12: Mark some NaN corner-cases as expected to fail on ppc64el.
Victor Chiletto (2):
tests/d3d12: Test D3D_COMPILE_STANDARD_FILE_INCLUDE with absolute paths.
tests/d3d12: Test D3D_COMPILE_STANDARD_FILE_INCLUDE with NULL paths.
```
1
0
The Wine development release 11.16 is now available.
What's new in this release:
- Mono engine updated to version 11.3.0, including ARM64 support.
- Hardware video decoding using VA-API.
- Improved exception handling on ARM64EC.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.16.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.16 (total 35):
- #19160 Orly's Draw-A-Story demo crashes on startup (dmDriverExtra is not initialized)
- #26040 Odell Down Under Demo: Pagefault on read access when moving fish around the map
- #29451 pmd85 emulator - toolbar icons missing
- #32783 Siemens Automation License Manager installer (part of SIMATIC STEP 7 Lite SP4) fails to start ALM service (Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider missing)
- #33600 Klik and Play crash on modify / create game option
- #35732 Adobe CC (Creative Cloud) installer crashes inside msxml3
- #40526 "Pettersson und Findus" does not start
- #40945 Post provider setup of WMI core 1.5 installer crashes in wbemprox
- #42062 silhouette studio : installation frozen
- #42226 No ingame sfx audio when CD Audio playing with builtin dsound in Ignition
- #46392 Commandos: Behind Enemy Lines videos aren't played
- #46559 Visual C++ Build Tools 2015 hangs on install
- #47785 CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG not taken into account
- #49792 pfx import does not works
- #49837 Just Grandma and Me (win16) softlock. Win16Mutex wait timed out
- #50824 ISdone.dll error 5, something releated to insufficient virtual memory
- #52201 Backpacker crashes on launch
- #56565 Command and Conquer 3 Tiberium Wars installer crashes
- #56887 Total Commander ftps connection (TLS1.2)
- #57669 Suspicious behavior of rundll32.exe
- #58530 regedit /e should exit silently on failure
- #58698 Application goes into an infinite loop under new wow64 but works okay under old wow64
- #59642 Stratego (1997): Jittery mouse pointer / cursor
- #59726 Syscall emulation on Linux using Syscall User Dispatch broken with glibc < 2.34
- #59757 SteelSeries GG 110.0 crashes on startup in .NET System.Security.Cryptography.X509Certificates.StorePal.Export
- #59977 Acrobat Reader DC locks up opening a PDF directly with "wine some.pdf"
- #60029 Broken cursor in Star Citizen inventory + terminal menu
- #60125 Yabridge overlaping windows on some WM produce dead zone for input
- #60141 CertCreateSelfSignCertificate with default parameters makes insecure RSA 512 cert
- #60142 CertGetCertificateContextProperty does not support CERT_SIGN_HASH_CNG_ALG_PROP_ID
- #60152 WineWayland driver doesn't work anymore in Wine 11.15
- #60158 Steam fails to launch
- #60162 WPF apps crash on startup (x86 only?)
- #60164 WebView2 mouse hit testing is vertically offset under X11
- #60198 X11 fullscreen borderless non-decorated window's surface offset by Wine's window borders
### Changes since 11.15:
```
Alex Henrie (2):
riched20: Set value to 0 in TextPara_GetAlignment.
krnl386: Respect the MOVEABLE flag in AllocResource16.
Alexandre Julliard (23):
ntdll: Export the helper function to allocate object attributes.
server: Use standard object attributes for window stations and desktops.
configure: Make the non-PE build an error unless --without-mingw is specified.
user32: Pass valid security descriptors when creating user objects.
user32: Implement Get/SetUserObjectSecurity().
server: Don't check access rights on newly-created desktop.
server: Set the object name parent also for desktops.
server: Use the root directory as winstation handle in create_desktop.
ntdll: Ignore dlls of the wrong architecture during bootstrap.
ntdll: Force running wineboot.exe with the native architecture.
win32u: Force running explorer.exe with the native architecture.
wineboot: Force running services.exe and rundll32.exe with the native architecture.
server: Return correct status on overflow in desktop_get_full_name().
wow64: Enforce a valid low limit in extended memory parameters.
ntdll: Don't try to allocate past the specified limits in map_free_area().
ntdll: Reserve some space for top-down allocation in large address aware mode.
ntdll: Avoid overflow in NtQueryVirtualMemory() in old wow64 mode.
ntdll: Set a 32-bit limit on cross-process allocations in old wow64 mode.
kernel32/tests: Move the large page test to virtual.c.
kernelbase: Fetch the large page minimum size from the user shared data.
kernel32/tests: Add some tests for MEM_PHYSICAL and MEM_LARGE_PAGES.
ntdll: Add parameter checks for MEM_LARGE_PAGES in NtAllocateVirtualMemory().
ntdll: Support the MEM_PHYSICAL flag in NtAllocateVirtualMemory().
Alistair Leslie-Hughes (1):
wintrust: Add parameter check in WTHelperGetProvCertFromChain.
Aric Stewart (2):
coreaudio: Report USB device PKEY_Device_InstanceId.
mmdevapi: Propagate the hardware Device_InstanceId.
Bernhard Übelacker (2):
winhttp: Avoid heap-use-after-free with WINHTTP_OPTION_SERVER_CBT.
wow64win: Add structure conversions in wow64_NtUserGetPointerInfoList.
Brendan McGrath (18):
windows.gaming.input: Allow gamepad added callback to be registered before initializing providers.
quartz/tests: Add test stub for color space converter.
quartz/tests: Add test for filter registration.
quartz/tests: Add interface tests for colorconv.
quartz/tests: Add aggregation test.
quartz/tests: Add enum pin test.
quartz/tests: Add find pin test.
quartz/tests: Add pin info test.
quartz/tests: Add media types test.
quartz/tests: Add enum media types test.
quartz/tests: Add unconnected filter state test.
quartz/tests: Add connect pin test.
quartz/tests: Add sink allocator test.
quartz/tests: Add filter state test.
quartz/tests: Add sample processing test.
quartz/tests: Test content of image.
quartz/tests: Test dynamic format change.
quartz/tests: Add streaming events test.
Brendan Shanks (3):
ntdll: NtQuerySystemInformation(SystemProcessorBrandString) is only supported on i386 and x86_64.
ntdll: Populate the CPU name and vendor on ARM64 macOS.
ws2_32/tests: Remove faulty inet_addr() test.
Carl-Friedrich Braun (2):
rsaenh: Use SymCryptAesKeyCopy() when duplicating AES keys.
rsaenh/tests: Test that a duplicated AES key encrypts identically.
Conor McCarthy (11):
bcrypt/tests: Test non-HMAC BCryptHash() with a secret.
bcrypt/tests: Test BCryptDeriveKey() with secret buffers.
bcrypt: Return INVALID_PARAMETER from BCryptHash() if the input secret is not used.
bcrypt: Handle prepended secret buffers in BCryptDeriveKey() for KDF_HASH.
wbemdisp/tests: Test ISWbemObjectPath::DisplayName.
wbemdisp/tests: Test ISWbemObject set enumeration.
wbemdisp: Handle null output pointer in enumvar_Next().
wbemdisp: Add ISWbemObjectPath stub implementation.
wbemdisp: Partially implement get ISWbemObjectPath::DisplayName.
wbemdisp: Implement ISWbemObject::GetTypeInfo().
wbemdisp: Return null object on failure of QueryInterface().
Deep Agrawal (2):
kernelbase: Implement ReadConsoleInputEx.
kernelbase: Reimplement PeekConsoleInput and ReadConsoleInput on top of ReadConsoleInputEx.
Elizabeth Figura (25):
xaudio2: Release the correct lock on failure in CreateSourceVoice().
wined3d: Introduce a stub VA decoder backend.
wined3d: Allocate the bitstream on CPU for the VA backend.
win32u: Enable VK_EXT_physical_device_drm and VK_EXT_external_memory_dma_buf.
wined3d: Query VA for H.264 support.
wined3d: Create a VA decoding session.
wined3d: Share VA surfaces with Vulkan.
wined3d: Implement VA H.264 decoding.
mountmgr: Pass the device type to IoCreateDevice().
mountmgr: Pass characteristics to IoCreateDevice().
mountmgr: Rename the "serial" field of struct disk_device to "disk_serial".
mountmgr: Consistently use "unix_device" for variables representing the Unix block device path.
mountmgr: Move unix_mount to struct volume.
mountmgr: Document the difference between struct disk_device and struct volume.
mountmgr: Rename harddisk_* to disk_*.
mountmgr.sys: Handle IRP_MJ_CREATE.
ndis: Handle IRP_MJ_CREATE.
nsiproxy: Handle IRP_MJ_CREATE.
winebth: Handle IRP_MJ_CREATE.
mouhid: Handle IRP_MJ_CREATE.
wined3d: Pass a VkImageCreateInfo to wined3d_context_vk_create_image().
d3d11: Plumb resource sharing flags to wined3d.
d3d11: Validate shared resource flags.
wined3d: Make WINED3D_TEXTURE_GENERATE_MIPMAPS a usage flag.
wined3d: Try to perform CPU copy in wined3d_texture_update_sub_resource().
Eric Pouech (2):
cmd: Revert AI generated code.
widl: Handle boolean as template parameter.
Esme Povirk (2):
appwiz.cpl: Move architecture to addon_info_t.
mscoree: Update Wine Mono to 11.3.0.
Francisco Casas (1):
wined3d: Don't call vulkan functions with 0 attachments on wined3d_context_vk_update_blend_state().
Gabriel Ivăncescu (1):
mshtml: Don't leak the attribute after forwarding in setAttributeNode.
Hans Leidekker (1):
crypt32: Support CertGetCertificateContextProperty(CERT_SIGN_HASH_CNG_ALG_PROP_ID).
Henri Verbeet (1):
d3dcompiler_46: Return E_NOINTERFACE from D3DReflect() for unsupported interfaces.
Hugo Osvaldo Barrera (1):
winex11: Fix use-after-free in GL_EXTENSIONS string.
Ivan Ivlev (9):
comctl32/tests: Test wrapping for fixed size toolbar and autosized buttons.
comctl32/toolbar: Add TOOLBAR_AutoSizeButtonWidth from LayoutToolbar as a separate function.
comctl32/toolbar: Use TOOLBAR_AutoSizeButtonWidth in WrapToolbar.
comctl32/toolbar: Remove redundant toolbar wrapping logic.
ntdll/tests: Test NtAllocateVirtualMemory user address limit.
ntdll/tests: Test NtMapViewOfSection user address limit.
ntdll/tests: Test NtAllocateVirtualMemoryEx user address limit.
ntdll/tests: Test NtMapViewOfSectionEx user address limit.
ntdll: Validate virtual memory ranges against the user address limit.
Jacek Caban (7):
winegcc: Disable safeseh by default.
ntdll: Fix CONTEXT_ARM64_X18 handling when setting another thread's context.
ntdll: Move KiUserEmulationDispatcher setup to syscall dispatcher exit code.
ntdll: Setup KiUserEmulationDispatcher in usr1_handler when needed.
ntdll: Set InSimulation before returning to KiUserEmulationDispatcher from the kernel side.
ntdll: Don't use entry thunk context in RtlRaiseException.
ntdll: Preserve exception flags when converting between x64 and arm64 context flags.
Ken Sharp (3):
regedit: /e should exit silently if key not found.
ntdll: Remove debug_init declaration.
ntdll: Avoid sign extension when parsing MaxVersionTested.
Matteo Bruni (1):
win32u: Fix get_locale_data() table entry lookup.
Nikolay Sivov (19):
oleaut32/tests: Add a test for Invoke() with typeinfo from CreateDispTypeInfo().
oleaut32/typelib: Make it possible to Invoke() through COCLASS type.
msxml3: Remove commented out leftover line.
msxml3/tests: Add one more test for document dirty state.
msxml3/tests: Add some tests for supported interfaces for XMLHTTP objects.
comctl32/tests: Add more tests for TCM_SETCURFOCUS.
comctl32/tests: Remove trace noise from the Tab tests.
comctl32/tab: Ignore negative index TCM_SETCURFOCUS for TCS_BUTTONS controls.
comctl32/tests: Add a Tab test for switching focus from -1 value.
comctl32/tab: Fix switching focus from unset state.
comctl32/tab: Update item pressed state on focus change.
d3d10/tests: Add some state block capture tests with disabled fields.
d3d10/stateblock: Fix mask checks for byte-sized fields.
d3dx10/sprite: Check for the Begin/End state in affected methods.
d3dx10/tests: Add some tests for the sprite state saving feature.
d3dx10/sprite: Partially implement state restore functionality.
d3dx10/sprite: Collect sprites on DrawSpritesBuffered().
include: Add some matrix functions prototypes to d3dx10math.h.
d3dx10/tests: Add some sprites rendering tests.
Paul Gofman (20):
ntdll: Implement NtQuerySystemInformation( SystemNumaProcessorMap ).
kernelbase: Implement GetNumaHighestNodeNumber().
kernel32: Implement GetNumaProcessorNode[Ex]().
kernel32: Add FIXME to GetNumaProximityNode() stub.
kernelbase: Implement GetNumaNodeProcessorMask[Ex]().
kernelbase: Add FIXME to GetNumaProximityNodeEx().
ntdll/tests: Remove spurious pointer advance in test_query_numa_map().
ntdll: Check iosb for FSCTL_GET_OBJECT_ID in open_dll_file().
quartz/tests: Add tests for implicit fullscreen support by filter graph.
quartz: Implement BaseControlWindowImpl_GetRestorePosition().
quartz: Introduce fullscreen mode emulation in filtergraph.
quartz: Implement entering and leaving emulated fullscreen mode.
ntdll: Add WAYLAND_DISPLAY to ignored variables list.
msvcrt: Introduce asm wrapper for _isatty on x64.
winhttp: Support WINHTTP_QUERY_FLAG_NUMBER64 with WINHTTP_QUERY_CONTENT_LENGTH.
msvcrt: Always set WX_TEXT flag when importing std handles.
msvcrt: Initialize std handles in a loop in msvcrt_init_io().
msvcrt: Don't update system std handles in msvcrt_init_io().
msvcrt: Also inherit WX_ATEOF and WX_READNL attributes.
ntdll: Treat 'reached_thread_count > total_thread_count' the same as equal in RtlBarrier().
Piotr Caban (18):
include: Add SECPKG_CALL_* definitions.
secur32: Don't convert authentication identity in lsa_AcquireCredentialsHandleA.
secur32: Handle memory allocated with lsa_AllocateClientBuffer in FreeContextBuffer.
msv1_0: Use GetCallInfo to obtain thread and process id.
msv1_0: Fix client buffer handling in ntlm_SpQueryCredentialsAttributes.
msv1_0: Fix client buffer handling in ntlm_SpQueryContextAttributes.
kerberos: Handle SEC_WINNT_AUTH_IDENTITY_EX in SpAcquireCredentialsHandle.
kerberos: Use LSA_SECPKG_FUNCTION_TABLE to call Lsa functions.
kerberos: Fix client buffer handling in kerberos_SpQueryContextAttributes.
secur32: Pass unmodified authentication data from nego_SpAcquireCredentialsHandle().
msv1_0: Fix auth_data client buffer handling in ntlm_SpAcquireCredentialsHandle.
kerberos: Fix auth_data client buffer handling in kerberos_SpAcquireCredentialsHandle.
msv1_0: Map SecBuffer data before accessing it in ntlm_SpInitLsaModeContext and ntlm_SpInitLsaModeContext.
kerberos: Map SecBuffer data before accessing it in kerberos_SpInitLsaModeContext and kerberos_SpAcceptLsaModeContext.
secur32: Initialize user mode handle in lsa_InitializeSecurityContextW.
secur32: Initialize user mode handle in lsa_AcceptSecurityContext.
secur32: Don't access Lsa mode data in negotiate user mode functions.
msv1_0: Don't access Lsa mode data in user mode functions.
Ralf Habacker (2):
ntdll: Fix some SIMD exception codes.
ntdll/tests: Add SIMD exception test for floating point overflow operation fault.
Rémi Bernon (37):
win32u: Avoid a race condition when releasing / detaching a client surface.
win32u: Keep unused client surfaces around and reuse them if possible.
opengl32: Move wglCopyContext implementation to the PE side.
opengl32: Keep vendor / renderer strings in opengl_client_context.
opengl32: Keep context version string in opengl_client_context.
opengl32: Move debug callback / user pointers to opengl_client_context.
opengl32: Optionally return client context from get_current_context.
opengl32: Move unix-side context wrapper allocation to win32u.
win32u: Remove wgl functions that aren't doing anything.
user32/tests: Cleanup AttachThreadInput tests.
user32/tests: Test that thread input attachments are refcounted.
server: Move desktop check out of attach_thread_input.
server: Pass desktop instead of thread to create_thread_input.
server: Assume thread queues are valid in attach_thread_input.
user32/tests: Improve reparenting tests with different DPI awareness.
server: Check DPI awareness contexts when reparenting windows.
server: Don't change DPI awareness context when reparenting.
win32u: Avoid calling monitor_dpi_from_rect when creating the desktop window.
server: Return the visible rect from get_window_rectangles request.
server: Use the receiving window thread for set_window_rect_visible.
opengl32: Set glTable before calling init_client_context.
win32u: Allocate a proper opengl_context struct for internal contexts.
win32u: Use toplevel visible rect relative position for client surfaces.
win32u: Latch the client surface sizes in the opengl_drawable struct.
opengl32: Initialize the scissor box when making context current.
opengl32: Restore read and draw buffers when popping default FBOs.
win32u: Move framebuffer_surface_resize into framebuffer_surface_flush.
win32u: Introduce helpers to resize / destroy framebuffer attachments.
server: Update both shared input at once in assign_thread_input.
server: Update shared input keystate in assign_thread_input.
server: Update focus and active windows in assign_thread_input.
server: Detach the parent window thread input when reparenting.
server: Implement thread input attachments refcounting.
opengl32: Wrap glGetFramebufferParameteriv separately from its extensions.
opengl32: Ignore the currently bound FBO in glGetFramebufferParameterivEXT.
winex11: Use the client surface monitor rect for offscreen present.
winex11: Allow child D3D presentation on fullscreen exclusive toplevel.
Rüdiger Lenz (1):
winex11: Preserve fractional raw mouse motion.
Santino Mazza (1):
d2d1: Implement DrawSpriteBatch() command list recording.
Stefan Dösinger (3):
wined3d: Don't delay-clear backbuffers except to black.
d3d11/tests: Test delayed clear RGB/sRGB mismatch.
d3d10/tests: Synchronize test_swapchain_views with d3d11.
Thomas Portal (1):
winebus.sys: Report USB class compatible IDs.
Tobiasz Laskowski (10):
jscript/tests: Ensure windows run uses jscript.dll.
comctl32/tests: Check multicolumn listbox redraw.
user32/tests: Check multicolumn listbox redraw.
comctl32/listbox: Fix SetRedraw top item handling.
user32/listbox: Fix SetRedraw top item handling.
gdiplus/tests: Check drawimage without attributes.
gdiplus/metafile: Allow drawimage without attributes.
gdiplus/tests: Check drawimage corner colors.
gdiplus/metafile: Fix emf+ image rendering.
gdiplus/tests: Clean up converged cases.
Zhiyi Zhang (12):
jscript: Separate keyword searching from parsing.
jscript: Support Unicode characters in identifiers.
jscript/tests: Add ES3 identifier tests.
mshtml/tests: Add ES5 identifier tests.
dinput/tests: Test setting two actions with the same control identifier.
dinput: Check device GUID in init_object_app_data().
winemac.drv: Hide client_view when flushing window surfaces.
winex11.drv: Allow ConfigureRequest events when the window is maximized.
mmdevapi: Use MulDiv() to avoid rounding errors.
winecoreaudio: Set the requested period frame size when creating audio streams.
winecoreaudio: Add a helper to get device sample rate.
winecoreaudio: Return the actual Core Audio device period frame size.
```
1
0
The Wine development release 11.15 is now available.
What's new in this release:
- More KDF algorithms in BCrypt.
- Support for ARM64EC build in Mingw mode.
- More format conversions in WindowsCodecs.
- Support for local NTLM authentication.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.15.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.15 (total 41):
- #4811 MSXML3: XMLDOMDocument cannot be queried for IStream interface
- #11595 Notepad++ versions prior to 6.9 freeze if native application changes a file it has open when not in a virtual desktop (dogfood)
- #20584 Lemmings Revolution - Crash on exit.
- #21940 Rise of Legends Demo crashes with null pointer reference in msxml3?
- #23319 cmd thinks shift.exe is an internal command
- #30239 Multiple Adobe CS6 trial installers fail to initialize, reporting 'Exception caught while getting payloads data combined. Error #1090'
- #33984 Nokia Music Player: extraneous transparent gray border in installer window
- #35727 Tom Clancy's Rainbow Six: Lockdown Demo wrong players and weapon rendering
- #37896 EM_SETPASSWORDCHAR ineffective on multiline edit controls
- #43031 popen() hangs when both stdin and stdout are closed
- #50109 conhost: write_console beep doesn't produce a beep
- #54928 exclamation mark ! in string missing if EnableDelayedExpansion
- #55198 QuickBooks SS 2009 installer crash
- #55447 wine cannot parse valid javascript
- #56399 cmd.exe's %~s modifier (short DOS path) expands to mixed short/long format
- #57967 Wrong Z-order in Browse for Folder from MPC-HC 1.7.13
- #58112 Unimplemented function KERNEL32.dll.InitializeSynchronizationBarrier
- #59073 Washed out colors in OpenGL
- #59436 Wayland/EGL: Washed-out colors caused by double sRGB conversion on default framebuffer (GL_FRAMEBUFFER_SRGB)
- #59898 Wine on aarch64 fails on linux with CONFIG_ARM64_VA_BITS=39
- #59926 CharPrevA/CharPrevExA crash on NULL start pointer (MapleStory 216150 fails to launch)
- #59970 monitor_get_dpi will get zero dmPelsWidth/dmPelsHeight in both physical/current cause divide by zero
- #59980 Final Fantasy XI Online: Unexpected Right Shift behaviour.
- #59986 Mouse misbehaves in Steam
- #59998 Multiple applications freeze (Mugen, Touhou 8, Final Burn Neo)
- #59999 Application (e. g. WinSCP) freeze after resize its window
- #60002 YNAB 4 mouse position incorrect
- #60005 Pegasus hangs and crashes
- #60012 HOTAS controlls by WinWing are not recognized and even aggresively mapped as some x-box controller.
- #60023 Dialogs in some applications are rendered at a quarter of their actual size in Wine 11.13 under certain conditions, e.g. DPI = 144 (IrfanView, WinSCP)
- #60036 WMI queries via PS Core do not work with mono.
- #60037 Fixed resolution 4:3 fullscreen apps on Wayland have their content offset and present some undefined padding area
- #60046 Multiple 32-bit applications including wine builtins (winecfg / regedit / etc.) crash under wine-11.13.
- #60051 KakaoTalk intermittently hangs
- #60057 gdiplus: GdipCloneBitmapArea drops trailing pixels for 1bpp/4bpp bitmaps with non-byte-aligned width
- #60063 shell32: SHBrowseForFolder crashes when an application passes an invalid BROWSEINFO.pidlRoot
- #60068 wminet_utils: implement GetErrorInfo()
- #60069 WordPerfect 7 installation fails
- #60088 ole32/storage: extra trailing NUL byte written into name of stream nested in a substorage (breaks MS Publisher .pub file portability)
- #60093 Unable to combine 32 bit arm with i386 emulation on aarch64
- #60120 Amnesia: Rebirth crashes after the splash screens
### Changes since 11.14:
```
Alex Dujardin (4):
windowscodecs: Add 32bppBGRA, 32bppPBGRA -> 64bppPRGBA conversion.
windowscodecs: Add 64bppPRGBA -> 128bppRGBAFloat conversion.
windowscodecs: Add 64bppPRGBA -> 128bppPRGBAFloat conversion.
windowscodecs: Remove incorrectly added bound check.
Alex Henrie (3):
kernelbase: Make Char(Next|Prev)A call Char(Next|Prev)ExA.
kernelbase: Search backwards in CharPrevExA.
user32/tests: Add tests for CharPrev(Ex)A.
Alexandre Julliard (28):
wmc: Remove an unused variable.
install: Remove an unused variable.
server: Pass unicode_str objects by value where possible.
server: Add a structure to store object initialization parameters.
server: Pass an object parameters structure to create_named_object().
server: Pass an object parameters structure to open_named_object().
server: Add an init() object operation.
server: Implement the init() operation for events.
server: Implement the init() operation for mutexes.
server: Implement the init() operation for semaphores.
server: Implement the init() operation for timers.
server: Implement the init() operation for debug objects.
server: Implement the init() operation for ALPC ports.
server: Implement the init() operation for completion objects.
server: Implement the init() operation for directories.
server: Implement the init() operation for symlinks.
server: Implement the init() operation for mailslots.
server: Implement the init() operation for named pipes.
server: Implement the init() operation for devices.
server: Implement the init() operation for sections.
server: Implement the init() operation for registry keys.
server: Implement the init() operation for reserve objects.
server: Implement the init() operation for job objects.
server: Implement the init() operation for window stations and desktops.
server: Move the name length check into open_named_object().
server: Add a helper to create an object and its handle.
symcrypt: Don't enforce any alignment in non-PE builds.
ntdll: Redirect to sysarm32 directory on ARM wow64.
Alfred Agrell (3):
vidreszr: Register the correct media types.
vidreszr: Implement CResizerDMO by piggybacking on CColorConvertDMO.
mf: Add tests for video resizer DMO.
Alistair Leslie-Hughes (5):
include: Add more defines in wdm.h.
include: Add more defines in fltkernel.h.
include: Add Flag* defines.
include: Add fltuser.h.
include: Add fltuserstructures.h.
Allan Vester (2):
bcrypt: Add tests for BCRYPT_INITIALIZATION_VECTOR.
bcrypt: Support BCRYPT_INITIALIZATION_VECTOR.
Arkadiusz Hiler (1):
winebus: Fix initial axis values for evdev gamepads.
Attila Fidan (2):
shell32/tests: Test SHBrowseForFolderW() with CSIDL values.
shell32: Accept CSIDL values in SHBrowseForFolderW().
Barath Kannan (1):
conhost: Add beep functionality to write_console.
Benoît Legat (1):
crypt32: Ignore trailing bytes past the outer SEQUENCE in PFXImportCertStore.
Bernhard Übelacker (3):
win32u: Fix off-by-one in kbdus_tables.
comctl32/tests: Add test of LM_GETIDEALSIZE being more greedy in width.
comctl32_v6: Improve LM_GETIDEALSIZE to be more greedy in width.
Billy Laws (1):
ntdll: Add RtlWow64SuspendThread semi-stub implementation.
Brendan Shanks (5):
dinput/tests: Fix tests that are faulty because of == vs ?: operator precedence.
msado15/tests: Fix typos.
advapi32/tests: Fix typo.
msvcp120/tests: Fix tests that are faulty because of == vs ?: operator precedence.
ucrtbase/tests: Fix tests that are faulty because of == vs ?: operator precedence.
Conor McCarthy (1):
mfreadwrite: Do not return NEED_MORE_INPUT from source_reader_push_transform_samples().
Dan Fraser (1):
dnsapi: Add stubs for the DNS-SD service entry points.
Dean M Greer (1):
documentation: Update macOS version.
Elizabeth Figura (11):
d3d11/tests: Shrink NV12 test textures a bit.
wined3d: Separate a surface_cpu_blt_plane() helper.
wined3d: Implement planar CPU blits.
d3d11/tests: Test planar CPU blits.
wined3d: Separate a wined3d_decoder_vk_prepare_image() helper.
wined3d: Separate a wined3d_decoder_vk_create_layered_image() helper.
wined3d: Separate a wined3d_decoder_vk_destroy_images() helper.
wined3d: Handle dynamic resizing of the H.264 stream.
win32u: Make win32u_vkDestroySwapchainKHR() static.
win32u: Do not use EXT_external_memory_dma_buf.
ntdll: Search for the library containing sa_restorer.
Eric Pouech (3):
winedbg: Support larger strings in DebugString.
winedbg: Let 'maint module' be a bit more useful.
winedbg: Support watch operation larger than 4 bytes.
Esme Povirk (2):
winedump: Use the Length from the metadata header.
winedump: Handle incremental CLR images.
Etaash Mathamsetty (1):
winewayland: Use the visible rect for toplevel rect.
Hans Leidekker (10):
bcrypt: Add support for BCRYPT_TLS1_{1,2}_KDF_ALGORITHM.
bcrypt: Support retrieving hash block length.
bcrypt: TLS1 KDF label is optional.
bcrypt: Add support for BCRYPT_HKDF_ALGORITHM.
msi: Close the RPC connection on dll unload.
secur32: Use bcrypt to hash the certificate in schan_QueryContextAttributesW().
winhttp: Support WinHttpQueryOption(WINHTTP_OPTION_SERVER_CBT).
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS).
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT).
crypt32: Use the strong provider in CertCreateSelfSignCertificate().
Henri Verbeet (1):
wined3d: Add GPU information for AMD REMBRANDT.
Iliya Andrienko (2):
gdiplus: Fix convert_pixels() rounding down bytes.
gdiplus: Add sub-byte formats logic to GdipImageRotateFlip.
Jacek Caban (2):
winegcc: Always add Clang target options to the compiler command when building ARM64X image.
ntdll: Run native-ready .net applications as ARM64EC on ARM64.
Jannis Lübke (3):
wined3d: Don't hold wined3d cs mutex when waiting for frame latency.
d3dx9/tests: Add tests for D3DXIntersect() and D3DXIntersectSubset().
d3dx9: Implement D3DXIntersect() and D3DXIntersectSubset().
Ken Sharp (1):
po: Update English resource.
Lokesh Poovaragan (4):
jscript: Don't insert implicit semicolon after '.' in member expressions.
cmd: Handle caret escape in delayed expansion.
cmd/tests: Add tests for %~s short path modifier.
cmd: Fix %~s modifier to produce fully short paths.
Louis Lenders (7):
wminet_utils: Add NextMethod.
wminet_utils: Add EndMethodEnumeration.
wminet_utils: Add GetMethod.
wminet_utils: Add GetMethodQualifierSet.
wminet_utils: Add QualifierSet_Get.
wminet_utils: Add GetPropertyQualifierSet.
wminet_utils: Add GetErrorInfo.
Maotong Zhang (2):
comctl32/tests: Add test for RBBS_VARIABLEHEIGHT band height handling.
comctl32: Clamp child height when cyIntegral is zero.
Martin Storsjö (2):
include: Use __atomic_exchange_n on Clang.
include: Fix building for arm64ec in mingw mode.
Matteo Bruni (3):
winex11: Get rid of special handling for right shift in X11DRV_GetKeyNameText().
win32u: Don't ignore raw mouse input.
d3dx9/tests: Fix a flaky D3DXWeldVertices() test.
Nello De Gregoris (1):
ntoskrnl.exe: Add stub for KeGetCurrentIrql().
Nikolay Sivov (20):
comdlg32/filedlg: Return current path as is for CDM_GETFILEPATH if it's absolute.
ole32/storage: Update name size field on rename.
msxml3/tests: Add a test for the document stream.
msxml3/tests: Add another stream read test.
msxml3: Write out UTF-16 BOM in save().
msxml3/tests: Extend a test with multiple writing streams.
msxml3/tests: Adjust stream test XML data.
msxml3/stylesheet: Improve processor output object management.
msxml3/dom: Add IStream support for the document object.
msxml3: Remove now unnecessary workaround in save().
msxml3: Use ISequentialStream internally for save().
msxml3: Explicitly handle ISequentialStream in save().
msxml3: Add explicit messages for currently unsupported destination types in save().
comdlg32/tests: Add a CDM_SETCONTROLTEXT(edt1) test.
comdlg32: For CDM_SETCONTROLTEXT(edt1) always use current file control.
msxml3: Handle null destination object in save().
msxml3/tests: Add a test for loading from a document.
msxml3: Remove workaround when loading from a document in load().
include: Add IRequest definition.
msxml3: Explicitly check and warn about currently unsupported source types in load().
Paul Gofman (10):
winebus: Avoid spurious device recreation in process_inotify_event().
kernel32/tests: Add tests for unhandled exception filter with BeingDebugged PEB flag set.
kernel32/tests: Add tests for unhandled exception filter under debugger.
kernelbase: Query debug port instead of BeingDebugged PEB flag in UnhandledExceptionFilter().
crypt32: Avoid adding spurious line separator in encodeBase64[A/W]().
crypt32: Fix output string tracing in quote_rdn_value_to_str_w().
winhttp: Handle incorrect handle state when querying WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT.
winhttp: Use chain established in netconn_verify_cert() for WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT.
cmd/tests: Add test for console mode change.
cmd: Set console mode in node_execute().
Piotr Caban (23):
secur32/tests: Add NTLM QueryCredentialsAttributes(SECPKG_CRED_ATTR_NAMES) tests.
msv1_0: Use calloc to allocate credentials handle in ntlm_SpAcquireCredentialsHandle.
msv1_0: Add ntlm_SpQueryCredentialsAttributes stub.
msv1_0: Add ntlm_SpQueryCredentialsAttributes implementation.
msv1_0: Hide password in logs.
msv1_0: Remove FLAG_NEGOTIATE_* defines and use NTLMSSP_NEGOTIATE_* instead.
ntoskrnl: Implement IoGetRequestorProcessId.
msv1_0: Implement in-process NTLM local authentication.
msvcr120/tests: Restore exp() tests.
ucrtbase: Fix exp(NAN) handling.
msv1_0: Don't overwrite output buffer when getting session key.
include: Declare SEC_WINNT_AUTH_IDENTITY_EX2.
secur32/tests: Add SspiMarshalAuthIdentity tests.
secur32/tests: Add SspiUnmarshalAuthIdentity tests.
sspicli: Handle more auth identity formats in SspiZeroAuthIdentity.
sspicli: Handle more auth identity formats in SspiEncodeAuthIdentityAsStrings.
sspicli: Handle more auth identity formats in SspiPrepareForCredWrite.
sspicli: Change auth identity format returned by SspiEncodeStringsAsAuthIdentity.
sspicli: Use LocalAlloc/LocalFree when allocating auth identity.
sspicli: Handle more auth identity formats in SspiFreeAuthIdentity.
secur32: Implement SspiMarshalAuthIdentity() and SspiUnmarshalAuthIdentity().
secur32: Pass stub LSA_SECPKG_FUNCTION_TABLE to SpInitialize.
msv1_0: Get clients process id and thread id using LSA functions table.
Rick Rey (1):
winebus.sys: Prefer hidraw for (some) switch 1 controllers.
Rémi Bernon (10):
opengl32: Use unsigned handle entry pointer index.
opengl32: Add some missing SetLastError on invalid handles.
win32u: Use system DPI as monitor DPI for detached sources.
user32/tests: Fix monitor DPI awareness tests when system DPI isn't 96.
user32/tests: Test window DPI context and monitor DPI in CBT hooks.
user32/tests: Check child window DPI awareness and monitor changes.
win32u: Lock host window state updates when applying new state.
opengl32: Pass NULL object array pointers through.
dinput/tests: Fix incorrect GetOverlappedResult test expectation.
win32u: Pass initial monitor DPI to the window creation request.
Santino Mazza (3):
d2d1/tests: Add some tests for sprite batches.
d2d1: Implement sprite batch object methods.
cmd: Fix usage of uninitialized variable in node_build_parse.
Thomas Portal (2):
dnsapi: Implement DnsServiceConstructInstance() and DnsServiceFreeInstance().
dnsapi/tests: Add tests for DnsServiceConstructInstance().
Tobiasz Laskowski (9):
jscript: Fix String.replace with multi-digit group.
jscript: Fix internal state of RegExp.prototype.
jscript/tests: Add tests for RegExp.prototype use.
comctl32/tests: Check listbox SETTOPINDEX errors.
user32/tests: Check listbox SETTOPINDEX errors.
comctl32/listbox: Handle out-of-bounds SETTOPINDEX.
user32/listbox: Handle out-of-bounds SETTOPINDEX.
jscript: Fix zero-length regex matches.
jscript/tests: Add more tests for 0-length regex.
Tomáš Novotný (1):
winebus: Enable hidraw by default for Winwing Orion controllers.
Vibhav Pant (4):
rometadata: Implement IMetaDataImport::{EnumMembers, EnumMembersWithName}.
rometadata: Implement IMetaDataImport::FindMember.
rometadata/tests: Add tests for IMetaDataImport::{EnumCustomAttributes, GetCustomAttributeProps}.
maintainers: Add entry for WinRT Metadata.
Vlad Zahorodnii (1):
winewayland: Add support for wl_fixes.ack_global_remove.
Yuxuan Shui (4):
mfplat/tests: Test how the MPEG4 media source handles aspect ratio info.
mfreadwrite: Don't modify the `type` parameter in src_reader_SetCurrentMediaType.
mfreadwrite/tests: Test how aspect ratios are handled by the reader.
mfreadwrite: Ensure output has a 1:1 pixel aspect ratio if processing is enabled.
Zhiyi Zhang (1):
winex11.drv: Remove some noisy traces.
```
1
0
The Wine development release 11.14 is now available.
What's new in this release:
- 7.1 format conversions in DirectSound.
- Support for AES-GMAC algorithm in BCrypt.
- New WoW64 mode supported on FreeBSD.
- Icons in Start Menu.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.14.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.14 (total 21):
- #21811 3impact tech demo collection crashes on first demo
- #34665 Adobe Reader 11 PDF portfolio search crashes
- #38746 Adobe Reader 9.0 installer fails
- #43775 Heroes of the Storm crash on start with d3d11
- #49868 Hedgewars 1.0.0 crashes when a game against the computer is started
- #52833 Wine's wscript.exe and cscript.exe don't support UTF-16 LE with BOM script files
- #53574 MSYS2 "pacman -Sy" fails key lookup
- #56317 Falcon BMS 4.37 crashes on start (needs D3DX11CreateTextureFromFileA implementation)
- #56501 nProtect Anti-Virus/Spyware 4.0 'tkpl2k64.sys' crashes on unimplemented function 'fltmgr.sys.FltCreateCommunicationPort'
- #56580 Xdefiant Beta needs unimplemented function pdh.dll.PdhGetFormattedCounterArrayA
- #56745 Amazing Adventures 2: mouse pointer flashes all over the screen
- #57801 Marble Marcher Community Edition: Startup error "Compute shader compilation error."
- #58826 Winhq 10.17 seems to loose window focus??
- #59378 Black rectangle box in foreground blocking application window on TaxAct 2025
- #59456 TreeView: TVN_ITEMCHANGING not sent on checkbox change
- #59816 cmd: inbuilt 'type' fails on expanding *.txt
- #59913 msvcrt: _aligned_offset_realloc alignment validation failure crashes PCSX2 nightly
- #59964 Age of Empires I and II both show blank screen in introduction cinematics
- #60000 msvcrt: fopen("wb, ccs=UTF-8") prepends a BOM unlike Windows
- #60021 Wine loader segfaults converting Unix executable path when no DOS drive maps it
- #60039 Microsoft Office Word 2016 hangs after changing a Design style
### Changes since 11.13:
```
Aidan Racaniello (4):
uxtheme: Add GetImmersiveUserColorSetPreference stub.
uxtheme: Add GetImmersiveColorTypeFromName stub.
uxtheme: Add GetImmersiveColorFromColorSetEx semi-stub.
uxtheme: Add GetImmersiveColorNamedTypeByIndex stub.
Alexander Shaikhulin (2):
ntdll: Support new wow64 mode on FreeBSD.
ntdll: Work around AMD SYSRET SS descriptor behavior on FreeBSD.
Alexandre Julliard (31):
setupapi: Delay file copy if truncating fails.
win32u: Add missing newline in a trace.
server: Make the add_queue() operation optional.
server: Make the satisfied() operation optional.
server: Make the signal() operation optional.
server: Make the get_fd() operation optional.
server: Make the get_sync() operation optional.
server: Make the map_access() operation optional.
server: Make the get_sd() operation optional.
server: Make the set_sd() operation optional.
server: Make the get_full_name() operation optional.
server: Make the lookup_name() operation optional.
server: Make the link_name() operation optional.
server: Make the unlink_name() operation optional.
server: Make the open_file() operation optional.
server: Make the get_kernel_obj_list() operation optional.
server: Make the close_handle() operation optional.
server: Make the destroy() operation optional.
server: Use designated initializers for object operations.
server: Make the get_poll_events() fd operation optional.
server: Make the poll_event() fd operation optional.
server: Make the read() fd operation optional.
server: Make the write() fd operation optional.
server: Make the flush() fd operation optional.
server: Make the get_file_info() fd operation optional.
server: Make the get_volume_info() fd operation optional.
server: Make the ioctl() fd operation optional.
server: Make the cancel_async() fd operation optional.
server: Make the queue_async() fd operation optional.
server: Make the reselect_async() fd operation optional.
server: Use designated initializers for fd operations.
Alistair Leslie-Hughes (1):
ntoskrnl.exe: Implement IoThreadToProcess.
Andrea Faulds (1):
explorer: Display icons next to Start Menu items.
Anton Baskanov (1):
dsound: Move the get functions to mixer.c.
Arkadiusz Hiler (1):
dsound: Add mono and stereo to 7.1 conversions.
Barath Kannan (2):
cmd/tests: Add tests for the expansion of wildcards in the type command's arguments.
cmd: Add wildcard expansion for the type command's arguments.
Bernhard Übelacker (4):
wow64: Handle PS_ATTRIBUTE_GROUP_AFFINITY in ps_attributes_32to64.
taskmgr: Change the default push button.
server: Clear connection failure events in IOCTL_AFD_WINE_CONNECT.
kernel32/tests: Fix test_GetFinalPathNameByHandleW.
Brandow Lucas (1):
msxml3: Handle NULL value for the SelectionNamespaces property.
Brendan McGrath (2):
strmbase: Introduce callback for ReceiveCanBlock.
winegstreamer: Preserve sign of stride from 2D buffer.
Brendan Shanks (1):
ntdll: Hard code the host address space limit on macOS.
Connor McAdams (8):
include/ddk: Add some missing enum/structure definitions.
ntoskrnl/tests: Add tests to highlight PDO specific behavior.
ntoskrnl/tests: Add tests for AttachedTo field in DEVOBJ_EXTENSION.
ntoskrnl: Set AttachedTo field in DEVOBJ_EXTENSION when attaching/detaching devices.
ntoskrnl: Set DO_BUS_ENUMERATED_DEVICE flag for PDO DEVICE_OBJECTs.
ntoskrnl: Add checks for DEVICE_OBJECTs passed into various PnP functions.
ntoskrnl: Cache device instance ID for PDOs.
ntoskrnl: Use cached device instance ID for DevicePropertyEnumeratorName.
Conor McCarthy (9):
wintypes/tests: Test DataWriter.
wintypes: Rename struct data_writer to data_writer_factory.
wintypes: Add DataWriter stubs.
wintypes: Implement IDataWriter::WriteBytes().
wintypes: Implement IDataWriter::DetachBuffer().
wintypes: Add IDataWriterFactory stubs.
wintypes: Implement IDataWriterFactory::CreateDataWriter().
wintypes: Implement IDataWriter::StoreAsync().
wintypes: Implement IDataWriter::DetachStream().
Daniel Lehman (1):
shell32/tests: Remove stray test file after directory rename test.
Dmitry Timoshkov (1):
crypt32: Add support for CERT_CLOSE_STORE_FORCE_FLAG.
Elizabeth Figura (13):
qwave: No longer prefer native.
rstrtmgr: No longer prefer native.
svrapi: No longer prefer native.
uianimation: No longer prefer native.
uiautomationcore: No longer prefer native.
websocket: No longer prefer native.
winnls32: No longer prefer native.
wldp: No longer prefer native.
wpc: No longer prefer native.
wined3d: Do not disable extendedDynamicState3PolygonMode (validation).
slc: No longer prefer native.
ncrypt: No longer prefer native.
ntdll: Handle Unix paths with no corresponding drive in get_full_path().
Eric Pouech (3):
dbghelp/dwarf: Implement DW_OP_shra by shifting signed quantities.
dbghelp/dwarf: Follow Dwarf specs for (un)signed arithmetic operations.
dbghelp/dwarf: Report errors when attempting to divide by zero.
Esme Povirk (2):
mscoree: Use wide string literals.
mscoree: Add libmono dll name for arm64.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.357.
Hans Leidekker (4):
bcrypt: Support BCRYPT_SIGNATURE_LENGTH for RSA.
bcrypt: Fix accepted key size for 25519 curve.
bcrypt: Support BCRYPT_AES_GMAC_ALGORITHM.
bcrypt: Support BCRYPT_MESSAGE_BLOCK_LENGTH.
Haoyang Chen (1):
crypt32: Fix CryptRegisterOIDInfo size validation for CRYPT_OID_INFO_HAS_EXTRA_FIELDS compatibility.
Henri Verbeet (2):
d3dcompiler: Store a D3D11_SHADER_DESC structure in struct d3dcompiler_shader_reflection.
d3dcompiler: Adopt vkd3d's STAT parser.
Hieu Le Minh (3):
dxcore: Add support for DedicatedAdapterMemory property.
dxcore: Add support for SharedSystemMemory property.
dxcore: Return stub value for DedicatedSystemMemory property.
Jacob Czekalla (2):
msxml3/tests: Add more tests for setNamedItem().
msxml3: Return new node from setNamedItem().
Jiangyi Chen (2):
symcrypt: Avoid SSE intrinsic that is missing in old gcc versions.
winewayland.drv: Avoid ABBA deadlocks between win_data_mutex and user_mutex.
Kang Kang (1):
dxgi: Return the first adapter from EnumWarpAdapter().
Kyle Yang (1):
wininet: Fix out-of-bounds read in InternetCrackUrlW for empty file paths.
Lakulish Antani (1):
dsound: Add quad and 5.1 to 7.1 conversions.
Lokesh Poovaragan (2):
wscript: Support UTF-16 LE encoded script files.
wscript/tests: Add encoding tests for UTF-16 script files.
Louis Lenders (3):
wminet_utils: Add GetNames.
wminet_utils: Add BeginMethodEnumeration.
cldapi: Add stub for CfGetPlaceholderInfo.
Marcus Meissner (1):
ntdll/tests: GetCurrentDirectoryW gets size in characters not bytes.
Matteo Bruni (1):
winex11: Report right shift as an extended key.
Michael Brabec (1):
avifil32: Fix ICM_COMPRESS_FRAMES_INFO not being sent without VIDCF_COMPRESSFRAMES.
Nikolay Sivov (24):
msxml3/tests: Add some tests for DTD node children.
msxml3/dom: Add notations as children of a DTD.
msxml3: Add a stub for IXMLDOMNotation node.
oleaut32/tests: Add some tests for aggregation with CreateStdDispatch().
oleaut32: Add aggregation support for CreateStdDispatch().
msxml3: Add entities as children of a DTD.
msxml3: Add a stub for IXMLDOMEntity node.
msxml3/notation: Implement nodeTypeString() property.
msxml3/entity: Implement nodeTypeString() property.
msxml3/notation: Implement text() property.
msxml3/tests: Add more tests for notation nodes.
msxml3: Return name properties for IXMLDOMNotation.
msxml3/doctype: Implement hasChildNodes() method.
msxml3/tests: Move some notation tests.
msxml3: Add a helper to return attribute count.
msxml3: Create attributes for IXMLDOMNotation nodes.
msxml3/tests: Add more tests for entity nodes.
msxml3: Add entities as DTD children.
msxml3: Implement name methods for IXMLDOMEntity.
msxml3: Correct copy-pasted variable names.
msxml3: Set entity nodes text property.
msxml3: Add attributes for entity nodes.
msxml3/doctype: Implement entities() property.
msxml3/doctype: Implement notations() property.
Pan Hui (1):
winewayland: Fix restoring window after being maximized on the secondary monitor.
Paul Gofman (5):
ntdll/tests: Add tests for skipping directory reopen by RtlSetCurrentDirectory_U().
ntdll: Do not reopen directory file when setting the same directory path.
winex11.drv: Flush display in acquire_selection().
shell32: Add AppDataDocuments known folder.
ntdll: Add BirthVolumeId to loaded dll file id.
Pavel Cheloveckov (1):
mscoree: Store the sku attribute from supportedRuntime config elements.
Piotr Caban (17):
comsvcs/tests: Remove non-needed IHolder pointer checks.
comsvcs/tests: Test creating multiple Dispenser Managers.
comsvcs: Don't use IDispenserDriver after closing holder.
comsvcs/tests: Add more Dispenser Manager tests.
comsvcs: Add partial implementation of resources pooling.
comsvcs: Implement resource purging thread in Dispenser Manager.
comsvcs: Remove COM initilization hack from Dispenser Manager.
comsvcs: Create one Dispenser Manager in a process.
comsvcs: Exit resource lookup loop when perfect match is found in AllocResource.
comsvcs: Exit resource purging loop on first resource in use.
comsvcs: Remove the FIXME message since pool purging is implemented.
msvcrt/tests: Test BOM handling in files opened in binary mode.
msvcrt: Don't append/read BOM in fopen binary mode.
msvcrt/tests: Cleanup _aligned_offset_realloc tests.
msvcrt/tests: Add more _aligned_offset_realloc tests.
msvcrt: Allow changing alignment and offset in _aligned_offset_realloc.
server: Set kernel notification events initial state.
Rose Hellsing (1):
ntdll: Return empty value instead of failing in NtQueryVolumeInformation.
Shaun Ren (1):
windows.ui: Stub IUISettings2::add_TextScaleFactorChanged().
Stian Low (1):
winhlp32: Implement MACRO_PopupContext.
Tim Clem (1):
winemac.drv: Detect display changes with CGDisplayRegisterReconfigurationCallback.
Yue Zhang (3):
setupapi: Implement SPDRP_ENUMERATOR_NAME.
gdiplus: Fix potential integer overflow in GdipDrawImagePointsRect.
gdiplus: Fix missing newline detection in gdip_format_string.
Zhengyong Chen (3):
pdh: Implement PdhGetFormattedCounterArrayA/W.
mshtml: Fire property change notification when document title is set.
ieframe: Fire TitleChange event on document title change.
Zhiyi Zhang (7):
ntdll/tests: Add ALPC Port object tests.
ntdll/tests: Add NtAlpcCreatePort() tests.
ntdll: Implement NtAlpcCreatePort().
dxgi/tests: Add IDXGISwapChain::ResizeBuffers() flag tests.
dxgi: Support DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT in dxgi_swapchain_flags_from_wined3d().
dxgi: Support modifying swapchain flags in d3d11_swapchain_ResizeBuffers().
dxgi: Support modifying swapchain flags in d3d12_swapchain_resize_buffers().
Zhou Zhang (1):
user32: Release drop target at the end of drag_drop_drop and drag_drop_leave.
```
1
0
The Wine development release 11.13 is now available.
What's new in this release:
- Better support for input pointers.
- Improved keyboard scancode mapping on X11.
- FFmpeg optimizations on ARM64EC.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.13.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.13 (total 22):
- #13088 Adobe Acrobat Pro 7 / Acrobat Reader 7 -- Comments don't work
- #30824 msvbvm60.dll crashes Gehalt.exe
- #36373 Requiem: Avenging Angel - Black screen in-game
- #40231 Grand Theft Auto: Vice City crashes at start
- #42282 Tales of Zestiria v1.2 (latest Steam provided runtime) crashes at launch
- #45503 msiexec crashes during Office 2000 setup
- #49435 cyrrillic text are broken in winbox64.exe
- #50030 "Hayoola" freezes in wine 5.19 while it works great in 5.13
- #55030 Nelogica Profitchart freezes and Crash since wine-7.12 [bisect included]
- #55407 Virtual desktop option breaks wine creating windows
- #58105 explorer creates extra virtual desktop when using the /desktop=shell argument
- #58610 Sim Racing Studio fails to start: “Error Loading Prython DLL ”C:\Progam Files\RimsRacingStudio 2.0\python312.dll"
- #59727 DrawText rendering bug when DT_WORD_ELLIPSIS / DT_PATH_ELLIPSIS is used
- #59850 Exit unwind is broken
- #59884 Age of Mythology errors on startup with "Initialization failed"
- #59914 One i386 uwninding testcase fails with wine built with GCC
- #59916 d2d1 path geometry leaks figure->vertex_types (steady heap growth under sustained Direct2D path rendering)
- #59920 msvcrt setjmp/longjmp in x86_64 ELF builds broken by ntdll change
- #59932 Slingplayer 2's help has an extra window
- #59960 Sony Acid Pro 7.0 crashes on startup during initialization
- #59969 winecfg buttons can't be clicked on dpi != 96
- #59975 SuccubusHeaven camera breaks
### Changes since 11.12:
```
Alex Henrie (1):
faudio: Handle odd offsets in decode_mono_adpcm_block.
Alexandre Julliard (6):
ntdll: Fix handling of exit unwind when there are no TEB frames.
msvcrt: Save all registers when calling the exception filter on i386.
ffmpeg: Add support for ARM64EC assembly.
ffmpeg: Add ARM64EC assembly in libswresample.
ffmpeg: Add ARM64EC assembly in libswscale.
make_announce: Use the new Bugzilla REST API.
Alexey Prokhin (1):
win32u: Enable fullscreen clipping even if not already clipping.
Alistair Leslie-Hughes (14):
dplayx: Add missing break.
fltmgr.sys: Add FltAllocateContext stub.
fltmgr.sys: Add FltReleaseContext stub.
fltmgr.sys: Add FltGetStreamContext stub.
fltmgr.sys: Add FltSetStreamContext stub.
fltmgr.sys: Add FltQueryInformationFile stub.
fltmgr.sys: Add FltGetFileNameInformationUnsafe stub.
fltmgr.sys: Add FltReadFile stub.
fltmgr.sys: Add FltParseFileNameInformation stub.
fltmgr.sys: Add FltReleaseFileNameInformation stub.
fltmgr.sys: Add FltGetFileNameInformation stub.
fltmgr.sys: Add FltCreateCommunicationPort stub.
fltmgr.sys: Add FltCloseCommunicationPort stub.
fltmgr.sys: Add FltEnumerateVolumes stub.
Anna (navi) Figueiredo Gomes (9):
win32u: Move process_pointer_message to input.c.
win32u: Keep per-thread list of known pointers.
win32u: Preallocate pointerId 1 for the mouse pointer.
win32u: Keep track of pointer types.
win32u: Implement NtUserGetPointerType.
win32u: Hardcode pointer id 1 to PT_MOUSE in GetPointerType.
win32u: Update pointerid 1 from mouse_in_pointer events.
server: Mask pointer inputs for SetCursorPos requests.
win32u: Implement NtUserGetPointerInfoList.
Anton Baskanov (7):
dmsynth: Increase the write latency by 10 ms.
dsound: Name the parameters of bitsgetfunc and bitsputfunc.
dsound: Remove getieee32 from the getbpp array.
dsound: Get rid of endianness conversion.
dsound: Downmix to mono after resampling and remove get_mono.
dsound: Get rid of get_aux and read the values directly.
dsound: Get all channel samples in one go.
Benoît Legat (2):
crypt32: Avoid conflict between unnamed containers.
crypt32: Open MS_ENH_RSA_AES_PROV in PFXImportCertStore.
Bernhard Übelacker (1):
secur32/tests: Update count for new test.winehq.org certificate.
Brendan Shanks (4):
ntdll: Advertise ARM32 processor features on ARM64.
ntdll: Detect ARM32 processor features using getauxval(AT_HWCAP).
ntdll: Detect ARM64 processor features on macOS, and on Linux using getauxval(AT_HWCAP).
ntdll: Define HWCAP_CPUID on ARM64.
Conor McCarthy (11):
windows.storage/tests: Test InMemoryRandomAccessStream.
windows.storage: Add InMemoryRandomAccessStream stubs.
windows.storage: Implement InMemoryRandomAccessStream IClosable::Close().
windows.storage: Implement InMemoryRandomAccessStream IOutputStream::WriteAsync().
windows.storage: Implement InMemoryRandomAccessStream IRandomAccessStream::get_Size().
windows.storage: Implement InMemoryRandomAccessStream IRandomAccessStream::put_Size().
windows.storage: Implement InMemoryRandomAccessStream IRandomAccessStream::get_Position().
windows.storage: Implement InMemoryRandomAccessStream IRandomAccessStream::Seek().
windows.storage: Implement InMemoryRandomAccessStream IInputStream::ReadAsync().
windows.storage: Add InMemoryRandomAccessStream to class registration.
windows.storage: Do not limit the size to SIZE_MAX in memory_stream_random_access_put_Size().
Daniel Lehman (1):
dwrite: Add some more fallback ranges.
Elizabeth Figura (18):
wined3d: Store plane_formats as wined3d_format pointers.
wined3d: Allow any typed format for planar texture views.
wined3d: Do not alter the swapchain latency.
wined3d: Use a semaphore for frame latency.
dxgi: Implement DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT for d3d11.
dxgi: Implement d3d11_swapchain_SetMaximumFrameLatency().
dxgi: Implement d3d11_swapchain_GetMaximumFrameLatency().
dxgi: Implement d3d11_swapchain_GetFrameLatencyWaitableObject().
acledit: No longer prefer native.
avrt: No longer prefer native.
connect: No longer prefer native.
inkobj: No longer prefer native.
magnification: No longer prefer native.
mscat32: No longer prefer native.
msnet32: No longer prefer native.
msports: No longer prefer native.
mssip32: No longer prefer native.
netprofm: No longer prefer native.
Erhan Bilgili (1):
cfgmgr32: Fix CM_Get_Device_ID buffer size handling.
Eric Pouech (1):
dbghelp/dwarf: Fix out-of-bound write when leaf name is too large.
Etaash Mathamsetty (4):
winex11: Don't initialize win_data_mutex twice.
winewayland: Don't initialize win_data_mutex twice.
winewayland: Use a flag instead of checking zwp_relative_pointer_v1.
winewayland: Don't offset client rect in client surface reconfigure.
Francis De Brabandere (1):
vbscript: Count carriage returns as line endings when reporting error lines.
Gabriel Ivăncescu (7):
mshtml: Don't leak gecko attr when creating attribute.
mshtml: Don't leak ref from attribute collection when detaching attribute.
mshtml: Don't leak gecko attribute when obtaining DISPID from collection.
mshtml: Properly unlink the element refs of frame elements.
mshtml: Properly unlink the element refs of iframe elements.
mshtml/tests: Fix attribute leak when testing tabIndex.
mshtml/tests: Properly close the view of the legacy document when testing attributes across modes.
Haoyang Chen (1):
ole32: Add support for writing VT_BOOL properties.
Jacek Caban (4):
dsound/tests: Remove unused variable.
qcap/tests: Remove unused variable.
ws2_32/tests: Remove unused variable.
http.sys: Check thread_stop in request_thread_proc loop.
Jacob Czekalla (1):
hhctrl.ocx: Create the index popup window hidden.
Jiajin Cui (6):
wininet/tests: Cover long CreateUrlCacheEntryW extensions.
urlmon/tests: Cover URLDownloadToCacheFile buffer bounds.
wininet: Ignore overly long cache file extensions.
urlmon: Fix URLDownloadToCacheFile buffer handling.
urlmon: Remove temporary cache files on failure.
winewayland: Fix y coordinate of IME cursor rectangle.
Louis Lenders (3):
kernel32: Add stub for PssQuerySnapshot.
kernel32: Add stub for PssFreeSnapshot.
kernel32: Add stub for PssCaptureSnapshot.
Maotong Zhang (1):
user32: Fix lastSlash handling in TEXT_PathEllipsify.
Martin Storsjö (1):
configure: Reduce the fixed load address for the preloader on aarch64.
Matteo Bruni (4):
winex11: Fix Right Shift scancode.
user32/tests: Add a SendInput VK_PAUSE test.
user32/tests: Add more key names tests.
user32/tests: Add more key map tests.
Nello De Gregoris (1):
mfsrcsnk: Ignore empty byte stream origin names.
Nikolay Sivov (4):
msxml3/xpath: Add a strstr() variant that handles nulls.
msxml3/xpath: Add a string comparison helper that handles nulls.
msxml3/tests: Add a test for translate() function.
msxml3/xpath: Fix translate() function to actually return its result.
Paul Gofman (4):
ws2_32: Add WSCEnumProtocols32().
kernel32/tests: Test filename case preservation when opening existing file.
kernelbase: Add a stub for FindNextFileNameW().
mmdevapi: Implement SAORS_Reset().
Piotr Caban (3):
secur32: Return impersonation token from lsa_QuerySecurityContextToken.
msv1_0: Decrypt all data buffers in ntlm_SpUnsealMessage.
gdiplus: Return InvalidParameter error when GdipLoadImageFromStream is used with empty stream.
Piotr Pawłowski (2):
comctl32/tests: Add tests for TVN_ITEMCHANGING and TVN_ITEMCHANGED.
comctl32/treeview: Implemented TVN_ITEMCHANGING and TVN_ITEMCHANGED.
Ryan Houdek (1):
wow64: Add BTCpuNotifyProcessExecuteFlagsChange interface.
Rémi Bernon (53):
winewayland: Make window lock mutex recursive.
winewayland: Use update_client_surfaces to detach client surfaces.
winewayland: Remove unnecessary client surface attach / detach.
winewayland: Move ensure_window_surface_contents into wayland_surface.c.
winex11: Use the desired state for mapping delays.
server: Map update_window_zorder rect from raw to virtual coordinates.
server: Update window zorder directly in queue_mouse_message.
wineandroid: Remove now unnecessary update_window_zorder call.
winemac: Remove now unnecessary update_window_zorder call.
winex11: Remove now unnecessary update_window_zorder call.
win32u: Keep track of client surface toplevel window.
win32u: Move client_surface_update on present from winex11.
win32u: Move client surface rect computation out of the drivers.
win32u: Assume that NtUserExposeWindowSurface rect is in raw monitor DPI.
win32u: Reorder KEYEVENTF_SCANCODE handling control flow.
win32u: Remap some scancodes to better match native behavior.
winex11: Use scancode high bit to set KEYEVENTF_EXTENDEDKEY flag.
winex11: Support fixed X11 keycode to scancode conversion.
opengl32/tests: Test versioned / core / compat context creation and sharing.
winemac: Remove unnused macdrv_context renderer_id member.
opengl32: Remove duplicated client context member.
winex11: Remove unnecessary window send_mouse_input argument.
winex11: Pass individual INPUT fields to send_mouse_input.
winex11: Pass / return a POINT to / from map_event_coords.
winex11: Use send_mouse_input in move_resize_window.
winex11: Use send_mouse_input in the RawMotion handler.
win32u: Use internal helpers to get present / client rects and dpi.
win32u: Introduce a ratio struct for unix-side DPI values.
server: Use the ratio struct for DPI values.
win32u: Represent raw monitor dpi as rational value.
server: Move window monitor DPI to the shared memory.
win32u: Ignore empty mouse input in NtUserSendHardwareInput.
server: Skip dispatching rawinput message when it is empty.
win32u: Accumulate mouse motion in NtUserSendHardwareInput.
winex11: Remove now unnecessary mouse motion event merging.
winemac: Try initializing GL3_Core and GL4_Core profile contexts.
winemac: Create all core contexts with the best supported profile.
winemac: Use WGL_CONTEXT_CORE_PROFILE_BIT_ARB to detect core profiles.
win32u: Request core profile for internal OpenGL contexts.
winemac: Ignore context sharing when profile doesn't match.
opengl32: Flag GL_EXT_external_buffer extension as unsupported.
opengl32: Move more wow64 wrappers out of the generated code.
opengl32: Use a static variable for the buffer storage map.
opengl32: Remove unused flags member from buffer struct.
opengl32: Reduce WOW64 locking to the buffer storage map accesses.
server: Always update window monitor DPI from its parent.
winewayland: Remove now unnecessary implicit fullscreen clipping.
server: Support explicit raw mouse motion in NtUserSendHardwareInput.
winewayland: Send raw mouse motion through NtUserSendHardwareInput.
winex11: Enable XI2 raw events when window is focused.
winex11: Send raw mouse motion frames from XI2 RawEvents.
winex11: Remove unnecessary ConfigureNotify event merging.
winex11: Get rid of now unnecessary event merging logic.
Stefan Riesenberger (2):
dnsapi: Add stub for DnsStartMulticastQuery().
dnsapi: Add stub for DnsStopMulticastQuery().
Sven Baars (2):
configure: Set PCSCLITE_LIBS in the AC_CHECK_FUNC error case on macOS.
dxgi: Replace FIXMEs in swapchain latency methods by traces.
Thomas Portal (1):
hidclass: Return the full report length from IOCTL_HID_WRITE_REPORT.
Zhiyi Zhang (14):
dxgi/tests: Wait for destroyed windows to disappear before creating a fullscreen swapchain.
dxgi/tests: Run test_create_swapchain() on D3D12 as well.
dxgi/tests: Test creating a fullscreen swapchain with an invalid scanline order or scaling.
dxgi: Report the DXGI_SWAP_CHAIN_FULLSCREEN_DESC used for creating a D3D11 swapchain.
dxgi: Create a windowed swapchain instead when the fullscreen mode scanline order or scaling is invalid.
dxgi: Refuse to enter fullscreen when the fullscreen mode scanline order or scaling is invalid.
dxgi: Retrieve the fullscreen state from the swapchain state in d3d11_swapchain_GetFullscreenState().
user32/tests: Move the test window position further away from the top-left corner of the work area.
user32/tests: Fix test failures when the top-left corner of the work area is not (0,0).
user32/tests: Add more window placement tests.
win32u: Implement coordinates mapping in {Get,Set}WindowPlacement().
notepad: Use SetWindowPlacement() to restore the saved normal window position.
taskmgr: Use SetWindowPlacement() to restore the saved normal window position.
wordpad: Use SetWindowPlacement() to restore the saved normal window position.
```
1
0
The Wine development release 11.12 is now available.
What's new in this release:
- Bundled libswresample and libswscale from FFmpeg.
- Mono engine updated to version 11.2.0.
- XSLPattern parser reimplemented in MSXML.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.12.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.12 (total 27):
- #3037 LTspice, Progman: broken internal windows resizing
- #18010 Slingplayer video tuning wizard fails
- #27240 Multiple Corel product installers report msxml:xslpattern_error syntax error / msxml:domselection_create error code 1206 (Corel Paint Shop Photo Pro, CorelDRAW Graphics Suite X3/X4)
- #33450 .NET 3.5 Framework installation fails (.NET WorkFlow Service Registration Tool "WFServicesReg.exe" crash with libxml2 < 2.9.0)
- #34758 Microsoft Money 97 5.0 crashes with an unhandled divide by zero
- #36912 Taskkill does not support /T option
- #44232 Menus in Slingplayer 1.5 do not draw until mouseover
- #48174 wine-mono creates incorrect strings
- #51678 Avogadro crashes when adding atoms
- #56100 Greenshot: Error when adding a textbox
- #56664 winecfg not exposing an option for 7.1 surround sound audio output (winepulse.drv)
- #58632 Against the Storm: Encyclopedia doesn't display animated sequences
- #59317 Need for Speed Most Wanted (2005): Up is triggered continuously without pressing a button on gamepad
- #59318 Graphic problem
- #59406 Super Hexagon: if gamepad is connected, game will ignore every input after selecting anything from title screen
- #59590 MS-Money 2000 - cannot process TKIND_UNION when loading INV7.OCX
- #59711 unlock_fd: UnlockFile returns ERROR_LOCK_VIOLATION (33) instead of ERROR_NOT_LOCKED (158) when no matching lock is held
- #59820 ComicRackCE freezes when attempting to view "info" for a comic file
- #59842 Cross builds don't install the "wine" executable anymore
- #59855 .configure script fails on system without "ln -s"
- #59856 "musl: Use __builtin_rint if available" breaks rounding control in rint function family on x86_64
- #59870 VRChat PhotonEncryptorPlugin.dll crash
- #59871 Sonic Boom (1995 Klik & Play fangame) fails to create HBITMAP over memory, cannot start
- #59880 For games installed under a prefix that has cnc_ddraw installed using Winetricks, error message appears
- #59886 Build failed for SymCrypt with clang-msvc on x86/i386 and x86_64
- #59894 MS Office 2007 does no longer accept product key from config file
- #59910 One case of i386 unwinding broken
### Changes since 11.11:
```
Alexandre Julliard (20):
makefiles: Don't reuse an install command if it has an explicit destination name.
makefiles: Always enable the wine tool.
makefiles: Also skip C files in arch-specific directories.
libs: Import ffmpeg from upstream release 8.1.1.
user32: Don't send a message in GetComboBoxInfo().
nsiproxy.sys: Link to pthread libs for pthread_once.
ffmpeg: Import upstream assembly optimizations for ARM64.
ffmpeg: Import upstream assembly optimizations for ARM.
makefiles: Add support for nasm.
ffmpeg: Import upstream assembly optimizations for x86.
symcrypt: Disable asm optimizations globally for non-PE builds.
symcrypt: Disable asm optimizations for older clang versions.
ffmpeg: Only disable clang warnings when building ffmpeg itself.
configure: Use the pkg-config specified libs by default in package checks.
configure: Use the pkg-config specified libs also for MinGW checks.
configure: Add more pkg-config checks.
kernelbase: Implement HasFiberData thread flag.
ntdll: Initialize fiber data to 0x1e00.
ntdll: Set default NtGlobalFlag for debugged processes.
server: Fix returned status for NtUnlockFile on unlocked range.
Alistair Leslie-Hughes (4):
tiptsf: Add dll.
tiptsf: Add ITextInputPanel interface stub.
rtscom: Add stub dll.
rtscom: Add RealTimeStylus stubbed interface.
André Zwing (6):
comctl32/tests: Fix typo for ARM64EC.
kernel32/tests: Fix typo for ARM64EC.
oleaut32/tests: Fix typo for ARM64EC.
user32/tests: Fix typo for ARM64EC.
uxtheme/tests: Fix typo for ARM64EC.
vcomp/tests: Fix typo for ARM64EC.
Anna (navi) Figueiredo Gomes (4):
win32u: Stub NtUserGetPointerType.
win32u: Stub NtUserGetPointerDeviceRects.
win32u/tests: Add NtUserGetPointerDeviceRects test for INVALID_HANDLE_VALUE.
win32u: Implement NtUserGetPointerDeviceRects for INVALID_HANDLE_VALUE.
Bartosz Kosiorek (5):
msvcp: Use sizeof(wchar_t) instead of sizeof(char) for basic_string_wchar_replace_cstr_len.
msvcp: Use sizeof(wchar_t) instead of sizeof(char) for basic_string_wchar_replace_ch.
msvcp90: Add _Ctraits<float>::_Isinf(float) implementation.
msvcp90: Add _Ctraits<double>::_Isinf(double) implementation.
msvcp90: Add _Ctraits<long double>::_Isinf(long double) implementation.
Benoît Legat (1):
rsaenh: Fix reporting of "Cryptographic Service Provider".
Bernhard Übelacker (9):
mfplat/tests: Avoid crash if mediasource retrieval failed.
mfplat/tests: Explicitly link against kernel32 before kernelbase.
mfsrcsnk/tests: Add broken in test_mp4_extra_metadata.
user32/tests: Fix test_class_name with old Windows versions.
dxgi/tests: Add two missing winetest_pop_context.
dxgi/tests: Skip tests if DXGI 1.4 is not available.
msxml3/xpath: Fix out-of-bounds access in query string (ASan).
oleview: Avoid heap-use-after-free when reloading (ASan).
regedit: Avoid heap-buffer-overflow in regedit with REG_MULTI_SZ (ASan).
Connor McAdams (1):
dinput: Lowercase device paths passed into insert_cache_entry() when reusing cache entries.
Daniel Lehman (4):
msxml3/tests: Fix double-free of node text.
dwrite: Add fallbacks for arrows.
include: Move ifdef __cplusplus in rpcasync.h.
shell32: Use DE_INVALIDFILES instead of hard-coded value.
Dmitry Timoshkov (2):
oleaut32: Take into account that SAFEARRAY element in an SLTG typelib uses 32-bit units.
gdi.exe: Don't use biSizeImage when calculating DIB pitch.
Esme Povirk (1):
mscoree: Update Wine Mono to 11.2.0.
Etaash Mathamsetty (6):
winewayland: Implement fractional scaling protocol.
winewayland: Fix missing wayland_win_data_release.
win32u: Always flush the window surface in expose_window_surface.
winewayland: Assign a name to the winewayland queue.
winewayland: Change default debug channel to cursor for pointer.
winewayland: Rename toplevel_hwnd to owner_hwnd.
Feli Rippmann (1):
comctl32: Clamp rebar height to cyMaxChild when cyIntegral == 0 too.
Floris Renaud (1):
po: Update Dutch translation.
Francis De Brabandere (6):
vbscript: Index named items by name.
vbscript: Store global variables and functions in a single tagged tree.
vbscript: Parse a bare '&' followed by octal digits as an octal literal.
vbscript: Cache host DISPIDs as entries in the unified global tree.
vbscript: Raise type mismatch when comparing an array.
vbscript: Look up named items before builtin functions.
Giang Nguyen (1):
d2d1: Free the vertex types array in d2d_figure_cleanup.
Hans Leidekker (4):
bcrypt: Fix parameter validation for GCM mode.
bcrypt: Remove unused fields.
symcrypt: Accept RSA keys with public exponent 1.
bcrypt: Reject RSA keys with public exponent 1.
Henri Verbeet (2):
d3dcompiler: Retrieve signature information using vkd3d in d3dcompiler_shader_reflection_init().
d3dcompiler: Retrieve thread group size information using vkd3d in d3dcompiler_shader_reflection_init().
Jacek Caban (12):
dpnet: Remove unused variables.
rpcrt4/tests: Remove unused variables.
riched20/tests: Remove unused variables.
msxml6/tests: Enable call checks in set_xht_site.
msxml3/tests: Remove unused code.
msxml3/tests: Add missing CLEAR_CALLED statement.
mf/tests: Remove unused variables.
wbemprox: Remove unused variable.
winebus: Remove unused variables.
joy.cpl: Remove unused variable.
winevulkan: Remove unused variable.
winex11: Remove unused variables.
Marius Kamm (2):
windowscodecs: Fix decoding GIFs that fill the LZW code table.
windowscodecs/tests: Test decoding a GIF that fills the LZW code table.
Martin Storsjö (2):
ntdll: Don't validate arm64 pointer signing when unwinding.
include: Use __msvcrt_ulong in setjmp.h.
Matteo Bruni (1):
dsound: Get rid of non-float mixing remnants.
Nello De Gregoris (1):
mfsrcsnk: Use SetCurrentPosition() for absolute byte stream seeks.
Nikolay Sivov (15):
dsrole: Add a new dll.
netapi32: Forward DsRole* functions to dsrole.dll.
msxml3/tests: Add more selection tests.
msxml3/xpath: Remove duplicate line typo.
msxml3/tests: Add some tests for node value comparison in queries.
msxml3/xpath: Fix comparison direction for node-set vs value case.
msxml3/tests: Add some more comparison tests for XPath.
msxml3: Add a helper to check for XPath query keywords.
msxml3: Explicitly switch to XPath for XmlView documents.
msxml3: Handle XSLPattern syntax directly instead of converting to XPath.
msxml3: Fix a typo in a helper name.
msxml3/tests: Add a query test with attribute test in the predicate.
msxml3: Add support for nodeName() function.
msxml3: Rename helpers to reflect their purpose better.
msxml3: Remove now unused file.
Pan Hui (1):
winewayland: Use process_name in wl_display_create_queue_with_name for debugging.
Paul Gofman (21):
nsiproxy.sys: Factor out icmp_socket structure.
nsiproxy.sys: Rename icmp_listen into icmp_get_reply.
nsiproxy.sys: Contain all the reply data in struct icmp_reply_ctx.
nsiproxy.sys: Manage ICMP listen threads on the Unix side.
nsiproxy.sys: Poll all icmp sockets in a single thread.
nsiproxy.sys: Return ICMP ids from parse_icmp_hdr() instead of matching those.
nsiproxy.sys: Reuse icmp socket with matching parameters.
nsiproxy.sys: Support ICMP error replies with ping sockets.
nsiproxy.sys: Use compatible ICMP request id and seq numbers.
winevulkan: Do not show debug assertion dialog on Unix side exceptions.
win32u: Support D3D12_FENCE_SUBMIT_INFO in win32u_vkQueueSubmit().
win32u: Force timeline semaphore type when importing d3d12 fence.
ntdll/tests: Add tests for PROCESS_PARAMS_IMAGE_KEY_MISSING flag.
ntdll: Manage PROCESS_PARAMS_IMAGE_KEY_MISSING flag.
imm32/tests: Flush events in test_ImmSetCompositionWindow().
imm32/tests: Add tests for resetting in-composition state.
imm32: Strip off trailing zeros in ImeSetCompositionString().
imm32: Clear in-composition state when empty composition string is set.
imm32: Reset composition string when deactivating context.
wbemprox: Use device instance id for pnpdevice_id in get_display_adapters().
ntdll: Don't reserve exc_stack_layout twice in call_user_exception_dispatcher() on i386.
Piotr Caban (10):
mshtml: Added IHTMLTextAreaElement::disabled property implementation.
msv1_0: Initialize seal keys in ntlm_SpAcceptLsaModeContext.
ucrtbase/tests: Remove no longer needed workaround from test_math_errors.
ucrtbase: Don't use builtin_rint since it doesn't respect rounding control.
secur32/tests: Cleanup ntlm negotiate flags tests.
secur32/tests: Test ctxt_attrs value after initial InitializeSecurityContextA call.
msv1_0: Fix buffer type returned by ntlm_SpAcceptLsaModeContext.
msv1_0: Make output argument optional on second call to ntlm_SpAcceptLsaModeContext.
msv1_0: Set ctxt_attr in ntlm_SpInitLsaModeContext.
msv1_0: Set ctxt_attr in ntlm_SpAcceptLsaModeContext.
Rose Hellsing (4):
gdiplus: Recognize raw WMF streams in the WMF image codec.
gdiplus: Rasterize metafiles for encoding and report raw WMF as EMF.
gdiplus: Store the source HMETAFILE for proper lifetime management.
gdiplus/tests: Add tests for raw WMF load, playback and encoding.
Rémi Bernon (50):
xinput1_3: Introduce a new open_device_at_index helper.
mf/topology_loader: Restore original type when optional connection fails.
opengl32: Implement client / host mapping for shader names.
opengl32: Use a per-table lock for context / pbuffer / sync handles.
opengl32: Move the sync handle table to the display lists.
opengl32: Trace client side object names leaks.
opengl32: Remove unused unix thunks.
ffmpeg: Redirect av_log calls to Wine debug traces.
winegstreamer: Remove unnecessary resampler inline qualifiers.
winegstreamer/resampler: Implement IMediaObject iface using libswresample.
winegstreamer/resampler: Translate IMFTransform calls to IMediaObject.
resampledmo: Move resampler implementation from winegstreamer.
win32u: Add a new driver entry to create client surfaces.
win32u: Create vulkan client surfaces from win32u.
win32u: Create OpenGL client surfaces from win32u.
user32/tests: Use 1024x768 as test resolution for DPI scaling on Windows.
user32/tests: Add more GetPointerDeviceRects tests with DPI scaling.
opengl32: Unset current context on thread detach.
win32u: Create a default thread context when binding NULL.
opengl32: Ensure a context is current before display lists destruction.
win32u: Share all unix-side GL contexts with a global context.
opengl32: Keep a global WOW64 buffer storage map.
opengl32: Implement wglShareLists on the PE side.
win32u: Get rid of opengl_drawable set_context callback.
opengl32: Allocate WOW64 buffers struct with calloc.
opengl32: Set dummy context with wglMakeContextCurrentARB.
gitlab: Add nasm to the CI docker images.
xinput1_3: Move keystroke states and locks to check_for_keystroke.
xinput1_3: Read and write current state without the controller lock.
xinput1_3: Use a global critical section to guard device and enabled flag.
xinput1_3: Extend the CS to guard all device open / read / destroy.
winegstreamer/color_convert: Remove unnecessary inline qualifiers.
winegstreamer/color_convert: Implement IMediaObject iface using libswscale.
winegstreamer/color_convert: Translate IMFTransform calls to IMediaObject.
colorcnv: Move color converter implementation from winegstreamer.
winegstreamer/video_processor: Reimplement using libswscale.
msvproc: Move video processor implementation from winegstreamer.
opengl32: Only query GL_CONTEXT_PROFILE_MASK with GL >= 3.2.
opengl32: Only reserve name range if range length is > 0.
opengl32: Remove now unnecessary context creation attribs.
winewayland: Make sure the primary monitor rect is at 0x0.
winewayland: Use RECT / POINT to map coordinates from surface.
winewayland: Use RECT / POINT to map coordinates to surface.
winewayland: Use a RECT in struct wayland_surface_config.
win32u: Use the null context instead of internal context for pbuffers.
win32u: Notify driver of capture window reset on destruction.
win32u: Pass current and previous toplevel windows to SetCapture.
winex11: Also ignore warped MotionNotify if cursor isn't clipped.
winex11: Simplify send_mouse_input when clipping cursor.
winex11: Get rid of now unnecessary x11drv_thread_data()->grab_hwnd.
Shaun Ren (10):
xinput1_3: Remove an unreachable return from HID_set_state().
xinput1_3: Keep controller read events across device changes.
xinput1_3: Return correct slot indices for existing devices in find_opened_device().
xinput1_3: Don't wait on overlapped event if CancelIoEx failed.
xinput1_3: Clear enabled when controller is destroyed on read error.
xinput1_3: Return FALSE from controller_init if device enable failed.
xinput1_3: Disable controller when removing an opened device.
xinput1_3: Rescan controllers before reporting disconnection to callers.
xinput1_3: Initialize state with the previous state in read_controller_state.
xinput1_3: Initialize controller state only on success in controller_init.
Soham Nandy (1):
ntdll: Ignore hardware breakpoint traps inside the signal stack.
Thomas Portal (1):
user32: Add a stub for IsImmersiveProcess().
Tobias Markus (1):
ksecdd.sys: Forward BCrypt functions to bcrypt.dll.
Vibhav Pant (1):
winebth.sys: Ensure bus relations are invalidated after the PDO has been started by the PnP manager.
Wolfgang Hartl (1):
oleaut32: Implement SLTG union type processing.
Zhengyong Chen (1):
windowscodecs: Decode GIF frames on demand.
Zhiyi Zhang (1):
server: Fix a memory leak in d3dkmt_share_objects.
Ziqing Hui (1):
dwrite: Fix Miscellaneous Symbols font fallback.
```
1
0
The Wine development release 11.11 is now available.
What's new in this release:
- Bundled SymCrypt library, to replace TomCrypt.
- More USER32 window information moved to shared memory.
- Layered windows in the Wayland driver.
- More VBScript compatibility improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.11.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.11/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.11 (total 25):
- #27579 The appearance of uTorrent 3.x torrents list is broken
- #32079 Dotted (.foobar) files are not displayed in file open dialog
- #37849 Wine causing color temperature setting(redshift) not working for a short time
- #41134 Foxit Reader 8.x service 'FoxitConnectedPDFService.exe' crashes on startup due to invalid database permissions ('ConvertStringSecurityDescriptorToSecurityDescriptor' SDDL / ACL parser must take whitespace between ACEs into account)
- #49622 error in installing battle.net launcher
- #49722 Space Empires V can't load certain images (.bmp) with built-in d3dxof.dll
- #50583 Foxit PhantomPDF Business v10.0 installer crashes in MSI custom action 'SetStartMenuWindows10T' with WinVer set to 'Windows 10'
- #50763 Wreckfest has blurry rendering with OpenGL renderer
- #51433 Battle.Net: Installer terminates with BLZBNTBTS0000005C error screen
- #51567 Battle.net app takes a long time to start
- #53293 Total War: Shogun 2 crashes with builtin d3dx9_42
- #53653 winmine.exe is not scaled properly to match the output DPI
- #54189 Fail in SetupDiEnumDeviceInfo: err=259: No more data available.
- #54694 Marvel's Spider-Man Remastered requires Windows 10 version 1909, build 18363 (or newer)
- #55230 Yesterday Origins shows black screen while playing some videos
- #56398 Think or Swim running in WINE, loads, then crashes, and need to be shut down.
- #57806 visual and response lags in Guitar Pro v8.1.3 (build 121)
- #58297 [Wayland-only mode] Minimize button click makes the app window buttons lock up
- #59125 Sunlogin crashes on unimplemented function advapi32.dll.WmiCloseBlock
- #59453 uSimmics crashes on unimplemented function msvcp100.dll._Sinh
- #59549 MS-Money 2000 - shows errors when loading INV7.OCX
- #59604 setupapi: CM_Get_Parent stub breaks USB HID device identification
- #59807 Regression in multithreaded application
- #59841 Missing audio in Gray Matter due to FAudio 26.06 import
- #59845 Istaria: game window fails to appear since Wine 11.10
### Changes since 11.10:
```
Alexandre Julliard (35):
configure: Re-generate with autoconf 2.73.
libs: Import upstream code from SymCrypt 103.11.0.
rsaenh: Use SymCrypt for hash algorithms.
rsaenh: Use SymCrypt for AES, DES and RC2.
symcrypt: Add pclmul target for older compilers.
ntdll: Use SymCrypt for SHA hashes.
ntdll: Get crc32 implementation from zlib instead of tomcrypt.
configure: Don't try to link to external zlib.
makefiles: Look for dependencies in assembly files.
makefiles: Only build asm files in PE builds.
makefiles: Use a separate directory for ARM64EC asm files.
symcrypt: Import upstream assembly code for x86-64.
symcrypt: Import upstream assembly code for ARM64.
symcrypt: Import upstream assembly code for ARM.
symcrypt: Import upstream assembly code for i386.
faudio: Import upstream release 26.06.
mpg123: Import upstream release 1.33.5.
png: Import upstream release 1.6.58.
lcms2: Import upstream release 2.19.1.
sqlite3: Import upstream release 3.53.2.
sqlite3: Disable debug assertions.
rsaenh: Align allocations for SymCrypt.
dssenh: Align allocations for SymCrypt.
notices: Add a file to collect all third-party copyright notices.
makedep: Add a helper function to skip an initial directory.
makedep: Also ignore missing headers when included from external lib header.
fluidsynth: Remove unused files.
gsm: Remove unused files.
icucommon: Remove unused files.
icui18n: Remove unused files.
ldap: Remove unused files.
vkd3d: Remove unused files.
xml2: Remove unused files.
faudio: Don't fixup wma bitrate if it's already valid.
ntdll: Support either a Unix call function table or a __wine_unix_lib_init entrypoint.
Alistair Leslie-Hughes (1):
include: Add IInkRecognizerContext coclass.
Anton Baskanov (5):
dsound: Use DWORD to store freqAdjustNum, freqAdjustDen and freqAccNum.
dsound: Move cp_fields_noresample after cp_fields_resample.
dsound: Use #define for fir.h constants.
dsound: Add an SSE version of upsample.
dsound: Add an SSE version of downsample.
Bernhard Kölbl (2):
win32u: Add missing internal messages to spy.
win32u: Add win32u internal driver messages to spy.
Bernhard Übelacker (9):
crypt32/tests: Avoid crash in testCertProperties.
rsaenh: Use _aligned_free instead of free for aligned allocations (ASan).
dssenh: Use _aligned_free instead of free for aligned allocations (ASan).
dsound/tests: Don't fail test if device cannot be opened the second time.
webservices/tests: Improve double tests.
user32/tests: Fix test_window_extra_data_proc.
windows.ui.core.textinput/tests: Only check interfaces if retrieval succeeded.
imagehlp/tests: Accept zero checksum if the compiler emitted a zero checksum.
kernel32/tests: Fix tests with old Windows 10 versions.
Charlotte Pabst (3):
include: Add some missing definitions in mfd3d12.idl.
mfplat/tests: Add tests for mf d3d12 synchronization object.
mfplat: Implement mf d3d12 synchronization object.
Conor McCarthy (6):
quartz: Update current and elapsed positions in Stop().
d3d8/tests: Test multisampled back buffer locking.
d3d9/tests: Test multisampled back buffer locking.
wined3d: Disallow locking of multisampled back buffers.
mfplat/tests: Test CreateObjectFromByteStream() URL with unknown or no extension.
mfplat: Do not require CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE if no extension is present.
Dmitry Timoshkov (9):
msi: Catch all exceptions in the custom DLL procedure.
msi: Return ERROR_INSTALL_FAILURE on an exception in the custom action.
ole32/tests: Add some tests for IStorage::MoveElementTo().
ole32: Implement IStorage::MoveElementTo() for stream element.
ole32: Implement IStorage::MoveElementTo() for storage element.
widl: Add support for enums to SLTG typelib generator.
widl: Add support for unions to SLTG typelib generator.
sane.ds: Add more traces.
sane.ds: SANE_DisableDSUserInterface() should accept states 5 and 6.
Elizabeth Figura (11):
srclient: No longer prefer native.
wevtapi: No longer prefer native.
ninput: No longer prefer native.
msctf: No longer prefer native.
msctfmonitor: No longer prefer native.
quartz/tests: Add a few more seeking tests.
directmanipulation: No longer prefer native.
feclient: No longer prefer native.
d3d8thk: No longer prefer native.
shcore: No longer prefer native.
userenv: No longer prefer native.
Esme Povirk (1):
comdlg32: Treat empty default extension as null.
Etaash Mathamsetty (3):
winewayland: Do not place_above on a detached client surface.
winewayland: Treat maximized+fullscreen state as fullscreen.
winewayland: Implement min/max size hints for non-resizeable windows.
Fatih Uzunoglu (1):
mscms: Add stub for `WcsCreateIccProfile()`.
Francis De Brabandere (20):
scrrun/tests: Add tests for dictionary put_Key.
scrrun/dictionary: Rename keys in place in put_Key.
vbscript: Bind local variables and arguments at compile time.
vbscript: Factor out assign_local_var from assign_ident.
vbscript: Bind local variable assignments at compile time.
vbscript: Factor out do_for_step and do_incc from interp_step and interp_incc.
vbscript: Bind For-loop variables at compile time.
vbscript: Bind class properties at compile time.
scrrun/tests: Add tests for Empty dictionary keys.
scrrun/dictionary: Match Empty keys against zero-valued and empty-string keys.
scrrun/tests: Add tests for Boolean dictionary keys.
scrrun/dictionary: Match native key semantics for Boolean keys.
vbscript/tests: Add tests for class declaration scope.
vbscript: Handle class declaration scope in the parser.
vbscript/tests: Add tests for sub declaration scope.
vbscript: Lex a dot immediately followed by a digit as a numeric literal.
vbscript: Report specific compile errors for trailing tokens and missing identifiers.
vbscript: Allow Dim to shadow a global const from a previous compile unit.
vbscript/tests: Add tests for one-line sub headers with multi-line bodies.
vbscript: Keep the offending identifier out of Err.Description.
Francisco Casas (3):
win32u: Enable VK_KHR_external_fence_capabilities in d3dkmt_init_vulkan().
wined3d: Enable VK_KHR_external_fence_capabilities when initializing vulkan.
wined3d: Don't use texelFetchOffset() for buffers and multi-sample textures.
Gabriel Ivăncescu (1):
ieframe: Return S_FALSE for NULL URLs in WebBrowser_Navigate.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.353.
Hans Leidekker (9):
winhttp: Revert recursion limit to 3.
rsaenh: Use SymCrypt for RSA and RC4.
dssenh: Use SymCrypt.
bcrypt: Use SymCrypt for hashes.
tomcrypt: Remove library.
bcrypt: Use SymCrypt for keys.
bcrypt: Get rid of the unixlib.
bcrypt: Add initial support for CHACHA20_POLY1305.
bcrypt: Add support for Brainpool curves.
Ivan Lyugaev (1):
secur32: Return SEC_E_INVALID_TOKEN for invalid TLS record headers.
Jacek Caban (12):
jscript/tests: Remove unused variables.
vbscript/tests: Remove unused variables.
ucrtbase/tests: Link directly to environment functions.
msvcp140_1/tests: Remove unused variable.
msvcp60/tests: Remove unused variable.
ddraw/tests: Remove unused variable.
ddraw: Remove unused variable.
ntdll: Synthesize caller context in ARM64EC RtlRaiseException.
ieframe/tests: Add missing CHECK_CALLED statements.
scrobj/tests: Remove unused variables.
wpcap/tests: Remove unused variables.
shcore/tests: Remove unused variables.
Jiangyi Chen (2):
winewayland.drv: Add alpha-modifier-v1 protocol to support change alpha by WAYLAND_SetLayeredWindowAttributes.
winewayland.drv: Add WAYLAND_UpdateLayeredWindow and add support for changing alpha using the alpha-modifier-v1 protocol.
Kellen Kopp (1):
win32u: Fixed incorrect glyph outline size.
Marc-Aurel Zent (3):
winemac: Remove unused includes in vulkan.c.
winemac: Factor out Metal device and view logic into MetalViewSwapChain.
winemac: Implement cross-process MetalViewSwapChain via CALayerHost.
Martin Storsjö (2):
ntdll: Fix building for arm64 without HWCAP_CPUID defined.
ntdll: Fix building for arm64 without ESR_MAGIC/esr_context.
Matteo Bruni (4):
server: Fix numpad vkey handling.
winex11: Return the layout index from from detect_keyboard_layout().
winex11: Create layouts when falling back to fuzzy detection.
configure: Add -msse2 to default i386_EXTRACFLAGS.
Nikolay Sivov (5):
msxml3/writer: Use wchar literals in more places.
msxml3/tests: Add more tests for the writer output.
msxml3/tests: Use writer output test helper throughout the tests.
msxml3/tests: Avoid string conversion in a few places.
msxml3/writer: Normalize newlines in CDATA content.
Paul Gofman (8):
ddraw: Renamed is_root surface attribute to is_implicit.
ddraw: Allow attaching flip chain surfaces.
ddraw/tests: Add tests for attaching and detaching backbuffers on ddraw1.
ddraw: Force render target bind flags on v1 swapchain candidate surfaces.
kernelbase: Add stub for GetIntegratedDisplaySize().
dsound: Fail IDirectSoundCaptureBufferImpl_Lock() for invalid buffer range.
ddraw/tests: Remove extra backbuffer1 release in test_surface_attachment().
win32u: Always consider newly created shape updated in set_surface_shape().
Piotr Caban (3):
msxml3: Don't add newline before first element when indentation is enabled.
msxml3: Don't indent endElement since it changes text node content.
include: Define more runtimeclasses in windows.storage.streams.idl.
Rose Hellsing (6):
wineboot: Create SQMClient MachineId registry key.
ntdll: Account for read-only cookie in loader.
ntoskrnl.exe: Account for read-only cookies.
kernel32/tests: Add test for read-only cookie in loader.
riched20: Properly capture \pntext content.
riched20/tests: Expand editor tests to verify \pntext behaviour.
Russell Greene (1):
hhctrl: Return a nonzero cookie from HH_INITIALIZE.
Rémi Bernon (43):
server: Keep track of builtin class FNID on registration.
server: Introduce a get_class_fnid helper.
user32: Set builtin class FNID for menu controls.
user32: Set builtin class FNID for MDI client controls.
user32: Set builtin class FNID for dialog controls.
win32u: Set builtin class FNID on window creation.
winex11: Move find_xkb_layout_variant helper around.
opengl32: Allocate display lists for client-side contexts.
opengl32: Share display lists in wglShareLists on the PE side.
opengl32: Query the context profile mask on init.
opengl32: Track client-side buffer names allocation.
opengl32: Track implicit buffer names allocation.
user32: Store a scroll_info pointer in the scrollbar control info.
user32: Set FNID for the builtin scrollbar window class.
opengl32: Call get_integer hook after a successful unix call.
opengl32: Add get_integer hooks to indexed glGet functions.
opengl32: Pass the returned unix value to get_integer hooks.
opengl32: Hook more glGet functions with get_integer.
opengl32: Implement client / host mapping for buffer names.
win32u: Introduce a server_set_window_info helper.
server: Move window extra data to the shared memory.
win32u: Return value directly from get_window_extra.
server: Move window id / menu to the shared memory.
server: Move window instance to the shared memory.
server: Move window user data to shared memory.
server: Move class local flag to the shared memory.
server: Keep track of class window proc ansi nature.
win32u: Simplify winproc handle to index conversions.
win32u: Move window procedure to the shared memory.
opengl32: Implement client / host mapping for framebuffer names.
opengl32: Allow framebuffer implicit allocation in some core contexts.
opengl32: Implement client / host mapping for renderbuffer names.
opengl32: Allow renderbuffer implicit allocation in some core contexts.
opengl32: Implement client / host mapping for texture names.
opengl32: Ignore more cases in make_opengl get_object_type.
opengl32: Implement client / host mapping for sampler names.
opengl32: Implement client / host mapping for display list names.
opengl32: Implement client / host mapping for program names.
opengl32: Implement client / host mapping for vertex shader names.
opengl32: Implement client / host mapping for fragment shader names.
opengl32: Implement client / host mapping for semaphore names.
opengl32: Implement client / host mapping for memory names.
opengl32: Implement client / host mapping for path names.
SeongChan Lee (1):
winexinput.sys: Fix handling of non-32-bit axis.
Soham Nandy (1):
ntdll: Preserve nonvolatile registers across VEH callbacks.
Steven Don (2):
atl: Implement registering ATL window messages.
atl/tests: Add tests for proper handling of WM_ATLGETCONTROL and WM_ATLGETHOST.
Thibault Payet (1):
ntdll/unix: Always define get_current_thread_data.
Tim Clem (1):
hnetcfg: Report 0 returned elements from IEnumVARIANT::Next.
Twaik Yont (1):
wineandroid: Raise minimum SDK version to 28 (Android 9.0).
Vibhav Pant (2):
combase/tests: Add tests for delayed marshaling of objects with apartment affinity.
combase: Implement delayed marshaling for RoGetAgileReference.
Wolfgang Hartl (1):
ir50_32: Export DllRegisterServer and DllUnregisterServer.
Yuxuan Shui (2):
mf/tests: Check frame size of video processor's output type.
winegstreamer: Video processor shouldn't have a preferred size.
Zhengyong Chen (1):
win32u: Fix signed coordinate extraction in drag_drop_call.
```
1
0
The Wine development release 11.10 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 2.0.
- XPath support reimplemented without libxml2.
- More VBScript compatibility improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.10.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.10/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.10 (total 17):
- #9404 cannot select TWAIN source in irfanview
- #41047 Star Wars Racer videos have no sound
- #46635 git for windows works or crashes depending on how its invoked
- #48644 Kodak EasyShare installer doesn't populate list of countries (needs GEO_FRIENDLYNAME)
- #49720 Family Tree Maker 2017 installer fails after numerous "fixme" console messages
- #50589 Foxit PhantomPDF Business v10.0 installer fails, reports 'Printer installation failed, please check the print service.'
- #56482 Vocaloid 6 does not run
- #57329 Desktop files generated by Wine do not conform to the Desktop Entry Specification
- #58887 Opening screen of Photolemur 3 has 'tofu' characters between letters on three lines
- #58888 Photolemur 3 crashes if you use the Settings / Language menu
- #59522 explorerframe: ITaskbarList3 SetProgressValue/SetProgressState stubs - could use native desktop backends
- #59539 Querying namespace nodes via XPath's namespace:: axis returns NULL for all nodes. selectSingleNode("namespace::prefix") returns S_FALSE/NULL and selectNodes("namespace::*") returns an empty list, even when the namespace is in scope.
- #59555 Star Wars: Knights of the Old Republic - Rendering failure with active framebuffer effects
- #59625 shcore: Set/GetCurrentProcessExplicitAppUserModelID are stubs
- #59771 TrackChecker-x64.exe hangs at 100% CPU on startup since Wine 11.7 (msxml3 regression)
- #59774 Age of Empires III: The Asian Dynasties crashes in the beginning cinematics
- #59789 comctl32:button: Test fails since 67898adb91
### Changes since 11.9:
```
Aaron Yourk (2):
ole32/tests: Add test for OLE clipboard reuse across STA threads.
ole32: Validate cached clipboard window handle in get_clipbrd_window.
Alex Henrie (7):
wininet: Fix a memory leak in HTTP_DoAuthorization.
shell32: Correct folder rename icon ID.
shell32: Correct XP control panel icon ID.
shell32: Add computer-turning-off icon.
shell32: Correct shield icon ID.
winex11: Add missing const in langid_from_xkb_layout (GCC).
winebth: Fix a memory leak in bluez_gatt_characteristic_read.
Alexandre Julliard (22):
win32u: Implement NtUserGetMessagePos().
win32u: Implement NtUserSetMessageExtraInfo().
mmdevapi: Use a system thread for the audio driver main loop thread.
mmdevapi: Use a system thread for the audio driver timer loop thread.
user32: Reimplement InSendMessageEx() using NtUserGetThreadState().
win32u: Remove redundant receive_flags from the user thread info.
user32: Use NtUserGetAncestor to check for desktop window.
win32u: Move desktop and message windows to the internal thread info.
win32u: Move the GetMessagePos/Time/ExtraInfo values to the internal thread info.
imm32: Get the default IMC from the win32u thread state.
win32u: Move the default IMC to the internal thread info.
win32u: Use a private counter for winproc user callbacks recursion.
win32u: Use pthread instead of the TEB to access internal per-thread data.
win32u: Avoid using NtUserGetThreadInfo() on the Unix side.
vkd3d: Import upstream release 2.0.
user32/tests: Add some more tests for GetCurrentInputMessageSource().
win32u: Save/restore the message source directly in call_window_proc().
win32u: Add support for threads that don't have a TEB.
uxtheme: Don't repaint the window itself in DrawThemeParentBackground.
include: Move some definitions to processthreadsapi.h.
include: Add a number of Interlocked intrinsic defines.
nls: Update sorting weights to the Windows 11 version.
Alistair Leslie-Hughes (14):
uiautomationcore: Add UiaDisconnectAllProviders stub.
include: Add ndattrib.idl.
include: Add ndfapi.h.
hnetcfg: Return empty collection in INetFwRules_NewEnum.
ndfapi: Add a stub dll.
wkscli: Add stub dll.
wkscli: Move some functions from netapi32.
include: Rename tpcshrd.h to tpcshrd.idl.
include: Add rtscom.idl.
advapi32: Add WmiCloseBlock stub.
thumbcache: Add stub dll.
uuid: Add thumbcache.h.
thumbcache: Add LocalThumbnailCache stubbed interface.
sechost: Skip spaces after a bracket when parsing acl strings.
Andrey Gusev (1):
qcap: Change helpstring for AVICo coclass.
Aric Stewart (1):
uniscribe: Correct possible buffer over/under runs.
Arie Miller (1):
shell32: Don't add backslash after CSIDL_PERSONAL.
Bartosz Kosiorek (6):
msvcp90: Add _FSinh implementation.
msvcp90: Add _Sinh implementation.
msvcp90: Add _FCosh implementation.
msvcp90: Add _Cosh implementation.
msvcp90: Add _LCosh implementation.
msvcp90: Add _LSinh implementation.
Benjamin Fischer (1):
msvcrt: Avoid expensive timezone queries from plain time() calls.
Bernhard Kölbl (1):
wine.inf: Add ImmersiveShell registry key.
Bernhard Übelacker (3):
regedit: Remove unused variable.
uninstaller: Remove unused variable.
setupapi: Only copy dest when it got written by SetupCopyOEMInfW (ASan).
Bohdan Tkachenko (2):
sapi: Implement ISpVoice::GetStatus.
sapi: Implement ISpVoice::SetPriority and GetPriority.
Brendan Shanks (1):
ntdll: Handle SIGBUS with the SIGSEGV handler on ARM64.
Connor McAdams (14):
d3dx10/tests: Add tests for loading 2D texture array DDS files.
d3dx11/tests: Add tests for loading 2D texture array DDS files.
d3dx10: Add support for loading DDS files containing texture arrays.
d3dx11: Add support for loading DDS files containing texture arrays.
d3dx10/tests: Add tests for D3DX10LoadTextureFromTexture().
d3dx10: Validate some input arguments in D3DX10LoadTextureFromTexture().
d3dx10: Handle cases in D3DX10LoadTextureFromTexture() where no data is loaded.
d3dx10: Implement texture level loading in D3DX10LoadTextureFromTexture().
d3dx10: Add support for mipmap generation in D3DX10LoadTextureFromTexture().
d3dx10: Add support for 3D textures in D3DX10LoadTextureFromTexture().
user32/tests: Add tests for RealGetWindowClass.
comctl32/tests: Add tests for RealGetWindowClass.
win32u/tests: Add a test for real window class name retrieval.
user32: Pass real argument to NtUserGetClassName in RealGetWindowClass{A/W}.
Elizabeth Figura (33):
Revert "packager: Prefer native version."
Revert "dxcore: Prefer native."
vulkan-1: Do not prefer native.
ksuser: No longer prefer native.
qdvd: No longer prefer native.
wmvcore: No longer prefer native.
wmp: No longer prefer native.
d3dcompiler: No longer prefer native.
d3dx9: No longer prefer native.
d3dx10: No longer prefer native.
d3dx11: No longer prefer native.
bluetoothapis: No longer prefer native.
dcomp: No longer prefer native.
dxva2: No longer prefer native.
fltlib: No longer prefer native.
pdh: No longer prefer native.
virtdisk: No longer prefer native.
winsta: No longer prefer native.
sfc: No longer prefer native.
sfc_os: No longer prefer native.
sas: No longer prefer native.
fwpuclnt: No longer prefer native.
d3dim: No longer prefer native.
d3dim700: No longer prefer native.
tdh: No longer prefer native.
rtutils: No longer prefer native.
quartz/tests: Use %I64.
quartz: Use %I64.
qasf/tests: Use %I64.
qcap/tests: Use %I64.
qedit/tests: Use %I64.
amstream/tests: Use %I64.
amstream: Use %I64.
Esme Povirk (1):
configure: Document the other --enable-archs values.
Feifan He (1):
winemac: Handle reset parameter in ClipCursor.
Francis De Brabandere (21):
vbscript/tests: Add tests for ExecuteGlobal re-Dim of an existing array.
vbscript: Reject re-Dim of an existing global array with err 13.
vbscript/tests: Add tests for Cxxx coercion of Null and Nothing.
vbscript: Raise err 94 on Cxxx(Null) and err 91 on Cxxx(Nothing).
vbscript/tests: Add tests for And/Or/Imp with BSTR operands.
vbscript: Coerce BSTR operands of And/Or/Imp to number-or-Boolean.
vbscript/tests: Add tests for ReDim on class member arrays.
vbscript: Mark class member fixed-size arrays as FADF_FIXEDSIZE.
vbscript/tests: Add tests for UBound/LBound on non-array arguments.
vbscript: Match native error codes for non-array arguments to UBound/LBound.
vbscript: Parse octal numeric literals (&O...).
vbscript: Parse double literals via ucrtbase _wcstod_l.
vbscript/tests: Add tests for declaration scope in redefinition checks.
vbscript: Check top-level name redefinition against global scope only.
scrrun/tests: Add test for hashing failure of a degenerate object key.
scrrun/dictionary: Report key-hashing failures from lookups.
vbscript/tests: Add tests for error reporting from a GetRef reference.
vbscript: Run a script-invoked function reference as an internal call.
vbscript/tests: Note the error HRESULT seen by an external caller.
vbscript/tests: Add tests for class members sharing a global Dim/Const name.
vbscript: Compile class members in a separate namespace from globals.
Hans Leidekker (3):
include: Update CERT_KEY_CONTEXT.
msctf: Add a stub implementation of ITfFnReconversion.
odbc32: Add support for driver connection attributes.
Henri Verbeet (1):
wined3d: Remove the "more than one back buffer" FIXME from wined3d_swapchain_init().
Huw D. M. Davies (1):
hal: Fix #endif guard comment.
Ivan Ivlev (1):
oleaut32: Initialize page_info in OleCreatePropertyFrameIndirect.
Jacek Caban (4):
ntdll: Don't hold the InSyscallCallback flag during the NtReadFile syscall.
ntdll: Use cooperative suspend for syscall callbacks.
ntdll/tests: Add tests for suspending ARM64EC syscall callbacks.
ntdll: Allow calling NtContinue in syscall callbacks.
Joerg Rueppel (1):
d3dxof: Pad with magic value before object data in parse_object().
Jon Koops (2):
dsound: Get rid of DirectSoundDevice reference counting.
dsound: Remove unused DSOUND_renderers list and lock.
Kun Yang (2):
kernel32/tests: Add a test for ReplaceFileW.
kernelbase: Fail in ReplaceFileW when replaced file is a directory.
Marc-Aurel Zent (2):
winemac: Set IME open status depending on HKL.
imm32: Fix ime_ui_notify() TRACE log.
Matteo Bruni (6):
win32u: Tweak a couple of comments.
win32u: Simplify layout name generation for base keyboard layouts.
winex11: Keep a list of every known Xkb keyboard layout.
winex11: Store Xkb keyboard layout KLID.
winex11: Store Xkb keyboard layout id.
dsound: Get rid of the all_stopped argument.
Matthias Gorzellik (1):
kernelbase: Add null check for str in OutputDebugStringW.
Nikolay Sivov (10):
msxml3: Add a root element helper.
msxml3: Add a helper to get last child node.
msxml3: Expose previous sibling helper.
msxml3: Mark namespace declaration nodes on creation.
msxml3: Add implicit 'xml' namespace as document attribute.
msxml3: Reimplement XPath support without libxml2.
msxml3: Properly free parsed selection namespaces (ASan).
msxml3/sax: Fix UTF-16 BE decoder.
msxml3/sax: Remove commented out code.
oleaut32/tests: Use correct symbol for the Seek() argument.
Paul Gofman (4):
ws2_32/tests: Test select() with valid but non-socket handle.
ws2_32: Return WSAENOTSOCK instead of WSAENOTSUPP from select() when trying to select on non-socket handle.
wined3d: Handle data aliasing when blitting to itself with FX transforms.
msctf: Return stub interface from ThreadMgr_GetFunctionProvider().
Piotr Caban (12):
uuid: Add IID_IEnterActivityWithNoLock.
uuid: Add IID_ICallbackWithNoReentrancyToApplicationSTA.
combase: Share context token between MTA threads.
combase: Add IComThreadingInfo::SetCurrentLogicalThreadId implementation.
ole32: Add IRundown interface definition.
combase: Add IRundown interface stub.
combase: Implement IContextCallback::ContextCallback.
ole32: Add IContextCallback::ContextCallback tests.
combase: Enable remoting for STA threads in CoWaitForMultipleHandles.
wbemprox: Fix Win32_OperatingSystem.TotalVirtualMemorySize value.
wbemprox: Fix Win32_OperatingSystem.FreeVirtualMemory value.
msxml3: Fallback to UTF-8 encoding if detection fails.
Robert Gerigk (8):
ntoskrnl: Store DEVPKEY_Device_Parent when enumerating child devices.
ntoskrnl/tests: Add DEVPKEY_Device_Parent test.
ntoskrnl: Store DEVPKEY_Device_Children on parent after bus enumeration.
ntoskrnl/tests: Add DEVPKEY_Device_Children test.
ntoskrnl: Store DEVPKEY_Device_Siblings on each child after bus enumeration.
ntoskrnl/tests: Add DEVPKEY_Device_Siblings test.
cfgmgr32: Implement CM_Get_Parent using DEVPKEY_Device_Parent property.
ntoskrnl/tests: Test CM_Get_Parent on the PnP-managed child device.
Rose Hellsing (2):
riched20: Implement EM_LINELENGTH with wParam==-1.
riched20/tests: Add EM_LINELENGTH(-1) tests.
Rémi Bernon (22):
win32u: Handle menu name ansi conversion on the PE side.
win32u: Simplify window class menu name management.
win32u: Avoid leaking user lock on NtUserGetClassInfoEx error.
win32u: Simplify internal small class icon creation.
win32u: Allow OpenGL context / HDC pixel format mismatch.
server: Move shared memory initialization out of create_class.
server: Introduce a struct class_info to wrap window class info.
server: Move class window proc to the shared memory.
win32u: Move class cursor and background to shared memory.
win32u: Move window class icons to the shared memory.
win32u: Move window class menu names to the shared memory.
win32u: Keep track of the registered builtin class atoms.
win32u: Create FNID from the ntuser_client_procs enum.
win32u: Get rid of unnecessary private_off window field.
win32u: Move window info private len to window shared memory.
server: Use a dedicated request to set window builtin FNID.
win32u: Implement real class names using builtin class FNID.
user32: Add helpers to set static control state.
user32: Set builtin class FNID for button controls.
user32: Set builtin class FNID for combo controls.
user32: Set builtin class FNID for edit controls.
user32: Set builtin class FNID for listbox controls.
Shaun Ren (2):
mf/tests: Add some further tests for the presentation clock's SetTimer().
mf/clock: Insert timers in chronological order in present_clock_timer_SetTimer().
Stefan Dösinger (2):
shell32: Add an Info icon.
shell32: Use IDI_SHELL_INFO icon for SIID_INFO.
Stian Low (1):
wined3d: Add GPU information for Intel UHD 620 (0x5917).
Trent Waddington (1):
crypt32: CertContext_SetProperty(CERT_NCRYPT_KEY_HANDLE_PROP_ID) takes a handle, not a pointer.
Twaik Yont (7):
wineandroid: Restrict Java keyboard focus to whole Wine views.
wineandroid: Focus the desktop view after creating it.
wineandroid: Ignore duplicate primary button motion events.
wineandroid: Create desktop view via ioctl and pass event pipe.
wineandroid: Make JNI initialization work with direct JVM loading.
wineandroid: Terminate activity when desktop client disconnects.
wineandroid: Split Android driver and Wine into separate processes.
Vibhav Pant (11):
winebth.sys: Fix potential NULL deref in bluez_gatt_characteristic_value_free.
winebth.sys: Push newly enumerated bluetooth devices directly to the watcher event queue.
winebth.sys: Factor code for handling new BlueZ objects into bluez_handle_new_object.
winebth.sys: Perform initial device enumeration inside a DBusPendingCall callback.
winebth.sys: Return the correct boolean value in bluez_gatt_characteristic_props_from_dict_entry.
windows.devices.bluetooth/tests: Add tests for IBluetoothLEDeviceStatics::FromBluetoothAddressAsync, IBluetoothLEDevice.
windows.devices.bluetooth: Implement BluetoothLEDeviceStatics::FromBluetoothAddressAsync.
windows.devices.bluetooth: Implement IBluetoothLEDevice::get_DeviceId.
windows.devices.bluetooth: Implement IBluetoothLEDevice::get_GattServices.
windows.devices.bluetooth: Implement IGattDeviceService::get_Uuid.
windows.devices.bluetooth: Implement IGattDeviceService::get_AttributeHandle.
Zhiyi Zhang (9):
winex11.drv: Return WithdrawnState when get_window_wm_state() fails.
winex11.drv: Wait for the previous request when transitioning from IconicState to NormalState.
ntdll: Add NtAlpcCreatePort() stub.
ntdll: Add NtAlpcConnectPort() stub.
ntdll: Add NtAlpcAcceptConnectPort() stub.
ntdll: Add NtAlpcSendWaitReceivePort() stub.
ntdll: Add NtAlpcDisconnectPort() stub.
ntdll: Add NtAlpcImpersonateClientOfPort() stub.
ntdll: Add missing ZwAlpc* function names.
Ziqing Hui (1):
dwrite: Add fallback for Miscellaneous Symbols.
```
1
0
The vkd3d team is proud to announce that release 2.0 of vkd3d, the 3D graphics
porting library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-2.0.tar.xz>
The current source can also be pulled directly from either of these git
repositories:
<https://gitlab.winehq.org/wine/vkd3d.git>
<https://codeberg.org/vkd3d/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 2.0
### libvkd3d
- Resources with a combined depth/stencil format like
DXGI_FORMAT_R32G8X24_TYPELESS can be created without the
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL flag being set. It's somewhat rare
for applications to create such resources; typically resources with a
combined depth/stencil format are either used with both a depth/stencil view
and a shader resource view, or exclusively with a depth/stencil view.
- The syntax for the VKD3D_DEBUG environment variable has been extended to
allow more precise control over the debug output. See the ‘Environment
variables’ section of the README for a description of the extended syntax.
### libvkd3d-shader
- New features and improvements for the HLSL source type:
- Store operations to structured thread group shared memory.
- Interlocked operations on structured and/or arrayed unordered access views
and thread group shared memory.
- A new common subexpression elimination optimisation pass.
- Initial support for loops in shader model 2-3 target profiles.
- More efficient usage of temporary registers, primarily due to improvements
to the register allocator and the introduction of an output write hoisting
pass. This is particularly relevant for shader model 1-3 target profiles,
where the number of temporary registers is relatively limited, and we may
otherwise not be able to compile some shaders.
- The tex3Dbias(), tex3Dlod(), and texCUBElod() intrinsic functions.
- The ‘SV_ClipDistance’ and ‘SV_CullDistance’ input/output semantics.
- The ‘SV_StencilRef’ pixel shader output semantic.
- Corrected handling of InterlockedMin() and InterlockedMax() operations on
inputs with differing signedness. When either of the inputs has an ‘uint’
type, the other is converted/promoted to ‘uint’ as well.
- The VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES flag now
additionally maps the shader model 3 ‘VFACE’ and ‘VPOS’ semantic names to
their shader model 4+ equivalents.
- Constant folding of floating-point modulo expressions. I.e., ‘x % y’ where
‘x’ and ‘y’ are floating-point constants.
- The scope of variables declared in ‘for’ loop initialisation clauses has
been expanded to extend beyond the end of the loop. I.e.,
‘for (int i = 0; i < 10; ++i); return i;’ is valid HLSL. That's different
from e.g. C99, where the scope of ‘i’ would be limited to the loop.
- Floating-point literal parsing has been made independent of the current
locale. Previously, the HLSL parser would use the current locale's decimal
separator when parsing floating-point literals, instead of the HLSL
decimal separator, which is always the ‘.’ character. Note that this only
affects programs that set a locale other than the initial ‘C’ locale, for
example by calling the setlocale() function.
- New features and improvements for the effects (FX) source type:
- Parsing of operand indices in eval() block was broken and has been fixed.
- The ‘umod’ FXLVM operation is recognised.
- New features and improvements for the legacy Direct3D byte-code source type:
- The following instructions:
- m4x4, m3x4, m4x3, m3x3, and m3x2
- phase
- texdepth
- texreg2ar, texreg2gb, and texreg2rgb
- The ‘\_dz’, ‘\_db’, ‘\_dw’, and ‘\_da’ source modifiers. These are used
with the ‘texcrd’ and ‘texld’ instructions.
- The ‘vFace’ and ‘vPos’ pixel shader input registers.
- Shader model 3 vertex shader point size outputs. In shader model 1 and 2
point size output uses the ‘oPts’ output register; shader model 3 uses a
generic ‘o’ register with a ‘dcl_psize’ declaration.
- Shader model 1 and 2 vertex shader outputs are clamped to the 0 to 1
range.
- The DXIL source type supports forward-referencing pointers in load, store,
atomic read/modify/write, and compare/exchange operations.
- The DXIL source type supports pixel shader specified stencil reference
values.
- The experimental Metal Shading Language (MSL) target supports pixel shader
specified stencil reference values.
- The Direct3D shader assembly target supports 16-bit immediate constants.
These are typically produced by DXIL sources.
- The Direct3D shader assembly target supports the following global flags:
- ‘64UAVs’
- ‘ROVs’
- ‘UAVLoadAdditionalFormats’
- ‘UAVsAtEveryStage’
- ‘allResourcesBound’
- ‘enable11_1ShaderExtensions’
- ‘int64Ops’
- ‘nativeLowPrecision’
- ‘stencilRef’
- ‘viewportAndRTArrayIndex’
- ‘waveOps’
- New interfaces:
- The vkd3d_shader_scan_denormal_mode_info structure extends the
vkd3d_shader_compile_info structure, and can be used to retrieve the
denormal mode used for floating-point numbers.
- The VKD3D_SHADER_SPIRV_EXTENSION_KHR_FLOAT_CONTROLS enumeration value
indicates support for the SPV_KHR_float_controls extension in the SPIR-V
target environment.
- The VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16 compile option specifies
the denormal mode to use for 16-bit floating-point numbers.
- The VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32 compile option specifies
the denormal mode to use for 32-bit floating-point numbers.
- The VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 compile option specifies
the denormal mode to use for 64-bit floating-point numbers.
- The VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORMS flag specifies that
all uniforms with global scope should be considered ‘const’ in HLSL
sources.
- When targeting VKD3D_SHADER_API_2_0, compilation will fail when a required
floating-point denormal mode can't be specified in the target shader. For
the SPIR-V target, this requires the SPV_KHR_float_controls extension, as
well as the corresponding capabilities in the target environment. The
earlier mentioned compile options allow overriding the denormal modes
specified by the source shader.
- The syntax for the VKD3D_SHADER_DEBUG environment variable has been extended
to allow more precise control over the debug output. See the ‘Environment
variables’ section of the README for a description of the extended syntax.
### libvkd3d-utils
- The D3DCompile(), D3DCompile2(), D3DCompile2VKD3D(), and D3DPreprocess()
functions support using D3D_COMPILE_STANDARD_FILE_INCLUDE as include
handler.
- Unless the D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY flags is specified,
D3DCompile2VKD3D() will consider all uniforms with global scope to be
‘const’ for compiler versions 37 and up. This is also the case for
D3DCompile() and D3DCompile2(), which behave like compiler version 47.
### Changes since vkd3d 1.19:
```
Alistair Leslie-Hughes (2):
include: Define S_ISREG in vkd3d_shader_utils.h if needed.
vkd3d-utils: Include "direct.h" for getcwd() when building with the Wine/msvcrt headers.
Anna (navi) Figueiredo Gomes (8):
vkd3d-shader/tpf: Recognize the SV_ClipDistance and SV_CullDistance semantics.
tests/hlsl_d3d12: Add a Clip/Cull reflection test.
vkd3d-shader/hlsl: Group clip/cull registers together exclusively.
vkd3d-shader/tpf: Check the semantic index for clip/cull semantics.
vkd3d-shader/fx: Parse all indexes for eval() registers.
vkd3d-shader/fx: Add the "umod" fxlc opcode name.
vkd3d-shader/fx: Print "expr" registers without index.
vkd3d-shader/fx: Avoid ssize_t in fx_print_fxlc_argument().
Elizabeth Figura (48):
tests: Test unterminated #if.
vkd3d-shader/preproc: Print a warning when a macro in a directive is unterminated.
vkd3d-shader/preproc: Clean up directive_func at the end of parsing too.
vkd3d-shader/preproc: Constify a few macro pointers.
vkd3d-shader/preproc: Reset and cleanup the function state in more places.
vkd3d-shader/hlsl: Pass the resource load type to intrinsic_tex().
vkd3d-shader/hlsl: Implement tex3Dbias().
vkd3d-shader/hlsl: Implement tex3Dlod().
vkd3d-shader/hlsl: Implement texCUBElod().
tests/hlsl: Test specifying const on a cbuffer uniform.
vkd3d-shader/hlsl: Allow uninitialized const variables inside cbuffers.
vkd3d-shader/hlsl: Store the compatibility flags directly.
vkd3d-shader/hlsl: Introduce a compile option to make global uniform variables const.
vkd3d-utils: Enable VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORMS where appropriate.
vkd3d-shader/hlsl: Convert constant vector indices to swizzles.
tests/hlsl: Avoid [require] in rt-get-sample-info.
tests/hlsl: Test swizzling done by sampleinfo.
vkd3d-shader/ir: Do not extend SSA liveness in loops more than necessary.
vkd3d-shader/d3dbc: Validate temporary register limits.
vkd3d-shader/d3dbc: Convert PHASE to NOP.
vkd3d-shader/ir: Lower _dw and _dz modifiers.
tests/shader_runner: Take hlsl_hrs into account when adding sm1/sm4/sm6 versions to the test mask.
vkd3d-shader/hlsl: Map VPOS to SV_Position for sm4.
vkd3d-shader/d3dbc: Lower vPos.
tests/hlsl: Test VPOS.
tests/shader_runner_d3d9: Implement support for depth resources.
vkd3d-shader/d3dbc: Add DEPTHOUT to io_dcls.
vkd3d-shader/d3dbc: Implement TEXDEPTH.
vkd3d-shader/ir: Add validation rules for TEXDEPTH.
vkd3d-shader/ir: Introduce vsir_register_type_get_name().
vkd3d-shader/ir: Introduce an output write hoisting pass.
vkd3d-shader/ir: Add traces to vsir copy propagation.
vkd3d-shader/hlsl: Handle HLSL_OP3_TERNARY in sm1_generate_vsir().
vkd3d-shader/hlsl: Handle HLSL_OP1_FLOOR in sm1_generate_vsir().
vkd3d-shader/hlsl: Handle HLSL_OP1_CEIL in sm1_generate_vsir().
tests/hlsl: Test VFACE.
vkd3d-shader/hlsl: Validate SV_IsFrontFace width.
vkd3d-shader/d3dbc: Lower vFace.
vkd3d-shader/hlsl: Rename convert_numeric_type() to hlsl_change_base_type() and use it in more places.
vkd3d-shader/hlsl: Map VFACE to SV_IsFrontFace for sm4.
vkd3d-shader/d3dbc: Move oPts/oFog scanning to d3dbc_scan_register().
vkd3d-shader/d3dbc: Fix a check for VKD3DSPR_COMBINED_SAMPLER in d3dbc_parse_operand().
vkd3d-shader: Fix TEXDEPTH write mask validation.
tests: Add d3dbc/texdepth to the tests list.
tests: Move bump.shader_test to d3dbc/.
tests/hlsl: Remove some unreachable todos from pixel-position.shader_test.
vkd3d-shader/hlsl: Use hlsl_clone_semantic() in hlsl_type_clone().
vkd3d-utils: Do not call ID3DInclude_Close() for NULL code.
Francisco Casas (46):
vkd3d-shader/hlsl: Identify user-provided int loop limiter uniforms.
vkd3d-shader/hlsl: Allocate a 255 int for SM3 loops without limiter.
vkd3d-shader/hlsl: Implement SM3 loops without user-provided int uniform limiters.
vkd3d-shader/hlsl: Generate SM1 break vsir instructions.
vkd3d-shader/d3dbc: Write REP, ENDREP, and BREAK instructions.
vkd3d-shader/d3dbc: Write DEFI instructions.
vkd3d-shader/ir: Allocate independent outpointid operands.
vkd3d-shader/dxil: Allocate independent outpointid operands.
vkd3d-shader/dxil: Allocate new indirect indices when copying template operands.
vkd3d-shader/ir: Validate that source operands are referenced only once.
tests/hlsl: Test out-of-bounds vector indexing.
tests/hlsl: Add scope tests for 'for' loop initializers.
vkd3d-shader/hlsl: Declare vars on loop initialization as outside the loop.
vkd3d-shader/ir: Clone rel_addrs for second use of SRC0 in vsir_program_lower_lrp().
vkd3d-shader/ir: Clone rel_addrs for second use of SRC1 in vsir_program_lower_pow().
vkd3d-shader/ir: Clone rel_addrs for multiple uses of SRC in vsir_program_lower_texbem().
vkd3d-common: Track the debug level per translation unit.
vkd3d-common: Introduce debug classes.
vkd3d-common: Introduce debug channels.
vkd3d-shader/hlsl: Use a separate debug channel for copy propagation traces.
tests/hlsl: Test COLOR semantic clamping on shader model 2.0.
tests/hlsl: Test COLOR semantic clamping on shader model 1.0.
vkd3d-shader/ir: Clamp COLOR outputs on vs_2_0 and lower.
tests/d3dbc: Add tests for m4x4, m3x4, m4x3, m3x3, and m3x2.
vkd3d-shader/d3dbc: Record multiple registers for mNxN instructions.
vkd3d-shader/ir: Lower mNxN instructions.
vkd3d-shader/ir: Support indirect addressing on mNxM instructions.
tests/shader-runner: Support the r8g8b8a8-unorm format.
tests/d3dbc: Test the texreg2ar, texreg2gb, and texreg2rgb instructions.
vd3d-shader/ir: Support texreg2ar, texreg2gb, and texreg2rgb.
tests/hlsl: Test side-effects on for loop conditionals.
tests/hlsl: Test loops with limiters and a maximum number of iterations.
tests/hlsl: Test "i < limit" expressions inside loops.
tests/hlsl: Test d3dbc loops with a float iterator.
vkd3d-shader/hlsl: Detect limiters with a capped number of iterations.
vkd3d-shader/hlsl: Introduce a helper to identify "k < n" expressions.
vkd3d-shader/hlsl: Detect "i < n" limiter expressions with float iterators.
vkd3d-shader/hlsl: Avoid trying to create invalid dimension combined samplers.
vkd3d-shader/ir: Only extend liveness of temps that are accessed inside loops.
vkd3d-shader/ir: Extend the liveness of SSAs at all loop depth levels.
tests/shader_runner: Add support for d3dbc bool constants.
tests/d3dbc: Add some basic 'defb' instruction tests.
vkd3d-shader/d3dbc: Set .x swizzles on scalar immediate constants.
vkd3d-shader/ir: Record implicit writes for uninitialized temps in liveness tracking.
tests/hlsl: Add an additional const variable test.
vkd3d-shader/hlsl: Don't allow non-static initializations in is_static_expression().
Giovanni Mascellani (46):
vkd3d-shader/dxil: Emit loads in a fixup pass.
vkd3d-shader/dxil: Emit stores in a fixup pass.
vkd3d-shader/dxil: Emit atomic RMW operations in a fixup pass.
vkd3d-shader/dxil: Emit compare-exchange operations in a fixup pass.
vkd3d-shader/ir: Validate SV_VertexID system values.
vkd3d-shader/ir: Validate SV_RenderTargetArrayIndex system values.
vkd3d-shader/ir: Validate SV_ViewportArrayIndex system values.
vkd3d-shader/ir: Validate SV_Target system values.
tests/shader_runner_vulkan: Honor VKD3D_DISABLE_EXTENSIONS.
tests/vkd3d_shader_api: Initialize the OpenGL test context.
vkd3d-shader: Allow querying for the shader denormal mode while scanning.
vkd3d-shader: Allow overriding the denormal modes for a shader.
vkd3d-shader/spirv: Emit the denormal mode.
tests/hlsl: Test SV_VertexID and SV_InstanceID when they start from a non-zero value.
tests/hlsl: Test a DXIL shader with non-contiguous semantic indices.
tests/hlsl: Test LOD clamping.
tests/hlsl: Test using a load offset which is not an immediate constant.
tests/hlsl: Test sampling with invalid immediate offsets.
tests/hlsl: Test loading at coordinates that become out-of-bound after offsetting.
vkd3d-shader: Never try to emit denormal modes for API version <= 1.19.
vkd3d-shader/glsl: Error out when unable to handle the denormal mode.
vkd3d-shader/msl: Error out when unable to handle the denormal mode.
tests/vkd3d_shader_api: Test querying the denormal mode.
tests/hlsl: Avoid using "uint4" uniforms to set a single u32 cbv value.
tests/hlsl: Add a missing variable declaration in sampler-offset.shader_test.
tests/hlsl: Choose the matching RTV format for some tests in cbuffer.shader_test.
tests/hlsl: Choose the matching RTV format for some tests in uav-rwbuffer.shader_test.
tests/hlsl: Choose the matching RTV format for a test in bitwise.shader_test.
tests/shader_runner_metal: Enable atomic operations for formats that support them.
tests/shader_runner_metal: End messages with a newline if there isn't one already.
tests/shader_runner_metal: Support multiple viewports.
tests/shader_runner_metal: Enable viewport and render target array indices.
tests/hlsl: Run the render target sample position test for all shader models.
tests/hlsl: Work around a test failure on AMD in rt-get-sample-info.shader_test.
tests/hlsl: Test GetRenderTargetSampleCount() on a non-multisampled render target.
tests/hlsl: Run descriptor tests for both shader models 6.0 and 6.6.
tests/hlsl: Check WaveActiveAllEqual()'s behavior with floating-point comparisons.
tests/hlsl: Test a combined sampler with an invalid sampler dimension.
tests/hlsl: Test sampling a texture array with a fractional array index.
tests/hlsl: Add a simple test for SV_Barycentrics.
tests/shader_runner: Create buffers of the size specified in their description.
tests/hlsl: Test rasterizer ordered views on typed and raw buffers too.
tests/hlsl: Test the value returned by UAV counter update instructions.
tests/hlsl: Fix the render target format for cast-to-int.shader_test.
tests/hlsl: Fix the render target format for cast-to-uint.shader_test.
tests/hlsl: Fix the render target format for srv-buffers.shader_test.
Henri Verbeet (80):
tests/shader_runner_gl: Allow unused input elements.
vkd3d-shader/d3d-asm: Handle VSIR_DATA_BOOL immediate constants.
vkd3d-shader/d3d-asm: Handle VSIR_DATA_F16 immediate constants.
vkd3d-shader/d3d-asm: Handle VSIR_DATA_I16 immediate constants.
vkd3d-shader/d3d-asm: Handle VSIR_DATA_U16 immediate constants.
vkd3d-shader/d3d-asm: Give global flags their own colour.
vkd3d-shader/d3d-asm: Recognise the "enable11_1ShaderExtensions" global flag.
vkd3d-shader/d3d-asm: Recognise the "allResourcesBound" global flag.
vkd3d-shader/d3d-asm: Recognise the "viewportAndRTArrayIndex" global flag.
vkd3d-shader/d3d-asm: Recognise the "UAVLoadAdditionalFormats" global flag.
vkd3d-shader/d3d-asm: Give data types their own colour.
vkd3d-shader/hlsl: Implement constant folding of floating-point modulo expressions.
vkd3d-shader/d3d-asm: Recognise the "ROVs" global flag.
vkd3d-shader/d3d-asm: Recognise the "waveOps" global flag.
vkd3d-shader/d3d-asm: Recognise the "int64Ops" global flag.
vkd3d-shader/d3d-asm: Recognise the "nativeLowPrecision" global flag.
vkd3d-shader/hlsl: Properly compare hlsl_constant_value_component values in find_constant().
tests/hlsl: Use single-component UAVs in rasteriser-ordered-views.shader_test.
vkd3d-shader/spirv: Ignore VKD3DSGF_SKIP_OPTIMIZATION.
vkd3d-shader/spirv: Only warn about VKD3DSGF_ENABLE_MINIMUM_PRECISION.
vkd3d-shader/spirv: Ignore VKD3DSGF_ENABLE_VP_AND_RT_ARRAY_INDEX.
vkd3d-shader/spirv: Handle VKD3DSGF_ENABLE_RELAXED_TYPED_UAV_FORMATS.
vkd3d-shader/spirv: Ignore VKD3DSGF_ENABLE_UAVS_AT_EVERY_STAGE.
vkd3d-shader/spirv: Ignore VKD3DSGF_ENABLE_RASTERIZER_ORDERED_VIEWS.
vkd3d-shader/spirv: Output errors for unhandled global flags.
vkd3d-shader/ir: Rename struct vkd3d_shader_register to struct vsir_operand.
vkd3d-shader/d3d-asm: Recognise the "UAVsAtEveryStage" global flag.
vkd3d-shader/spirv: Return void from spirv_compiler_emit_alu_instruction().
vkd3d-shader/dxil: Free the fixup list in sm6_parser_cleanup(). (Valgrind)
vkd3d-shader/hlsl: Free "allocator_constint" allocations as well in allocate_const_registers(). (Valgrind)
vkd3d-shader/dxil: Preserve f16 denormals if they're used in the shader.
tests/d3d12: Test depth/stencil SRV resource creation.
vkd3d: Retry depth/stencil formats after checking vkd3d_formats[] in vkd3d_get_format().
tests/shader_runner_vulkan: Maintain our own format mapping.
tests/hlsl: Add a stencil clear/copy/load test.
vkd3d-shader/ir: Rename struct vkd3d_shader_register_index to struct vsir_register_index.
tests/shader_runner: Always add the minimum shader model to the runner mask.
tests/hlsl: Add a stencil export test.
vkd3d-shader/d3d-asm: Recognise the "stencilRef" global flag.
vkd3d-shader/spirv: Ignore VKD3DSGF_ENABLE_STENCIL_REF in spirv_compiler_emit_global_flags().
vkd3d-shader/dxil: Handle SV_StencilRef outputs.
vkd3d-shader/ir: Rename struct vkd3d_shader_register_range to struct vsir_register_range.
vkd3d: Use vkCmdCopyImage() to copy a subset of the source aspects in d3d12_command_list_CopyResource().
vkd3d-shader/tpf: Apply VKD3D_SM4_GLOBAL_FLAGS_MASK when writing dcl_globalFlags.
vkd3d-shader/hlsl: Handle SV_StencilRef.
build: Strip "@srcdir@/" from paths in the documentation.
vkd3d-shader/msl: Implement support for VKD3DSPR_OUTSTENCILREF registers.
vkd3d-shader/ir: Handle more immediate constant data types in vsir_operand_compare().
vkd3d-shader: Pass the calling function name to vkd3d_shader_vnote().
vkd3d-shader: Pass the calling function name to vkd3d_shader_vwarning().
vkd3d-shader: Pass the calling function name to vkd3d_shader_verror().
vkd3d-shader/fx: Pass the calling function name to fx_parser_error().
vkd3d-shader/glsl: Pass the calling function name to vkd3d_glsl_compiler_error().
vkd3d-shader/hlsl: Pass the calling function name to hlsl_error().
vkd3d-shader/msl: Pass the calling function name to msl_compiler_error().
vkd3d-shader/preproc: Pass the calling function name to preproc_error().
vkd3d-shader/spirv: Pass the calling function name to spirv_parser_error().
vkd3d-shader/spirv: Pass the calling function name to spirv_compiler_error().
vkd3d-shader/tpf: Pass the calling function name to tpf_compiler_error().
vkd3d-shader: Pass the calling function name to vkd3d_shader_parser_error().
vkd3d-shader: Pass the calling function name to vkd3d_shader_scan_error().
tests/vkd3d_shader_api: Add a test for HLSL floating-point parsing.
tests/tpf: Add a test for the "allResourcesBound" global flag.
vkd3d-shader/spirv: Ignore VKD3DSGF_BIND_FOR_DURATION in spirv_compiler_emit_global_flags().
vkd3d-shader/glsl: Ignore VKD3DSGF_BIND_FOR_DURATION in shader_glsl_handle_global_flags().
vkd3d-shader/msl: Ignore VKD3DSGF_BIND_FOR_DURATION in msl_generator_generate().
vkd3d-shader/ir: Avoid leaking the CSE expression in vsir_program_cse(). (Valgrind)
vkd3d-shader/fx: Cleanup the vsir program on failure in write_shader_blob(). (Valgrind)
tests/hlsl_d3d12: Avoid leaking the "errors" blobs in test_default_include_path(). (Valgrind)
tests/vkd3d_shader_api: Avoid leaking "dxc_compiler" in test_query_denormal_mode(). (Valgrind)
vkd3d: Explicitly use the "ANY" denormal mode in create_shader_stage().
vkd3d-compiler: Explicitly use the "ANY" denormal mode.
tests/shader_runner_vulkan: Explicitly use the "ANY" denormal mode.
build: Use a more elaborate check for _strtod_l()/_strtof_l()/strtof_l().
vkd3d-shader: Document the VFACE and VPOS semantic mappings.
vkd3d-shader/dxil: Get rid of the now unused "is_back_ref" field from struct sm6_value.
tests/hlsl_d3d12: Properly cleanup temporary files.
tests/hlsl: Port test_resource_arrays() from d3d12.c.
vkd3d-shader/d3d-asm: Recognise the "64UAVs" global flag.
vkd3d-shader/spirv: Ignore VKD3DSGF_ENABLE_UP_TO_64_UAVS in spirv_compiler_emit_global_flags().
Ivan Lyugaev (1):
vkd3d-shader/hlsl: Make floating-point number parsing independent of the locale.
Nikolay Sivov (1):
vkd3d-shader/hlsl: Make sure buffer sizes are reset before allocations are evaluated.
Shaun Ren (36):
tests/shader_runner: Introduce the shader_model field in struct shader_runner.
tests/shader_runner: Introduce the should_skip_execution() and get_runner_test_mask() helpers.
tests/shader_runner: Add a "test-shader-models" header directive.
tests/hlsl: Test SM2 and SM3 in shader-point-size.shader_test.
vkd3d-shader/ir: Set a constant semantic name for uninitialized outputs in vsir_program_remap_output_signature().
vkd3d-shader/ir: Support PSIZE outputs in SM3 vertex shaders.
vkd3d-shader/hlsl: Fix structured copy splitting in split_resource_load().
vkd3d-shader/hlsl: Lower stores to resources to resource stores during HLSL codegen.
vkd3d-shader/hlsl: Support indexed and structured TGSM stores in lower_resource_stores().
vkd3d-shader/hlsl: Generate indexed and structured TGSM stores in VSIR.
tests/hlsl: Test SM4 and SM5 in uav-atomics.shader_test.
vkd3d-shader/hlsl: Correct InterlockedMin()/InterlockedMax() sign conversion behaviour.
tests/hlsl: Add some interlocked tests with typed and structured UAV targets.
tests/hlsl: Add some interlocked tests with indexed TGSM targets.
tests/shader_runner: Prevent a skipped section from skipping subsequent sections.
vkd3d-shader/hlsl: Determine the TGSM status of variables in hlsl_emit_vsir().
vkd3d-shader/hlsl: Disallow declaring global variables as both uniform and groupshared.
vkd3d-shader/fx: Support compute shaders in get_fx_4_type_name().
vkd3d-shader/hlsl: Support compute shaders in hlsl_new_compile().
tests/hlsl: Add some compute shader effect tests.
vkd3d-shader/hlsl: Validate group barrier calls in sm4_generate_vsir_instr_sync().
vkd3d-shader/hlsl: Allow TGSM resource loads in split_matrix_copies().
vkd3d-shader/hlsl: Introduce the resolve_assignment_lhs() helper.
vkd3d-shader/hlsl: Introduce the resource_access_from_deref() helper.
vkd3d-shader/hlsl: Support interlocked operations with indexed or structured targets.
tests/hlsl: Test additional combinations of declarations on for loops.
tests/hlsl: Add an effect compile test with multiple compute shaders.
tests/hlsl: Add an effect compile test with geometry shaders.
vkd3d-shader/hlsl: Reset entry function related attributes in hlsl_emit_vsir().
vkd3d-shader/fx: Support hull and domain shaders in get_fx_4_type_name().
vkd3d-shader/hlsl: Support hull and domain shaders in hlsl_new_compile().
tests/hlsl: Add some effect compile tests with hull and domain shaders.
vkd3d-shader/hlsl: Introduce the hlsl_ctx_init_entry_function_attributes() helper.
vkd3d-shader/hlsl: Initialize all attributes in hlsl_ctx_entry_function_attributes().
vkd3d-shader/ir: Copy-propagate SSAs to relative addresses.
vkd3d-shader/ir: Add a common subexpression elimination pass for vsir.
Victor Chiletto (2):
vkd3d-shader: Introduce vkd3d_shader_code_from_file().
vkd3d-utils: Handle D3D_COMPILE_STANDARD_FILE_INCLUDE.
```
1
0
The Wine development release 11.9 is now available.
What's new in this release:
- Bundled SQLite library.
- Initial support for system threads.
- Thread suspension in emulated code on ARM64.
- More VBScript compatibility improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.9.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.9/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.9 (total 24):
- #36484 Lotus Notes 8.x installer aborts with SAX parser exception (line breaks not preserved)
- #53317 Logos 9: Crash When Indexing: Invalid String Format
- #53551 Unable to run a hello world console program: unhandled page fault
- #53637 WinSCP UI rendering issue
- #53877 vbscript compile_assignment assertion when assigning multidimensional array by indices
- #54177 vbscript fails to compile sub call when argument expression contains multiplication
- #56281 vbscript: String number converted to ascii value instead of parsed value
- #57852 rebase (tool from the Windows SDK) crashes on unimplemented function imagehlp.dll.ReBaseImage64
- #58125 Homesite 5.5 installer's progress bar misses its outline
- #58925 GOM Player: UI elements not responding to mouse clicks
- #59011 Wargaming Game Center Window not appearing / invisible
- #59028 Graphpad Prism 9: project (.pzfx) files cannot be saved if msxml6 is not installed
- #59409 msvcrt: scanf scanset character ranges with high bytes (\x80-\xff) broken due to signed char comparison in scanf.h
- #59425 GXSCC crashes when a valid MIDI file is dragged in its window
- #59611 ExamDiff Pro Fileeditor blocks on end of file
- #59672 winhttp: DOAXVV fails with error 9003 at title screen
- #59689 SEC_WINNT_AUTH_IDENTITY_EX support in AcquireCredentialsHandle
- #59690 Both Command & Conquer 3 and Command & Conquer Red Alert 3 show the same kind of error
- #59708 d3d9: missing MSVC vtable byte-pattern
- #59718 d2d1: Three correctness issues in arc Bezier-approximation code (d2d_arc_to_bezier, d2d_figure_add_arc, d2d_arc_transform)
- #59722 RemoveDirectoryW fails with ERROR_SHARING_VIOLATION after subprocess exit
- #59729 Volumes do not report FILE_SUPPORTS_OPEN_BY_FILE_ID
- #59743 regression: Wine crashes / segmentation fault's when starting Photoshop CS 2
- #59746 SteelSeries GG 110.0 crashes on startup in .NET System.Security.Cryptography.X509Certificates.CertificateRequest..ctor
### Changes since 11.8:
```
Alexandre Julliard (36):
ntdll: Add a helper function to create a thread on the server side.
ntdll: Add a helper function to create a thread with pthread.
ntdll: Move single-step handling to the SIGTRAP handler.
ntdll: Don't allow getting/setting the context for threads without a TEB.
ntdll: Don't try to return from syscall for threads without a TEB.
ntdll: Handle signals in thread without a TEB.
ntdll: Don't raise an exception for threads without a TEB.
ntdll: Support last error functions in threads without a TEB.
ntdll: Pass the thread data explicitly in a few more functions.
ntdll: Store the initial suspend flag in the thread data.
ntdll: Move all the thread initialization into server_init_thread().
ntdll: Export PsCreateSystemThread.
server: Add support for system threads.
server: Don't return system threads in enumerations.
server: Don't allow accessing the context of system threads.
server: Don't send debug events for system threads.
server: Fix crash on invalid thread handle.
ntdll: Return explicit load order when checking version heuristics.
ntdll: Add builtin heuristics for Twain dll.
winemac: Use pthread instead of the TEB to access per-thread data.
winex11: Use pthread instead of the TEB to access per-thread data.
ntdll: Always get the 64-bit TEB from the 32-bit one.
ntdll: Pass the thread data to get_cpu_area().
ntdll: Add a helper function to initialize a CLIENT_ID structure.
winealsa.drv: Move zero_bits initialization to the wow64 attach callback.
winecoreaudio.drv: Move zero_bits initialization to the wow64 attach callback.
wineoss.drv: Move zero_bits initialization to the wow64 attach callback.
winepulse.drv: Move zero_bits initialization to the wow64 attach callback.
kernel32/tests: Adapt sort order test for Japanese and Korean.
kernel32/tests: Remove a sorting test that depends on Windows version.
kernel32/tests: Fix some geo name tests on latest Windows.
kernelbase: Don't store invalid geo names in the registry.
kernelbase: Implement GetGeoInfo(GEO_NAME).
kernelbase: Implement GetGeoInfo(GEO_RFC1766).
kernelbase: Implement GetGeoInfo(GEO_LCID).
kernelbase: Partially implement GetGeoInfo(GEO_FRIENDLYNAME).
Alistair Leslie-Hughes (5):
propsys: Only trace Properties that cannot be found.
include: Add struct SHARDAPPIDINFOLINK.
include: Add JOB_STATUS_RESTART define.
include: Add define WC_NETADDRESS.
msado15: Correctly increase the cnt value.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (4):
windows.ui.core.textinput/tests: Move Release below check_interface.
kernelbase: Run conhost.exe from c:\windows\system32 directory.
ntdll: Use debugstr_wn instead of debugstr_w in nt_to_unix_file_name.
winex11.drv: Use hwnd_drop instead of hwnd in x11drv_dnd_drop_event.
Brendan McGrath (2):
mf: Remove periodic callback on clock shutdown.
mf: Call GetCorrelatedTime without critical section.
Brendan Shanks (3):
ntdll: Always synthesize ESR in SIGTRAP handler on ARM64 Linux.
ntdll/tests: Test unaligned access on ARM64.
ntdll: Add constants/helpers, and be more explicit when parsing the ARM64 ESR.
Conor McCarthy (12):
mf/tests: Test optional topology nodes.
mf/topology_loader: Resolve topologies by walking down from each source node.
mf/topology_loader: Try to insert optional nodes after resolving the surrounding branch.
mf/tests: Add asynchronous transform tests.
mf/session: Support asynchronous transforms.
mf/tests: Test for preroll support in the sample grabber.
mf/tests: Test preroll notification when the rate has not been set.
mf/session: Initialise the stored presentation rate.
mf/scheme_handler: Call PathCreateFromUrlW() for URL to path conversion.
mfplat/tests: Create the new file in the temp path in test_file_stream().
mfplat/tests: Test leading forward slashes and colons in filename URLs.
mfplat: Normalise URLs before passing to BeginCreateObject().
Dan Ginovker (1):
d3d9: Add a fake d3d9 device vtbl initialization sequence.
Dmitry Timoshkov (4):
wineboot: Run services.exe from c:\windows\system32 directory.
adsldp: Add support for ADS_OPTION_REFERRALS.
crypt32: Use case-insensitive comparison for registered OID names.
adsldp: Add support for ADS_SEARCHPREF_CHASE_REFERRALS.
Esme Povirk (2):
win32u: Support OBJID_CLASSNAMEIDX in scrollbar controls.
wbemprox: Stub Win32_DiskDrive TotalHeads and Signature properties.
Francis De Brabandere (35):
vbscript/tests: Add coverage for BSTR vs numeric comparison.
vbscript/tests: Cover BSTR comparison with VT_BYREF and additional numeric VTs.
vbscript/tests: Cover BSTR comparison literal vs non-literal dispatch.
vbscript: Match native BSTR-vs-numeric and BSTR-vs-Boolean comparison.
vbscript/tests: Cover BSTR comparison with dispatch-only numeric VTs.
vbscript: Reject Automation types not supported in VBScript on compare.
vbscript/tests: Cover bare match.SubMatches(N) indexing.
vbscript: Implement DateValue and TimeValue functions.
vbscript/tests: Cover non-literal numeric vs whitespace-only and control-char BSTR.
vbscript: Treat all-whitespace and control-char BSTR as greater than numeric.
vbscript: Return subscript-out-of-range from UBound/LBound on uninitialized array.
vbscript: Return Null from Day/Month/Year/Hour/Minute/Second on Null operand.
vbscript: Handle Null operands in Left().
vbscript: Return the script class name from TypeName() on a class instance.
oleaut32: Fix Null handling in VarAnd.
oleaut32: Fix VT_CY Null handling in VarImp.
oleaut32: Fix VT_DATE Null handling in VarImp.
vbscript: Match native UI1 Imp Null behavior.
vbscript/tests: Add Null handling smoke tests for logical operators.
vbscript/tests: Cover Dim/Sub shadowing of host members.
vbscript: Coerce VT_EMPTY operands before Var* calls.
vbscript: Support assignment to chained array index expressions.
vbscript: Implement DateDiff built-in function.
vbscript/tests: Cover empty parens on properties, Dim variables, and arrays.
vbscript: Raise illegal-func-call on empty parens of class variant property.
vbscript: Delegate do_icall is_call branch to variant_call.
vbscript/tests: Cover top-level Const behavior.
vbscript/tests: Cover cross-parse name redefinition semantics.
vbscript: Match native cross-parse name redefinition rules.
vbscript: Implement IDispatch::GetTypeInfo for class instances via ICreateTypeLib2.
vbscript: Fix crash on fixed-size Dim array inside Execute called from a local scope.
vbscript/tests: Add tests for BSTR vs numeric/bool with neither side literal.
vbscript: Treat non-literal BSTR as greater than non-literal numeric/bool.
vbscript/tests: Add tests for &H8000 literal type.
vbscript: Parse &H8000 as Long(-32768) like native.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.350.
Giang Nguyen (3):
d2d1: Fix coordinate in arc-to-bezier conversion for degenerate case.
d2d1: Fix arc center translation in arc-to-bezier conversion.
d2d1: Do not translate radius vectors in arc-to-bezier conversion.
Hans Leidekker (3):
winhttp: Don't buffer more than one chunk.
winhttp: Always queue async writes.
msv1_0: Handle SEC_WINNT_AUTH_IDENTITY_EX.
Ivan Ivlev (3):
winmm/tests: Use non-static struct to avoid clang compilation errors.
vccorlib140/tests: Use non-static objects to avoid clang compilation errors.
dmsynth/tests: Use macro instead of static function to avoid clang compilation errors.
Jacek Caban (25):
advapi32/tests: Remove unused variable.
kernel32/tests: Avoid unused variables.
server: Store the client page size in the process struct.
ntdll/tests: Avoid unused global variables in exception.c.
ntdll/tests: Avoid unused global variables in wow64.c.
ntdll/tests: Avoid unused global variables.
gitlab: Update to llvm-mingw 20260505.
msvcrt: Provide trunc in the import library.
keyboard.drv: Remove unused global variables.
mouse.drv: Remove unused global variable.
win87em: Remove unused global variables.
comctl32/tests: Avoid unused global variables.
localui/tests: Remove unused global variables.
secur32/tests: Directly use secur32 functions in main.c.
kerberos: Remove unused variable.
msv1_0: Remove unused variables.
kernel32/tests: Avoid unused global variables on 32-bit ARM target.
mountmgr.drv: Avoid unused global variable.
ntdll: Avoid unused global variables.
ntdll/tests: Avoid unused global variables in wow64.c.
ntoskrnl/tests: Remove unused variable.
windows.media.speech/tests: Remove unused variables.
ntdll: Add support for ARM64EC cooperative suspend.
ntdll: Use unwind_context values only if the caller is not EC in capture_context.
ntdll/tests: Add SuspendDoorbell tests.
Joel Holdsworth (4):
ntdll/tests: Add test for FILE_SUPPORTS_OPEN_BY_FILE_ID in FileFsAttributeInformation.
ntdll: Report FILE_SUPPORTS_OPEN_BY_FILE_ID.
kernel32/tests: Add test for FILE_SUPPORTS_OPEN_BY_FILE_ID on volume handles.
mountmgr: Report FILE_SUPPORTS_OPEN_BY_FILE_ID.
Jon Koops (2):
dsound/tests: Test primary buffer independence across IDirectSound objects.
dsound: Create independent devices for each DirectSoundCreate call.
Luca Bacci (1):
msvcrt: Set errno in failure path.
Matteo Bruni (3):
winmm: Fix voicecom IMMDevice leak in device enumeration.
winmm/tests: Add some DRVM_MAPPER_CONSOLEVOICECOM_GET tests.
winmm/tests: Check that the preferred device is always at index 0.
Mykola Mykhno (2):
cmd: Update tests for parentheses in quoted parameter.
cmd: Remove parentheses from list of illegal characters for quote strip.
Nikolay Sivov (7):
msxml3: Fix missing document output in save().
msxml3/tests: Add some tests for cloning textual nodes.
msxml3: Clone textual contents when cloning nodes.
msxml3: Handle baseName property for entity references.
msxml3/tests: Remove some refcount tests.
msxml3/tests: Add a basic test for replaceChild() on attributes.
msxml3/tests: Add some tests for selecting from detached nodes.
Paul Gofman (16):
wininet/tests: Add a test for multiple server addresses.
wininet: Pass proxy server addr_str if present in open_http_connection().
wininet: Store server address related data in the new server_addr_t structure.
wininet: Enclose ipv6 address string in square brackets.
wininet: Introduce and use create_connect_socket().
wininet: Try to connect to multiple server addresses.
wininet: Do not force ipv4 addresses.
ws2_32/tests: Properly check for loopback address in test_gethostbyname().
ws2_32: Exclude not found and loopback addresses in get_local_ips() if others present.
win32u: Bump D3DKMT driver version.
ddraw/tests: Don't leak window and ddraw in test_d3d_state_reset() on ddraw2.
ddraw/tests: Add tests for clipper in exclusive fullscreen mode.
ddraw: Do not render to the clipping window in exclusive fullscreen mode.
winsqlite3: Import sqlite3 from upstream release 3.51.1.
include: Add winsqlite3.h.
winsqlite3/tests: Add a basic test.
Piotr Pawłowski (2):
comctl32/tests: Print id field of logged/expected messages on failure.
uxtheme/tests: Print id field of logged/expected messages on failure.
Rémi Bernon (5):
mf/topology_loader: Get rid of the topoloader_context.
mf/topology_loader: Clone and validate topology in a dedicated helper.
mf/topology_loader: Copy branches with cloned nodes before connecting.
mf/topology_loader: Add some sanity checks for optional output nodes.
mf/topology_loader: Force enumerate types when optional node method is set.
Sameer Singh (समीर सिंह) (2):
gdi32/uniscribe: Perform bounds check in insert_glyph().
gdi32/uniscribe: Resize the buffers if glyph count exceeds limit.
Sven Baars (1):
wine: Show all dlopen() error messages instead of just the last one.
Twaik Yont (5):
wineandroid: Add reply_fd plumbing to ioctl path.
wineandroid: Switch ioctl dispatch to socket transport on main thread looper.
wineandroid: Switch dequeueBuffer to socket transport.
wineandroid: Remove unixlib/ntoskrnl ioctl path.
wineandroid: Return ioctl errors directly.
Yuxuan Shui (1):
preloader: Account for ld.so stack usage when reserving.
Zakaria Habri (1):
winewayland: Use wp_pointer_warp_v1 for SetCursorPos when available.
Zhiyi Zhang (2):
include: Add D2D1_TURBULENCE_NOISE.
include: Add IDCompositionDevice3.
```
1
0
The Wine development release 11.8 is now available.
What's new in this release:
- Mono engine updated to version 11.1.0.
- More work on MSXML reimplementation without libxml2.
- Improved keyboard layout support using XKBRegistry.
- More VBScript compatibility improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.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 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-11.8/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.8 (total 22):
- #1201 Microsoft Golf 99 (Direct3D game) crashes on startup (IDirect3D::EnumDevices() needs to return the RGB device second)
- #32619 Tom Clancy's Rainbow Six: Lockdown can't save a game (directory not created)
- #39922 Hoot Sound Hardware Emulator: crashes on startup
- #42400 cscript.exe doesn't show errors
- #46107 Altium Designer 18.x - 20.x crashes on startup
- #46951 MSXML Multi line attribute value - #10 char lost
- #49908 vbscript: ExecuteGlobal is not implemented
- #50384 Visio 2013 fails to install with builtin msxml6
- #53844 vbscript invoke_vbdisp not handling let property correctly for VT_DISPATCH arguments
- #53889 vbscript does not support Get_Item call on IDispatch objects
- #53962 vbscript does not Eval implemented
- #54221 vbscript: missing support for GetRef
- #55006 vbscript: single line if else without else body fails compilation
- #57511 vbscript: For loop where loop var is not defined throws error without context
- #58248 vbscript: Me(Idx) fails to compile
- #59636 Petka crashes when starting a new game
- #59644 Enigma Virtual Box packed applications fail with file access errors since commit 35916176078
- #59645 FormatMessageW fails to format ERROR_NOT_A_REPARSE_POINT (4390) with error 317
- #59678 PLSQL Developer: Won't start on Wine 11.7
- #59684 ExamDiffPro now Crashes under 11.7
- #59689 SEC_WINNT_AUTH_IDENTITY_EX support in AcquireCredentialsHandle
- #59694 Assassin's Creed Shadows fails to start since Wine 11.4, after windows.media.speech changes
### Changes since 11.7:
```
Adam Markowski (4):
po: Update Polish translation.
po: Update Polish translation.
po: Update Polish translation.
po: Update Polish translation.
Alex Henrie (1):
imagehlp: Add ReBaseImage64 stub.
Alexandre Julliard (28):
ntdll: Merge signal_init_threading() and signal_init_process().
ntdll: Export RtlGetCurrentPeb() on the Unix side.
win32u: Use RtlGetCurrentPeb() on the Unix side.
winemac.drv: Use RtlGetCurrentPeb() on the Unix side.
winewayland.drv: Use RtlGetCurrentPeb() on the Unix side.
winex11.drv: Use RtlGetCurrentPeb() on the Unix side.
ntdll: Swap the FPU control word between PE and Unix on i386.
ntdll: Store the current process id in a global variable.
ntdll: Export PsGetCurrentProcessId() and PsGetCurrentThreadId() on the Unix side.
win32u: Silence a compiler warning.
ntdll: Add a helper to allocate the initial syscall frame.
ntdll: Allocate the kernel stack and signal stack together.
ntdll: Get the TEB from the Unix thread data.
ntdll: Move the exception jmp_buf to the Unix thread data.
ntdll: Move the thread start params to the Unix thread data.
ntdll: Move the server file descriptors to the Unix thread data.
ntdll: Move the allow write flag to the Unix thread data.
ntdll: Store the thread id in the Unix thread data.
ntdll: Move the TEB list entry to the Unix thread data.
ntdll: Use a separate debug_info structure on the kernel side.
ntdll: Use a consistent code pattern in all signal handler functions.
ntdll: Pass the thread data structure to signal handling helpers.
ntdll: Pass the thread data structure to inline helper functions.
ntdll: Return the thread data structure from init_handler() on i386.
ntdll: Return the thread data structure from init_handler() on x86-64.
ntdll: Retrieve the CPU-specific data from the thread data structure on i386.
ntdll: Retrieve the CPU-specific data from the thread data structure on x86-64.
ntdll: Rename ntdll_thread_data to teb_data.
Alistair Leslie-Hughes (1):
windows.ui.core.textinput: Add CoreTextServicesManager stubbed interface.
Antoine Leresche (2):
kernelbase: Add message string for errors 302-316.
kernelbase: Add message string for error 318-326.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (5):
gdiplus: Add support to line alignment for GdipMeasureString.
gdiplus: Add support for PixelFormat 16bpp RGB565 and RGB555 to GdipGetNearestColor.
gdiplus: Initial implementation of GdipWarpPath.
gdiplus/tests: Extend GdipInitializePalette tests with transparent color.
gdiplus: Fix returned flags and add transparency to GdipInitializePalette.
Benoît Legat (1):
secur32: Fix handling by SChannel for CNG/NCrypt client certificates for mTLS.
Bernhard Kölbl (2):
windows.media.speech: Don't access the all voices vector view directly.
windows.media.speech: Fix a trace typo.
Brendan McGrath (6):
amstream/tests: Test enum media type with ddraw.
amstream/tests: Test enum media type whilst connected.
amstream/tests: Test enum media type on disconnect.
amstream: Return current format in media type enum.
amstream: Return connected media subtype in enum if connected.
mf: Handle no time and/or duration during markin.
Connor McAdams (10):
dinput: Only pass instance name string to device_instance_is_disabled().
dinput: Create a cache of currently connected HID joysticks.
dinput: Use joystick cache in hid_joystick_create_device().
dinput: Use joystick cache in hid_joystick_enum_device().
dinput: Return E_FAIL when opening a joystick device that is currently disconnected.
dinput: Create a version 1 UUID for dinput joystick devices.
dinput/tests: Add tests for dinput joystick IDs.
dinput: Add support for DIPROP_JOYSTICKID.
dinput/tests: Add tests for GUID_Joystick.
dinput: Add support for GUID_Joystick.
Conor McCarthy (15):
mf/tests: Test setting the input type on the topology loader test transform.
mf/topology_loader: Compare the current type with upstream on direct connection only for output nodes.
mf/tests: Check IsMediaTypeSupported() is always called on the topology loader test sink.
mf/topology_loader: Always call IsMediaTypeSupported() on downstream when connecting a branch.
gdiplus: Elide empty spans.
gdiplus/tests: Test a region intersect which produces empty spans.
mf/tests: Introduce a helper for creating an activated media sink.
mf/tests: Check for sample grabber sink shutdown.
mf/tests: Add tests for sample grabber sink shutdown.
mf/session: Ensure the session object is shut down on release.
mf/session: Shut down all topologies on session shutdown.
mfmediaengine/tests: Set the volume after the null check in test_TransferVideoFrame().
mfmediaengine/tests: Test a media engine extension.
mfmediaengine: Set the source pending flag before creating the source.
mfmediaengine: Support media engine extensions.
Cooper Morgan (3):
winewayland: Fix use-after-release of window rects in configure handler.
winewayland: Handle WS_MINIMIZE to suppress incorrect state transitions.
winewayland: Restore minimized windows when compositor sends configure.
David Carrasco Flores (1):
wusa: Recognize runtime.syswow64 expressions.
Dmitry Timoshkov (2):
gdiplus: Copy logic for trimming bounds width from GdipMeasureString() to GdipMeasureCharacterRanges().
gdiplus: Copy logic for calculating y-offset from GdipDrawString() to GdipMeasureCharacterRanges().
Ekaterine Papava (1):
po: Update Georgian translation.
Esme Povirk (1):
mscoree: Update Wine Mono to 11.1.0.
Francis De Brabandere (30):
wscript: Implement WScript.Timeout property and //T:nn CLI flag.
wscript: Terminate the script when WScript.Timeout elapses.
vbscript: Return specific error codes for unterminated block statements.
vbscript: Return error 1045 for non-literal constant expressions.
vbscript: Convert VT_DISPATCH arguments to string in Eval/Execute/ExecuteGlobal.
vbscript: Track source location in const, class, and function declarations.
vbscript: Return "Name redefined" error for duplicate global declarations.
vbscript: Return "Name redefined" error for duplicate class members.
scrrun: Implement IFolder and IFile ShortName and ShortPath.
vbscript: Return error 1010 for keyword used where identifier expected in Dim.
vbscript: Return "Invalid for loop control variable" error for member expressions.
vbscript: Implement DatePart built-in function.
vbscript: Fix Sub first argument parentheses handling.
vbscript: Convert string to number for comparison operators.
vbscript: Return proper errors for orphan Loop and Next keywords.
vbscript: Move call_depth check past exec_script's setup phase.
vbscript: Resolve parser conflicts with %prec and %expect.
vbscript: Implement GetLocale and SetLocale functions.
vbscript: Use script LCID in Format* functions.
vbscript: Pass script LCID to VariantChangeType in to_string helper.
vbscript: Pass script LCID to VariantChangeType in to_system_time helper.
vbscript: Implement LenB.
vbscript: Implement LeftB, RightB, and MidB.
vbscript: Implement InStrB.
vbscript: Implement AscB and ChrB.
vbscript: Support element access on public array properties of class instances.
scrrun: Implement IFile::Delete.
scrrun: Implement IFolder::Delete.
scrrun: Implement IFile::Move.
scrrun: Implement IFolder::Move.
Hans Leidekker (1):
secur32: Handle SEC_WINNT_AUTH_IDENTITY_EX in the Negotiate provider.
Hendrik Borchardt (1):
msvcrt: Only reject negative timestamps with EINVAL in ctime_s.
Henri Verbeet (1):
winmm: Handle DRVM_MAPPER_CONSOLEVOICECOM_GET messages.
Ivan Ivlev (3):
odbc32: Compare strings case-insensitively in get_driver_filename().
odbc32: Skip operations for NULL filename in replicate_odbc_to_registry().
odbc32: Check if row_number is NULL in param_options_unix().
Jacek Caban (9):
mshtml/tests: Remove unused variables.
mshtml/tests: Add missing CHECK_CALLED statements.
mshtml/tests: Remove unused variables and fix CLEAR_CALLED statements.
winspool.drv/tests: Remove unused variables.
localspl/tests: Remove unused variable.
urlmon/tests: Remove unused variables.
urlmon/tests: Add missing CHECK_CALLED statements.
itss/tests: Fix CHECK_CALLED statement.
ntdll: Use ESR in the ARM64 signal handler when possible.
Joe Meyer (1):
win32u: Stub NtUserInitializeTouchInjection.
Lubomir Rintel (1):
cmd: Fix handling of "ECHO.ON".
Matteo Bruni (4):
winex11: Factor out mapping keycodes to scancodes / keysyms into a separate function.
winex11: Get Xkb group names.
winex11: Look up keysyms for the currently selected Xkb group in X11DRV_KEYBOARD_DetectLayout().
winex11: Decode current keyboard layout from the Xkb group name.
Michał Durak (3):
nsiproxy.sys: Avoid null pointer dereference on if_nameindex() failure.
nsiproxy.sys: Avoid malloc(0) in case no network interfaces are present.
iphlpapi: Avoid out-of-bounds read if no network interfaces are present.
Nikolay Sivov (37):
msxml3: Fix owner node refcount update when adding children and attributes.
msxml3: Respect document encoding in Save().
msxml3: Fix a leak when parsing xml declaration body (Coverity).
msxml3: Improve cleanup on error paths when creating DOM nodes (Coverity).
msxml3/tests: Fix copy-paste issue when testing node value (Coverity).
msxml3/tests: Fix a string double free (Coverity).
msxml3/tests: Fix some use-after-free (Coverity).
msxml3/tests: Add a few missing return value checks (Coverity).
odbc32: Add missing object unlock on return in SQLSetEnvAttr().
msxml3/tests: Add some tests for loading documents with Shift_JIS encoding.
msxml3: Handle Shift_JIS encoding in the parser.
msxml3: Improve handling of incomplete multibyte sequences in parser input.
msxml3/tests: Separate DTD validation tests.
msxml3/tests: Add more tests for DTD node methods.
msxml3: Implement previousSibling() property for DTD node.
msxml3: Implement nextSibling() property for DTD node.
msxml3: Do not rely on strings being BSTRs in createNode().
msxml3/tests: Add more tests for baseName property.
msxml3: Remove fixme's from implemented methods.
msxml3/tests: Add more tests for creating entity references.
msxml3: Improve name validation for entity reference nodes.
msxml3/tests: Add some tests for creating document fragments.
msxml3: Ignore name and uri when creating document fragments.
msxml3/tests: Add some tests for max-element-depth property.
msxml3/tests: Extend MaxElementDepth tests.
msxml3/sax: Add support for max-element-depth property.
msxml3: Add support for MaxElementDepth property in the DOM parser.
msxml3: Improve attribute value normalization in DOM.
msxml3: Store attribute types in parsed form.
msxml3: Store parsed attribute default declaration type.
msxml6/tests: Add some tests for XMLHTTP API.
msxml3: Create structured representation for element declarations.
msxml3/sax: Store reusable type strings separately.
msxml3/sax: Keep reused strings together.
msxml3/sax: Keep DTD data in a separate structure.
msxml3/sax: Retain element declarations as DTD data.
msxml3: Pass parsed DTD data to the DOM.
Paul Gofman (3):
ntdll: Do not crash in RtlVirtualUnwind2() in some cases of NULL output parameters on x64.
ntdll: Catch access violation in RtlVirtualUnwind2() on arm64.
ntdll: Only take PEB lock to update PEB data in RtlSetCurrentDirectory_U().
Piotr Caban (19):
odbc32: Support data type conversion on version mismatch.
msado15: Wrap IAccessor interface in rowset wrapper.
msado15: Use CoTaskMemFree in dbtype_free.
msado15: Introduce helper to get bookmark in IRowset wrapper.
msado15: Add partial implementation of IRowsetFind::FindNextRow in rowset wrapper.
msado15: Handle BSTR data in IRowsetFind::FindNextRow.
msado15: Don't leak HACCESSOR on error in _Recordset::Find.
msado15: Handle empty BSTR bookmark in _Recordset::Find.
msado15: Don't crash if IRowsetUpdate::Update doesn't allocate status in _Recordset::Update.
msado15: Take cache size into account when calculating offset from current row in recordset_Find.
msado15: Initialize recordset->current_row in recordset_Find.
msado15: Validate arguments in _Recordset::put_CursorLocation.
msado15: Print FIXME message when client-side cursor is requested.
msado15: Rename create_mem_rowset to create_client_cursor.
msado15: Print FIXME message when changing active connection when recordset is open.
msvcp120: Ensure that segments are not being allocated when segments table is enlarged.
msvcp120: Don't count segments being allocated when reporting vector capacity.
Revert "msvcp120: Ensure that segments are not being allocated when segments table is enlarged.".
concrt140: Sync details.c file with msvcp90.
Rémi Bernon (24):
winex11: Fix some X11DRV_InitKeyboard loop indentation.
opengl32: Fix incorrect cleanup when GLsync creation fails.
opengl32: Avoid leaking client syncs on context destruction.
opengl32: Move wgl_cs entry / exit out of handle functions.
dinput: Check for disabled/overridden devices in hid_joystick_try_open.
dinput: Handle device override directly in hid_joystick_device_try_open.
dinput: Save and load HID joystick instance GUIDs to the registry.
opengl32/tests: Remove unnecessary window creation check.
opengl32/tests: Declare and load every GL/WGL functions.
opengl32/tests: Test implicit object allocation support.
opengl32/tests: Test wglShareLists sharing of various types.
opengl32/tests: Test wglShareLists sharing of GLsync objects.
opengl32/tests: Test object types shared namespaces.
dinput: Test and implement support for GUID_Sys(Mouse|Keyboard)Em.
opengl32: Generate a thunks.h file for extern declarations.
opengl32: Implement wglMakeCurrent with wglMakeContextCurrentARB.
opengl32: Implement wglCreateContext with wglCreateContextAttribsARB.
opengl32: Move context thread id checks to the PE side.
opengl32: Generate code to call the get_integer hooks.
opengl32/tests: Test the default framebuffer behavior.
win32u: Only fill the drawable buffer map for valid buffers.
opengl32: Validate glDrawBuffers enum before setting the state.
opengl32: Initialize the context draw / read buffers on creation.
opengl32: Always use the partial context state tracker.
Sameer Singh (समीर सिंह) (1):
gdi32/uniscribe: Correct the script tag for Tamil.
Stefan Dösinger (1):
hhctrl.ocx: Make Contents/Search/Index children of the tab control.
Sven Baars (1):
ntdll: Make sure User Syscall Dispatch defines are always defined on Linux.
Tim Clem (1):
cfgmgr32: Catch invalid handles in CM_Unregister_Notification.
Twaik Yont (6):
wineandroid: Switch java_* variables to direct linking.
wineandroid: Load AHardwareBuffer symbols from libandroid.
wineandroid: Simplify client pid handling.
wineandroid: Use Android logging for ioctl paths.
wineandroid: Move native window registration to surface_changed.
wineandroid: Pass JNIEnv explicitly through ioctl handlers.
Yuxuan Shui (2):
urlmon/tests: Test output length calculation when output buffer is too small.
iertutil: Fix out-of-bound access in remove_dot_segments.
Zhiyi Zhang (6):
Revert "win32u: Don't forcefully activate windows before restoring them.".
iertutil: Fix wrong host type for Punycode-encoded hostnames.
gdi32: Test that GetDIBits() rejects DDBs that are not 1-bit or 32-bit.
win32u: Reject DDBs that are not 1-bit or 32-bit for GetDIBits().
win32u: Optimize the speed of halftone primitives by using 32.32 fixed point arithmetic.
win32u: Set the normal window position without going through NtUserSetInternalWindowPos().
```
1
0
The Wine development release 11.7 is now available.
What's new in this release:
- Beginnings of MSXML reimplementation without libxml2.
- VBScript compatibility fixes and optimizations.
- SRGB filter support in D3DX.
- 7.1 speaker configuration in DirectSound.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.7.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.7/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.7 (total 35):
- #26226 msxml4 emits too much xmlns attributes
- #33118 Adding bin.base64 attribute causes duplicate datatype attribute
- #38350 FTDI Vinculum II IDE V2.0.2-SP2 gets OLE Error 80020006 and exits, native msxml3 is workaround
- #49029 ABBYY FineReader 12 Professional crashes in trial mode
- #52607 build on Cygwin fails, error: undefined references to _alldiv, _allmul, _allrem, _aulldiv, _aullrem (etc.) in dlls/ntdll
- #54236 Default to Windows 10 when creating a prefix
- #54291 vbscript stuck in endless for loop when UBound on Empty and On Error Resume Next
- #54344 simtower (setup.exe) says could not open the file name "h:\wine64....."
- #55031 experimental wow64 mode: crashes in some 3d graphics code
- #55093 vbscript: if boolean condition should work without braces
- #55196 vbscript: Trailing End If
- #56480 vbscript: underscore line continue issues
- #56931 vbscript: Const used before declaration fails (explicit)
- #58026 vbscript: Script running error when Dictionary contains array
- #58051 vbscript: Dictionary direct Keys/Items access causes parse error
- #58056 vbscript: Directly indexing a Split returns Empty
- #58392 Can't display background and characters in MapleStory World.
- #58398 vbscript: For each function with Split a empty string
- #58673 Kinco Dtools fails to start: err:msxml:doparse Unsupported encoding: gb2312
- #58802 Inserting XML document fragment adds the fragment instead of its content.
- #59415 In Falsus demo cannot be interacted with
- #59446 Latest VOCALOID6 version (6.11) crashes after VOCALOID:AI track
- #59512 HID devices report wrong DeviceType causing GetFileType() to return FILE_TYPE_DISK
- #59516 Songbookpro crashes with RoFailFastWithErrorContext()
- #59517 IWICFormatConverter does not support BlackWhite as destination pixel format
- #59528 Fade In Pro: Crashes immediately after splash screen
- #59534 Cabinet.dll missing Compressor interfaces
- #59558 HTTP 200 response body empty since Wine 11.5 regression (worked in 11.4)
- #59572 Stratego (1997) shows a black screen on startup
- #59578 Act of War: Direct Action crashes while loading the main menu
- #59613 case 64 is missing in key_asymmetric_verify function
- #59627 Kakaowork crashes at start.
- #59632 VC_redist fails to start (regression)
- #59643 SHCreateStreamOnFileW (IStream::Seek) truncates 64-bit offsets to 32-bit, breaking >4GB file reads
- #59658 Xara Designer Pro + crashes: Call from 00006FFFFFFA4E45 to unimplemented function icuuc.dll.udata_setCommonData_70, aborting
### Changes since 11.6:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (5):
quartz/tests: Add IMediaEvent(Ex)::WaitForCompletion tests.
quartz: Reset the completion event on paused -> running transition.
quartz: Don't leak the completion event handle.
quartz/tests: Add more WaitForCompletion tests.
quartz: Fix WaitForCompletion behavior when default handling is canceled.
Alex Henrie (1):
kernelbase: Ignore GENERIC_WRITE in CreateFile on CDs on Windows 9x.
Alexandre Julliard (9):
configure: Stop using external libxml/libxslt.
shell32/tests: Remove todo from test that succeeds now.
ntdll: For the native heuristics, assume that dll without version is not from Microsoft.
opengl32: Link to pthread library for pthread_once.
mf/tests: Fix 64-bit printf formats.
shcore: Store the app user model id in the process parameters.
configure: Require the Mingw compiler on Cygwin.
tools: Remove Cygwin platform and treat it as Mingw.
Revert "msi/tests: Add regression tests for table stream padding and mismatched string refs."
Andrey Gusev (2):
d3d11: Fix a memory leak in d3d_video_decoder_create().
d3dcompiler: Fix misplaced parentheses.
Antoine Leresche (1):
kernelbase: Add message string for ERROR_NOT_A_REPARSE_POINT.
Anton Baskanov (5):
dsound: Replace multiplications by fir_step and fir_width with bit shifts.
dsound: Use a 0.32 fixed point to represent the resampling ratio.
dsound: Make rem_num signed.
dsound: Calculate opos_num and ipos_num incrementally.
dsound: Calculate rem and rem_inv incrementally.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bartosz Kosiorek (1):
gdiplus/tests: Fix flaky rounding error in test_getblend.
Brendan McGrath (21):
amstream/tests: Test when top-down image is not accepted.
amstream: Reject filter when top-down image is not accepted.
amstream: Always return S_OK on disconnect.
iyuv_32/tests: Fix a read overrun.
winegstreamer: Add winegstreamer_create_color_converter.
iyuv_32: Implement IYUV_GetInfo.
iyuv_32: Implement IYUV_DecompressQuery.
iyuv_32: Implement IYUV_DecompressGetFormat.
iyuv_32: Implement IYUV_Open.
iyuv_32: Implement IYUV_DecompressBegin.
iyuv_32: Implement IYUV_Decompress.
amstream/tests: Test QueryAccept when connected.
amstream/tests: Test negative heights in QueryAccept.
amstream: Reject negative heights in QueryAccept.
amstream: Accept additional subtypes in QueryAccept.
amstream/tests: Test AcceptQuery behavior after SetFormat.
amstream: Only accept format passed in SetFormat.
amstream/tests: Test media types when ddraw is passed to AddMediaStream.
amstream: Use DisplayMode to determine pixel format.
amstream/tests: Test media type is only on the first of each sample.
amstream: Only provide MediaType on first retrieval.
Brendan Shanks (3):
kernelbase: In GetProcessInformation(ProcessMachineTypeInfo), use SystemSupportedProcessorArchitectures2.
kernelbase: Implement GetMachineTypeAttributes().
kernelbase/tests: Add tests for GetMachineTypeAttributes().
Chris Denton (1):
bcryptprimitives: Ensure ProcessPrng fills the whole buffer.
Connor McAdams (11):
d3dx10/tests: Add tests for decoding DXTn DDS files.
d3dx11/tests: Add tests for decoding DXTn DDS files.
d3dx9: Properly handle DXT textures with premultiplied alpha.
d3dx10/tests: Add a test for invalid image load filter flags.
d3dx11/tests: Add a test for invalid image load filter flags.
d3dx10: Only use passed in filter flags if image scaling is necessary.
d3dx11: Only use passed in filter flags if image scaling is necessary.
d3dx9/tests: Add tests for D3DX_FILTER_SRGB flags.
d3dx10/tests: Add tests for SRGB formats and filter flags.
d3dx11/tests: Add tests for SRGB formats and filter flags.
d3dx: Handle SRGB filter flags.
Conor McCarthy (8):
mf/topology_loader: Return specific error on indirect connection failure.
mf/topology_loader: Load the down connection method in topology_branch_connect().
mf/topology_loader: Introduce a helper to clone a media type.
mf/topology_loader: Use the color converter for video conversion by default.
gdiplus: Refactor SOFTWARE_GdipFillRegion() to separate bitmap handling.
gdiplus: Implement software region fill for bitmap images.
gdiplus: Bypass span combination for intersected rects.
winegstreamer: Free the streams in unknown_inner_Release().
Daniel Lehman (1):
msxml3/tests: Test encoding of special characters.
Elizabeth Figura (2):
ntdll/tests: Test a symlink that unwinds past the directory it's in.
ntdll: Unwind the Unix path if necessary when processing relative symlinks.
Eric Pouech (5):
winedbg: Don't proceed with some 'info' commands on non active targets.
winedbg: Introduce helpers to fetch thread name.
winedbg: Let 'backtrace' do something when attached to a minidump.
winedbg: Let 'info thread' work when debugging a minidump.
dbghelp/dwarf: Store btBool constant leaves as signed integer.
Esme Povirk (7):
mscoree: Use coop-aware thread attach functions.
gdiplus/tests: Make the FromGdiDib tests more thorough.
gdiplus/tests: Test FromGdiDib with a top-down DIB.
gdiplus/tests: Check more structure types with FromGdiDib.
gdiplus/tests: Test more image formats with FromGdiDib.
gdiplus: Rewrite GdipCreateBitmapFromGdiDib.
gdiplus: Assume bitmaps are top-down in image-reading code.
Francis De Brabandere (45):
vbscript: Fix error character positions for Exit and Dim statements.
vbscript: Return "Illegal assignment" error for Const and function assignment.
vbscript: Restrict identifier characters to ASCII-only.
vbscript: Handle vertical tab and form feed as whitespace in lexer.
vbscript: Use ASCII-only case folding in check_keyword.
vbscript: Add vbs_wcsicmp and use it in interpreter.
vbscript: Replace wcsicmp with vbs_wcsicmp in compiler, globals, and dispatch.
vbscript: Fast-path stack_pop_bool for VT_BOOL.
vbscript: Defer For loop control variable assignment until all expressions are evaluated.
vbscript: Return proper error for undefined variables with Option Explicit.
vbscript: Fix For loop getting stuck when expression evaluation fails with On Error Resume Next.
vbscript: Reject arguments on Class_Initialize and Class_Terminate.
vbscript: Add missing compiler error constants, messages, and tests.
vbscript: Return specific errors for mismatched End keywords in blocks.
vbscript: Return specific errors for unclosed parens, multiple defaults, and default on Property Let/Set.
vbscript: Support chained call syntax like dict.Keys()(i).
vbscript: Reject 'Set Me' with error 1037 instead of crashing.
vbscript: Return error 1054 for Property Let/Set without arguments.
vbscript: Return error 1005 for missing opening parenthesis in Sub/Function.
vbscript: Implement Filter function.
vbscript: Return specific error codes for integer constant and Property declarations.
vbscript: Return DISP_E_TYPEMISMATCH when indexing non-array variables.
vbscript: Return error 1048 for Property declaration outside a Class.
scrrun: Fix BSTR length off-by-one in create_folder.
scrrun: Implement IFolder::get_ParentFolder.
scrrun: Implement IFile::get_ParentFolder.
scrrun: Implement IFolder::get_IsRootFolder.
scrrun: Implement IFolder::get_Attributes and IFolder::put_Attributes.
scrrun: Implement IFolder and IFile date getters.
vbscript: Return correct error codes for missing statement separators.
vbscript: Silence FuncRef::QueryInterface(IID_IDispatchEx) warning.
vbscript: Fix crash when GetRef is called as a statement.
vbscript: Add missing runtime error constants and tests.
vbscript: Return proper error for New on undefined or non-class identifier.
vbscript: Reject identifiers longer than 255 characters.
vbscript: Support bracketed identifiers like [my var].
vbscript: Return error 1028 for invalid keyword after 'Do'.
vbscript: Return error 1047 for wrong 'End' keyword inside class.
vbscript: Return error 1051 for inconsistent property argument counts.
vbscript: Return proper error for wrong number of arguments.
wscript: Implement error messages, usage output, and //nologo banner.
vbscript: Add call depth limit to prevent stack overflow on infinite recursion.
vbscript: Return specific error codes for missing keywords in parser.
vbscript: Use indexed lookup for global functions.
vbscript: Use indexed lookup for global variables.
Hans Leidekker (11):
winhttp/tests: Fix test failures on old Windows versions.
winhttp/tests: Fix a test failure.
winhttp: Rename request_state.
winhttp: Remove unused arguments from read_more_data().
winhttp: Start the first chunk right after receiving the headers.
winhttp/tests: Add a fully recursive asynchronous test.
winhttp: Increase recursion limit.
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_IPV6_FAST_FALLBACK).
winhttp: Stub WinHttpQueryOption(WINHTTP_OPTION_HTTP_VERSION).
winhttp: Stub WinHttpQueryOption(WINHTTP_OPTION_CONNECT_RETRIES).
winhttp: Read as much data as possible in WinHttpReadData().
Jacek Caban (14):
widl: Do not override name prefix settings from pragmas in imported modules.
include: Don't use ns_prefix in windows.graphics.directx.direct3d11.interop.idl.
opengl32: Move GL_NUM_EXTENSIONS to client side.
opengl32: Remove unexposed extensions for functions registry.
opengl32: Rename ALL_GL_CLIENT_EXTS to ALL_GL_EXTS.
opengl32: Store extension_array as opengl_extension.
opengl32: Implement glGetStringi(GL_EXTENSIONS) on client side.
opengl32: Initialize enabled / disabled OpenGL extensions struct.
opengl32: Use parse_extensions in filter_extensions.
opengl32: Store core GL version separate from extensions in the function registry.
opengl32: Store extensions an an enum in functions registry.
opengl32: Introduce get_function_entry helper.
opengl32: Always check available extensions in wrap_wglGetProcAddress.
opengl32: Implement wglGetProcAddress on the client side.
Jinoh Kang (2):
ntdll: Do not fail with STATUS_INVALID_INFO_CLASS for anonymous files.
Revert "kernelbase: Replace FileAllInformation with FileStatInformation in GetFileInformationByHandle().".
Katharina Bogad (7):
makedep: Fix -Wdiscarded-qualifier warnings with recent glibc.
winebuild: Fix -Wdiscarded-qualifier warnings with recent glibc.
winegcc: Fix -Wdiscarded-qualifier warnings with recent glibc.
ntdll: Fix -Wdiscarded-qualifier warnings with recent glibc.
winebth.sys: Fix -Wdiscarded-qualifier warnings with recent glibc.
winex11.drv: Fix -Wdiscarded-qualifier warnings with recent glibc.
include: Fix warnings with C23 and GLIBC.
Louis Lenders (1):
wine.inf: Add HKCU\Software\Classes key.
Marc-Aurel Zent (7):
win32u: Introduce new ImeToAsciiEx user driver call.
win32u: Move IME processing to ImeToAsciiEx.
winemac: Implement and use macdrv_ImeToAsciiEx().
winemac: Move macdrv_ImeProcessKey logic to ImeProcessKey and macdrv_ImeToAsciiEx.
win32u: Remove builtin WINE_IME_PROCESS_KEY driver call.
winemac: Replace OSAtomic functions with builtin __atomic counterparts.
winemac: Relax builtin __atomic memory barriers.
Matteo Bruni (1):
configure: Use alsa library search paths in the alsa library check.
Mohamad Al-Jaf (2):
dsound: Support 7.1 speaker config.
winecfg: Support 7.1 speaker config.
Nikolay Sivov (41):
odbc32: Add SQLGetStmtOption() -> SQLGetStmtAttr() fallback for a few options.
odbc32: Add SQLSetStmtOption() -> SQLSetStmtAttr() for a few options.
msxml3/tests: Add some more xml() tests.
msxml3/tests: Add more text() tests.
msxml3/tests: Add some more tests for whitespace handling.
msxml3/tests: Add some more tests for namespace handling.
msxml3/tests: Add some tests for doctype node.
msxml3/tests: Add more tests for the XmlDecl PI.
msxml3/tests: Add a couple of SAX parsing tests.
msxml3: Rework DOM API.
msxml3/tests: Add some more appendChild() tests with fragments.
msxml3/tests: Add some tests for attribute value normalization.
msxml3/tests: Add a setAttribute() test for setting namespace definition.
msxml3: Fix setAttribute() for elements with unspecified namespace uri.
msxml3/tests: Add some more tests for getNamedItem().
msxml3: Do not try to convert NULL strings when creating libxml2 document representation.
msxml3: Remove duplicated SafeArrayUnaccessData() in load().
msxml3/tests: Add another test for subtree serialization with default namespaces.
msxml3/tests: Add a simple test for loading with gb2312 specified encoding.
msxml3: Release temporary document.
shcore: Handle 64-bit position in file stream Seek().
msxml3: Remove unused field from a node structure.
msxml3: Implement parentNode() property for DTD nodes.
msxml3: Implement ownerDocument() property for DTD nodes.
msxml3: Implement nodeTypeString() for DTD nodes.
msxml3/tests: Add some tests for ProhibitDTD property.
msxml3: Handle ProhibitDTD property.
msxml3/tests: Add more splitText() tests.
msxml3: Unify splitText() implementation.
msxml3: Unify deleteData() implementation.
msxml3: Unify substringData() implementation.
msxml3: Unify length() property implementation for textual nodes.
msxml3: Unify insertData() implementation.
msxml3: Unify replaceData() implementation.
msxml3/tests: Run formatted output tests on the main thread.
msxml3: Remove redundant check in cloneNode().
msxml3/tests: Add more tests for setAttribute().
msxml3: Improve check for new attribute collision with element namespace.
msxml3: Make namespace definitions added with setAttribute() read-only.
msxml3/tests: Add another test for insertBefore().
msxml3/tests: Check for supported interfaces on a document object.
Paul Gofman (5):
winmm/tests: Add tests for destination scaling with AVI window resize.
mciavi32: Update destination rect on window size change.
mciavi32: Use msvfw32 for presentation.
wmvcore/tests: Add test for COM initialization in async reader thread.
wmvcore: Initialize COM in async_reader_callback_thread().
Piotr Caban (14):
msvcrt: Add _vwprintf_l implementation.
msvcrt: Add _wprintf_l implementation.
odbc32: Use SQLEndTran() in SQLTransact if needed.
odbc32: Add odbc v3 test driver and use it in SQLConnect tests.
odbc32: Use test driver in SQLDriverConnect tests.
odbc32: Use test driver in SQLBrowseConnect tests.
odbc32: Use test driver in SQLExecDirect tests.
odbc32: Fix SQLBrowseConnect tests.
odbc32: Use SQLFreeHandle in SQLFreeStmt if possible.
odbc32: Only set connection and login timeout if it was ever set.
odbc32: Don't call into driver in SQLGetEnvAttr.
odbc32: Don't call into driver in SQLSetEnvAttr.
odbc32: Implement sharing environment handle between connections.
odbc32: Don't leak connection object if it's reused in connect functions.
Robert Gerigk (3):
include: Add identity string length constants to appmodel.h.
shcore: Implement Set/GetCurrentProcessExplicitAppUserModelID.
shcore/tests: Add tests for Set/GetCurrentProcessExplicitAppUserModelID.
Rémi Bernon (44):
opengl32: Move some unsupported extensions to unexposed.
opengl32: Add support for some unregistered extensions.
opengl32: Don't expose unsupported or unknown extensions.
mf/topology_loader: Disconnect the node after indirect connection failed.
mf/topology_loader: Allocate indirect connection branches dynamically.
mf/topology_loader: Cache the media type handlers on the branches.
mf/topology_loader: Always try setting current up type when connecting directly.
mf/topology_loader: Avoid making redundant connection method attempts.
ntdll: Remove unused namepos variable.
ntdll: Fix unixlib extension position.
mf/topology_loader: Lookup best media type when connecting converter / decoders.
mf/topology_loader: Don't force MFTEnumEx output info either for converters.
mf/topology_loader: Move current type check into topology_branch_foreach_up_types.
mf/topology_loader: Enumerate and select downstream type in connect_direct.
mf/topology_loader: Only enumerate transform outputs if no current type is set.
mf/topology_loader: Update media types while enumerating up types.
winex11: Use unsigned long for monitor indices generation.
cfgmgr32: Implement CM_Get_DevNode_Property(_Ex)(A|W).
setupapi: Forward CM_Get_DevNode_Property(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Get_DevNode_Property_Keys(_Ex).
cfgmgr32: Implement CM_Get_Device_ID_List(_Size)(_Ex)(A|W).
setupapi: Forward CM_Get_Device_ID_List(_Size)(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Move remaining stubs from setupapi.
cfgmgr32: Fix querying unnamed properties.
opengl32: Check for GL_EXT_memory_object_fd before filtering extensions.
mfplat: Don't set frame size or stride if missing from VIDEOINFOHEADER2.
mfplat: Support FORMAT_MFVideoFormat in MFInitMediaTypeFromAMMediaType.
mf/tests: Check resampler IMFTransform / IMediaObject interop.
mf/tests: Check color converter IMFTransform / IMediaObject interop.
opengl32: Move major / minor version to the PE side context wrapper.
opengl32: Implement wglGetExtensionsString(ARB|EXT) on the PE side.
win32u: Query every OpenGL functions on initialization.
opengl32: Don't generate extra params in function pointers.
opengl32: Get rid of make_opengl $gen_trace variable.
opengl32: Simplify make_opengl GL_VERSION filtering.
opengl32: Support parsing multiple registry.py APIs.
opengl32: Simplify adding functions in make_opengl.
mfplat/tests: Test MFInitAMMediaTypeFromMFMediaType GUID conversions.
opengl32: Support more function suffixes for hide_default_fbo.
opengl32: Support more function suffixes for resolve_default_fbo.
opengl32: Support more function suffixes for map_default_fbo_thunks.
opengl32: Use a unique WOW64 wrapper for each group of functions.
opengl32: Remove now unnecessary wow64 buffer function lookup.
opengl32: Use a unique wrapper for each group of wrapped functions.
Stephan Seitz (1):
shell32: Add stub for `SHEvaluateSystemCommandTemplate`.
Steven Don (1):
taskmgr: Fix CPU and Memory usage history graphs.
Tim Clem (8):
mountmgr.sys: Fall back to statfs if "important" free space is 0 on macOS.
ntdll: Fall back to statfs if "important" free space is 0 on macOS.
sechost: Catch invalid HDEVNOTIFY arguments to I_ScUnregisterDeviceNotification.
sechost: Don't attempt to unregister an HDEVNOTIFY with bad magic.
winemac.drv: Handle windows becoming invalid between WM_QUERYENDSESSION and WM_ENDSESSION.
wintab32: Make the internal window message-only.
wintab32: Use an HINSTANCE when registering the internal window class.
wintab32: Create the internal window on demand.
Trent Waddington (2):
kernel32/tests: Add tests for GetModuleFileName string termination.
kernelbase: Fix string termination of GetModuleFileName.
Twaik Yont (5):
wineandroid: Remove redundant backend DPI scaling.
wineandroid: Fix 64-bit crash in setCursor JNI call.
wineandroid: Lower targetSdkVersion to avoid Android 10 W^X restrictions.
wineandroid: Fix loader path and library lookup for modern Wine/Android.
wineandroid: Move environment setup to Java and drop obsolete env vars.
Vitaly Lipatov (2):
include: Fix _LIBCPP_DEFER_NEW_TO_VCRUNTIME not being set with old clang.
include: Avoid __builtin_wmemchr with clang < 13.
Yuxuan Shui (1):
setupapi: Fix wrong buffer size in SetupDiGetClassDescriptionExA.
Zhiyi Zhang (6):
iertutil: Fix parsing some partial IPv4 addresses.
iertutil: Fix parsing URIs without a port value.
iertutil: Do not encode user info if the scheme is unknown.
iertutil: Fix backslash processing in URIs.
iertutil: Add initial URI parsing support for IUriRuntimeClass.
iertutil/tests: Add URI parser tests.
```
1
0
The Wine development release 11.6 is now available.
What's new in this release:
- Beginnings of a revival of the Android driver.
- DLL load order heuristics to better support game mods.
- More VBScript compatibility fixes.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.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 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-11.6/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.6 (total 28):
- #7961 Bug in findfirst/findnext
- #26389 Win3.1 Notepad crashes when opening a large file
- #38874 Homesite+ (v5.5): Radiobutton in Find dialog not set properly when using keyboard shortcut (Alt+U)
- #42517 StarOffice51 Crash on File open
- #45289 Wine Crashes Some Programs If Compiled with AVX Support
- #49776 .NET application settings are never saved
- #51577 Google Earth Installer renders mostly black
- #52019 DigiCertUtil wrong window size
- #52741 Missing chakra.dll to run Minecraft Windows 10 Edition
- #55933 NSFW game 'Creature reaction inside the ship! 1.5' videos stop after looping a few times
- #56296 PDFSam Installer shows an empty language list
- #58043 Multiple applications won't run on Wine 10.3 because they think that there is a debugger running when there isn't (DVDFab, DCS World updater)
- #58146 HWiNFO 8.24 (latest): doesn't work unless winecfg is set to Windows 7
- #58690 fw_manager_IsPortAllowed is not implemented
- #59486 Treeview TVS_CHECKBOXES cycle all state images with non-zero index
- #59498 pdf-xchange editor v10.8.4.409 crashes at start.
- #59536 Missing WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
- #59546 Commit 20b34866 breaks the list of on-line multiplayer servers for the game Mount & Blade: Warband
- #59548 Neko Project emulator no longer works with 96 kHz sampling rate (Gentoo Linux)
- #59551 Buhl Tax 2026 shows blank preview - crash on geometry creation
- #59553 ICU dlls cause some games to crash (Cyberpunk 2077)
- #59554 DOAXVV (DMM version) fails to start with network error
- #59559 Missing D3D11 Interop Functions needed for Gecko based browsers
- #59561 VICE: GTK version of x64sc.exe crashes at startup.
- #59563 printf does not support %Z
- #59573 Regression introduced by decompression support in winhttp
- #59576 EIZO ColorNavigator 6 crashes on unimplemented function mscms.dll.WcsGetCalibrationManagementState
- #59600 Regression on 11.5 - Diablo IV in game-menu shop no more reachable
### Changes since 11.5:
```
Adam Markowski (3):
po: Update Polish translation.
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (5):
winegstreamer: Flush wg_transform buffers on seek in quartz_transform.c.
quartz/tests: Add more video format tests for MPEG-1 Splitter.
winegstreamer: Pass MPEG-1 video codec data to the GStreamer decoder.
winegstreamer: Increase the buffer count in the MPEG video output.
quartz/tests: Remove todo_wine from tests that succeed now.
Alexandre Julliard (27):
configure: Warn when the C++ compiler is missing or not working.
gdi32: Also redirect path in RemoveFontResourceEx.
server: Add a helper function to trace a Unicode string.
server: Share more code between 32- and 64-bit PE data directory handling.
ntdll: Add a structure to return information about a PE mapping.
server: Return version resource in get_mapping_info for native dlls.
ntdll: Add heuristics to prefer native dll based on the version resource.
wtsapi32/tests: Skip processes that no longer exist.
ldap: Correctly grow the buffer on incomplete message.
configure: Require a PE compiler on 64-bit macOS.
configure: Stop using libunwind.
configure: Check for gradle on Android.
configure: Pass ANDROID_HOME when building the Android APK.
ntdll: Fix a printf format warning.
ntoskrnl: Update the security cookie once relocation are applied.
kernelbase: Update timezone data to version 2026a.
zlib: Import upstream release 1.3.2.
png: Import upstream release 1.6.56.
lcms2: Import upstream release 2.18.
ntdll: Move the prefix bootstrap check out of is_builtin_path().
ntdll: Pass the full PE mapping info to get_load_order().
ntdll: Also consider wow64 system directory for module load order.
ntdll: Only set the version resource child when found in version_find_key.
winecrt0: Add LGPL license exception.
msvcrt: Add LGPL license exception.
vcruntime140: Add LGPL license exception.
libs: Add LGPL license exception to the uuid libraries.
Alistair Leslie-Hughes (3):
winhttp: Support Query option WINHTTP_OPTION_SECURITY_INFO.
ntdll: Correct last parameter of NtFlushVirtualMemory.
comctl32/imagelist: Allow for larger initial image count.
Anton Baskanov (1):
dsound: Make i signed in downsample.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (5):
gdiplus: Fix GdipGetImageBounds result in case Graphics is deleted.
gdiplus: Return InvalidParameter in GdipGetImageHorizontalResolution in case HEMF is missing.
gdiplus: Return InvalidParameter in GdipGetImageVerticalResolution in case HEMF is missing.
gdiplus: Return InvalidParameter in GdipGetImageWidth in case HEMF is missing.
gdiplus: Return InvalidParameter in GdipGetImageHeight in case HEMF is missing.
Benoît Legat (2):
crypt32: Implement CERT_NCRYPT_KEY_HANDLE_PROP_ID support.
crypt32: Implement PFXExportCertStoreEx support.
Bernhard Übelacker (2):
mmdevapi: Avoid copying more memory than reserved in validate_fmt (ASan).
d2d1: Allow value NULL in d2d_effect_SetInput.
Brendan McGrath (7):
wmvcore: Test we can open a rawvideo wmv file.
winegstreamer: Place 'videoconvert' prior to 'deinterlace' element.
iyuv_32: Add stub dll.
iyuv_32/tests: Add test stub.
iyuv_32/tests: Test which formats are supported.
iyuv_32/tests: Add a decompression test.
iyuv_32/tests: Add a compression test.
Brendan Shanks (4):
ntdll/tests: In wow64, factor the SYSTEM_INFORMATION_CLASS out of test_query_architectures().
ntdll/tests: Add tests for NtQuerySystemInformation(SystemSupportedProcessorArchitectures2).
ntdll: Implement NtQuerySystemInformation(SystemSupportedProcessorArchitectures2).
server: Add x86_64 as a supported machine on ARM64.
Chris Kadar (1):
cabinet: Add stubs for compressor/decompressor.
Connor McAdams (8):
dinput/tests: Fix occasional GameInput test crash.
dinput/tests: Fix incorrect index when removing child device.
include: Fix HID_STRING_ID_* definitions.
dinput/tests: Add tests for HID device indexed strings.
dinput/tests: Check child device serial, if provided, on remove.
dinput/tests: Cleanup every device key with winetest vendor.
dinput/tests: Test that guidInstance is stable across hotplugs.
dinput/tests: Add tests for dinput joystick guidInstance values.
Conor McCarthy (6):
mf: Trace additional topology details.
mf/topology_loader: Do not create a new branch list containing downstreamm nodes.
mf/topology_loader: Delete unused struct connect_context.
mf/topology_loader: Load the branch up connection method only for source nodes.
mf: Specify the multithreaded queue for presentation clock callbacks.
mf: Specify the multithreaded queue for sample grabber timer callbacks.
Dmitry Timoshkov (6):
advapi32/tests: Add some tests for LockServiceDatabase().
services: Add proper handle management to LockServiceDatabase() and UnlockServiceDatabase().
advapi32: Implement LockServiceDatabase() and UnlockServiceDatabase().
winedump: Fix building with PSDK compiler.
crypt32/tests: Add some tests for CertOpenSystemStore() with real provider handle.
crypt32: Add CERT_STORE_NO_CRYPT_RELEASE_FLAG to CertOpenStore() flags when called from CertOpenSystemStore().
Elizabeth Figura (7):
wined3d/vk: Handle stretching and format conversion when resolving as well.
wined3d: Do not force the source into RB_RESOLVED for a non-colour blit.
wined3d: Separate a raw_blitter_supported() helper.
wined3d: Require matching sample counts for the raw blitter.
wined3d: Move RB_RESOLVED logic from texture2d_blt() to texture2d_blt_fbo().
wined3d: Explicitly handle raw resolve in the FBO blitter.
wined3d: Explicitly pass the RAW flag for d3d10+ resolve.
Eric Pouech (6):
mfplat: Add stub for MFSerializeAttributesToStream.
mf: Add stub for MFCreateDeviceSource().
include: Add missing extern "C" wrappers.
include: Don't use C++ keywords.
wevtapi: Add stub for EvtRender.
advapi32: Add stub for AddConditionalAce().
Francis De Brabandere (24):
vbscript: Implement IActiveScriptError::GetSourceLineText.
vbscript: Invoke default property when calling object variable with empty parens.
vbscript: Pass VT_DISPATCH as-is to Property Let without extracting default value.
wscript: Implement IActiveScriptSite::OnScriptError.
vbscript: Allow hex literals with excess leading zeros.
vbscript: Fix dot member access after line continuation.
vbscript: Add error code tests for compile errors.
vbscript: Improve some error codes in the compiler.
vbscript: Improve some error codes in the lexer.
vbscript: Improve some error codes in the parser.
vbscript: Implement GetRef.
vbscript: Fix crash in ReDim on uninitialized dynamic arrays.
vbscript: Return "Object required" error (424) instead of E_FAIL/E_NOTIMPL.
vbscript: Return correct error for array dimension mismatch and NULL array access.
vbscript: Return type mismatch when calling non-dispatch variable as statement.
vbscript: Fix chained array indexing on call expression results.
vbscript: Allow Not operator as operand of comparison expressions.
vbscript: Implement AscW and ChrW functions.
vbscript: Report proper errors for invalid date literals and line continuations.
vbscript/tests: Enable Empty Mod test that now passes.
vbscript: Implement Escape and Unescape functions.
vbscript: Implement the Erase statement.
vbscript: Implement Eval, Execute, and ExecuteGlobal.
vbscript: Return error 92 for uninitialized For loops.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.347.
Gijs Vermeulen (1):
mscms: Add WcsGetCalibrationManagementState stub.
Hans Leidekker (16):
winhttp: Fix querying available data for chunked transfers.
winhttp: Trace more option values.
winhttp: Accept WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL on session handles.
include: Add missing WinHTTP defines.
winhttp: Print a fixme for unsupported flags in WinHttpOpen() and WinHttpOpenRequest().
winhttp: Introduce struct read_buffer.
winhttp: Always buffer response data.
winhttp: Fix a typo.
winhttp/tests: Get rid of workarounds for old Windows versions.
winhttp: Ignore unexpected content encodings.
winhttp: Don't trace content read / content length in read_data().
winhttp: Move web socket support to a separate file.
winhttp: Use public define for the web socket handle type.
winhttp: Move pending_sends and pending_receives to the socket structure.
crypt32: Also accept CERT_CHAIN_ENGINE_CONFIG without dwExclusiveFlags.
bcrypt: Handle SHA512 in key_asymmetric_verify().
Jacek Caban (1):
configure: Build PE modules with build ID by default.
José Luis Jiménez López (1):
quartz/tests/avisplit: Add tests for IMediaSeeking time formats.
June Wilde (1):
include: Add windows.graphics.directx.direct3d11.interop.idl file.
Kun Yang (2):
taskschd/tests: Add tests for ILogonTrigger.
taskschd: Add implementation of ILogonTrigger.
Louis Lenders (1):
magnification: Add stub for MagInitialize.
Maotong Zhang (3):
msi: Add ComboBox items, using value if text does not exist.
msi: The ComboBox defaults to displaying the value.
msi: ComboBox displays value on selection and falls back to text if missing.
Mohamad Al-Jaf (4):
windows.devices.radios: Add stub dll.
windows.devices.radios: Add IRadioStatics stub.
windows.devices.radios: Implement IRadioStatics::GetRadiosAsync().
windows.devices.radios/tests: Add IRadioStatics::GetRadiosAsync() tests.
Nikolay Sivov (24):
msxml3/tests: Add some more DOM tests.
msxml3/tests: Enable namespace:: axis test on Windows.
msxml3/tests: Remove alternative variants of saved output as acceptable test results.
msxml3/tests: Merge a test with existing get_xml() tests.
msxml3/tests: Add a test for immediate document children list.
d2d1/geometry: Check for null user transform when streaming.
msxml3/tests: Add ISupportErrorInfo tests for DOCTYPE nodes.
msxml3/tests: Add basic argument test for loadXML().
msxml3/tests: Add parentNode() test for attributes.
msxml3/tests: Add some cloneNode() tests for a document.
msxml3/tests: Use string comparison in more places.
msxml3/tests: Add another get_xml() test for namespace definitions.
msxml3/tests: Add some more appendChild() tests.
msxml3/tests: Remove some value testing macros.
msxml3/tests: Skip removeAttributeNode() tests on Wine.
msxml3/tests: Add another test for loadXML(NULL).
msxml3/tests: Move CDATA node tests to its own function.
msxml3/tests: Simplify setting string Variant values.
secur32/tests: Test required buffer size in case of SEC_E_INCOMPLETE_MESSAGE.
secur32/schannel: Fix returned required buffer size for incomplete messages in DecryptMessage().
secur32/tests: Use existing macro for a capability flag.
msxml3/tests: Add a test for reloading document with outstanding references.
odbc32: Map SQLColAttributes(SQL_COLUMN_UNSIGNED) to SQLColAttribute().
include: Fix SQLDriverConnectW() prototype.
Olivia Ryan (11):
windows.web: Cleanup struct json_value.
windows.web: Use json_buffer struct & helper functions.
windows.web: Support escaped characters.
windows.web: Additional string parsing tests.
windows.web: Stub JsonArray runtime class.
windows.web: Support json array parsing.
windows.web: Add a IMap_HSTRING_IInspectable to json objects.
windows.web: Support json object parsing.
windows.web: Implement JsonArray element getters.
windows.web: Support boolean & number value creation.
windows.web: Implement JsonObject typed getters.
Paul Gofman (6):
dwrite: Fix second chance fonts handling in fallback_map_characters().
dwrite: Move opentype_get_font_table() up.
dwrite: Fail loading unsupported COLRv1 fonts.
netprofm: Check adapter addresses instead of gateway to guess ipv6 internet connectivity.
ntdll: Do not keep next handler pointer outside of lock in call_vectored_handlers().
server: Do not return STATUS_ACCESS_DENIED from read_process_memory_vm() for zero read.
Piotr Pawłowski (2):
comctl32/tests: Test cycling all state images from custom image list when toggling checkboxes.
comctl32/treeview: Cycle all state images from custom image list when toggling checkboxes.
Reece Dunham (1):
mshtml: Doc typo fix.
Rémi Bernon (20):
windows.web: Rename JsonObject class methods.
windows.web: Skip whitespace in json_buffer_take.
winex11: Update queue input time on WM_TAKE_FOCUS.
mf: Introduce a new topology_node_get_type helper.
winemac: Keep current user locale in the generated HKLs.
winewayland: Activate an IME HKL before sending IME updates.
winex11: Activate an IME HKL before sending IME updates.
imm32: Only notify the host IME for known IME HKLs.
include: Define _MAX_ENV in stdlib.h.
joy.cpl: Ignore unsupported DIPROP_AUTOCENTER.
dinput/tests: Move TLC count to the descriptor.
dinput/tests: Support starting multiple devices.
dinput/tests: Move fill_context call into hid_device_start.
cfgmgr32: Implement CM_Locate_DevNode(_Ex)(A|W) and CM_Get_Device_ID(_Size)(_Ex)(A|W).
cfgmgr32: Implement CM_Open_DevNode_Key(_Ex).
setupapi: Forward CM_Open_DevNode_Key(_Ex) to cfgmgr32.
cfgmgr32: Implement CM_Get_DevNode_Registry_Property(_Ex)(A|W).
setupapi: Forward CM_Get_DevNode_Registry_Property(_Ex)(A|W) to cfgmgr32.
winevulkan: Improve support for some recursive struct conversion.
winevulkan: Ignore VkPhysicalDeviceVulkan14Properties returnedonly.
Stefan Dösinger (4):
ddraw/tests: Cap test_map_synchronisation to 64k vertices.
ddraw/tests: Fix nested designated initializers in test_caps().
d3d9/tests: Improve yuv_color_test() on Nvidia drivers.
ddraw/tests: Try harder to hide the window in test_window_style().
Theodoros Chatzigiannakis (3):
msi: Handle padding bytes in table streams.
msi: Detect mismatched bytes_per_strref in table data.
msi/tests: Add regression tests for table stream padding and mismatched string refs.
Trung Nguyen (2):
msvcrt: Add support for %Z printf specifier.
msvcrt/tests: Add tests for %Z printf specifier.
Twaik Yont (5):
wineandroid: Update Android project for modern Gradle plugin.
wineandroid: Use BOOL for is_desktop flag.
wineandroid: Fix APK output path for recent Gradle.
ntdll: Disable userfaultfd support on Android.
wineandroid: Switch to AHardwareBuffer and raise minSdkVersion to 26.
Vibhav Pant (10):
winebth.sys: Store GATT characteristic value cached by the Unix Bluetooth service on the PE driver.
winebth.sys: Update the cached GATT characteristic value on receiving a PropertiesChanged signal for a GATT characteristic value from BlueZ.
winebth.sys: Implement IOCTL_WINEBTH_GATT_SERVICE_READ_CHARACTERISITIC_VALUE.
bluetoothapis: Implement BluetoothGATTGetCharacteristicValue.
bluetoothapis/tests: Add tests for BluetoothGATTGetCharacteristicValue.
winebth.sys: Remove unneeded call to IoInvalidateDeviceRelations on radio removal.
winebth.sys: Don't add Bluetooth devices/entries from Unix if they already exist.
winebth.sys: Only make calls to BlueZ if it is available.
winebth.sys: Initialize and remove devices on BlueZ startup and shutdown respectively.
mountmgr.sys: Initialize threading support for DBus before calling DBus functions.
Wolfgang Hartl (1):
oleaut32: Handle reference tables when processing SLTG records.
Yongjie Yao (2):
user32/tests: Test the thread safety of NtUserRegisterClassExWOW and NtUserUnregisterClass.
win32u: Fixed thread safety issues with NtUserRegistClassExWOW and NtUserUnregisterClass.
Yuxuan Shui (4):
crypt32: Don't access CERT_CHAIN_ENGINE_CONFIG::dwExclusiveFlags without checking size.
mfsrcsnk: Test how pixel aspect ratio metadata in an mp4 file are handled.
winedmo: Call avformat_find_stream_info for H264 streams missing aspect ratio.
ntoskrnl.exe/tests: Fix stack use-after-free of OVERLAPPED.
Zhao Yi (2):
win32u: Fix deadlock when setting hdc_src to the window's self DC.
win32u/tests: Add tests for hdc_src is window's self dc when calling UpdateLayeredWindow.
Zhiyi Zhang (15):
ninput: Add ordinal 2502.
include: Add some ALPC definitions.
ntdll/tests: Add AlpcGetHeaderSize() tests.
ntdll: Implement AlpcGetHeaderSize().
ntdll/tests: Add AlpcInitializeMessageAttribute() tests.
ntdll: Implement AlpcInitializeMessageAttribute().
ntdll/tests: Add AlpcGetMessageAttribute() tests.
ntdll: Implement AlpcGetMessageAttribute().
iertutil: Move CreateIUriBuilder() from urlmon.
iertutil: Move CreateUri() from urlmon.
iertutil: Move CreateUriWithFragment() from urlmon.
iertutil: Add PrivateCoInternetCombineIUri().
iertutil: Add PrivateCoInternetParseIUri().
urlmon: Add a wine_get_canonicalized_uri() helper.
iertutil: Move CUri coclass from urlmon.
```
1
0
The Wine development release 11.5 is now available.
What's new in this release:
- C++ support in the build system.
- Bundled ICU libraries.
- Support for Syscall User Dispatch on Linux.
- A number of VBScript compatibility fixes.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.5.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.5 (total 22):
- #31047 unable to edit gedit's preferences
- #35904 USB connection not recognized by Axon MultiClamp Commander 700B.
- #42687 Evernote installation fails
- #42811 PCG Tools Application fails to install
- #48291 Multiple applications crash due to direct use of x86_64 SYSCALL instruction (Detroit: Become Human, Red Dead Redemption 2, Arknights: Endfield)
- #50532 get_timezone_info doing binary search in the wrong way
- #50636 Reading indexed bitmap wrongly returns 32bit instead of 8bit
- #55037 vbscript: Colon on new line after Then fails
- #58806 Smart quotes in code example misleads clang
- #58963 Stratego (1997) fails to start with error message "Unable to 'CreateScalableFontResource()'"
- #59138 Timelapse export failing in Clip Studio Paint
- #59223 Sony Home Memories Throws Unrecoverable error during installation
- #59314 Swift crashes on unimplemented function ADVAPI32.dll.SaferiIsExecutableFileType
- #59361 MDI child window creation don't respect the window attribute (not WS_MAXIMIZEBOX)
- #59460 bcrypt: Implement RSA-OAEP padding defaults (fixes Wallpaper Engine mobile sync)
- #59474 File dialog crashes in .NET applications like UndertaleModTool
- #59502 VOCALOID6 crashes on startup due to unimplemented wminet_utils stubs
- #59504 jscript: GetScriptDispatch("") returns E_INVALIDARG instead of global dispatch
- #59514 time()/localtime() performance has regressed significantly
- #59531 CertCreateCertificateChainEngine fails with invalid argument in rustls-platform-verifier
- #59541 replacing bass.dll with samp.dll causes freeze/black screen under wine . samp.dll works fine under windows
- #59542 CEF crashes in dwrite when browsing The Verge (weird font file)
### Changes since 11.4:
```
Akihiro Sagawa (3):
po: Update Japanese translation.
ole32/tests: Add more RegisterDragDrop tests after mismatched cleanup.
ole32: Relax COM initialization check in RegisterDragDrop.
Alexandre Julliard (14):
gitlab: Use Buildah instead of Kaniko to build images.
makefiles: Add support for C++ sources.
configure: Check for C++17 support.
include: Import C++ headers from LLVM version 8.0.1.
comctl32/tests: Add some optional treeview messages.
makedep: Specify dll name when it can't be guessed from the spec file name.
makedep: Still build asm files if the subdir doesn't match a known platform.
makedep: Ignore internal static libraries that are disabled.
makedep: Don't ignore disabled libs specified with the -l flag.
libs: Import icucommon from upstream MS-ICU release 72.1.0.3.
libs: Import icui18n from upstream MS-ICU release 72.1.0.3.
unicode: Generate the ICU data file.
icu: Add dll.
ntdll: Disable syscall dispatch when loading a .so dll.
Alistair Leslie-Hughes (6):
combase: Add RoFailFastWithErrorContext stub.
include: Fix PromptDataSource parameter type.
windows.ui.core.textinput: Fake success in ICoreInputView4::add_PrimaryViewHiding.
windows.ui.core.textinput: Return S_OK in ICoreInputView::TryHidePrimaryView.
windows.ui.core.textinput: Return S_OK in ICoreInputView::TryShowPrimaryView.
twinapi.appcore: Support Windows.ApplicationModel.DataTransfer.DataTransferManager.
Andrew Nguyen (2):
wminet_utils: Implement Get.
wminet_utils: Implement CreateInstanceEnumWmi.
Anton Baskanov (8):
dmsynth/tests: Add some polyphony tests.
dmsynth: Restore pre-2.4.3 fluidsynth note-cut behavior.
dmsynth: Put each channel into a separate channel group.
dsound: Calculate required_input more accurately.
dsound: Swap around the two nested loops in downsample.
dsound: Calculate firgain more accurately.
dsound: Transpose the FIR array to make the element access sequential.
dsound: Premultiply the input value by firgain and the interpolation weights in downsample.
Bernhard Kölbl (8):
windows.media.speech/tests: Change a value check.
windows.media.speech/tests: Skip some voice tests on Windows 8.
windows.media.speech: Make sure voice provider is initialized before returning default voice.
windows.media.speech: Set pointer to NULL.
mf: Prevent invalid topologies from being started.
mfreadwrite/tests: Test IMFByteStream release behavior.
mfsrcsnk/tests: Test IMFByteStream release behavior.
mfsrcsnk: Move IMFByteStream release into IMFMediaSource_Shutdown().
Brendan McGrath (18):
mf/tests: Test decoder node for MARKIN/MARKOUT attributes.
mf: Add MARKIN/MARKOUT attributes to decoder node.
mf/tests: Move logic for sending delayed samples to helper function.
mf/tests: Modify topology to start with no resolution.
mf/tests: Test MARKIN will result in a trimmed sample.
mf: Drop samples from transform if MARKIN_HERE is set.
mf: Trim samples from transform if MARKIN_HERE is set.
mf: Replace state variable with clock_state.
mf: Implement presentation time source for SAR.
mf: Check provided presentation clock has a time source.
mf: Implement Scrubbing in SAR.
mf: Discard samples prior to current seek time.
mf: Report seek time up until we render past this point.
mfmediaengine: Reset the sample requested flag on Stop.
mfmediaengine: Implement looping behaviour.
mfmediaengine: Keep the last presentation sample on flush.
mf: Handle ENDOFSEGMENT marker in SAR.
mfmediaengine: Implement scrubbing.
Brendan Shanks (1):
server: On ARM64, only list 32-bit ARM as a supported architecture if the CPU supports it.
Conor McCarthy (2):
winegstreamer: Do not copy the incorrect buffer.
win32u/d3dkmt: Close the wait handle with NtClose() in NtGdiDdDDIAcquireKeyedMutex2().
Daniel Lehman (3):
mxsml3/tests: Add tests for put_text.
msxml3/tests: Skip put_text test for now.
msxml3: Don't add cloned doc to orphan list.
Diego Colin (1):
comctl32: Fix some typos in the comments.
Dmitry Timoshkov (3):
user32/tests: Make test_ShowWindow_mdichild() use real MDI child windows.
user32/tests: Test switching from a maximized MDI child to a child without WS_MAXIMIZEBOX.
user32: Respect WS_MAXIMIZEBOX of the MDI child being activated.
Doug Johnson (1):
advapi32: Add SaferiIsExecutableFileType stub.
Elizabeth Figura (8):
d3d9/tests: Test format conversion in StretchRect().
wined3d: Implement format conversion in the Vulkan blitter.
ddraw: Fix caps tracing in IDirectDraw7::GetCaps().
wined3d/vk: Implement fill mode.
wined3d/hlsl: Force branching in branches that guard pow().
ntdll: Implement syscall emulation on Linux using Syscall User Dispatch.
gdi32: Redirect system32 in CreateScalableFontResourceW().
gdi32: Redirect system32 in AddFontResourceEx().
Eric Pouech (5):
kernelbase: Fix signature of TerminateProcess().
include: Add same guard features as SDK does.
include: Define struct _SECURITY_DESCRIPTOR*.
include: Move NT_TIB(32|64) definitions in winnt.h.
dbghelp/dwarf: Properly ignore Dwarf-5 compilation units.
Francis De Brabandere (12):
vbscript: Split() should return an empty array for empty strings.
vbscript: Do not fail on colon-prefixed statements in If blocks.
vbscript: Allow empty Else blocks in If statements.
vbscript: Fix ElseIf and Else handling for inline and multi-line forms.
vbscript: Allow Me(Idx) to compile as a call to the default property.
vbscript: Return "Object required" error for non-dispatch types.
vbscript: Return proper error for For Each on non-collection types.
vbscript: Support calling named item objects with arguments.
vbscript: Report correct error character position for invalid parenthesized call.
vbscript: Map DISP_E_DIVBYZERO to VBScript error 11.
vbscript: Return type mismatch error for indexed assignment to non-array variables.
vbscript: Allow Const to be used before its declaration.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.346.
Giovanni Mascellani (15):
winmm/tests: Skip format tests if there is no available audio device.
mmdevapi/tests: Drop some corner-case tests.
winmm/tests: Drop some corner-case tests.
winepulse.drv: Support 24-bit PCM formats.
winepulse.drv: Allow cbSize to be larger than 22 bytes for extensible wave formats.
winepulse.drv: Remove support for A-law and mu-law formats.
winepulse.drv: Remove support for 24-in-32 bits formats.
mmdevapi: Do not query for format support in spatial audio.
mmdevapi: Take the wave format validation code from the tests.
mmdevapi/tests: Further tweak some corner-case tests.
winmm/tests: Further tweak some corner-case tests.
winmm: Do not try to convert sample rate or channel count.
winmm: Hard code the list of supported formats.
wineoss.drv: Describe 24-bit samples with AFMT_S24_PACKED when not on FreeBSD.
wineoss.drv: Reject wave formats with invalid bits.
Hans Leidekker (10):
winhttp/tests: Don't send more data than the receive buffer can hold.
winhttp: WinHttpQueryDataAvailable() fails before a response has been received.
winhttp: Don't report data available for certain response statuses, even if there is data.
winhttp: Clear response headers after do_authorization().
winhttp: Also do NTLM autorization when credentials are set between requests.
winhttp: Introduce a stream abstraction.
winhttp: Add decompression support.
include: Update definition of CERT_CHAIN_ENGINE_CONFIG.
crypt32: Trace CERT_CHAIN_ENGINE_CONFIG fields in CertCreateCertificateChainEngine().
hnetcfg: Improve fw_manager_IsPortAllowed() stub.
Jacek Caban (11):
tools: Treat -windows-gnu target as an LLVM-based toolchain.
configure: Default to mingw mode on 32-bit ARM targets.
vcruntime140: Add new and delete operators implementation to CRT library.
vcruntime140: Add __type_info_root_node implementation.
vcruntime140: Add support for MSVC thread-safe constructor initialization.
vcruntime140: Add type_info vtbl to the import library.
libs: Import libc++ from upstream LLVM version 8.0.1.
libs: Import libunwind from upstream LLVM version 8.0.1.
libs: Import libc++abi from upstream LLVM version 8.0.1.
fluidsynth: Import upstream release 2.4.3.
winegcc: Add default C++ libraries when using msvcrt.
Kun Yang (1):
comctl32/tests: Test creating an imagelist with an excessively large initial image count.
Louis Lenders (1):
ole32: Add stub for CoRegisterActivationFilter.
Marc-Aurel Zent (1):
winemac: Avoid matching scan code 0 in GetKeyNameText.
Michael Green (1):
winhttp: Implement WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT.
Nello De Gregoris (4):
server: Allow creating directory kernel objects.
ntoskrnl.exe/tests: Add tests for directory kernel objects.
ntoskrnl.exe: Implement FsRtlGetFileSize().
ntoskrnl.exe/tests: Add tests for FsRtlGetFileSize().
Nikolay Sivov (4):
mfplay: Remove incorrect fixme for MFP_EVENT_TYPE_ERROR.
d2d1: Do not reference layer objects when recording to the command list.
msxml3/sax: Do not attempt to add default attributes for definitions without values.
dwrite: Handle zero-length name strings.
Paul Gofman (9):
win32u: Set VendorId / DeviceId in DirectX registry key with correct size.
shell32: Return S_OK from IShellLinkW_fnSetPath for nonexistent paths.
shell32: Remove trailing backslash in IShellLinkW_fnSetPath().
wshom.ocx: Implement WshShortcut_get_TargetPath().
wshom.ocx: Load shell link in WshShortcut_Create().
include: Add IMFMediaEngineClassFactoryEx and IMFMediaEngineClassFactory2 definitions.
mfmediaengine: Add IMFMediaEngineClassFactoryEx interface.
server: Cache timezone bias adjustment in set_user_shared_data_time().
comctl32/static: Set HALFTONE StretchBlt mode in STATIC_PaintBitmapfn().
Piotr Caban (3):
ntdll: Read last error from wow teb in unixlib RtlGetLastWin32Error.
user32/tests: Test static control extra window data access.
user32: Make static control internal data private.
Piotr Pawłowski (1):
comctl32/treeview: Fixed missing redraw of item being unfocused.
Robert Gerigk (4):
jscript: Treat empty string as NULL in GetScriptDispatch.
vbscript: Treat empty string as NULL in GetScriptDispatch.
windowscodecs: Implement IWICFormatConverter for BlackWhite pixel format.
hidclass.sys: Report correct device type for HID device objects.
Rémi Bernon (5):
setupapi: Cleanup SetupDiGetClassDescription(Ex)(A|W) code style.
setupapi: Reimplement SetupDiGetClassDescriptionExW using cfgmgr32.
setupapi: Forward CM_Get_Device_Interface_List(_Size)(_Ex)(A|W) to cfgmgr32.
setupapi: Use CM_Locate_DevNode_ExW to allocate devnode.
setupapi: Use CM_Get_Device_IDW to get devnode device.
Santino Mazza (2):
msvcrt: Fastfail if _CALL_REPORTFAULT is set.
msvcrt: Call abort at the end of _wassert.
Stefan Dösinger (5):
d3d8: Build a valid box in d3d8_vertexbuffer_Lock.
d3d8: Build a valid box in d3d8_indexbuffer_Lock.
ddraw/tests: Fix vertex winding in test_ck_rgba.
ddraw/tests: Fix vertex winding in test_zenable.
ddraw/tests: Fix vertex winding in test_texture_wrong_caps.
Sven Baars (1):
winegcc: Remove unused libgcc variable.
Trent Waddington (3):
cmd: Ensure that for_ctrl->set is non-NULL at parse time.
findstr/tests: Add tests for start-of-word at start of line.
findstr: Support start word position \\< at start of line.
Vitaly Lipatov (1):
taskschd: Implement IRepetitionPattern for trigger objects.
Zhao Yi (2):
wbemprox: Correct IP address order when calling Win32_NetworkAdapterConfiguration.
wbemprox/tests: Test the IP address order obtained by calling Win32_NetworkAdapterConfiguration.
Zhiyi Zhang (17):
wintypes: Return S_OK for api_information_statics_IsMethodPresent().
ninput/tests: Add tests for INTERACTION_CONTEXT_PROPERTY_INTERACTION_UI_FEEDBACK property.
ninput: Handle INTERACTION_CONTEXT_PROPERTY_INTERACTION_UI_FEEDBACK property.
ninput: Add BufferPointerPacketsInteractionContext() stub.
ninput: Implement getting and setting interaction configuration.
ninput/tests: Add tests for getting and setting interaction configuration.
ninput: Add GetStateInteractionContext() stub.
ninput: Add ProcessBufferedPacketsInteractionContext() stub.
shcore: Add RecordFeatureUsage() stub.
icuuc: Add dll.
icuin: Add dll.
comctl32/tests: Add more tests for TCS_OWNERDRAWFIXED.
comctl32/tab: Use a clip region to protect the tab item background.
icu/tests: Add initial tests.
user32: Add DelegateInput() stub.
user32: Add UndelegateInput() stub.
comctl32/imagelist: Limit the initial image count.
Zhou Qiankang (1):
ntdll: Avoid expensive inverted DST check on get_timezone_info() cache hit path.
```
1
0
The Wine development release 11.4 is now available.
What's new in this release:
- SAX reader reimplemented in MSXML.
- Resampling optimizations in DirectSound.
- Beginnings of a proper CFGMGR32 implementation.
- Better Unix timezone matching.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.4.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.4 (total 17):
- #14713 Xara Xtreme 4: Resizing handles not visible
- #16957 CreateProcess handles are inherited even when bInheritHandles=FALSE
- #24851 Explorer++ treeview shows plus signs even when a folder contains no subfolders
- #36686 CodeGear RAD Studio 2009 fails on startup (ISAXXMLReader::putFeature method needs to support 'normalize line breaks' feature)
- #42024 FL Studio 12.4 installer, Janetter 4.1.1.0 crash on missing HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable key
- #42027 Xilinx Vivado 2014.4 installer fails: systeminfo is a stub
- #49393 Gag game crash
- #52330 iZotope software authorization process fails
- #55739 Native Access 2: permanent loading circle after entering credentials
- #57415 ROMCenter crash after creating database > IO Exception cannot locate resource images/defaultsystemicon.png (MONO 8.1 is the problem)
- #58505 SSFpres search window appears behind main window since Wine 10.5
- #59140 Bug avec le logiciel pronote pendant sa mise à jour
- #59329 C++ catch() use-after-free with std::rethrow_exception()
- #59342 Roblox Studio needs msvcp140.dll.?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z
- #59449 FormatMessageW fails for well-formed function call and crashes application
- #59455 Disappearing TreeView items on TVM_INSERTITEM+TVM_EXPAND+TVM_EDITLABEL
- #59462 wine-staging fails to build due to unable to find -lvkd3d
### Changes since 11.3:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (4):
winmm/tests: Add end position tests for avivideo.
mciavi32: Fix handling of the end position in the play command.
mciavi32: Fix handling of the end position in the seek command.
mciavi32: Fix handling of the end position in the step command.
Alexandre Julliard (14):
makedep: Only allow non-msvcrt sources to depend on config.h.
makedep: Remove the is_external flag.
makefiles: Specify external modules in the main makefile.
configure: Don't bother setting MSVCRT flags for PE-only builds.
include: Add some C++ floating point functions.
include: Move math defines to a new corecrt_math_defines.h file.
include: Define the locale variants of all the printf functions.
makefiles: Simplify compiler-rt usage.
winecrt0: Move to the libs directory.
include: Add __popcnt intrinsics.
include: Add nullptr_t definition for C++.
include: Add a few C++ exception classes.
include: Duplicate the contents of rtlsupportapi.h inside winnt.h.
include: Avoid redefinition warnings for STATUS_ codes.
Alistair Leslie-Hughes (5):
propsys: Add more System Device Properties.
include: Add IDataTransferManagerInterop interface.
include: Windows.ui.viewmanagement add IReference<UIElementType> interface.
include: Add windows.ui.text.idl.
include: Add windows.ui.text.core.idl.
Andrew Nguyen (1):
winmm: Return MMSYSERR_INVALPARAM for NULL lpFormat in waveOutOpen.
Anton Baskanov (15):
dsound: Remove the unused freqneeded field.
dsound: Don't use double-precision arithmetic in the resampler.
dsound: Do the subtraction before converting to float to improve rem precision.
dsound: Use the modulus operator instead of divide-multiply-subtract.
dsound: Multiply by dsbfirstep after calculating the modulus.
dsound: Get rid of fir_copy.
dsound: Resample one channel at a time.
dsound: Resample into a temporary buffer.
dsound: Remove asserts from the resampling loop.
dsound: Factor out resampling.
dsound: Split resample into separate downsample and upsample functions.
dsound: Don't apply firgain in upsample.
dsound: Don't pass dsbfirstep to upsample.
dsound: Use a fixed upsampling loop boundary.
dsound: Don't invert the remainder twice in upsample.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Kölbl (7):
mmdevapi/tests: Simplify a trace.
mmdevapi/tests: Check device friendly name pattern.
mmdevapi: Adjust device names.
winmm/tests: Test digital-video window behavior for audio files.
msvfw32/tests: Add a basic audio playback test.
msvfw32: Only attempt to set a digital-video window, when the driver has a window itself.
windows.media.speech: Implement IVectorView<VoiceInformation> on top of a stub provider.
Bernhard Übelacker (2):
mmdevapi/tests: Use temporary during reallocation (ASan).
winmm/tests: Reserve additional memory in test_formats (ASan).
Brendan McGrath (5):
mf/tests: Fix potential race conditions in test.
mf: Drop events and end draining on MFT flush.
mf/tests: Test presentation clock with custom time source.
mf: Don't async notify a sink that is also the time source.
mf: Implement IMFTimer using a periodic callback.
Brendan Shanks (1):
kernelbase: Fix GetNativeSystemInfo() in an x86_64 process on ARM64.
Daniel Lehman (1):
dwrite: Add locales to locale list.
Dmitry Timoshkov (1):
win32u: When looking for duplicates in the external fonts list don't count not external fonts.
Elizabeth Figura (3):
Revert "kernel32/tests: Test whether EA size is returned from FindFirstFile().".
kernelbase: Copy reserved fields in FindFirstFileExA().
ntdll/tests: Accept STATUS_SUCCESS from NtQueryDirectoryFile().
Eric Pouech (8):
windows.media.speech/tests: Add a couple of synthesizer's options tests.
windows.media.speech: Add basic implementation on synthesizer options.
windows.media.speech/tests: Add more tests about IVoiceInformation.
windows.media.speech/tests: Add tests about vector view's content.
windows.media.speech: Add basic implementation of IVoiceInformation.
windows.media.speech/tests: Add more tests about default voice.
windows.media.speech: Select a default voice in synthesizer.
windows.media.speech: Implement get/put voice on synthesizer.
Gabriel Ivăncescu (1):
winex11.drv: Do not set the pending NET_ACTIVE_WINDOW when we're skipping it.
Giovanni Mascellani (11):
mmdevapi/tests: Introduce a helper to format wave formats.
mmdevapi/tests: Introduce a helper to decide whether a wave format is valid.
mmdevapi/tests: Test a curated list of wave formats.
mmdevapi/tests: Tweak test logging a little bit.
mmdevapi/tests: Test capturing with RATEADJUST in exclusive mode more specifically.
winmm/tests: Test playing 24-bit wave formats.
Revert "winmm/tests: Test a few PCM and float wave formats."
winmm/tests: Test a curated list of wave formats.
winmm: Write a null HWAVE when waveOutOpen() fails.
winmm: Initialize the audio client with AUTOCONVERTPCM.
winmm: Interpret S_FALSE from IsFormatSupported() as success.
Herman Semenoff (1):
msvcrt: Add overflow check in _time32().
Huw D. M. Davies (1):
user32/tests: Add mouse in pointer dragging test.
Jacek Caban (8):
winecrt0: Add _tls_used support.
compiler-rt: Import emutls.c.
msvcrt: Add __ExceptionPtrSwap implementation.
msvcp140: Add __ExceptionPtrSwap implementation.
gitlab: Install mingw g++ packages.
compiler-rt: Backport ARM64EC assembly.h changes.
compiler-rt: Import aarch64 chkstk.S.
makedep: Use compiler-rt when explicitly importing winecrt0.
Maotong Zhang (1):
compiler-rt: Add __ctzdi2 to fix i386 MinGW builds.
Nello De Gregoris (1):
ntoskrnl.exe: Add stub for KdChangeOption().
Nick Kalscheuer (1):
wined3d: Add description for NVIDIA A10G GPU.
Nikolay Sivov (24):
msxml3/writer: Return success from putDocumentLocator().
msxml3/tests: Add a test for newlines handling in the writer.
msxml3/tests: Use wide-char constants in more places.
msxml3/tests: Add a test for newline handling when writing attribute values.
msxml6/tests: Use wide-string literals when possible.
msxml6/tests: Add some tests for newlines handling in the writer.
msxml3/writer: Fix newline handling in the writer.
kernelbase: Add a message string for CRYPT_E_NO_MATCH.
msxml/tests: Separate reader tests in a number of helpers.
msxml/tests: Add more tests for characters events.
msxml3/saxreader: Remove libxml2 dependency in the parser.
msxml3/saxreader: Add support for "max-xml-size" property.
msxml/tests: Add some tests for the "normalize-line-breaks" feature.
msxml4/tests: Add SAX tests.
msxml: Better match newline escaping in the writer.
msxml/tests: Extend PI test with newlines.
msxml3/saxreader: Normalize line breaks in PI text.
msxml3/saxreader: Normalize space characters in attribute values to 0x20.
msxml/saxreader: Add support for "normalize-line-breaks" feature.
msxml/tests: Add some feature setting tests for "exhaustive-errors".
msxml3: Add SAX error messages.
msxml/tests: Add some more tests for the ownerDocument() property.
msxml3/dom: Fix ownerDocument() property for documents.
msxml/tests: Add parentNode() property test for the document nodes.
Pan Hui (1):
comdlg32: Add the implementation of IServiceProvider_fnQueryService to obtain IFolderView2.
Paul Gofman (17):
opengl32: Don't access drawable after wgl_context_flush() in flush_context().
win32u: Also try to use DC own drawable in get_updated_drawable() when context is flushed.
msvcrt: Fix no buffering detection in _fwrite_nolock().
win32u: Better handle flags for mouse in pointer messages.
opengl32: Recognize more glHint attributes.
ntdll/tests: Test which MxCsr from the context is used by SetThreadContext() on x64.
ntdll: Prefer CONTEXT.MxCsr over CONTEXT.FltSave.MxCsr in NtSetContextThread() on x64.
winhttp: Stub WinHttpSetOption(WINHTTP_OPTION_DECOMPRESSION).
server: Create temp files for anonymous mappings with memfd_create() if available.
ntdll: Get current timezone bias from user shared data.
server: FIx timezone bias for timezones defined with inverse DST on Unix.
ntdll: Fix get_timezone_info() for timezones defined with inverse DST on Unix.
ntdll: Factor out read_reg_tz_info().
ntdll: Try to determine system time zone to Windows zone by name.
ntdll: Drop additional TZ matching with match_tz_name().
ntdll: Better search for DST change in find_dst_change().
ntdll: Accept 30min shift in match_tz_date().
Piotr Caban (8):
msvcr100: Fix leak in __ExceptionPtrAssign.
msvcp140: Don't validate callback in _Schedule_chore.
mmdevapi: Don't fail initialization when no drivers were loaded.
winmm: Call WINMM_InitMMDevices once on systems without sound devices.
winmm: Fix endpoint notification callback leak in WINMM_InitMMDevices.
msvcp140: Add _Xregex_error implementation.
ntdll: Fix threadpool timer behavior on system time change.
ntdll: Don't fix gsbase on execution fault exception.
Piotr Pawłowski (1):
comctl32/treeview: Fixed wrong check for currently edited item.
Reyka Matthies (7):
wininet/tests: Skip GetUrlCacheConfigInfo and CommitUrlCacheEntry tests if the functions return ERROR_CALL_NOT_IMPLEMENTED.
wininet/tests: Add tests for seeking beyond end of file.
wininet: Return correct errors and put handle into invalid state when seeking beyond end of file.
include: Add MFNETSOURCE_STATISTICS_SERVICE definition.
wininet: Factor out writing of cache file.
wininet: Do not reset content_pos in reset_data_stream.
wininet: Factor request creation out of HTTP_HttpSendRequestW.
Rémi Bernon (33):
cfgmgr32: Implement CM_Get_Class_Property_Keys(_Ex).
cfgmgr32: Implement CM_Get_Device_Interface_List(_Size)(_Ex)(A|W).
cfgmgr32: Reimplement CM_Get_Device_Interface_Property(_Ex)W.
cfgmgr32: Implement CM_Get_Device_Interface_Property_Keys(_Ex)W.
include: Add vcruntime_exception.h.
include: Add vcruntime_typeinfo.h.
include: Add new.h and vcruntime_new.h.
cfgmgr32/tests: Add results for missing permissions.
cfgmgr32/tests: Skip some localized names tests.
cfgmgr32/tests: Skip some HID devices tests if none are present.
winemac: Call client_surface_present when OpenGL surface gets presented.
cfgmgr32: Fix leak of device info set in DevGetObjectPropertiesEx.
cfgmgr32: Move qsort out of dev_object_iface_get_props.
cfgmgr32: Introduce helpers to collect object property keys.
cfgmgr32: Allocate the property array to its maximum size.
cfgmgr32: Keep properties in the order they were requested.
cfgmgr32: Remove DEV_OBJECT parameter from internal callbacks.
cfrmgr32: Introduce a new dev_get_device_interface_property helper.
cfgmgr32: Initialize device_interface structs in DEV_OBJECT functions.
cfgmgr32: Return BOOL from devprop_filter_matches_properties.
cfgmgr32: Use the new helpers to get device interface property keys.
cfgmgr32: Use the new helpers to read device interface properties.
cfgmgr32: Return LSTATUS from enum_dev_objects callback.
cfgmgr32: Enumerate the registry keys directly in enum_dev_objects.
setupapi: Cleanup SetupDiOpenClassRegKey(Ex)(A|W) code style.
setupapi: Reimplement SetupDiOpenClassRegKeyExW using cfgmgr32.
setupapi: Cleanup SetupDiClassGuidsFromName(Ex)(A|W) code style.
setupapi: Reimplement SetupDiClassGuidsFromNameExW using cfgmgr32.
setupapi: Cleanup SetupDiBuildClassInfoList(Ex)(A|W) code style.
setupapi: Reimplement SetupDiBuildClassInfoListExW using cfgmgr32.
winebus.sys: Prefer hidraw for all VKB (VID 231d) devices.
winex11: Introduce a new window_set_net_wm_fullscreen_monitors helper.
winex11: Continue requesting fullscreen monitors in PropertyNotify handlers.
Sreehari Anil (1):
bcrypt: Improve RSA OAEP parameter handling.
Sven Baars (1):
dsound: Fir.h is no longer a generated file.
Tatsuyuki Ishi (4):
crypt32: Support importing cert-only PKCS blobs in PFXImportCertStore.
crypt32/tests: Add tests for importing cert-only PKCS#12 blobs.
crypt32: Verify MAC before parsing the store in PFXImportCertStore.
shell32: Only compute HASSUBFOLDER if requested.
Twaik Yont (5):
ntdll: Use __builtin_ffs instead of ffs in ldt_alloc_entry.
wineandroid: Force --rosegment for wine-preloader on Android (API < 29, NDK r22+).
wineandroid: Fix desktop init ordering after CreateDesktopW changes.
wineandroid: Sanitize dequeueBuffer result and reject missing buffers.
ntdll: Call virtual_init from JNI_OnLoad to avoid early virtual_alloc_first_teb failure.
Vibhav Pant (9):
windows.devices.bluetooth/tests: Fix test failures on w1064v1507 and w1064v1809.
winebth.sys: Create new GATT service entries on receiving InterfacesAdded for org.bluez.GattService1 objects from BlueZ.
winebth.sys: Create new GATT characteristic entries on receiving InterfacesAdded for org.bluez.GattCharacteristic1 objects from BlueZ.
winebth.sys: Create PDOs for GATT services existing on remote devices.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_CHARACTERISTICS for GATT service PDOs.
bluetoothapis/tests: Add tests for calling BluetoothGATTGetCharacteristics with a GATT service handle.
winebth.sys: Add debug helper for DBusMessageIter values.
bluetoothapis: Implement BluetoothGATTGetCharacteristics for GATT service handle objects.
winebth.sys: Ignore incoming method calls that are not from BlueZ.
Yuxuan Shui (1):
winegstreamer: Fix buffer info when returning S_FALSE from ProcessOutput.
Zhiyi Zhang (10):
win32u: Disable keyboard cues by default.
user32/tests: Test SPI_{GET,SET}KEYBOARDCUES.
d2d1/tests: Test brushes with out of range opacity values.
d2d1: Clamp opacity value for brushes.
windows.ui/tests: Add tests for IUISettings_get_AnimationsEnabled().
windows.ui: Implement uisettings_get_AnimationsEnabled().
dwmapi: Add DwmShowContact() stub.
include: Add windows.graphics.display.idl.
windows.graphics: Add stub dll.
windows.graphics: Add IDisplayInformationStatics stub.
Ziqing Hui (3):
mf/tests: Add more presentation clock tests for media sink.
winegstreamer: Implement media_sink_SetPresentationClock.
winegstreamer: Implement media_sink_GetPresentationClock.
```
1
0
The Wine development release 11.3 is now available.
What's new in this release:
- Mono engine updated to version 11.0.0
- Bundled vkd3d upgraded to version 1.19.
- Improved FIR filter in DirectSound.
- More optimizations in PDB loading.
- Light theme renamed to Aero for compatibility.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.3.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.3 (total 30):
- #40435 42Tags (.NET app) doesn't launch (System.Globalization.CultureNotFoundException: Culture ID 0 (0x0000) is not a supported culture.)
- #44820 Processes might terminate with incorrect exit code due to race-condition when threads are killed during shutdown
- #45343 Multiple apps (Vavoo Webinstaller,Kodi) fail with windows version set to Win7: wmic.exe needs support for "/?" switch
- #46384 Can't run zools backup tool on wine
- #49453 ExtractNow: buttons do nothing / don't work / function (needs comctl32 version 6)
- #50177 War Thunder Launcher doesn't render anything, just spams d2d_geometry_sink_AddArc stubs
- #50449 zdaemon - Program freezes if both keyboard and mouse are used at the same time
- #50814 Adobe Audition 2020 crashes on startup, reporting 'Direct2D Drawbot error' (d2d_device_context_Flush is a stub)
- #54610 fusion:asmcache - 32-bit calls to InstallAssembly(..., NULL) crash on Windows 11
- #54636 fusion:asmenum - test_enumerate() fails on Windows 11
- #54656 The winscard tests are not run on the GitLab CI
- #56927 msys2-64/cygwin64: rsync fails with 'Socket operation on non-socket'
- #57435 D2D1GeometrySinc::AddArc() doesn't properly mark end of the figure segment
- #57585 Many games focus poorly when alt-tabbing back into them, without UseTakeFocus=N
- #58582 Rainmeter 4.5.23: crashes on X11 after refreshing default skin Clock.ini
- #58911 doaxvv(DMM) occasionally crashes (WMV playback bug)
- #58978 QuarkXPress 2024 crashes on start with "System.InvalidOperationException: The calling thread must be STA"
- #59005 winhlp / winhelp32: Selecting "Edit > Copy" in Westwood Monopoly (1995) help file crashes
- #59232 Flight Simulator 2000 has flickers and performance issues when rendering the 3D world with a 2D instrument panel in windowed mode
- #59257 RTF clipboard reads randomly chosen string (regression from wine 10)
- #59315 Sysinternals TCPView crashes on unimplemented function IPHLPAPI.DLL.GetOwnerModuleFromTcpEntry
- #59323 Guild Wars 2 crashes with Wine 11.1 and Winewayland enabled with dev builds of DXVK (newer than Jan 23rd)
- #59362 Gdiplus LockBits() flags=0 different behavior than Microsoft implementation
- #59372 Regression: wine completely broken in the presence of non-graphics gl devices since 11.1
- #59403 Missing parameter validation in printf() family of functions
- #59404 Framemaker 8 crashes due to patch to sysparams.c
- #59413 Unable to open a certain PNG image, 'copypixels_to_24bppBGR Unimplemented conversion path'
- #59418 Potential off-by one in swapchain.c
- #59426 iWin Games Manager V4 installer fails to create services
- #59428 Amazon Chime 5.23 installer fails
### Changes since 11.2:
```
Alex Henrie (2):
winhttp: Use the wcsdup function in set_cookies.
winecfg: Use the wcsdup function instead of reimplementing it.
Alexandre Julliard (21):
include: Define more XSTATE bits.
include: Import apisetcconv.h from mingw-w64.
include: Import wtypesbase.idl from mingw-w64.
include: Add intsafe.h based on the mingw-w64 version.
include: Fix POINTSTOPOINT definition.
include: Add IsLFNDrive prototype.
include: Implement strsafe.h based on the mingw-w64 header.
libs: Add strsafe library.
include: Update FMExtensionProc function signature.
d3d11: Use nameless unions/structs.
makedep: Look for explicitly listed header also in the source file directory.
makedep: Use booleans where appropriate.
libs: Remove some unused includes.
include: Always define cdecl.
include: Add GetNumberFormatEx prototype.
msvcrt: Add wcstoimax/wcstoumax.
include: Update timezone variable definitions.
include: Use _CRT_ALIGN in msvcrt headers.
include: Move the div() declaration back into the extern "C" block.
configure: Treat the Windows build as a normal PE build.
vkd3d: Import upstream release 1.19.
Alistair Leslie-Hughes (1):
include: Avoid C++ keyword.
Andrew Nguyen (2):
advapi32/tests: Add additional tests for interactive service creation.
services: Allow ".\LocalSystem" account name for an interactive service.
Anton Baskanov (1):
dsound: Use a better FIR filter generated with the Parks-McClellan algorithm.
Bernhard Übelacker (4):
xaudio2_7/tests: Dynamically load function XAudio2CreateWithVersionInfo.
gdiplus: Allow GdipBitmapLockBits without read/write flags.
ws2_32: Allow using duplicated socket handles in closesocket().
winegstreamer: Use a single call to free the streams array (ASan).
Brendan McGrath (25):
mf/tests: Modify test_seek_clock_sink to be ref counted.
mf/tests: Modify test_media_sink to store test_stream_sink.
mf/tests: Add ClockStateSink to test media sink.
mf/tests: Fix leaks in test source.
mf/tests: Test that there is no pre-roll during scrubbing.
mf/tests: Check that Rate change in PLAY state is ignored.
mf: Make flushing on sample grabber largely a no-op.
mf: Keep count of samples queued.
mf: Always queue a sample unless stopped.
mf: Ensure we always have four requests outstanding/satisfied.
mf: Remove no longer used sample_count and samples array.
mf: Request new sample before processing markers.
mf/tests: Test SAR's IMFRateSupport interface.
mf/tests: Test SAR's IMFPresentationTimeSource interface.
mf/tests: Test SAR's SetPresentationClock.
mf/tests: Test SAR timer with pre-roll and no duration.
mf/tests: Test SAR timer with pre-roll and duration.
mf/tests: Test SAR timer with ENDOFSEGMENT marker.
mf/tests: Test SAR scrubbing start.
mf: Don't perform preroll if we are scrubbing.
mf/tests: Check for GetPresentationClock after MESessionStarted event.
mf/tests: Test sequence of event processing on early sample request.
mf: Fix crash when stream is null during sample request.
mf/tests: Test media sessions sink request count.
mf: Only decrement sink requests on delivery of sample.
Brendan Shanks (3):
win32u: Support real handles to the current process in NtUserGetProcessDpiAwarenessContext().
win32u: Support real handles to the current process in NtUserGetSystemDpiForProcess().
joy.cpl: Avoid hangs when closing the panel.
Conor McCarthy (9):
winegstreamer: Free the stream objects during reader destruction.
mf/tests: Stop checking samples at the end of the expected array.
mf/tests: Change todo to flaky for the H.264 decoder ouput type change test.
mfplat/tests: Test NV12 negative stride in MFCreateMediaBufferFromMediaType().
mf/tests: Test sample copier 2D buffers.
mf/tests: Test H.264 decoder 2D buffers.
mf/tests: Test WMV decoder 2D buffers.
mf/tests: Test color convert 2D buffers.
winegstreamer: Support 2D sample buffer.
Daniel Lehman (1):
cldapi: Add stub dll.
Dmitry Timoshkov (3):
dlls: Rename light.msstyles to aero.msstyles.
uxtheme/tests: Add a test to show that current theme name is supposed to be "aero.msstyles".
windowscodecs: Add fallback path to copypixels_to_24bppBGR().
Elizabeth Figura (11):
ddrawex: Handle NULL desc in EnumDisplayModes().
gdi32/tests: Test AddFontResource() search order.
gdi32: Look for fonts in system32.
wined3d: Remove the "iPixelFormat" field from struct wined3d_pixel_format.
ntdll/tests: Add exhaustive tests for all directory information classes.
kernel32/tests: Test whether EA size is returned from FindFirstFile().
ntdll: Always initialize the reparse tag in get_file_info().
ntdll: Return the reparse tag in EaSize for non-Extd directory classes.
kernelbase: Use FileBothDirectoryInformation in FindFirstFile().
ntdll: Initialize the entire FileId in FileIdExtdBothDirectoryInformation.
ntdll: Initialize LockingTransactionId in FileIdGlobalTxDirectoryInformation.
Eric Pouech (16):
dbghelp/pdb: Remove unused parameter.
dbghelp/pdb: Fix incorrect offset when extracting S_CONSTANT name.
dbghelp/pdb: Introduce iterator over DBI hash entries.
dbghelp/pdb: Set new offset in pdb_reader_symbol_skip_if().
dbghelp/pdb: Split loading of top level objects in compiland stream.
dbghelp: Use symref_t as container for top level functions.
dbghelp/pdb: Load symt_function on demand.
dbghelp/pdb: No longer store symt_function in symt_compiland.
dbghelp/pdb: Construct the global information from the hash table.
dbghelp/pdb: Support rva inside symbol when searching globals.
msvcrt: Ignore negative precision for float args in printf().
include: Add BCRYPT_SUCCESS macro to bcrypt.h.
include: Mark unused arguments as such in ws2tcpip.h.
include/msvcrt: Use the correct stream for wscanf* implementations.
include/msvcrt: Match some constants with intsafe.h.
include/msvcrt: Define gmtime_s() in time.h.
Esme Povirk (5):
gdiplus: Remove an assumption that an enum type is unsigned.
mscoree: Update Wine Mono to 11.0.0.
wine.inf: Add a default association for .reg files.
wow64win: SPI_GETDEFAULTINPUTLANG result is pointer-sized.
windowscodecs: Fix size check in gif copy_interlaced_pixels.
Etaash Mathamsetty (1):
ntoskrnl: Use fastcall for KeInitializeGuardedMutex.
Filip Bakreski (1):
mshtml: Add XMLSerializer implementation.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.344.
Giovanni Mascellani (13):
mmdevapi: Reject wave formats with zero samples per seconds.
mmdevapi: Reject wave formats with zero block alignment.
winecoreaudio.drv: Avoid a division by zero.
winepulse.drv: Avoid a division by zero.
winealsa.drv: Avoid a division by zero.
wineoss.drv: Avoid a division by zero.
winebus.sys: Define BUS_USB if it is missing.
mmdevapi/tests: Reorganize rendering format tests.
mmdevapi/tests: Use test contexts in rendering format tests.
mmdevapi/tests: Introduce a helper to test rendering for a single format.
mmdevapi/tests: Reorganize capturing format tests.
mmdevapi/tests: Use test contexts in capturing format tests.
mmdevapi/tests: Introduce a helper to test capturing for a single format.
Hans Leidekker (3):
bcrypt: Add support for BCRYPT_ECC_CURVE_25519.
bcrypt: Add support for importing and exporting generic ECDH keys.
bcrypt: Compute derived key directly in BCryptSecretAgreement().
Jacek Caban (19):
winebuild: Check for LLVM tool name too when using cc_command in find_tool.
winegcc: Add --cc-cmd option support.
makedep: Pass configured compiler with --cc-cmd to winegcc and winebuild.
include: Add missing extern C to rtlsupportapi.h.
include: Add missing exception macros.
winecrt0: Add support for GCC-style constructors and destructors.
ucrtbase: Add atexit support.
include: Add erfc and nan declarations.
include: Move float_t and double_t declarations from musl.
include: Add at_quick_exit and quick_exit declarations.
include: Don't use div wrappers for PE builds.
include: Add fwide and mbsinit declarations.
configure: Build PE modules with -mlong-double-64.
include: Add long double math function declarations.
compiler-rt: Import more builtin functions.
configure: Use compiler-rt in mingw mode too.
winegcc: Use compiler-rt instead of -lgcc on mingw targets.
include: Don't use explicit alignment for 64-bit msvcrt types on PE targets.
include: Don't use explicit alignment for 64-bit types on PE targets.
Janne Kekkonen (1):
ws2_32: Add stub for WSCInstallProvider64_32.
Matteo Bruni (6):
mmdevapi: Move some declarations to mmdevapi_private.h.
mmdevapi: Allow querying I{Simple,Channel}AudioVolume from IAudioSessionControl.
mmdevapi: Add some traces around session retrieval.
mmdevapi: Add some session_wrapper traces.
dsound: Set all channel volumes to 0 when DSBVOLUME_MIN is passed in.
dsound: Flush denormals in the mixing thread.
Nikolay Sivov (11):
d2d1: Correct arc rotation angles for ellipse segments.
d2d1: Implement arc approximation with Bezier segments.
d2d1: Forward geometry group methods to the path representing the group.
d2d1/tests: Add another test for transformed geometry behavior.
d2d1: Use non-multiplied transform when forwarding transformed geometry methods.
msxml3/tests: Add more tests for createNode().
msxml3: Handle type names in createNode().
msxml3/tests: Add some SAX tests for different encodings.
msxml3/tests: Add doctype SAX parsing test.
msxml3/tests: Use wide strings for property names.
msxml3/tests: Add a test for handler property types in VB API.
Patrick Zacharias (1):
wined3d: Access the right pixel format in swapchain_gl_present().
Paul Gofman (7):
iphlpapi: Implement GetOwnerModuleFromTcpEntry().
iphlpapi: Implement GetOwnerModuleFromTcp6Entry().
win32u: Register WGL_ARB_multisample extension for EGL backend.
win32u: Set pbuffer drawable to internal context in wglBindTexImageARB().
opengl32: Create compatibility context in wrap_wglCreateContext().
win32u: Don't present new drawable in context_sync_drawables().
opengl32: Also bind default framebuffer in pop_default_fbo().
Piotr Caban (4):
riched20: Fix crash when copying text.
ucrtbase: Fix scanset character range handling in scanf.
advapi32: Fix memory leak in ReportEventA.
bcrypt: Support BCRYPT_PBKDF2_ALG_HANDLE pseudo handle.
Piotr Pawłowski (1):
msvcrt: Create copy of C++ exception object in std::rethrow_exception().
Rémi Bernon (32):
winemac: Register clipboard format with NtUserRegisterWindowMessage.
winewayland: Register clipboard format with NtUserRegisterWindowMessage.
winex11: Register clipboard format with NtUserRegisterWindowMessage.
setupapi: Fix some cfgmgr32 function signatures.
cfgmgr32/tests: Add missing newline.
include: Update cfgmgr32.h definitions.
cfgmgr32: Add missing entries to cfgmgr32.spec.
win32u: Ignore EGL device if context cannot be created.
imm32/tests: Add some tests with ImmToAsciiEx bypass.
cfgmgr32: Split sources to separate files.
cfgmgr32: Implement CM_Get_Class_Key_Name(_Ex)(A|W).
setupapi: Forward CM_Get_Class_Key_Name(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Open_Class_Key(_Ex)(A|W).
setupapi: Forward CM_Open_Class_Key(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Cache some common root registry keys.
cfgmgr32: Implement CM_Enumerate_Classes(_Ex).
setupapi: Forward CM_Enumerate_Classes(_Ex) to cfgmgr32.
win32u: Only link client surfaces after they are fully created.
cfgmgr32: Implement CM_Enumerate_Enumerators(_Ex)(A|W).
setupapi: Forward CM_Enumerate_Enumerators(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Open_Device_Interface_Key(_Ex)(A|W).
cfgmgr32: Implement CM_Get_Class_Registry_Property(A|W).
setupapi: Forward CM_Get_Class_Registry_Property(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Get_Class_Property(_Ex)W.
win32u: Don't offset client rect when using D3D present rect.
win32u: Or the GL_FLUSH_INTERVAL flag when updating the swap interval.
user32/tests: Test EnableMouseInPointer message translation.
win32u: Implement NtUserEnableMouseInPointer semi-stub.
ddraw: Pass the active device to material_activate.
win32u: Only update host window state if clip_client changes.
winevulkan: Only filter out CLOCK_MONOTONIC(_RAW)_EXT time domains.
winevulkan: Implement support for VK_EXT_present_timing.
Tim Clem (1):
avicap32: Fail gracefully if V4L is unavailable.
Vibhav Pant (5):
windows.devices.bluetooth/tests: Add initial tests for BluetoothAdapter.
windows.devices.bluetooth: Implement BluetoothAdapter::GetDefaultAsync.
windows.devices.bluetooth: Implement BluetoothAdapter::FromIdAsync.
windows.devices.bluetooth: Implement BluetoothAdapter::get_BluetoothAddress.
bluetoothapis: Simplify BluetoothGATTGetServices.
Viktor Balogh (1):
dinput: Return DIERR_UNSUPPORTED in dinput_device_Escape.
Zhiyi Zhang (7):
comctl32/tests: Add image swapping test for ImageList_Copy().
comctl32/imagelist: Fix swapping images in ImageList_Copy().
d2d1: Return S_OK for d2d_device_context_Flush().
comctl32/tests: Test ACM_OPEN with a NULL LPARAM.
comctl32/animate: Always return FALSE for ACM_OPEN with a NULL LPARAM.
gdi32/tests: Add tests for GdiTransparentBlt() with 32-bit DIB bitmaps.
win32u: Ignore alpha channels for 32-bit DIB bitmaps.
Ziqing Hui (4):
mfreadwrite: Implement stream_create_transforms helper.
mfreadwrite: Rename update_media_type_from_upstream and make it non-static.
mfreadwrite: Implement transforms creation for writer.
mfreadwrite: Create converter if failed to use a single encoder.
```
1
0
The vkd3d team is proud to announce that release 1.19 of vkd3d, the 3D
graphics porting library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.19.tar.xz>
The current source can also be pulled directly from either of these git
repositories:
<https://gitlab.winehq.org/wine/vkd3d.git>
<https://codeberg.org/vkd3d/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.19
### libvkd3d
- Barriers are inserted as required between render passes targeting the same
images. Typical desktop GPUs tend to not care much about these, but this is
important for correctness on tile-based renderers.
- The ‘minimum’ and ‘maximum’ texture filtering reduction modes are supported.
### libvkd3d-shader
- Much improved handling of clip and cull distance shader input/output arrays
for SPIR-V targets. Direct3D source formats represent clip and cull
distances as 2 4-component registers, while SPIR-V represents them as scalar
arrays. The previous code for mapping between these conventions was
unfortunately relatively fragile and unable to handle a number of cases.
- Several new features and improvements for the HLSL source type:
- Effects (FX) target profiles can output embedded shader blobs. These are
created by the CompileShader() and ConstructGSWithSO() intrinsic
functions.
- Statically initialised variables are considered to be static expressions.
For example, ‘int count = 4; float4 array[count];’ is now accepted as
valid by the compiler.
- Store operations to ‘RWStructuredBuffer’ resources.
- Load operations from structured thread group shared memory.
- Copy operations involving structured resources.
- Casts of floating-point constants to Boolean values now correctly fold any
non-zero value to ‘true’. Previously ‘(bool)0.25f’ for example would get
constant folded to ‘false’.
- The ‘static’ storage-class specifier is allowed on functions.
- The ‘Buffer’, ‘StructuredBuffer’, and ‘ByteAddressBuffer’ types are
supported in effects (FX) target profiles.
- The following legacy Direct3D byte-code instructions are implemented:
- dp2add
- loop/endloop
- lrp
- nrm
- pow
- rep/endrep
- When the VKD3D_SHADER_DUMP_PATH environment variable is used to dump input
and output shaders, compilation messages like errors and warnings produced
by the compiler will be dumped as well.
- New interfaces:
- The VKD3D_SHADER_PARAMETER_NAME_PROJECTED_TEXTURE_MASK shader parameter
specifies which textures in a shader model 1.0-1.3 pixel shader should be
considered to be projected textures.
### build
- New environment variables:
- VKD3D_TEST_WRAPPER can be used to wrap test execution.
### Changes since vkd3d 1.18:
```
Anna (navi) Figueiredo Gomes (12):
tests/hlsl: Add const scalar array dimension tests.
vkd3d-shader/hlsl: Store statically initialized constant scalars/vectors in ctx->static_initializers.
vkd3d-shader/hlsl: Unify add_shader_compilation() cleanup.
vkd3d-shader/hlsl: Store parsed values in hlsl_ir_compile().
tests/hlsl: Add effect CompileShader() tests.
vkd3d-shader/fx: Add HLSL_CLASS_GEOMETRY_SHADER to helper functions.
vkd3d-shader/fx: Implement shader assignment.
vkd3d-shader/fx: Implement shader initializers.
vkd3d-shader/fx: Introduce write_var_type().
vkd3d-shader/fx: Implement ConstructGSWithSO().
vkd3d-shader/fx: Handle HLSL_IR_INDEX assignments.
tests/shader_runner: Support requiring runner tags in [require] sections.
Conor McCarthy (9):
vkd3d-shader/dxil: Emit branch instructions during parsing.
vkd3d-shader/dxil: Emit switch instructions during parsing.
vkd3d-shader/dxil: Emit return instructions during parsing.
vkd3d-shader/dxil: Emit an error if a return instruction has operands.
vkd3d-shader/dxil: Initialise or validate forward-referenced values in a helper function.
vkd3d-shader/dxil: Move relative index validation outside sm6_parser_get_value_index().
vkd3d-shader/dxil: Emit phi instructions during parsing.
vkd3d-shader/dxil: Get rid of struct sm6_block.
vkd3d: Implement sampler min/max reduction filtering.
Elizabeth Figura (9):
vkd3d-shader: Implement shader model 1.0-1.3 texture projection.
vkd3d-shader/hlsl: Calculate the bind count from the vector width.
vkd3d-shader/hlsl: Handle HLSL_CLASS_VECTOR in hlsl_regset_index_from_deref().
vkd3d-shader/hlsl: Avoid creating "index-val" synthetic temps if we can detect the variable was unmodified.
vkd3d-shader/hlsl: Return an error instruction from add_call() on failure.
tests/hlsl: Add more tests for function modifiers.
vkd3d-shader/hlsl: Allow "static" on functions.
vkd3d-shader/hlsl: Rename HLSL_MODIFIER_EXPORT to HLSL_STORAGE_EXPORT.
vkd3d-shader/preproc: Add a terminating ] or } to the last macro argument.
Evan Tang (3):
vkd3d: Add barriers between render passes to the same image.
tests/d3d12: Add some missing UAV barriers after UAV clears.
vkd3d: Print an error before freezing due to needing timeline semaphores.
Francisco Casas (40):
tests/hlsl: Test clip/cull distance inputs.
tests/hlsl: Test clip distance semantic indexes above the 0-1 range.
vkd3d-shader/ir: Introduce vsir_opcode_is_fork_or_join_phase().
vkd3d-shader/ir: Introduce vsir_opcode_is_control_point_phase().
vkd3d-shader/ir: Assign new register indexes to clip plane signature elements.
vkd3d-shader/ir: Introduce vsir_signature_element_is_array().
vkd3d-shader/ir: Transform clip/cull inputs/outputs into arrays.
tests/hlsl: Test clip/cull distance semantics as arrays.
vkd3d-shader/spirv: Remove the unused "array_element_mask field" from struct vkd3d_shader_output_info.
tests/shader_runner: Introduce struct input_layout.
tests/shader_runner: Restore the input layout after "draw quad" operations.
tests/shader_runner: Avoid segfaults on missing signature elements.
tests/hlsl: Don't test values of clip distance array addressing tests on Windows.
tests/shader_runner: Implement support for d3dbc integer constants.
tests/hlsl: Test SM3 loops with user-provided integer registers.
tests/hlsl: Test SM3 loops with shader-defined int registers.
tests/hlsl: Test SM3 loops with gradient instructions.
tests/hlsl: Test SM3 shaders that use the `loop` instruction.
tests/hlsl: Add additional SM3 loop tests to discern when user-defined ints are used.
tests/d3dbc: Add two SM3 loop tests.
vkd3d-shader: Add VKD3D_SHADER_BLOCK_REP as a breakable cf_info.
vkd3d-shader/d3d-asm: Indent REP blocks.
vkd3d-shader/tpf: Use vkd3d_shader_verror() to report errors.
vkd3d-shader/d3dbc: Fail compilation on LOOP instructions.
vkd3d-shader/ir: Lower REP and ENDREP d3dbc instructions.
vkd3d-shader/d3d-asm: Fix a comment in shader_print_dcl_usage().
vkd3d-shader/ir: Actually retrieve the indexable temporary count in vsir_program_get_idxtemp_count().
vkd3d-shader/ir: Remove unnecessary program traces from vsir_program_normalise_sysval_array().
tests/d3dbc: Add SM3 tests for loop instructions.
tests/d3dbc: Test addressing a constant buffer with the vs_2_0 loop instruction.
vkd3d-shader/d3dbc: Initialise CONSTINT and CONSTBOOL registers with the proper vsir data type.
vkd3d-shader/ir: Lower d3dbc loop instructions.
vkd3d-shader/ir: Copy inputs to an IDXTEMP when there is vN[aL] access.
vkd3d-shader/d3dbc: Add a used_mask to all input registers on indirect addressing.
vkd3d-shader/hlsl: Initialize all blocks before any 'goto fail'.
vkd3d-shader/hlsl: Unroll loops one at the time.
vkd3d-shader/ir: Don't reach unreacheable code in vsir_dst_operand_io_normalise().
vkd3d-shader/hlsl: Make "intrinsic" const in add_call().
vkd3d-shader/fx: Make "state" const in fx_4_parse_state_object_initializer().
tests/vkd3d_shader_api: Avoid a 'const' discard warning in test_emit_signature().
Giovanni Mascellani (146):
vkd3d-shader: Explicitly initialize the parser status to VKD3D_OK.
vkd3d-shader/dxil: Parse the parameter attribute group records.
vkd3d-shader/dxil: Parse well-known attributes in parameter attribute groups.
vkd3d-shader/dxil: Parse well-known attributes with numeric value in parameter attribute groups.
vkd3d-shader/dxil: Parse string attributes in parameter attribute groups.
vkd3d-shader/dxil: Parse string attributes with string value in parameter attribute groups.
tests/shader_runner_d3d12: Do not leave a root signature around between draw calls.
tests/shader_runner_d3d12: Do not keep a free list for pipeline states.
tests/shader_runner_d3d12: Lay out the descriptor heap as suggested by descriptor mappings.
tests/shader_runner: Keep a single array of shader model strings.
tests/shader_runner: Use SHADER_MODEL_MAX to represent the maxium supported shader model.
tests/hlsl: Test SM6.6 dynamic resources.
vkd3d-shader/dxil: Check the fields of well-known structure types.
tests/shader_runner_vulkan: Support explicit descriptor mapping.
tests/d3d12: Avoid a warning about passing a pointer to a const uninitialized object.
ci: Set the macOS runner timeout to ten minutes.
vkd3d-shader/dxil: Move the function emission state outside the opcode switch.
vkd3d-shader/dxil: Pass function emission state to sm6_parser_emit_alloca().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_alloca().
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Handle allocation failure in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Parse parameter attribute records.
vkd3d-shader/dxil: Set the attribute group count to zero if allocation fails.
tests/hlsl: Test the default denormalized mode.
vkd3d-shader/dxil: Parse the f32 denormalization mode.
tests/hlsl: Fix the render target format for arithmetic-float-uniform.shader_test.
tests/d3dbc: Relax the precision for some nrm tests.
tests: Do not put storage buffer descriptors in the descriptor pool.
vkd3d: Remove unused field storage_buffer_max_descriptors from vkd3d_device_descriptor_limits.
vkd3d: Rename the struct vkd3d_device_descriptor_limits fields.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_binop().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_binop().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_br().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_br().
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_call().
vkd3d-shader/dxil: Remove sm6_parser_emit_unhandled().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_unary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_barrier().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_raw_buffer_load().
vkd3d-shader/dxil: Use sm6_parser_add_function_instruction() in sm6_parser_emit_reg_composite_construct().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_update_counter().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_calculate_lod().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_cbuffer_load().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_dx_input_register_mov().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_input_register_mov().
vkd3d-shader/dxil: Do not access unallocated instructions in sm6_parser_emit_dx_create_handle().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_stream().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_discard().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_domain_location().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_dot().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_eval_attrib().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_fabs().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_compute_builtin().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_ma().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_binary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_tertiary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_load_input().
tests/hlsl: Add more direct SM<6 clip/cull distance array tests.
vkd3d-shader/dxil: Do not advance the instruction pointer in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_make_double().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_quad_op().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_raw_buffer_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_sample_count().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_sample_pos().
tests/hlsl: Test load/sample status and CheckAccessFullyMapped().
vkd3d-shader/dxil: Emit warnings for unrecognised DXIL structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.f32 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.i32 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f32 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i32 structures.
vkd3d-shader/dxil: Remove the "reg_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Remove the "reg_data_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_value_validate_is_texture_handle().
vkd3d-shader/dxil: Introduce resource_kind_is_buffer().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Validate the types of SSA values.
vkd3d-shader/dxil: Parse aggregate constants.
vkd3d-shader/dxil: Parse null structure constants.
vkd3d-shader/d3d-asm: Dump the denormal modes.
vkd3d-shader/dxil: Preserve f64 denormals if they're used in the shader.
vkd3d-shader/tpf: Preserve f64 denormals if they're used in the shader.
vkd3d-shader/ir: Introduce the f16 denormal mode.
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_sample().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_sample_index().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_saturate().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_split_double().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_store_output().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Use resource_kind_is_multisampled() in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Remove the "resource_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f64 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i64 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i16 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f16 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.f16 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.i16 structures.
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_gather().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_active_ballot().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_active_bit().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_op().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_void().
vkd3d-shader/dxil: Recognise dx.types.SamplePos structures.
vkd3d-shader/dxil: Recognise dx.types.ResBind structures.
vkd3d-shader/dxil: Recognise dx.types.ResourceProperties structures.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cast().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cast().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cmp2().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cmp2().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_extractval().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_extractval().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_gep().
vkd3d-shader/dxil: Do not access unallocated instructions in sm6_parser_emit_gep().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_load().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_phi().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_phi().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_ret().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_ret().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_store().
tests/d3dbc: Relax the precision for some POW tests.
tests/hlsl: Mark some modulo tests as buggy on NVIDIA.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_switch().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_switch().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_vselect().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_vselect().
vkd3d-shader/dxil: Assume that all control paths update the instruction count.
vkd3d-shader/dxil: Do not store a pointer to the current instruction in the function state any more.
vkd3d-shader/dxil: Apply the precise modifier to all vsir instructions generated by a DXIL instruction.
vkd3d-shader/dxil: Pass the function emission state to sm6_function_emit_label().
vkd3d-shader/dxil: Allocate instructions directly in dxil_emit_function_label().
vkd3d-shader/dxil: Do not preallocate vsir instructions.
vkd3d-shader/ir: Avoid a "may be used uninitialized" warning in vsir_program_lower_d3dbc_loops().
vkd3d-shader/dxil: Destroy instruction arrays with shader_instruction_array_destroy().
vkd3d-shader/dxil: Use iterators in sm6_function_emit_instructions().
vkd3d-shader/dxil: Generate MOVs for trivial casts.
Henri Verbeet (84):
tests/hlsl: Avoid sampling on texel edges in ps1-projection.shader_test.
vkd3d-shader/ir: Move "has_descriptor_info" and "has_no_modifiers" to struct vsir_normalisation_flags.
vkd3d-shader: Introduce vkd3d_shader_string_from_message_context().
tests/hlsl: Add a sampler min/max reduction filtering test.
tests/d3dbc: Add some tests for nrm instructions.
vkd3d-shader/ir: Lower VSIR_OP_NRM instructions.
tests/d3dbc: Add some tests for lrp instructions.
vkd3d-shader/ir: Lower VSIR_OP_LRP instructions.
vkd3d-shader/ir: Rename struct vkd3d_shader_dst_param to struct vsir_dst_operand.
vkd3d-shader/ir: Rename struct vkd3d_shader_src_param to struct vsir_src_operand.
tests/d3dbc: Add some tests for dp2add instructions.
vkd3d-shader/ir: Lower VSIR_OP_DP2ADD instructions.
vkd3d-shader: Dump compilation messages as well.
tests/shader_runner: Do not match tags that aren't present.
tests/shader_runner: Introduce read_literal().
tests/shader_runner: Introduce struct uniform_buffer.
tests/d3dbc: Add some tests for pow instructions.
vkd3d-shader/ir: Lower VSIR_OP_POW instructions.
tests/shader_runner: Return the resource type and slot from parse_resource_reference().
tests/shader_runner: Expect the "<type>-<slot>" format in parse_resource_reference().
tests/shader_runner: Use parse_resource_reference() and read_literal() to implement clear operations.
tests/shader_runner: Use parse_resource_reference() to implement probe operations.
tests/shader_runner: Use parse_resource_reference() to implement write operations.
vkd3d-shader/ir: Trace the progam on failure in vsir_transform_().
vkd3d-shader/ir: Take the register count into account in vsir_program_add_fog_input().
tests/hlsl: Require the wave-ops capability for wave-reconvergence.shader_test.
tests/shader_runner_vulkan: Use storage image reads without format if supported.
tests/shader_runner_vulkan: Require "shaderStorageImageReadWithoutFormat" for typed UAV loads.
tests/shader_runner_vulkan: Allow unused input elements.
tests/shader_runner_vulkan: Add a DXIL run.
tests/shader_runner_vulkan: Add support for wave operations.
tests/shader_runner_vulkan: Free the compiled shader on failure in compile_hlsl_and_scan().
tests/shader_runner_vulkan: Free compiled shaders on error paths. (Valgrind)
vkd3d-shader/dxil: Free attribute group attributes on cleanup. (Valgrind)
vkd3d-shader/ir: Reset "ins" after invalidating it in vsir_program_normalise_sysval_array(). (Valgrind)
vkd3d-shader/ir: Free the "semantic_name" field of the removed element in vsir_program_remove_signature_element().
vkd3d-shader/hlsl: Cleanup "body" and "patch_body" in hlsl_emit_vsir(). (Valgrind)
vkd3d-shader/hlsl: Cleanup "initializer_block" on error paths in hlsl_emit_vsir(). (Valgrind)
vkd3d-shader: Introduce vkd3d_shader_code_from_bytecode_buffer().
vkd3d-shader: Introduce vkd3d_bytecode_buffer_cleanup().
vkd3d-shader/hlsl: Avoid leaking the output buffer on HLSL context errors in sm4_generate_rdef(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking the output buffer on HLSL context errors in sm1_generate_ctab().
vkd3d-shader/dxbc: Avoid leaking the output buffer on errors in vkd3d_shader_serialize_dxbc().
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_2_write(). (Valgrind)
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_4_write().
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_5_write().
vkd3d-shader/fx: Do not allocate entries for anonymous types in write_type(). (Valgrind)
vkd3d-shader/fx: Avoid accessing "entry" after freeing it in decompose_fx_4_state_function_call(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_f16tof32(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_f32tof16(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_isinf(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking type name strings for unsigned types. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking method name strings. (Valgrind)
vkd3d-shader/ir: Properly determine the defined block count in vsir_cfg_init(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking modifier name strings. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking base type name strings on error paths. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for name strings. (Valgrind)
vkd3d-shader/hlsl: Do not create name strings for KW_CONSTANTBUFFER tokens. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking expression blocks on "array" rule error paths.
vkd3d-shader/tpf: Avoid leaking the output buffer on errors in tpf_write_signature().
tests: Only read the requested component count in check_readback_data_vec_(). (Valgrind)
vkd3d-shader/hlsl: Add a destructor for attribute lists. (Valgrind)
vkd3d-shader/hlsl: Rename free_parse_initializer() to cleanup_parse_initializer().
vkd3d-shader/hlsl: Add a destructor for initialiser lists. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for state blocks. (Valgrind)
vkd3d-shader/hlsl: Introduce hlsl_func_parameters_cleanup().
vkd3d-shader/hlsl: Avoid leaking redundant function declarations. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for function parameters. (Valgrind)
readme: Provide a slightly more detailed overview of vkd3d.
vkd3d-shader/hlsl: Avoid leaking the (empty) return block on error for returns without value. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking the RHS block on error for assignment expressions. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking conditional expression blocks on error. (Valgrind)
tests/hlsl_d3d12: Avoid leaking the "errors" blobs in test_compile_null_terminator(). (Valgrind)
tests/vkd3d_shader_api: Avoid leaking compiled shaders in test_parameters(). (Valgrind)
tests/vkd3d_shader_api: Avoid leaking "compiler" in test_scan_signatures(). (Valgrind)
tests/shader_runner: Avoid leaking "shader_source" in run_shader_tests(). (Valgrind)
tests/test-driver: Get rid of the "line" and "model" parameters to print_entry().
build: Use the same driver for all tests.
build: Append $(EXEEXT) to SHADER_TEST_LOG_COMPILER.
tests/test-driver: Introduce VKD3D_TEST_WRAPPER to wrap test execution.
vkd3d-shader/hlsl: Introduce struct ctab_ctx.
vkd3d-shader/hlsl: Introduce struct rdef_ctx.
vkd3d-shader/preproc: Avoid accessing "source_name" after preproc_push_include() in preproc_lexer_parse(). (Valgrind)
vkd3d-shader/preproc: Avoid leaking macro argument values on error paths. (Valgrind)
Nikolay Sivov (1):
vkd3d-shader/fx: Fix shader object counters.
Santino Mazza (2):
vkd3d-shader/hlsl: Store auxiliary CTAB type information in struct ctab_ctx.
vkd3d-shader/hlsl: Store auxiliary RDEF type information in struct rdef_ctx.
Shaun Ren (22):
tests/hlsl: Add some structured copy tests.
tests/hlsl: Add more TGSM tests.
vkd3d-shader/hlsl: Validate groupshared variables.
vkd3d-shader/hlsl: Use a block in split_copy().
vkd3d-shader/ir: Don't propagate SSAs when 32/64-bit conversions are performed.
vkd3d-shader/ir: Set the correct source swizzles for immconsts in vsir_program_copy_propagation().
vkd3d-shader/ir: Lower swapc instructions to movc.
vkd3d-shader/ir: Optimise programs in vsir_program_transform().
vkd3d-shader/hlsl: Emit structured TGSM declarations.
vkd3d-shader/hlsl: Emit structured TGSM loads.
vkd3d-shader/hlsl: Split array/struct copies with structured RHS.
vkd3d-shader/hlsl: Introduce a split_copies() helper.
vkd3d-shader/hlsl: Support non-load RHS in stream Append().
tests/hlsl: Add some unroll attribute tests with non-static unroll limits.
vkd3d-shader/hlsl: Fold casting from floating numerals to bools correctly in fold_cast().
vkd3d-shader/hlsl: Remove flatten_conditional_branches() from hlsl_run_folding_passes().
vkd3d-shader/hlsl: Defer evaluating unroll limit attributes until needed.
vkd3d-shader/fx: Add some "sampler_dim" array overflow assertions.
vkd3d-shader/fx: Write StructuredBuffer/ByteAddressBuffer object types only for fx_5_* profiles.
vkd3d-shader/fx: Support *Buffer types in get_fx_4_type_name().
vkd3d-shader/fx: Support *Buffer types in write_fx_4_type().
tests/hlsl: Add effect variable tests for *Buffer types.
Victor Chiletto (6):
vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for whole struct structured stores.
vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for r-value matrix structured stores.
tests/hlsl: Add new UAV structured store tests.
vkd3d-shader/hlsl: Return the found index node on hlsl_index_chain_has_resource_access().
vkd3d-shader/hlsl: Parse structured buffer subfield stores.
vkd3d-shader/hlsl: Emit vsir structured stores.
```
1
0
The Wine development release 11.2 is now available.
What's new in this release:
- More optimizations in PDB loading.
- Support for MSVC constructors in C runtime.
- Easier mechanism for creating version resources.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.2.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.2 (total 32):
- #27269 Bitcoin 0.3.21 toolbar not displayed correctly
- #33058 Visual Basic 6 crashes when object browser is clicked
- #38183 King of Dragon Pass crashes when loading a saved game
- #44548 Imperium GBR doesn't reproduce audio associated with videos when native dsound.dll is loaded
- #45968 explorer.exe needs "Cascade Windows" function -> 'user32.CascadeWindows' implementation
- #46197 explorer.exe needs "Tile Windows" implementation -> user32.TileWindows()
- #46577 Black Mirror (2017) low performance in d3d11 mode
- #46630 Futuremark 3DMark Vantage 1.1.x requires support for D3D11_FORMAT_SUPPORT_***
- #50480 No audio in some movies in some Daedalic games (A new beginning & Night of the rabbit)
- #50501 Default wrapping mode DWRITE_WORD_WRAPPING_WRAP is not handled correctly
- #50681 The Hong Kong Massacre floor texture is glitchy with OpenGL renderer
- #51426 Alacritty crashes on start (needs ResizePseudoConsole implementation)
- #52497 Sam & Max Save the World: episode Culture Shock (GOG Original Edition) crashes when gameplay starts
- #52592 MilkyTracker does not work: no valid waveout devices.
- #54119 Fifa 2005 demo opens menu in 5 minutes
- #54247 4Story launcher tries to download file but doesn't work
- #57733 MMH7Editor is not started
- #57856 Drop list is not working including Winecfg
- #57893 Progress is not going until you move a mouse
- #58167 Pegasus Mail immediately restores window
- #58575 Low performance in an old Directx8 Sonic fangame in wined3d
- #58919 osu!stable freezes when running on winewayland
- #59120 xactengine3_7:xact3 is crashing since 2025-11-19 with debian 12 and older.
- #59159 Divinity II: Developer's Cut crashes after showing the loading screen
- #59181 GTA: San andreas/Vice city - Intro videos aren't properly rendered, showing only a white screen
- #59234 Wine: Windows batch "WHERE" command return a wrong exit code in quiet mode
- #59280 Wine 11.0 Shop Titans crash
- #59290 Serial baud rates above 115200 not supported due to bug in serial.c
- #59320 Gothic 1 Demo hangs on startup
- #59350 Nexus Terminal install abended (regression)
- #59373 Kyodai Mahjongg runs without audio in WOW64
- #59374 Codename Panzers Phase 1 and 2: fail to start with EGL
### Changes since 11.1:
```
Alex Schwartz (1):
winewayland: Fix non-square icons with xdg-toplevel-icon protocol.
Alexandre Julliard (25):
winewayland: Fix build error with older wl_pointer interface.
makefiles: Generate version resources from makefile variables.
ntdll: Don't use 64-bit arguments for NtSetLdtEntries().
winebuild: Disallow int64 and int128 types for syscall entry points.
win32u: Specify NtUserCreateWindowEx handle arguments as ptr.
faudio: Import upstream release 26.02.
png: Import upstream release 1.6.54.
xslt: Import upstream release 1.1.45.
jpeg: Import upstream release 10.
ntdll: Rename some builtin unixlib functions to reflect current usage.
ntdll: Add a helper to retrieve a builtin module.
ntdll: Add a helper to load the unixlib functions.
ntdll: Add SIGQUIT to the blocked signals.
ntdll: Add support for loading a unixlib with an explicit name.
winecrt0: Add a helper for loading a unixlib by name.
mmdevapi: Load the unixlib directly for audio drivers.
makefiles: Add support for building pure unixlibs without a PE side.
makefiles: Fix a typo.
wow64: Add missing Unicode string mapping for MemoryWineLoadUnixLibByName.
ntdll: Support a __wine_unix_lib_init entry point in unix libs.
win32u: Use the __wine_unix_lib_init entry point.
winex11.drv: Use the __wine_unix_lib_init entry point.
include: Add a few more SAL macros.
include: Add BitScanForward64 and BitScanReverse64.
include: Add Int32x32To64 and UInt32x32To64.
Alistair Leslie-Hughes (1):
inkobj: Correct install path.
Anton Baskanov (7):
dmsynth: Set the event on the error path in synth_sink_render_thread.
dmsynth: Exit the render thread when initialization fails.
dmsynth: Try to maintain a fixed write latency by varying the wait time.
dmsynth: Simplify synth_sink_wait_play_end by making it similar to the main rendering loop.
dmsynth: Call GetCurrentPosition from a separate thread.
dmsynth: Estimate a continuously-advancing buffer position for a more precise timing.
dmsynth: Clear the buffer notifications before closing the event handle.
Bartosz Kosiorek (1):
gdiplus/tests: Add tests for GdipWarpPath.
Bernhard Übelacker (3):
shell32: Create parent directories when creating trash directory.
winhttp/tests: Add broken in test_WinHttpGetProxyForUrl.
shell32: Create parent directories when creating trash directory.
Biswapriyo Nath (8):
include: Add D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR in d3d12video.idl.
include: Add enum flag operators for D3D11_RLDO_FLAGS.
include: Add ID3D12SDKConfiguration1 definition in d3d12.idl.
include: Add ID3D12DeviceFactory definition in d3d12.idl.
include: Add ID3D12DeviceConfiguration definition in d3d12.idl.
include: Replace new D3D12_BARRIER_SYNC_INDEX_INPUT name in d3d12.idl.
include: Add D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW in d3d12.idl.
include: Add D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT in d3d12sdklayers.idl.
Conor McCarthy (8):
winegstreamer: Do not clear the output type in resampler SetInputType().
winegstreamer: Support null type in resampler SetInputType().
winegstreamer: Support null type in resampler SetOutputType().
mf/tests: Test resampler output type after setting the input type.
mf/tests: Validate the input type in the topology test sink.
mf/tests: Do not expect stereo audio when a decoder and resampler are used.
mf/tests: Add more topology loader tests.
mf/tests: Test topology loader transform enumeration.
Dmitry Timoshkov (3):
advapi32/tests: Add a test for creating service with empty display name.
services: Treat empty service display name same way as NULL.
advapi32/tests: Retry on failure instead of using unconditional Sleep().
Elizabeth Figura (9):
ddraw: Enumerate the ramp device.
ntoskrnl/tests: Test FileFsDeviceInformation.
ntoskrnl/tests: Test DEVICE_OBJECT fields.
ntoskrnl: Fill the Characteristics field of DEVICE_OBJECT.
ntoskrnl: Handle FileFsDeviceInformation.
wined3d: Clear backup_dc and backup_wnd when deleting them.
d3d9/tests: Test more shaders and the FFP in shadow_test().
d3d8/tests: Test more shaders and the FFP in shadow_test().
wined3d/spirv: Pass vkd3d_shader_d3dbc_source_info.
Eric Pouech (15):
dbghelp: Use same request as native to get TLS variable offset.
dbghelp/pdb: Always load TPI header in init_DBI().
dbghelp/pdb: Create symref for top and compilands.
dbghelp/pdb: Introduce helper to search in DBI globals.
dbghelp: Start implementing symbol information from symref_t.
dbghelp: Allow symbol lookup methods to return symref instead of ptr.
dbghelp/pdb: No longer create symt for top level global variables.
dbghelp/pdb: No longer create symt for (file) local variables.
dbghelp: Simplify check for local scope when removing a module.
dbghelp: Pass a symref for lexical parent when creating a compiland.
dbghelp/pdb: No longer use symt_module to store compilands.
winedump: Misc improvements for dumping PDB files.
winedump: Support ranges DBI (globals), TPI, IPI sections (PDB).
winedump: Add ability to filter compilands (PDB).
winedump: Dump PDB arm switch table and annotation codeview record.
Esme Povirk (7):
wminet_utils: Add stub dll.
wminet_utils: Stub Initialize.
wminet_utils: Implement GetCurrentApartmentType.
wminet_utils: Implement ConnectServerWmi.
wminet_utils: Implement ExecQueryWmi.
wminet_utils: Implement CloneEnumWbemClassObject.
win32u: Actually return HKL for SPI_GETDEFAULTINPUTLANG.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeAcquireGuardedMutex.
ntoskrnl.exe: Implement KeReleaseGuardedMutex.
Gabriel Ivăncescu (2):
jscript: Always treat DISPATCH_METHOD | DISPATCH_PROPERTYGET as method call if arguments are supplied.
mshtml/tests: Test calling function object method with return value and arg in legacy modes.
Hans Leidekker (2):
winedump: Print CLR string offset instead of index.
odbcad32: Add stub program.
Jacek Caban (2):
mshtml: Remove event handler when setting its property to a string in IE9+ modes.
mshtml: Update element event handlers when the corresponding attribute value changes.
Jactry Zeng (4):
include: Update STORAGE_BUS_TYPE in ntddstor.h.
mountmgr.sys: Stub StorageDeviceTrimProperty query.
kernel32/tests: Add tests of StorageDeviceTrimProperty query.
winebus.sys: Add INOTIFY_CFLAGS to UNIX_CFLAGS.
Louis Lenders (1):
kernelbase: Return S_OK in ResizePseudoConsole.
Myles Gray (1):
ntdll: Report all possible serial baud rates.
Nikolay Sivov (23):
dwrite/tests: Add more tests for GetClusterMetrics().
dwrite/layout: Set RTL flag for clusters representing inline objects.
dwrite/layout: Fix itemization with inline objects.
dwrite/tests: Add more tests for whitespace flag of inline clusters.
dwrite/layout: Add a helper for producing lines.
dwrite/tests: Add some tests for DetermineMinWidth().
dwrite/layout: Use whole text buffer to set line 'newline' length metric.
dwrite/layout: Preserve whitespace flag for all types of clusters.
dwrite/tests: Add another HitTestTextPosition() test.
dwrite/layout: Rework line helper to take cluster count instead of upper boundary.
dwrite/layout: Store full resolved level for each run.
dwrite/tests: Add a test for newline clusters with HitTestTextPosition().
dwrite/layout: Partially implement HitTestTextPosition().
dwrite/layout: Improve support for wrapping modes.
dwrite/layout: Implement run reordering.
msxml3/sax: Add some traces for setting handlers.
msxml3/tests: Add some tests for IVBSAXContentHandler behavior.
msxml3/saxreader: Make sure VB startElement/endElement are never called with a NULL uri.
d2d1/tests: Add some more tests for geometry groups.
d2d1: Store original segment data when building paths.
d2d1: Implement Stream() method for paths.
d2d1: Add a way to stream any type of geometry internally.
d2d1: Create a path internally for the geometry group.
Paul Gofman (1):
opengl32: Pass app's FBO to set_current_fbo().
Piotr Caban (4):
msado15/tests: Cleanup after _Recordset_put_Filter tests.
msado15: Add helper for obtaining bookmark data.
msado15: Add _Recordset::Find implementation.
msado15/tests: Add _Recordset::Find tests.
Rémi Bernon (41):
win32u: Extract pbuffer create/destroy to dedicated helpers.
opengl32: Generate function pointers with wrapper types.
opengl32: Move pbuffer handle allocation to the client side.
opengl32: Return early on memory allocation failure.
opengl32: Move context handle allocation to the client side.
opengl32: Move current context error to the client wrapper.
opengl32: Move sync handle allocation to the client side.
winevulkan: Rename make_vulkan VkVariable type to type_name.
winevulkan: Hoist some type info in local variables.
winevulkan: Introduce a new Type base class for types.
winevulkan: Implement require and set_order in the base class.
winevulkan: Implement type aliasing with the base class.
winevulkan: Get rid of make_vulkan type_info.
opengl32: Fix a typo in client-side GLsync allocated object.
winevulkan: Use the Define class for constants too.
winevulkan: Simplify make_vulkan structure generation.
winevulkan: Take all type dependencies into account when ordering.
winevulkan: Enumerate types from the base Type class.
winevulkan: Remove unnecessary make_vulkan is_alias.
winevulkan: Generate function pointers interleaved with structs.
winevulkan: Always sort constant and defines.
winevulkan: Filter out non required types by default when enumerating.
winevulkan: Inline make_vulkan loader_body method.
winevulkan: Factor out pNext and sType name checks.
winevulkan: Get rid of debug handles unwraps in struct chains.
opengl32: Rename wgl_context to opengl_context.
opengl32: Avoid creating contexts with unsupported HDCs.
opengl32: Remove unnecessary null_get_pixel_formats.
opengl32: Create a temporary window in copy_context_attributes.
opengl32: Use separate functions to create / destroy / reset contexts.
opengl32: Update make_opengl to latest spec revision.
opengl32: Don't generate thunks for unexposed functions.
opengl32: Alias GL_EXT_copy_texture and GL_VERSION_1_2.
opengl32: Alias GL_ARB_texture_compression to GL_VERSION_1_3.
opengl32: Remove remaining glVertexAttribDivisor altenative.
opengl32: Generate GL/WGL/EGL extension list macros.
opengl32: Parse extension aliases from the registry.
opengl32: Support GLES and pass through extensions.
opengl32: Add more extension aliases manually.
win32u/tests: Test that window properties don't actually require atoms.
server: Only try to grab atom for string window properties.
Stefan Dösinger (2):
kernelbase: Don't write result on async NtWriteFile returns.
kernelbase: Don't write result on async NtReadFile returns.
Thomas Csovcsity (1):
where: Add quiet mode.
Tim Clem (4):
winemac.drv: Only set the app icon once per process.
ntdll: Report free space for "important" data on macOS.
mountmgr.sys: Report free space for "important" data on macOS.
winemac.drv: Unconditionally use CreateIconFromResourceEx for app icons.
Twaik Yont (7):
explorer: Keep systray visible with taskbar enabled.
wineandroid: Fix ANDROID_WindowPosChanged prototype in android.h.
wineandroid: Drop leftover drawable_mutex after win32u OpenGL changes.
wineandroid: Fix start_device_callback assignment type.
win32u: Fix wineandroid build after OpenGL drawable refactoring.
ntdll: Export Java globals for dlsym lookup.
wineandroid: Fix WineAndroid device access path.
Yeshun Ye (3):
cmd: Allow '/' in quoted 'WCMD_pushd' args.
cmd/tests: Add test for 'start' with '/d'.
start: Remove quotes from the path specified by '/d'.
Yuxuan Shui (13):
winebuild: Generate start and end symbols for .CRT sections.
winegcc: Merge .CRT sections for windows targets.
include: Add prototype for _initterm.
crt: Run MSVC constructors and destructors.
qasf: Stop the WMReader first in asf_reader_destroy.
qasf: Don't start a stopped stream in media_seeking_ChangeCurrent.
kernel32/tests: Fix CreateToolhelp32Snapshot failure check.
kernel32/tests: Handle ERROR_BAD_LENGTH from CreateToolhelp32Snapshot.
include: Add TH32CS_SNAPMODULE32.
kernel32: Fix CreateToolhelp32Snapshot on old WoW64.
kernel32/tests: Test CreateToolhelp32Snapshot with TH32CS_SNAPMODULE32.
kernel32: Implement TH32CS_SNAPMODULE32 support for CreateToolhelp32Snapshot.
dbghelp: Rewrite EnumerateLoadedModulesW64 in terms of CreateToolhelp32Snapshot.
Zhiyi Zhang (10):
twinapi.appcore: Add Windows.ApplicationModel.Core.CoreApplication activation factory.
twinapi.appcore/tests: Add tests for Windows.ApplicationModel.Core.CoreApplication activation factory.
twinapi.appcore/tests: Add tests for statics2_GetForCurrentView().
twinapi.appcore: Add statics2_GetForCurrentView() stub.
windows.ui: Implement uisettings_UIElementColor().
windows.ui: Add ICoreWindowStatic stub.
windows.ui/tests: Add tests for corewindow_static_GetForCurrentThread().
windows.ui: Add corewindow_static_GetForCurrentThread() stub.
d2d1: Warn in d2d_device_context_set_error().
wined3d: Reset internal_format_set when using the backup DC.
```
1
0
The Wine development release 11.1 is now available.
What's new in this release:
- Various changes that were deferred during code freeze.
- More pixel format conversions in WindowsCodecs.
- More work on ActiveX Data Objects (MSADO).
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.1 (total 22):
- #16009 SureThing CD Labeler crashes when starting a new project
- #26645 PAF5 throws exception after canceling print from help viewer
- #38740 Mathearbeit G 5.6 installer hangs during installation (ShellFolder attributes for virtual folder 'CLSID_Printers', clsid '{2227a280-3aea-1069-a2de-08002b30309d}' missing in registry)
- #45930 Microsoft .NET Framework 4.x GAC update fails for some assemblies, 'Error compiling mscorlib, Path not found. (Exception from HRESULT: 0x80070003)' (legacy GAC missing: '%systemroot%\assembly')
- #51232 calling WsaGetLastError() after calling getsockopt() with a file descriptor that is not a socket differs from Windows
- #52030 Multiple game have corrupted text rendering (Project Cars 2, SnowRunner)
- #54160 Disk Usage page of PDFsam installer says that empty CD drive has the same amount of free space as the previous drive in the list
- #54300 LdrLoadDll illegal memory access on DllPath
- #56378 Microsoft Edge and Edge-based WebView2 do not function without --no-sandbox option
- #58143 Variable refresh rate does not work properly with winewayland.
- #58158 Sacred Gold 2.28 ASE crashes when initialising multiplayer
- #58757 Camerabag Pro 2025.2 fails to load image picture data unless winetricks windowscodecs used
- #58793 iTunes 12.9.3 freezes after opening
- #58905 Many Microsoft Store installers fail to start with System.TypeLoadException
- #59046 Multiple applications crash on unimplemented ICU functions
- #59149 Icons are broken in Wayland
- #59153 Wine 11.0-rc2 Ubisoft Connect freezes
- #59155 FastStone Image Viewer fails to open some PNG images due to unimplemented wincodecs conversion (copypixels_to_24bppBGR)
- #59162 GOG GALAXY launcher starts on an all white screen
- #59172 CEnumerateSerial needs unimplemented function msports.dll.ComDBOpen
- #59178 Genshin Impact requires ntdll.CloseThreadpoolCleanupGroupMembers to not hang when called from a DLL_PROCESS_DETACH notification
- #59227 Program under LMDE6 and wine run but not anymore under LMDE7 and wine
### Changes since 11.0:
```
Alex Henrie (2):
winecfg: Remove unnecessary calls to strdupU2W.
include: Annotate VirtualAlloc functions with __WINE_ALLOC_SIZE.
Alexandre Esteves (1):
ntdll: Accept device paths in LdrAddDllDirectory.
Alexandre Julliard (19):
winebth.sys: Don't include config.h from another header.
oledb32: Move non version-related resources out of version.rc.
tasklist: Make version resource language-neutral.
wrc: Stop translating the product name in version resources.
widl: Fix a typo in a comment.
resources: Rename version.rc files if they also contain non-version resources.
include: Add ntverp.h and common.ver.
include: Use common.ver to implement wine_common_ver.rc.
include: Add Wine version to the default product name in version resources.
start: On failure, report the error from the initial ShellExecuteW.
resources: Don't rely on headers being included by wine_common_ver.rc.
resources: Use common.ver directly in tests.
kernel32: Use common.ver directly.
ntdll: Remove the machine frame in KiUserExceptionDispatcher on ARM64.
ntdll/tests: Add a test for passing BOOLEAN values in syscalls.
ntdll: Move NT syscall Unix-side support to a new syscall.c file.
ntdll: Add syscall wrappers to work around ABI breakages.
win32u: Add syscall wrappers to work around the macOS ABI breakage on ARM64.
ntdll/tests: Mark a test that sometimes fails as flaky.
Alistair Leslie-Hughes (3):
include: Add more DB_E_ defines.
include: Add peninputpanel.idl.
include: Add some coclasses.
Ashley Hauck (1):
winewayland: Support wl_seat version 8.
Bernhard Übelacker (1):
iccvid/tests: Reserve enough memory for input in test_formats (ASan).
Biswapriyo Nath (6):
include: Add ID3D12VideoProcessor in d3d12video.idl.
include: Add ID3D12VideoProcessCommandList in d3d12video.idl.
include: Add D3D12_FEATURE_DATA_VIDEO_PROCESS_SUPPORT in d3d12video.idl.
include: Add D3D12_VIDEO_ENCODER_MOTION_ESTIMATION_PRECISION_MODE_EIGHTH_PIXEL.
include: Add missing flags in D3D12_RENDER_PASS_FLAGS.
propsys: Fix parameter type of PropVariantToGUID.
Brendan McGrath (11):
mfsrcsnk: Use stream_map for index value on stream start.
mfsrcsnk/tests: Add test for end of presentation.
mfsrcsnk: Remain in running state on EOP.
mfmediaengine/tests: Test we receive a frame before calling Play.
mf/tests: Add test for sample grabber seek.
mf/tests: Test sample grabber {Set,Cancel}Timer.
mf/tests: Check StreamSinkMarker event.
mf/tests: Test samplegrabber flush then seek.
mf/tests: Test seek with sample grabber whilst ignoring clock.
mf/tests: Check contents of sample collection.
mf/tests: Test sample grabber pause and resume.
Connor McAdams (5):
d3dx10: Move file/resource loading helper functions into shared code.
d3dx11: Implement D3DX11GetImageInfoFromFile{A,W}().
d3dx11: Implement D3DX11GetImageInfoFromResource{A,W}().
d3dx11: Implement D3DX11CreateTextureFromFile{A,W}().
d3dx11: Implement D3DX11CreateTextureFromResource{A,W}().
Derek Lesho (2):
win32u: Implement glImportMemoryWin32(Handle/Name)EXT for opaque handle types.
win32u: Implement glImportSemaphoreWin32(Handle/Name)EXT for opaque handle types.
Dmitry Timoshkov (8):
win32u: Also print hwnd in set_window_text() trace.
windowscodecs: Add support for converting 8bpp indexed to 24bpp format.
windowscodecs: Support trivial cases for copying 1bpp indexed data.
windowscodecs: Remove optimization for 1bpp pixel formats from WICConvertBitmapSource().
windowscodecs: Add support for converting from 32bpp RGBA to 64bpp RGBA.
windowscodecs: Fix conversion from 64bpp RGBA to 32bpp BGRA.
kerberos: Add support for EXTENDED_ERROR flags.
windowscodecs: Add fallback path to copypixels_to_64bppRGBA().
Elizabeth Figura (11):
wined3d: Separate a vk_blitter_conversion_supported() helper.
wined3d: Hold a reference to the wined3d in adapter_vk_destroy_device().
wined3d/spirv: Set FFP caps.
wined3d/spirv: Set shader_caps.varying_count.
wined3d: Downgrade the multiple devices FIXME to a WARN.
kernel32/tests: Test GetDiskSpaceInformationA() on a volume path.
mountmgr: Implement FileFsFullSizeInformationEx.
wined3d/glsl: Fix WINED3DTSS_TCI_SPHEREMAP calculation.
d3d8/tests: Test generated texcoords.
d3d9/tests: Test generated texcoords.
wined3d/hlsl: Implement generated texcoords.
Eric Pouech (4):
cmd: Detect and report more syntax errors in MKLINK command.
cmd: Fix two potential buffer overflows in MKLINK command.
cmd/tests: Add test for quoted wildcarded sets in FOR instruction.
cmd: Strip quotes from element in FOR set when it contains wildcards.
Francisco Casas (1):
wined3d: Don't print opcodes for cs padding packets.
Gabriel Ivăncescu (2):
jscript: Treat DISPATCH_PROPERTYGET | DISPATCH_METHOD as property getter in ES5+ modes.
mshtml: Handle DISPATCH_PROPERTYGET | DISPATCH_METHOD in dispex_value as property getter.
Georg Lehmann (2):
winevulkan: Update to VK spec version 1.4.339.
winevulkan: Update to VK spec version 1.4.340.
Giovanni Mascellani (2):
gitlab: Install PCSC lite and Samba for i386 as well.
gitlab: Install the OSSv4 header.
Hans Leidekker (9):
netprofm: Add IPv6 support.
netprofm: Skip the loopback interface.
netprofm: Trace returned connectivity values.
winhttp: Convert build_wpad_url() to Unicode.
winhttp: Enforce a 5 second resolve timeout in detect_autoproxyconfig_url_dns().
msi: Don't list drives for which GetVolumeInformationW() or GetDiskFreeSpaceExW() fails.
fusion: Create the legacy GAC directory in CreateAssemblyCache().
ncrypt: Support ECDSA_P256.
crypt32: Sync backing store when contexts are added or removed.
Jacek Caban (3):
include: Add more stdio.h function declarations.
include: Add more corecrt_wstdio.h function declarations.
include: Move intrinsic pragmas below function declarations.
Jactry Zeng (1):
winemenubuilder: Skip .desktop file creation when not on an XDG desktop.
Jiajin Cui (2):
windowscodecs: Correct GIF LZW compression initialization for images with truncated color palette.
ntdll: Prevent null pointer dereference in directory scanning.
Louis Lenders (1):
shell32: Add attributes to registry for CLSID_Printers.
Michael Stopa (1):
cryptnet: Close file handle.
Mohamad Al-Jaf (3):
chakra: Add stub dll.
windows.ui/tests: Add IUISettings2::get_TextScaleFactor() tests.
windows.ui: Stub IUISettings2::get_TextScaleFactor().
Nikolay Sivov (10):
d2d1/tests: Add a test for default stroke transform type.
d2d1/stroke: Fix querying for ID2D1StrokeStyle1.
d2d1/tests: Add some tests for transformed geometries used with uninitialized paths.
dwrite/tests: Handle COLRv1 in GetGlyphImageFormats() tests.
dwrite: Improve underline thickness estimation when font hasn't provided one.
dwrite/tests: Add some tests for HitTestTextPosition().
dwrite/layout: Run script and levels analyzer on whole text instead of segments.
dwrite/layout: Use single structure for formatted runs.
dwrite/layout: Add a list to keep textual and inline runs together.
d2d1: Implement GetGlyphRunWorldBounds().
Paul Gofman (19):
ntdll: Fix LdrLoadDll() prototype.
ntdll: Handle search flags in LdrLoadDll().
kernel32/tests: Add tests for LdrLoadDll().
ntdll: Use LDR_DONT_RESOLVE_REFS instead of DONT_RESOLVE_DLL_REFERENCES.
ntdll: Don't fill output handle on error in LdrLoadDll().
kernelbase: Pass search flags instead of path to LdrLoadDll().
wbemprox: Add Win32_SystemEnclosure.SerialNumber.
wbemprox: Mark Win32_SystemEnclosure.Tag as key column.
dwrite: Zero 'current' in create_font_collection().
ntdll: Make VEH registration structure compatible.
win32u: Wrap vkGetPhysicalDeviceProperties.
win32u: Fixup Vulkan deviceName to match win32u GPU name.
ntdll: Factor out get_random() function.
ntdll: Generate process cookie and return it from NtQueryInformationProcess( ProcessCookie ).
ntdll: Reimplement RtlEncodePointer / RtlDecodePointer using process cookie.
kernel32: Don't use export forwarding for ntdll function table functions.
ntdll/tests: Add some tests for RtlWalkFrameChain() / RtlCaptureStackBackTrace() on x64.
ntdll: Stop walk in RtlWalkFrameChain() if there is no function entry on x64.
ntdll: Add stub function for NtWorkerFactoryWorkerReady().
Piotr Caban (21):
include: Add msdshape.h header.
msado15: Improve column lookup performance.
msado15: Add initial ADOConnectionConstruction tests.
msado15: Add _Connection:{get,put}_ConnectionTimeout implementation.
msado15: Add partial adoconstruct_WrapDSOandSession implementation.
msado15: Fix lock and cursor type initialization in recordset_Open.
msado15: Request more features when opening table directly.
msado15: Fix active connection leak on Recordset release.
msado15: Improve connection validation in recordset_put_ActiveConnection.
msado15: Make dso and session arguments optional in adoconstruct_WrapDSOandSession.
msado15: Handle SetProperties error in adoconstruct_WrapDSOandSession.
msado15: Add initital IRowset wrapper tests.
msado15: Add IRowset wrapper stub.
msado15: Silence FIXME message when querying for known interfaces in rowset wrapper.
msado15: Implement IRowsetExactScroll:GetExactPosition in rowset wrapper.
msado15: Handle VT_I8 bookmarks in cache_get() helper.
msado15: Add _Recordset::Seek implementation.
msado15: Fix IDBProperties use after free in adoconstruct_WrapDSOandSession.
msado15: Respect DBPROP_CANHOLDROWS property in cache_get().
msado15: Dump rowset properties if logging is enabled.
msado15: Fix WrapDSOandSession usage in connection_Open.
Ralf Habacker (1):
ws2_32: Use debug strings in trace outputs for *socket*() and bind().
Rémi Bernon (28):
win32u: Use surfaces for client area if the backend doesn't support PutImage.
server: Track foreground process id, instead of looking for active window.
server: Remove now unnecessary process-wide set_foreground flag.
win32u: Make sysparam GPU devices less Vulkan specific.
win32u: Enumerate system GPU devices from EGL devices.
win32u: Expose device LUID / nodes mask to opengl32.
windows.gaming.input: Enfore axis usage mapping for HID devices.
win32u: Load glBlitFramebuffer function pointer.
opengl32: Fix front buffer emulation glBlitFramebuffer parameters.
opengl32: Use glBlitFramebuffer instead of glBlitNamedFramebuffer.
opengl32: Resolve default framebuffer before flushing.
win32u: Remove unnecessary window_surface exports.
winevulkan: Move copied structs without chain to a separate set.
winevulkan: Only require conversion if there are extensions.
winevulkan: Enable VK_KHR_maintenance7 extension.
winevulkan: Remove mostly unnecessary WINE_VK_VERSION.
winevulkan: Mind unsupported extensions dependencies.
winevulkan: Introduce an Extension class.
winevulkan: Get rid of the VkRegistry class.
winevulkan: Use the conversion names instead of rebuilding them.
winevulkan: Include physical device in the instance functions.
winevulkan: Simplify function prototype generation.
winevulkan: Get rid of remaining extra client parameter.
winevulkan: Simplify function lists generation.
winevulkan: Add parameter names to function pointers.
winevulkan: Simplify function parameters generation.
winevulkan: Simplify function protoypes generation.
mf/session: Discard end of presentation on IMFMediaSession_Stop.
SeongChan Lee (2):
winebus: Use smallest report size for joystick axis.
winebus: Use 16-bit relative axis range for bus_sdl.
Stefan Brüns (2):
msports: Add stub implementations for ComDBOpen/ComDBClose.
advapi32: Use same default values for both GetEffectiveRightsFromAclA/W.
Stefan Dösinger (3):
d3d8/tests: ATI2 DS surface creation attempt crashes nvidia.
d3d8/tests: Clarify a skip message.
d3d9/tests: Clarify a skip message.
Sven Baars (1):
msi/tests: Fix some typos (Coverity).
Tim Clem (4):
msvcp140: Bump the version number.
msvcp140_2: Bump the version number.
vcruntime140_1: Bump the version number.
wineboot: Check if ai_canonname is NULL.
Tobias Gruetzmacher (1):
winhttp: Implement WINHTTP_AUTOPROXY_ALLOW_STATIC.
Vibhav Pant (5):
winebth.sys: Fix potential memory leaks when async DBus calls fail.
winebth.sys: Simplify DBus signal matching in bluez_filter.
winebth.sys: Use a helper for logging DBus errors.
winebth.sys: Add heap allocation annotations to unix_name_{get_or_create, dup}.
rometadata: Add helpers for bounds checks while accessing offsets to assembly data.
Yeshun Ye (2):
kernel32/tests: Add tests for CreateProcessA.
kernelbase: Trim whitespaces from the quoted command line.
Yuxuan Shui (1):
qasf: Protect against unconnected pins in media_seeking_ChangeCurrent.
Zhiyi Zhang (5):
winex11.drv: Delete unused parameters for X11DRV_init_desktop().
comctl32_v6: Add horizontal spacing around button text.
comctl32: Use BOOLEAN instead of BOOL for RegisterClassNameW().
comctl32/tests: Test that there is no flatsb_class32 window class.
comctl32: Remove flatsb_class32 window class.
Ziia Shi (1):
ntdll: Avoid infinite wait during process termination.
```
1
0
The Wine team is proud to announce that the stable release Wine 11.0
is now available.
This release represents a year of development effort, around 6,300
individual changes, and more than 600 bug fixes. It contains a large
number of improvements that are listed below. The main highlights are
the NTSYNC support and the completion of the new WoW64 architecture.
The source is available at <https://dl.winehq.org/wine/source/11.0/wine-11.0.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.0/AUTHORS
----------------------------------------------------------------
## What's new in Wine 11.0
### WoW64
- The _new WoW64_ mode that was first introduced as experimental feature in
Wine 9.0 is considered fully supported, and essentially has feature parity
with the old WoW64 mode.
- 16-bit applications are supported in the new WoW64 mode.
- It is possible to force an old WoW64 installation to run in new WoW64 mode
by setting the variable `WINEARCH=wow64`. This requires the prefix to have
been created as 64-bit (the default).
- Pure 32-bit prefixes created with `WINEARCH=win32` are deprecated, and are
not supported in new WoW64 mode.
- The `wine64` loader binary is removed, in favor of a single `wine` loader
that selects the correct mode based on the binary being executed. For
binaries that have both 32-bit and 64-bit versions installed, it defaults
to 64-bit. The 32-bit version can then be launched with an explicit path,
e.g. `wine c:\\windows\\syswow64\\notepad.exe`.
### Synchronization / Threading
- The NTSync Linux kernel module is used when available, to improve the
performance of synchronization primitives. The needed kernel module is
shipped with the Linux kernel starting from version 6.14.
- Thread priority changes are implemented on Linux and macOS. On Linux,
this is constrained by the system nice limit, and current distributions
require some configuration to change the nice hard limit to a negative
value (in the -19,-1 range, where -5 is usually enough, and anything lower
is not recommended). See `man limits.conf(5)` for more information.
- NTDLL synchronization barriers are implemented.
- On macOS, the `%gs` register is swapped in the syscall dispatcher. This
avoids conflicts between the Windows TEB and the macOS thread descriptor.
### Kernel
- NT Reparse Points are implemented, with support for the mount point and
symlink types of reparse points.
- Write Watches take advantage of userfaultfd on Linux if available, to
avoid the cost of handling page faults in user space.
- NT system calls use the same syscall numbering as recent Windows, to
support applications that hardcode syscall numbers.
- On ARM64, there is support for simulating a 4K page size on top of larger
host pages (typically 16K or 64K). This works for simple applications, but
because it is not possible to completely hide the differences, more
demanding applications may not work correctly. Using a 4K-page kernel is
strongly recommended.
### Graphics
- The OSMesa dependency is removed, and OpenGL bitmap rendering is
implemented with the hardware accelerated OpenGL runtime.
- The EGL OpenGL backend is extended, and used by default on the X11
platform. The GLX backend is deprecated but remains available, and is used
as fallback if EGL isn't available. It can also be forced by setting the
value `UseEGL=N` in the `HKCU\Software\Wine\X11 Driver` registry key.
- The `VK_KHR_external_memory_win32`, `VK_KHR_external_semaphore_win32`,
`VK_KHR_external_fence_win32`, `VK_KHR_win32_keyed_mutex` extensions and
the related D3DKMT APIs are implemented.
- In new WoW64 mode, OpenGL buffers are mapped to 32-bit memory space using
Vulkan extensions if available.
- Front buffer OpenGL rendering is emulated for platforms that don't support
it natively.
- OpenGL context sharing implementation in wglShareLists is improved.
- The Vulkan API version 1.4.335 is supported.
- Image metadata handling is better supported in WindowsCodecs.
- Many more conversions between various pixel formats are supported in
WindowsCodecs.
### Desktop integration
- X11 Window Manager integration is improved: window activation requests are
sent to the Window Manager, and the EWMH protocol is used to keep the X11
and the Win32 active windows consistent.
- Exclusive fullscreen mode is supported, and D3D fullscreen mode is
improved, especially improving older DDraw games.
- Shaped and color-keyed windows are supported in the experimental Wayland
driver.
- Performance of several windowing-related functions is improved, using
shared memory for communication between processes.
- Clipboard support is implemented in the Wayland driver.
- Input Methods are supported in the Wayland driver.
### Direct3D
- Hardware decoding of H.264 video through Direct3D 11 video APIs is
implemented over Vulkan Video. Note that the Vulkan renderer must be used.
As in previous Wine versions, the Vulkan renderer can be used by setting
`renderer` to `vulkan` using the `Direct3D` registry key or
`WINE_D3D_CONFIG` environment variable.
- Direct3D 11 sampler minimum/maximum reduction filtering is implemented if
`GL_ARB_texture_filter_minmax` is available (when using the GL renderer)
or `VK_EXT_sampler_filter_minmax` (when using the Vulkan renderer).
- The following legacy Direct3D features are implemented for the Vulkan
renderer:
- Point size control.
- Point sprite control.
- Vertex blending.
- Fixed-function bump mapping.
- Color keying in draws.
- Flat shading.
- Alpha test.
- User clip planes.
- Several resource formats.
Additionally, the bundled copy of vkd3d-shader includes many improvements
for Shader Model 1, 2, and 3 shaders, including notably support for Shader
Model 1 pixel shaders and basic Shader Model 1 texturing. The Vulkan
renderer is not yet at parity with the GL renderer, and is therefore not
yet the default.
### Direct3D helper libraries
- `D3DXSaveSurfaceToFileInMemory` is reimplemented for PNG, JPEG and BMP
files, enabling support for formats and other edge cases not supported by
WindowsCodecs. It also supports saving surfaces to TARGA files.
- D3DX 11 texture loading functions are implemented, using code shared with
earlier D3DX versions.
- Box filtering is supported in all versions.
- `D3DXSaveTextureToFileInMemory` supports saving textures to DDS files.
- D3DX 9 supports reading 1-bit, 2-bit, and 4-bit indexed pixel formats, as
well as the CxV8U8 format.
- D3DX 10 and 11 support compressing and decompressing BC4 and BC5 formats.
- D3DX 10 and 11 support generating mipmap levels while loading textures.
- `ID3DXEffect::SetRawValue()` is partially implemented.
- `ID3DXSkinInfo::UpdateSkinnedMesh()` is implemented.
### Input / HID devices
- Compatibility with more Joystick devices is improved through the `hidraw`
backend. Per-vendor and per-device registry options are available to
selectively opt into the hidraw backend.
- Force feedback support is improved, with increased compatibility for
joysticks and driving wheels, and better performance.
- Better support for gamepads in the Windows.Gaming.Input API and with the
evdev backend when SDL is not available or disabled.
- There is a configuration tab for the Windows.Gaming.Input API in the Game
Controllers Control Panel applet.
- DirectInput compatibility with older games that use action maps and device
semantics is improved.
- More device enumeration APIs from Windows.Devices.Enumeration and cfgmgr32
are implemented.
### Bluetooth
- The Bluetooth driver supports scanning and configuring host device
discoverability, with some basic support for pairing via both the API and
a wizard. At this point, this is only supported on Linux systems using
BlueZ.
- Bluetooth radios and devices (both classic and low-energy) are visible to
Windows applications.
- Applications can make low-level RFCOMM connections to remote devices using
winsock APIs.
- There is initial support for Bluetooth Low Energy (BLE) Generic Attribute
Profile (GATT) services and characteristics, making them visible through
the Win32 BLE APIs.
### Scanner support
- `DAT_IMAGENATIVEXFER` is supported.
- Scanner selection and configuration are saved in the registry.
- TWAIN 2.0 API for scanning is implemented, which allows scanning to work
in 64-bit applications.
- Multi-page and Automatic Document Feed scans are supported.
- There is a user interface showing scanning progress and error messages.
- The scanner user interface no longer blocks the application using it.
- Windows-native scanner drivers can be loaded if they're installed in Wine.
### Multimedia
- The Multimedia Streaming library implements a custom allocator for
DirectDraw streams, reducing the number of buffer copies required for
filters which support a downstream custom allocator.
- Dynamic format change is supported in the DMO Wrapper, AVI Decoder, and
GStreamer-based demuxer and transform filters.
- GStreamer-based demuxer filters support the Indeo 5.0 codec.
- The DirectSound Renderer filter more properly signals end-of-stream.
Previously end-of-stream could be signaled too early, clipping the end of
an audio stream.
- The ASF Reader filter supports seeking.
- The AVI Decoder filter supports nontrivial source and destination
rectangles.
### DirectMusic
- SoundFont(SF2) supports more features:
- Parsing of preset, instrument and default modulators.
- Layering support required for many SF2 instruments.
- Reuse of downloaded waves and zero-copy access sample data to prevent
out-of-memory errors.
- Instrument normalization.
- The Synthesizer is improved:
- The latency clock is derived from the master clock to fix uneven
playback in certain tracks.
- Voice shutdown is instant and the synth better handles channel pressure
events and LFO connections.
- Setting the volume is supported and is automatically done when creating
a synth or adding a port.
- The DX7 version of the Style form is supported.
- Cache management improvements in the loader.
- More MIDI meta events are supported.
### Mono / .NET / WinRT
- XNA4 applications run based on SDL3, and render using the new SDL_GPU API
by default.
- A text layout engine supporting System.Windows.Documents APIs is added to
WPF (Windows Presentation Framework).
- Theming works in Windows Forms.
- WinRT metadata files can be generated by `widl`, and there is an initial
implementation of the loader classes.
- WinRT C++ exceptions are supported.
### Internationalization
- Locale data is generated from the Unicode CLDR database version 48. The
following additional locales are supported: `bqi-IR`, `bua-RU`, `cop-EG`,
`ht-HT`, `kek-GT`, `lzz-TR`, `mww-Hmnp-US`, `oka-CA`, `pi-Latn-GB`,
`pms-IT`, `sgs-LT`, `suz-Deva-NP`, and `suz-Sunu-NP`,
- Unicode character tables are based on version 17.0.0 of the Unicode
Standard.
- The timezone data is based on version 2025a of the IANA timezone database.
### Internet and networking
- MSHTML exposes DOM attributes as proper DOM nodes in standards-compliant
mode.
- JavaScript typed arrays are supported.
- The MSHTML objects DOMParser, XDomainRequest and msCrypto are implemented.
- Ping is implemented for ICMPv6.
### Databases
- MSADO supports writing changes to the database.
- Most of the MSADO Recordset functions are implemented.
- ODBC remaps Unicode strings to support ANSI-only Win32 drivers.
### Debugging
- The PDB file loader in DbgHelp is reimplemented, to support large files
(> 4G), faster loading, and use fewer memory resources.
- NT system calls can be traced with `WINEDEBUG=syscall`. Unlike
`WINEDEBUG=relay`, this is transparent to the application, and avoids
breaking applications that hook system call entry points.
- It is possible to generate both DWARF and PDB debug information in a
single build.
### Builtin applications
- The Audio tab of WineCfg allows configuring the default MIDI device.
- The Command Prompt tool `cmd` can create reparse points with `mklink /j`,
and display them in directory listings.
- The Command Prompt tool `cmd` supports more complex instructions, and file
name auto completion in interactive prompt.
- The Console Hosting application `conhost` supports F1 and F3 keys for
history retrieval.
- The `timeout` application is implemented.
- The `find` tool supports options `/c` (display match count) and `/i` (case
insensitive matches).
- The `whoami` tool supports output format specifiers.
- There is a basic implementation of the `subst` command
- There is an initial implementation of the `runas` tool.
### Miscellaneous
- Common Controls version 5 and version 6 are fully separated DLLs, and
v6-only features are removed from the v5 DLL for better compatibility.
- The PBKDF2 key derivation algorithm is supported in BCrypt.
- The well-known shell folders `UserProgramFiles`, `AccountPictures` and
`Screenshots` are supported.
### Development tools
- The IDL compiler can generate Windows Runtime metadata files (`.winmd`)
with the `--winmd` option
- The `winedump` tool supports dumping MUI resources, syscall numbers,
embedded NE modules, and large PDB files (>4G).
- The `wine/unixlib.h` header is installed as part of the development
package, as a first step towards supporting use of the Unixlib interface
in third-party modules. This is still a work in progress.
### Build infrastructure
- The X11-derived `install-sh` script is reimplemented in C, to enable
installing several files in a single program invocation. This speeds up
the file copying phase of `make install` by an order of magnitude.
- Compiler exceptions are used to implement `__try/__except` blocks when
building with Clang for 64-bit MSVC targets.
- The WineHQ Gitlab CI supports ARM64 builds.
### Bundled libraries
- The LLVM Compiler-RT runtime library version 8.0.1 is bundled, and used
when building modules in MSVC mode.
- The TomCrypt library version 1.18.2 is bundled and used to implement
cryptographic primitives in the RsaEnh and BCrypt modules.
- Vkd3d is updated to the upstream release [1.18][4].
- Faudio is updated to the upstream release 25.12.
- FluidSynth is updated to the upstream release 2.4.2.
- LCMS2 is updated to the upstream release 2.17.
- LibMPG123 is updated to the upstream release 1.33.0.
- LibPng is updated to the upstream release 1.6.51.
- LibTiff is updated to the upstream release 4.7.1.
- LibXml2 is updated to the upstream release 2.12.10.
- LibXslt is updated to the upstream release 1.1.43.
[4]: https://gitlab.winehq.org/wine/vkd3d/-/releases/vkd3d-1.18
### External dependencies
- The OSMesa library is no longer used. OpenGL bitmap rendering is
implemented using EGL instead.
- The HwLoc library is used for CPU detection on FreeBSD.
1
0
The Wine development release 11.0-rc5 is now available. This is
expected to be the last release candidate before the final 11.0.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/11.0/wine-11.0-rc5.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.0-rc5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.0-rc5 (total 32):
- #19063 GAP-Diveplanner : return Run time error '5'
- #23688 iriver LDB Manager: crashes when navigating directory tree
- #30129 Screen in 3d Studio Max v9 refresh badly
- #32235 Soldiers heroes of World War II crashes on startup
- #38505 sijpv12.exe crashes
- #39742 Heroes of Might and Magic 5 does not work (empty screen)
- #40512 Alan Wake's American Nightmare, some textures have missing transparency
- #40656 Heartstone Deck Tracker v0.14.9 fails to start
- #40730 Elasto Mania: Hang on launch - later works but without sound
- #41568 MiPony 2.5.0 can't be launched
- #46976 All games suffer from moderated to severe stuttering with mouse polling ~1000
- #47244 Batman: Arkham Origins no shadow from cloak in DX11 mode
- #48730 BioShock 2 crashes before entering main menu with builtin d3dcompiler_47
- #49013 League of Legends: Exception code c0000005
- #50724 Tomb Raider (2013) enabling tessellation leads to crash with Vulkan renderer
- #52318 Sumatra PDF - always prints entire document
- #52780 The Evil Within has very slow performance
- #53422 Bully: Scholarship Edition fails to play intros
- #55021 The Evil Within shows a black screen with OpenGL renderer
- #55849 Wine posts WM_(SYS)KEYUP message twice for Alt (and such) key if Fcitx/IBus daemon is running
- #56159 game blocks ~30 seconds, continues and then hangs, in "TKKG 1" (EN: Jennifer is Missing, DE: Katjas Geheimnis - Tivoli)
- #56815 Virtualbox installer fails to install
- #57999 "Tower Wars" game crash when start playing
- #58498 Rocket League: OSS driver is triggering game to crash
- #58786 Microsoft Deadly Tide requires ICM_DECOMPRESSEX_BEGIN implementation in iccvid
- #59165 Focus problems in SQLyog
- #59171 Face Noir: 3D inventory way too dark
- #59177 Earth 2150 freezes at the end of the intro video
- #59180 DirectDraw fullscreen windows are invisible
- #59190 Wolfenstein: The Old Blood / Wolfenstein: The New Order - black screen in the menu
- #59203 Monster Truck Madness 2 crashes with "double free detected"
- #59209 Monster Truck Madness 2 takes very long when loading/leaving a race
### Changes since 11.0-rc4:
```
Alexandre Julliard (5):
winedump: Dump the contents of the embedded NE module for 16-bit builtins.
Update copyright info for 2026.
ntdll: Don't try to create a process for a 16-bit dll.
ntdll: Use the sync_ioctl() helper in is_console_handle().
ws2_32/tests: Wait a bit before checking that we didn't receive a message.
André Zwing (1):
wow64: Only compare the valid segment selector part.
Bernhard Übelacker (1):
win32u: Return failure from ResizePalette called with a count of zero.
Byeong-Sik Jeon (1):
winex11: Drop SCIM workaround.
Dmitry Timoshkov (1):
ntdll: get_non_pe_file_info() returns NTSTATUS.
Elizabeth Figura (5):
wined3d: Invalidate lights when the view matrix changes.
iccvid/tests: Add format tests.
iccvid: Implement extended decompression.
d3d8/tests: Test how lighting is affected by world and view matrices.
d3d9/tests: Test how lighting is affected by world and view matrices.
Etaash Mathamsetty (1):
winewayland: Separate icon buffers from toplevel role.
Gabriel Ivăncescu (1):
mshtml/tests: Test calling external object's method with return value.
James Hawkins (2):
user32/tests: Test DlgDirList in a temp directory.
user32/tests: Remove unused todo_wine handling from listbox test.
Lauri Kenttä (1):
po: Update Finnish translation.
Rémi Bernon (3):
win32u: Update client surface state before swapping or presenting.
opengl32: Use a GL_FLUSH_FORCE_SWAP flag instead of BOOL parameter.
opengl32: Present on flush only when rendering to the front buffer.
Sven Baars (1):
opengl32: Avoid leaking memory on error paths (Coverity).
Zhiyi Zhang (4):
comctl32/tests: Add more RegisterClassNameW() tests.
comctl32: Register window classes in RegisterClassNameW() instead of DllMain().
winex11.drv: Don't send -1 fullscreen monitor indices to window managers.
dxgi/tests: Add a missing return value check.
```
1
0
The Wine development release 11.0-rc4 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/11.0/wine-11.0-rc4.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.0-rc4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.0-rc4 (total 22):
- #3845 parallel port access is slow due to high cpu usage (eprom burner)
- #9906 Can't start the 4D Client
- #51708 Bitwarden crashes on start
- #55176 Wing Commander Secret Ops/Prophecy unable to launch
- #55506 captvty 2.10.5.3, freeze when selecting a station
- #55663 Buried in Time: Video files don't play, hang
- #56045 RichTextBox crashes the WPF application
- #56167 Unigine Heaven 4.0 DX11 benchmark performance loss on Nvidia gpu
- #56226 Myst Masterpiece Edition won't start in Wine 4.6 and later
- #56232 Sega Bug fails to initialize
- #56790 wine binds dedicatedServer.exe to "lo" adapter
- #57057 battle.net: invalid tray icon
- #57378 Cannot start Alcohol52%
- #57516 Heroes of Might and Magic 4 campaign editor: can't cycle through hero's portrait with left mouse button
- #57747 Dungeon Siege (2002) rendering is broken
- #57907 Black screen in Richard and Alice game and Ben there Dan that! Special Edition (both from GOG)
- #58505 SSFpres search window appears behind main window since Wine 10.5
- #59098 The application windows of certain programs (Delphi?) completely disappear while changing tabs or layouts before then reappearing
- #59147 rthdribl performance is worse after eeb3e5597f11063aef389598b3c8408278fa8661
- #59151 Main window content drawn twice for Ubisoft Connect
- #59158 eRacer (using Cinepack codec in videos) hangs when the intro video ends
- #59163 Adding debug channel +crypt makes Total Commander behave different/fail.
### Changes since 11.0-rc3:
```
Akihiro Sagawa (1):
po: Update Japanese translation.
Alexandre Julliard (4):
wow64: Copy the full xstate in Wow64PrepareForException.
ntdll: Support ATL thunk emulation in new wow64 mode.
ntdll/tests: Add a test for breakpoint exception address.
ntdll/tests: Fix some test failures on Windows ARM64.
André Zwing (1):
include: Disable compiler exceptions for ARM64EC MSVC targets before Clang 21.
Bernhard Kölbl (1):
windows.media.speech/tests: Get rid of duplicated hresult.
Bernhard Übelacker (3):
bcrypt: Avoid crash in gnutls logging when library got unloaded.
crypt32: Avoid crash in gnutls logging when library got unloaded.
secur32: Avoid crash in gnutls logging when library got unloaded.
Elizabeth Figura (8):
wined3d: Add some missing states to wined3d_stateblock_invalidate_initial_states().
wined3d: Avoid some invalidation when the vertex declaration is set redundantly.
wined3d: Avoid some invalidation when the viewport is set redundantly.
wined3d: Avoid some invalidation when texture states are set redundantly.
wined3d: Invalidate fog constants only when the VS is toggled.
wined3d: Avoid some invalidation when render states are set redundantly.
quartz: Take top-down RGB into account in is_nontrivial_rect().
wined3d: Invalidate FFP PS settings when FOGVERTEXMODE changes.
Esme Povirk (1):
mscoree: Update Wine Mono to 10.4.1.
Matteo Bruni (2):
wined3d/gl: Only check GL context when accessing onscreen resources.
wined3d/gl: Split UBOs to separate chunks.
Rémi Bernon (4):
winex11: Set net_active_window_serial when activating withdrawn windows.
win32u: Add more set_(active|foreground)_window traces.
winex11: Request drawable presentation explicitly on flush.
winex11: Set opacity and empty input shape for the dummy parent.
Sven Baars (3):
comctl32/tests: Run the updown tests on comctl32 version 6.
comctl32: Set default acceleration values for up-down controls.
comctl32: Fix the UDM_GETACCEL return value.
```
1
0
The Wine development release 11.0-rc3 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/11.0/wine-11.0-rc3.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.0-rc3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.0-rc3 (total 17):
- #45483 Installation of the DirectX 8.1 SDK fails due to msi custom action failure
- #46033 Execution of commands that contain special symbols will be truncated.
- #52373 Call of Cthulhu intro videos don't play correctly
- #53751 RollerCoaster Tycoon 1-2: rename dialog is hidden behind game screen
- #54425 user32:clibpoard - test_string_data_process() fails on Windows in mixed locales
- #54626 Saving files in Microsoft Word/Excel 2010 creates useless shortcut files
- #56932 Null pointer dereference in MiniDumpWriteDump
- #57570 Syntax Error in CMD Batch Parsing
- #58454 Regression in Ti Nspire software
- #58483 Burnout Paradise has rendering issues
- #58491 Flickering on video-surveilance-app is back
- #58709 upgrade to 10.15 results in garbled fullscreen in Limelight Lemonade Jam
- #59047 VRChat sound output is broken after video playback start when using AVPro player
- #59096 GLX backend doesn't work with Nvidia binary drivers since Wine-10.19
- #59099 Mahjong game again does not display when launched - appears locked or caught in an endless loop
- #59108 Steam: Client starts up, but all window content is black or white.
- #59123 Performance issues in Clickteam games
### Changes since 11.0-rc2:
```
Alexandre Julliard (14):
user32/tests: Get the codepage from the user locale for CF_TEXT conversions.
d3d11/tests: Mark some tests that fail on gitlab CI as todo_wine.
d3d9/tests: Mark some tests that fail on gitlab CI as todo_wine.
win32u/tests: Fix a test failure with llvmpipe on 64-bit.
amstream/tests: Fix test failures on 64-bit Windows.
d3d8/tests: Disable a todo_wine that succeeds in new wow64.
d3d10core/tests: Mark some tests that fail on Gitlab CI as todo_wine.
d3d11/tests: Mark some tests that fail on Gitlab CI as todo_wine.
imm32/tests: Mark a test that fails on Gitlab CI as todo_wine.
ntdll: Set status in IO_STATUS_BLOCK on success.
ntdll/tests: Comment out one more instance of setting %fs register.
win32u: Only compare 32 bits of wparam in WM_STYLECHANGED handling.
kernel32/tests: Don't test volatile register values.
kernel32/tests: Synchronize the debug thread startup with the main thread.
Bernhard Übelacker (1):
twain_32/tests: Test with twaindsm.dll at 64-bits.
Brendan Shanks (1):
winemac: Report correct dimensions in macdrv_get_monitors() when retina mode is enabled.
Byeong-Sik Jeon (1):
po: Update Korean translation.
Elizabeth Figura (3):
d3d11/tests: Use explicit todo markers for test_uint_instructions() failures.
ddraw: Check for DDSCAPS_PRIMARYSURFACE in ddraw_gdi_is_front().
wined3d: Only invalidate enabled clip planes.
Eric Pouech (2):
dbghelp: Don't crash when creating minidump without exception pointers.
dbghelp: Skip compilation units with attributes imported from .dwz.
Hans Leidekker (1):
nsiproxy.sys: Assign the highest metric value to loopback adapters.
Jactry Zeng (2):
urlmon: Add missing period to Internet zone description.
po: Update Simplified Chinese translation.
Matteo Bruni (4):
winex11: Don't try to set NULL icon data.
mfmediaengine: Apply stream volume instead of session-wide.
mfmediaengine: Set SAR session ID to a random GUID.
mfmediaengine/tests: Test WASAPI audio session interaction.
Paul Gofman (3):
ntdll: Fix a crash in server_get_name_info() when there is NULL name.
win32u: Register WGL_ARB_pixel_format before WGL_ARB_pixel_format_float.
winex11.drv: Register WGL_ARB_pixel_format extension.
Rémi Bernon (12):
opengl32: Avoid crashing if WGL_WINE_query_renderer is not supported.
win32u: Use the window fullscreen exclusive rect for vulkan swapchain.
win32u: Don't set window pixel format if drawable creation failed.
win32u: Fix clipping out of vulkan and other process client surfaces.
win32u/tests: Test that wine-specific D3DKMTEscape codes are harmless.
opengl32: Check extension function pointers before using them.
wined3d: Update the context DC from its swapchain if it changed.
winex11: Avoid creating window data entirely for offscreen windows.
winex11: Unmap windows only when SWP_HIDEWINDOW is set.
winex11: Don't request activation of withdrawn windows.
ntdll: Allow region allocation for some non growable heaps.
win32u: Get the context drawable pointer again after context_sync_drawables.
Stefan Dösinger (3):
wined3d: Initialize managed textures in LOCATION_SYSMEM.
d3d9/tests: Test initial texture dirty state.
d3d8/tests: Test initial texture dirty state.
```
1
0
The Wine development release 11.0-rc2 is now available.
This is the first release candidate for the upcoming Wine 11.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 11.0 as good as possible.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/11.0/wine-11.0-rc2.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.0-rc2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.0-rc2 (total 28):
- #12401 NET Framework 2.0, 3.0, 4.0 installers and other apps that make use of GAC API for managed assembly installation on NTFS filesystems need reparse point/junction API support (FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)
- #38652 VMR9 Owner and Clipping hwnd
- #43110 Indycar Series crashes on start
- #53380 After 7.13 update, components in pop-up windows, sliders and buttons, do not work. ThumbsPlus 10 Pro
- #53737 Incoming (game): crashes after the intro video
- #56177 The 64-bit uxtheme:system fails on Windows 10 2004+
- #56286 Evil Under the Sun (French version) crashes when starting a new game
- #56462 PlayOnline Viewer crashes when Wine is built without gstreamer support
- #57393 MS Office 2013: Slide out File menu panel is behind the editing page
- #57960 ChessBase 18 hangs / stops accepting input a few seconds after launch
- #58171 Breath of Fire IV, Ys VI crashes on the opening video
- #58261 Ys Origin: videos playing upside down
- #58724 Heroes of the Storm doesn't start
- #58811 Steam: Unable to display the intended GUI windows due to steamwebhelper being unresponsive.
- #58824 Melonloader exit with an error code
- #58844 Command & Conquer Tiberian Sun (C&C Red Alert II): black rectangle instead of showing menus
- #58914 Basic Windows Combobox are randomly missing entries
- #59012 Maximized windows cannot be minimized on kde
- #59053 Mario Multiverse demo crashes upon launch
- #59069 Splinter Cell: Intro video window is invisible
- #59089 Forms in certain programs redraw very slowly
- #59091 UbisoftConnect window completely broken
- #59093 Various GL driver errors, OOM, and hangs on 32-bit after 4286e07f8
- #59094 Itch.io client shows empty white window on start
- #59097 Earth 2150 fails to play video
- #59100 Worms Revolution displays only black screen
- #59102 Minimizing fullscreen notepad and restoring gives a black window
- #59110 Memory leak in lookup_unix_name
### Changes since 11.0-rc1:
```
Alexandre Julliard (4):
gitlab: Avoid error when parsing the minor number of a .0 release.
xactengine/tests: Remove todo_wine from tests that succeed now.
tomcrypt: Avoid macro redefinition warnings.
ir50_32: Import winegstreamer directly.
André Zwing (2):
ntdll: Remove superfluous code.
ntdll/unix: Add bti c for call dispatchers on ARM64.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (5):
msado15: Remove left over free in get_accessor (ASan).
msado15: Add missing return when malloc failed.
devenum/tests: Skip test if no video capture device is present.
win32u/tests: Dynamically load function D3DKMTOpenKeyedMutexFromNtHandle.
win32u/tests: Use dynamically loaded D3DKMTOpenKeyedMutexFromNtHandle.
Daniel Lehman (1):
ntdll: Fix memory leak in reparse code path.
Dmitry Timoshkov (2):
msi/tests: Add a test for MsiDecomposeDescriptor() with a product with only one feature.
msi: MsiDecomposeDescriptor() should look up single feature of the product.
Elizabeth Figura (11):
quartz/tests: Test avidec source media type after dynamic format change.
quartz/avidec: Alter the current media type during dynamic format change.
winegstreamer: Handle dynamic format change.
amstream/tests: Test AM_MEDIA_TYPE generation for an existing sample and sub-rect.
amstream: Set the source/target rects from the sample rect in GetMediaType().
quartz/tests: Test using the AVI decompressor with rects.
quartz/avidec: Support nontrivial rects.
ir50_32/tests: Test extended decompression functions.
ir50_32: Implement extended decompression.
winegstreamer: Support dynamic reconnection in the DirectShow transform.
winegstreamer: Fix a double free (Coverity).
Hans Leidekker (4):
msi/tests: Allow registered owner and company to be unset.
msi/tests: Fix pending renames processing on Windows 11.
msi/tests: Fix test failures when running as an unprivileged user.
msi/tests: Fix a test failure on ARM64 Windows 11.
Henri Verbeet (4):
wined3d: Do not set "context_gl->needs_set" in wined3d_context_gl_release().
wined3d: Get rid of the "restore_pf" field from struct wined3d_context_gl.
wined3d: Expect WINED3D_VIEW_TEXTURE_CUBE for cube textures in get_texture_view_target().
wined3d: Properly compare reduction modes in wined3d_texture_gl_apply_sampler_desc().
Huw D. M. Davies (1):
winemac: Remove unused variable.
Jacek Caban (1):
winegcc: Add libs/ to library search paths when --wine-objdir is used.
Jiangyi Chen (1):
opengl32: Fix a copy error when printing the log.
Nikolay Sivov (1):
Revert "dwrite: Use uppercase paths for local file loader keys."
Paul Gofman (4):
kernel32/tests: Disable heap tests which are now crashing on Windows.
kernel32/tests: Add more tests for heap total and commit sizes.
ntdll: Align commit size in RtlCreateHeap().
ntdll: Compute total size as aligned commit size in RtlCreateHeap().
Piotr Caban (1):
msado15: Ignore IRowset:GetProperties return value in rsconstruction_put_Rowset (Coverity).
Rémi Bernon (15):
win32u: Introduce a new NtUserGetPresentRect driver-specific call.
win32u: Use the window present rect as visible rect when set.
win32u: Fixup fullscreen cursor clipping when present rect is set.
winex11: Ignore children clipping in exclusive fullscreen mode.
winex11: Retrieve the whole window when creating client window for other process.
opengl32: Return the buffers when invalid draw/read buffer are used.
winex11: Check for events again after processing delayed events.
win32u: Iterate the client surfaces rather than the toplevel window tree.
opengl32: Retrieve display OpenGL functions table only when needed.
win32u: Process every driver event in NtUserGetAsyncKeyState.
win32u: Remove unnecessary drawable flush in context_sync_drawables.
winex11: Use window DPI for client surface position and geometry.
winex11: Avoid mapping points with exclusive fullscreen windows.
win32u: Avoid setting surface layered with the dummy surface.
win32u: Update window state after setting internal pixel format.
Sven Baars (2):
ntdll: Use the correct CPU tick length on macOS.
ntdll: Include idle time in kernel time on all platforms.
Yuxuan Shui (5):
mf/tests: Test if WMA decoder DMO accept output type with a different num of channels.
mf/tests: Test SetOutputType with a wrong formattype on WMA decoder.
mf/tests: Test if WMV decoder DMO accepts output type with a different size.
winegstreamer: Reject setting WMA DMO with an output type with a wrong formattype.
winegstreamer: Reject SetOutput with a different number of channels.
```
1
0
The Wine development release 11.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 11.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 11.0 as good as possible.
What's new in this release:
- Mono engine updated to version 10.4.0.
- Locale data updated to Unicode CLDR 48.
- TWAINDSM module for scanner support on 64-bit.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.0/wine-11.0-rc1.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.0-rc1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.0-rc1 (total 17):
- #36514 King's Quest: Mask of Eternity requires MCIWndCreate to create a child window when parent is specified
- #38924 HeapSize(GetProcessHeap(), 0, GlobalLock(hGlobal)) must succeed [wxWidgets samples, Tapps2, DirMaster]
- #56386 Gramps 5.2.0 displays empty windows
- #58037 Photoshop CS 2 installation never completes
- #58383 mmdevapi notify_thread busy waits when no midi driver can be loaded
- #58408 win32u:input: Performance regression in Resident Evil 2 due to internal messages processing.
- #58827 Running Mahjong with Wine ends without displaying the game screen
- #58949 Sound test in winecfg doesn't produce audio
- #58975 Mugen crashes after multiple matches on NVIDIA GPUs.
- #59006 FL Studio fails to minimize on Wine 10.19
- #59010 Window immediately restores after minimizing when a non-modal dialog is open
- #59041 Incorrect Casting for NET 10 Runtime Apps
- #59052 cmd doesn't handle all parameters in FOR /F command
- #59054 Oblivion crashes with unhandled page fault: wine 10.19
- #59061 Office 2013 File menu doesn't open
- #59064 Mass Effect Legendary Window Surface Not Drawn To
- #59075 various focus-related winforms tests fail in virtual desktop
### Changes since 10.20:
```
Akihiro Sagawa (1):
msvfw32: Retry with avivideo device type if open fails.
Alexandre Julliard (12):
Revert "icuin: Add initial dll."
Revert "icuuc: Add initial dll."
Revert "icu: Add stub dll."
ntdll: Remove "experimental wow64" message.
faudio: Import upstream release 25.12.
nls: Update locale data to CLDR version 48.
mmdevapi: Don't fall back to initial driver when the MIDI driver fails to load.
makedep: Add an install-unixlib target as a subset of install-lib.
makedep: Don't assume that .tab.h files don't contain includes.
wow64: Build a proper wow64 IO status block for FSCTL_GET_OBJECT_ID.
ntdll: Silence warning about non-builtin for fake dlls.
tomcrypt: Force using 32-bit math library.
Anton Baskanov (2):
dmsynth: Calculate latency and the derive latency clock from the master clock.
dmsynth: Factor out waiting for the buffer event.
Bernd Herd (8):
sane.ds: Fix ICAP_BITDEPTH semantics, allow setting it.
sane.ds: Refuse native transfer mode with depth 16 bit.
sane.ds: Support SANE Backends that treat resolution as TYPE_FIXED.
sane.ds: Make UI non-modal as required by Twain specification.
twaindsm: Put DSM code into twaindsm.dll and add twain_32.dll wrapper.
twaindsm: Implement DG_CONTROL/DAT_ENTRYPOINT/MSG_GET.
twaindsm: Add DG_CONTROL/DAT_CALLBACKx/MSG_REGISTER_CALLBACK to support TWAIN 2.x protocol.
twaindsm: Recursively search in C:\Windows\twain_xx for installed data sources.
Bernhard Übelacker (1):
faudio: Make sure at least some wavebank notifications get allocated (ASan).
Biswapriyo Nath (2):
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE in d3d12video.idl.
include: Add missing member in D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.
Brendan Shanks (2):
win32u: Use asprintf in read_drm_device_prop.
winecoreaudio: Set the AudioChannelLayout on output units.
Charlotte Pabst (4):
mfsrcsnk/tests: Add tests for thinning.
winedmo: Fall back to dts for sample time if pts is not present.
mfsrcsnk: Process SetRate asynchronously.
mfsrcsnk: Implement thinning.
Derek Lesho (2):
opengl32: Cleanup glGet* and fix typo in glGetDoublev.
opengl32: Move GL error to wgl_context.
Dmitry Timoshkov (1):
ldap: Consistently use unicode version of QueryContextAttributes().
Elizabeth Figura (5):
qcap: Avoid inverting frame interval twice.
qcap: Iterate over all frame intervals to get the max/min.
qcap: Implement GetFrameRateList().
cmd: Print reparse points in directory listings.
cmd: Implement mklink /j.
Eric Pouech (10):
dbghelp: Fix skipping of inline call-site information.
dbghelp: Properly limit area of CU's symbols.
dbghelp: Properly skip S_FRAMEPROC inside thunk.
dbghelp: Silence a warning.
dbghelp: Don't use checksum on ELF files.
cmd: Enhance parsing of FOR /F options.
dbghelp: Detect and fail decorated TPI indexes.
dbghelp: Revamp DBI hash table.
dbghelp: Use contribution to select compiland for line info.
dbghelp: Use contrib to select compiland in advance_line_info.
Esme Povirk (1):
mscoree: Update Wine Mono to 10.4.0.
Floris Renaud (1):
po: Update Dutch translation.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.335.
Gerald Pfeifer (1):
user32/tests: Avoid compiler warnings in tests.
Giovanni Mascellani (3):
winmm/tests: Test a few PCM and float wave formats.
winmm/tests: Test some more exotic wave formats.
Revert "winmm: Use AUTOCONVERTPCM when initializing the audio client.".
Hans Leidekker (9):
cryptui: Properly initialize the filename in show_import_ui().
cryptui: Pass the certificate context to CryptUIWizImport() from the certificate viewer.
cryptui: Allow switching from automatic to manual certificate store selection.
wbemprox/tests: Fix test failures on Windows 11.
wbemprox/tests: Consistently use check_property_nullable().
bcrypt/tests: Fix test failures on Windows 8 and 11.
advapi32/tests: Fix test failures on Windows 11.
dbgeng/tests: Fix test failures on Windows 11.
fusion/tests: Run tests on .NET version 4.
Haoyang Chen (1):
devenum: Add DevicePath field for a video input device.
Henri Verbeet (8):
quartz/vmr7: Handle BI_BITFIELDS formats.
quartz/vmr7: Reject BI_RGB and BI_BITFIELDS formats with different bit depth.
quartz/vmr7: Reject unsupported FOURCC formats.
d3d11: Add the D3D11_DECODE_FILTER_REDUCTION macro.
d3d11/tests: Add a sampler min/max reduction filtering test.
wined3d/vk: Implement sampler min/max reduction filtering.
wined3d/gl: Implement sampler min/max reduction filtering.
wined3d: Create cube views for cube textures in wined3d_texture_acquire_identity_srv().
Jacek Caban (1):
wininet: Move dwError to http_request_t.
Martin Storsjö (7):
ntdll/tests: Update the reference code for a changed test.
ntdll/tests: Enable tests for save_next for float registers.
winedump: Fix the printout of a cornercase with packed arm64 unwind info.
ntdll: Implement handling of arm64 packed unwind for CR=01, RegI=1.
ntdll/tests: Add a missing testcase for arm64 packed unwind info.
ntdll: Rewrite arm64 packed unwind info handling.
ntdll: Handle arm64 packed unwind with H=1, RegI=RegF=0, CR!=1.
Matteo Bruni (21):
ddraw: Advertise NV12 FOURCC as supported.
quartz/vmr7: Implement IVMRSurfaceAllocatorNotify::SetDDrawDevice().
quartz/vmr7: Create a ddraw object if necessary to check for FourCC support.
quartz/vmr7: Validate BITMAPINFOHEADER size.
quartz/tests: Test allocating a surface with different bit depth from the primary.
quartz/tests: Test allocating BI_BITFIELDS pixel format.
quartz/tests: Test VMR7 AllocateSurface with a BITMAPV4HEADER.
quartz/tests: Add some VMR7 tests for unsupported formats.
ntdll: Factor out a cancel_io() function.
server: Factor out a cancel_async() function.
ntdll: Wait for all asyncs to handle cancel in NtCancelIoFile().
ntdll/tests: Add more NtCancelIoFile[Ex]() tests.
ntdll/tests: Test IOSB values of the cancel operation.
ntoskrnl/tests: Fix tests on current Windows 10 / 11.
ntoskrnl/tests: Add more cancellation tests.
ntoskrnl/tests: Test the thread ID the cancellation routine runs from.
ntoskrnl/tests: Use the 'Nt' version of the CancelIo APIs.
quartz/vmr7: Implement IVMRSurfaceAllocator::AdviseNotify() on the default allocator.
quartz/vmr7: Call IVMRSurfaceAllocator_AdviseNotify() on the default allocator.
quartz/tests: Show where AllocateSurface should be called.
include: Fix RenderPrefs_ForceOffscreen typo.
Nikolay Sivov (5):
comdlg32/tests: Add a helper to check for supported interfaces.
comdlg32/tests: Check for IModalWindow interface.
comdlg32/itemdlg: Add missing IModalWindow to supported interfaces.
d2d1: Add a Scale effect stub.
msxml/tests: Add some tests for supported interfaces in the SAX API.
Pan Hui (1):
wmp: Implement OLEIVERB_SHOW.
Paul Gofman (10):
include: Add defintions related to Windows.Perception.Spatial.SpatialAnchorExporter.
windows.perception.stub: Stub SpatialAnchorExporter class.
windows.perception.stub: Implement exporter_statics_RequestAccessAsync().
windows.media.speech: Synchronize IAsyncInfo implementation in async.c.
windows.gaming.input: Synchronize IAsyncInfo implementation in async.c.
cryptowinrt: Synchronize IAsyncInfo implementation in async.c.
windows.devices.enumeration: Synchronize IAsyncInfo implementation in async.c.
windows.security.credentials.ui.userconsentverifier: Synchronize IAsyncInfo implementation in async.c.
coremessaging: Synchronize IAsyncInfo implementation in async.c.
win32u: Don't alter memory beyond structure effective size in NtUserEnumDisplaySettings().
Piotr Caban (23):
msado15: Set ActiveConnection on recordset created by connection_OpenSchema.
msado15: Handle NULL values in field_get_Value.
msado15: Fix leak in recordset_put_CacheSize.
msado15: Support more properties in rowset_info_GetProperties.
msado15: Add _Recordset::LockType implementation.
msado15: Validate LockType in rsconstruction_put_Rowset.
msado15: Implement _Recordset::Supports function.
msado15: Add _Recordset::Supports tests.
include: Define CursorOptionEnum values using hexadecimal constants.
include: Add DBINDEXCOLUMNDESC definition.
include: Add IRowsetIndex interface.
include: Add IRowsetCurrentIndex interface.
msado15: Add _Recordset:put_Index implementation.
msado15: Add _Recordset:get_Index implementation.
msado15: Request features determined by lock type when opening table directly.
msado15: Add partial _Recordset:CancelUpdate implementation.
msado15: Add partial _Recordset::Update implementation.
msado15: Call _Recordset::Update when moving to new row.
msado15: Use accessors cache in _Recordset::AddNew.
msado15: Handle data argument in rowset_change_InsertRow.
msado15: Support setting values in _Recordset::AddNew.
msado15: Support setting values in _Recordset::Update.
msado15: Request more features when opening table directly.
Rémi Bernon (28):
win32u: Avoid a crash when drawable fails to be created.
win32u: Check internal drawables before trying to create new ones.
winex11: Allow client window creation on other process windows.
win32u: Update the window client surface even with no children.
server: Check whether window can be made foreground earlier.
server: Always allow windows to activate after their creation.
opengl32: Don't generate null functions for extensions.
opengl32: Generate some missing null functions.
opengl32: Expect core OpenGL functions to be present.
opengl32: Get OpenGL function table on process attach.
winemac: Avoid taking the window lock when creating client surface.
opengl32: Don't count EGL extensions in the registry arrays.
opengl32: List unsupported extensions rather than supported ones.
opengl32: Generate functions and constants for more EGL extensions.
win32u: Query EGL devices UUID with EGL_EXT_device_persistent_id.
winewayland: Update client surface position in update callback.
wined3d: Remove now unnecessary pixel format restoration.
wined3d: Create / release the window DCs with the swapchains.
win32u: Introduce a D3DKMT escape code to set fullscreen present rect.
wined3d: Set the window present rect when entering fullscreen mode.
wined3d: Use the backbuffer size rather than client rect when fullscreen.
server: Introduce a find_async_from_user helper.
mfsrcsnk: Introduce a DEFINE_MF_ASYNC_PARAMS macro.
mfsrcsnk: Factor out a media_source_request_stream_sample helper.
mfsrcsnk: Peek for stream token presence without removing it.
win32u: Require VK_KHR_external_semaphore_fd for keyed mutexes.
win32u: Expose onscreen single buffer formats with PFD_SUPPORT_GDI.
win32u: Workaround a 32-bit llvmpipe crash on initialization.
Vibhav Pant (2):
winebth.sys: Unify critical sections used for bluetooth_radio.
winebth.sys: Fix potential deadlocks while performing operations that block on the DBus event loop.
Yuxuan Shui (3):
winegstreamer: Fix SetOutputType of the wma decoder DMO.
mf/tests: Test Get{Input,Output}CurrentType.
winegstreamer: Implement media_object_Get{Input,Output}CurrentType.
Zhiyi Zhang (2):
user32/tests: Test scrollbar rect when WS_HSCROLL or WS_VSCROLL is present.
win32u: Remove scrollbar rect offsets when WS_HSCROLL or WS_VSCROLL is present.
```
1
0
The Wine development release 10.20 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.18.
- More support for reparse points.
- More refactoring of Common Controls after the v5/v6 split.
- Progress dialog for document scanning.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.20.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.20/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.20 (total 31):
- #41034 TomTom MyDrive Connect 4.x needs implementation of KERNEL32.dll.SetVolumeMountPointW
- #41644 Civilization v1.2: crashes on startup
- #42792 SQL Server 2012/2014: Installer requires ChangeServiceConfig2 with SERVICE_CONFIG_SERVICE_SID_INFO support (also affects Revit installer)
- #44948 Multiple apps need CreateSymbolicLinkA/W implementation (Spine (Mod starter for Gothic), GenLauncher (Mod manager for GeneralsZH), MS Office 365 installer)
- #49987 Multiple GTK Applications freeze/fail to start
- #54927 grepwinNP3 (part of Notepad3) crashes inside uxtheme
- #56577 QuarkXPress 2024 crashes on start with assertion error "symt_check_tag(&func->symt, SymTagFunction) || symt_check_tag(&func->symt, SymTagInlineSite)"
- #57486 The Last Stand: Aftermath: Loads infinitely
- #57703 Mega Man X DiVE Offline throws errors on startup unless regkeys for HKCR are added.
- #57972 Certain display modes (e.g. 1152x864) not available in virtual desktop mode
- #58023 Meld-3.22.2 fails to start with errormessagebox (retrieves incorrect path via XDG_DATA_HOME env var)
- #58041 PlayOnline Viewer: Black screen when running via winewayland.
- #58107 PlayOnline Viewer: Window not activated when restoring from a minimised state.
- #58341 Incorrect mapping of "home" button of 8bitdo Pro 2 controller (in Xbox mode)
- #58719 Wagotabi crashes on wine-10.15.
- #58800 tlReader 10.1.0.2004 toolbar has broken rendering
- #58831 the commit:win32u: Don't store the window OpenGL drawables on the DCs. Causing software deadlock
- #58833 PlayOnline Viewer: Excessive virtual memory size possibly leading into a crash.
- #58846 Geneforge 1 - Mutagen (Geneforge 2 - Infestation): black screen issue
- #58880 Winecfg in wine 10.17 can not create controls(buttons,links ...) in some configurations
- #58882 When setting Client Side Graphics=N (X11 Driver), interfaces such as winecfg.exe and regedit.exe display abnormally
- #58908 Arrow keys unresponsive/stuck in some games
- #58932 Some comboboxes are no longer sized correctly after commit in version 10.16
- #58971 after commit 18ce7964203b486c8236f2c16a370ae27539d2f0 wine no longer execute windows steam
- #58973 Many games crash on launch with new WoW64 wine-10.19 and discrete Nvidia GPU
- #58984 imhex: Constant flickering --> GUI unusable (regression)
- #58998 cmd broken, 'echo|set /p=%LOCALAPPDATA%' returns empty string
- #59003 StarCraft: assertion failed
- #59017 Synchronization barrier cannot be entered multiple times
- #59034 Client area of CLM Explorer main window is rendered completely black on startup
- #59050 HiveMQ CE 2025.5 crashes on startup (GetProcessHeap missing parentheses in iphlpapi.GetAnycastIpAddressTable stub)
### Changes since 10.19:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (13):
vkd3d: Import upstream release 1.18.
sxs: Implement SxspGenerateManifestPathOnAssemblyIdentity().
sxs: Truncate fields when building a manifest file name.
setupapi: Truncate fields when building a manifest file name.
ntdll: Truncate fields when building a manifest file name.
include: Add some new info classes.
png: Import upstream release 1.6.51.
ntdll: Support more ARM64 CPU features.
ntdll: Always rely on mprotect() to set PROT_EXEC permission.
iphlpapi: Fix GetProcessHeap typo.
winedump: Move string dump functions to the common code.
winedump: Add dumping of string and version resources for 16-bit.
server: Use standard status value instead of win32 error.
Alfred Agrell (5):
d2d1: Add Blend effect stub.
d2d1: Add Brightness effect stub.
d2d1: Add Directional Blur effect stub.
d2d1: Add Hue Rotation effect stub.
d2d1: Add Saturation effect stub.
Alistair Leslie-Hughes (1):
urlmon: FindMimeFromData return only the mime type.
Anton Baskanov (38):
dmsynth/tests: Test instrument selection.
dmsynth: Factor out instrument fallback logic from synth_preset_noteon().
dmsynth: Don't rely on the FluidSynth bank selection logic.
dmsynth/tests: Add DLS tests.
dmsynth: Use 0.1% as the sustain level unit.
dmsynth: Don't add 1000 to the sustain modulators.
dmsynth: Handle channel pressure events.
dmsynth: Use a factor of 1/10 for modulation LFO x channel pressure -> gain connections.
dmsynth: Trace lAttenuation as a signed integer.
dmsynth: Handle sample attenuation.
dmsynth: Handle bipolar transform for LFO connections.
dmsynth: Set GEN_EXCLUSIVECLASS to the key group.
dmsynth: Make voice shutdown instant.
dmsynth: Explicitly ignore CONN_DST_EG1_SHUTDOWNTIME.
dmsynth: Factor out play_region().
dmsynth: Move find_region() after play_region().
dmsynth: Add layering support.
dmusic: Fix data size calculation in wave_create_from_soundfont().
dmusic: Remove the unused loop_resent field from struct region.
dmusic: Determine sample loop type from SF_GEN_SAMPLE_MODES.
dmusic: Treat SF_GEN_(START|END)LOOP_ADDRS_OFFSET as offsets from the sample loop points.
dmusic: Take coarse loop offsets into account.
dmusic: Compare unity note with an unsigned 16-bit constant.
dmusic: Take coarse tune into account in instrument_add_soundfont_region().
dmusic: Set attenuation based on SF_GEN_INITIAL_ATTENUATION.
dmusic: Add IIR filter resonance hump compensation.
dmusic: Add an 8 dB attenuation to normalize SF2 instrument volume.
dmusic: Take sample correction into account.
dmusic: Treat fine tune as a signed value.
dmusic: Set F_INSTRUMENT_DRUMS for bank 128.
dmusic: Use SF_GEN_EXCLUSIVE_CLASS to set the key group.
dmusic: Add preset generator values in a separate pass.
dmusic: Don't pass preset generators to parse_soundfont_generators().
dmusic: Intersect ranges for SF_GEN_KEY_RANGE and SF_GEN_VEL_RANGE.
dmusic: Convert generators to DLS connections.
dmusic: Add default modulators.
dmusic: Parse instrument modulators.
dmusic: Parse preset modulators.
Bernd Herd (10):
sane.ds: Avoid segfault with backends that have integer array options like 'test'.
sane.ds: Replace LocalLock/LocalUnlock with GlobalLock/GlobalUnlock.
sane.ds: Store CAP_XFERCOUNT to activeDS.capXferCount.
sane.ds: Apply SANE_Start() and SANE_Cancel().
sane.ds: Fill TW_IMAGEMEMXFER.YOffset in SANE_ImageMemXferGet.
sane.ds: Implement DG_CONTROL/DAT_PENDINGXFERS/MSG_GET based on scannedImages counter.
sane.ds: Read frame data until EOF in native transfer mode.
sane.ds: Load last settings from registry immediatly when opening the DS.
sane.ds: Add cancel button and progress bar to progress dialog.
sane.ds: Display message if ADF is empty in ADF scan.
Bernhard Kölbl (2):
dwrite: Add the Cyrillic range to the fallback data.
dwrite: Add the Supplemental Arrows-C range to the fallback data.
Bernhard Übelacker (6):
user32/tests: Avoid out-of-bounds access in DdeCreateDataHandle (ASan).
user32: Avoid out-of-bounds read in DdeCreateDataHandle with offset (ASan).
ntdll/tests: Avoid out-of-bounds read in call_virtual_unwind_x86 (ASan).
shell32: Avoid double-free in enumerate_strings when cur is zero (ASan).
cmd: Skip directories if they exceed MAX_PATH in WCMD_list_directory (ASan).
ntdll/tests: Dynamically load RtlIsProcessorFeaturePresent.
Biswapriyo Nath (1):
include: Add symbols for av1 encoder in d3d12video.idl.
Brendan Shanks (5):
winemac: Silence OpenGL-related warnings.
user32/tests: Add tests for DisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO ).
win32u: Add semi-stub for NtUserDisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO ).
win32u: Store whether a monitor is HDR-capable in gdi_monitor.
winemac: Report whether monitors are HDR-capable based on NSScreen.maximumPotentialExtendedDynamicRangeColorComponentValue.
Connor McAdams (6):
d3dx10/tests: Use check_texture{2d,3d}_desc_values helpers in check_resource_info().
d3dx11/tests: Use check_texture{2d,3d}_desc_values helpers in check_resource_info().
d3dx9/tests: Add some image filter tests.
d3dx10/tests: Add some image filter tests.
d3dx11/tests: Add some image filter tests.
d3dx: Implement a box filter.
Derek Lesho (4):
win32u/tests: Set GL_DEDICATED_MEMORY_OBJECT_EXT on import.
win32u/tests: Test named Vulkan export.
win32u/tests: Test shared handle lifetime.
win32u/tests: Test GL_EXT_semaphore_win32.
Dmitry Timoshkov (3):
services: Return success for ChangeServiceConfig(SERVICE_CONFIG_SERVICE_SID_INFO).
windowscodecs: Optimize a bit reading the 3bps RGB TIFF tile.
kerberos: Add translation of 32-bit SecPkgContext_SessionKey in wow64_query_context_attributes() thunk.
Elizabeth Figura (19):
wined3d: Get rid of alpha-based color keying.
server: Retain the ? suffix when renaming or linking reparse points.
kernelbase: Open the reparse point in CreateHardLink().
kernelbase: Open the reparse point in SetFileAttributes().
ntdll: Handle . and .. segments in relative symlinks.
xactengine3/tests: Add tests for properties.
xactengine3/tests: Add many more tests for notifications.
xactengine3/tests: Test renderer details.
xactengine3/tests: Test variables.
xactengine3/tests: Test SetMatrixCoefficients() channel counts.
xactengine3/tests: Test wavebank type mismatch.
d3d11: Use GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS in D3D11CoreCreateDevice().
d3d11: Implement DecoderExtension().
wined3d: Make SHADOW into a format attr.
winex11: Flush after presenting.
ntdll: Implement FileIdExtdBothDirectoryInformation.
kernelbase: Report the reparse tag from FindNextFile().
kernel32: Implement SetVolumeMountPoint().
mountmgr.sys: Report FILE_SUPPORTS_REPARSE_POINTS for volumes we report as NTFS.
Eric Pouech (11):
cmd: Force flushing the prompt in SET /P command.
kernel32/tests: Test std handles in CreateProcess with pseudo console.
kernelbase: Create std handles from passed pseudo-console.
kernel32/tests: Skip some tests when feature isn't present on Windows.
cmd: Fix some quirks around CALL.
cmd: Add more tests about echo:ing commands.
cmd: Store '@' inside CMD_NODE.
cmd: Don't use precedence when rebuilding commands.
cmd: Properly echo commands.
cmd: Match native output for $H in prompt.
cmd: Expand loop variables nested in !variables!.
Erich Hoover (2):
kernelbase: Open the reparse point in MoveFileWithProgress().
kernelbase: Implement CreateSymbolicLink().
Gabriel Ivăncescu (2):
jscript: Do existing prop lookups for external props only on objects with volatile props.
mshtml: Add the node props to document fragments in IE9+ modes.
Giovanni Mascellani (1):
mmdevapi: Fix WoW64 structure for is_format_supported.
Hans Leidekker (5):
widl: Use the metadata short name for parameterized types.
widl: Make sure attributes are added for imported member interfaces.
widl: Don't add a type reference for IInspectable.
include: Fix size_is syntax in IPropertyValue methods.
wine.inf: Add .crt association.
Jacek Caban (4):
opengl32: Free buffer wrappers after driver calls.
opengl32: Factor out use_driver_buffer_map.
opengl32: Support persistent memory emulation on top of GL_AMD_pinned_memory.
opengl32: Simplify wow64_unmap_buffer.
Jactry Zeng (3):
winemac.drv: Support to get EDID from DCPAVServiceProxy.
winemac.drv: Support to get EDID from IODisplayConnect.
winemac.drv: Support to generate EDID from display parameters from Core Graphics APIs.
Joe Souza (7):
cmd/tests: Add tests for COPY to self.
cmd: Don't attempt to copy a file to itself.
xcopy: Fix leaked resource in an error case.
xcopy/tests: Add test for XCOPY to self.
xcopy: Don't attempt to copy a file to itself.
xcopy: Return proper error code in copy file to self failure.
cmd: Add ':' to delimiters for tab-completion support.
Ken Sharp (1):
po: Update English resource.
Kun Yang (1):
windowscodecs: Support NULL input palette in ImagingFactory_CreateBitmapFromHBITMAP.
Louis Lenders (2):
wbemprox: Add PartialProductKey and ApplicationId to SoftwareLicensingProduct class.
wbemprox: Use case insensitive search in get_method.
Marcus Meissner (1):
kernel32/tests: Fix argument size to GetVolumeNameForVolumeMountPointW.
Matteo Bruni (6):
mmdevapi: Share NULL GUID session.
mmdevapi/tests: Accept any digit before the process ID in the session instance identifier.
mmdevapi/tests: Test capture session state in render:test_session_creation().
mmdevapi/tests: Get rid of questionable error handling.
mmdevapi/tests: Simplify handling of failure to get a capture endpoint.
mmdevapi/tests: Conditionally apply todo_wine to SetSampleRate() tests.
Nikolay Sivov (5):
d2d1/tests: Explicitly use WARP device for IWICBitmapLock tests.
d2d1/tests: Print adapter information.
dwrite: Add an alternative name for the Noto Sans Symbols font.
msxml: Add support for user-defined functions in msxsl:script blocks.
msxml3: Ignore UseInlineSchema property.
Paul Gofman (23):
comctl32/tests: Add tests for WM_MEASUREITEM with combobox.
comctl32/combo: Adjust MEASUREITEMSTRUCT.itemHeight by 2 instead of 6.
user32/combo: Adjust MEASUREITEMSTRUCT.itemHeight by 2 instead of 6.
win32u: Only delete subkeys when clearing DirectX key.
ntoskrnl.exe: Open thread with MAXIMUM_ALLOWED access in KeGetCurrentThread().
quartz/dsoundrender: Get rid of DSoundRenderer_Max_Fill buffer data queue limit.
quartz/test: Check for EC_COMPLETE more often in test_eos().
quartz/dsoundrender: Send all queued samples to dsound before issuing EC_COMPLETE.
quartz/dsoundrender: Do not send EC_COMPLETE while flushing.
ntdll: Rename waiting_thread_count to structure_lock_count in barriers implementation.
ntdll/tests: Add tests for iterative barrier usage.
ntdll: Support iterative barrier usage without re-initialization.
win32u: Initialize surface with white colour on creation.
kernelbase: Set last error in GetModuleFileNameExW().
win32u: Ignore startup cmd show mode for owned windows.
win32u: Fetch startup info flags during initialization.
win32u: Implement NtUserModifyUserStartupInfoFlags().
user32/tests: Add tests showing that MessageBox() resets STARTF_USESHOWWINDOW.
win32u: Clear STARTF_USESHOWWINDOW in MessageBoxIndirectW().
msvfw32/tests: Add tests for MCI window styles.
msvfw32: Add WS_CHILD attribute for window if parent is specified.
msvfw32: Set correct styles for popup and child windows.
msvfw32: Set child window id for MCI child window.
Piotr Caban (33):
msado15: Add partial IRowset::AddRefRows implementation for tables without provider.
msado15: Add IRowset::RestartPosition implementation for tables without provider.
msado15: Fix test GetNextRows implementation.
msado15: Set cursor position on provider side.
msado15: Improve _Recordset::BOF implementation.
msado15: Improve _Recordset::EOF implementatio.
msado15: Improve IAccessor::CreateAccessor implementation for tables without provider.
msado15: Add partial IRowset::GetData implementation for tables without provider.
msado15: Add partial IRowset::SetData implementation for tables without provider.
msado15: Fix initial row loading condition in _Recordset::MoveNext.
msado15: Fix initial row loading condition in _Recordset::MovePrevious.
msado15: Store column ordinal number in field structure.
msado15: Reimplement Field::get_Value and Field::put_Value.
msado15: Fix memory leak for tables without provider.
msado15: Don't use row index in _Recordset::get_EditMode.
msado15: Remove _Recordset::put_Filter hack.
msado15: Implement IRowsetLocate::GetRowsAt for tables without provider.
msado15: Set bookmark column value in rowset_change_InsertRow.
msado15: Handle data type conversion in rowset_GetData.
msado15: Use IRowsetLocate to access database rows if available.
msado15: Reimplement _Recordset::{put,get}_Bookmark.
msado15: Add _Recordset::MoveFirst test.
msado15: Remove unused code for storing/manipulating database data in _Recordset object.
msado15: Remove IRowset QueryInterface checks.
msado15: Change data type used for fetching longer bookmarks.
msado15: Add INT_PTR bookmark type.
msado15: Store data in column format in memory rowset provider.
include: Add IRowsetView interface.
include: Add IViewChapter interface.
include: Add IViewFilter interface.
msado15: Add IRowsetUpdate interface in tests.
msado15: Fix crash in _Recordset::Close() when releasing uninitialized Field objects.
msado15: Add more _Recordset::put_Filter tests.
Rémi Bernon (51):
win32u: Make a copy of the GL_RENDERER / GL_VENDOR strings.
win32u: Move vulkan device wrapper from winevulkan.
winevulkan: Allocate instance static debug objects dynamically.
win32u: Move instance wrappers from winevulkan.
win32u: Use the vulkan instance wrappers for D3DKMT.
winex11: Set dmDriverExtra for detached full modes.
hid: Implement HidP_SetData.
win32u: Set the DC pixel format too in wglSetPixelFormatWINE.
win32u: Keep the D3D internal OpenGL surfaces on the DCs.
win32u: Get rid of window internal pixel format.
win32u: Use 0x20 for iconic WM_ACTIVATE message wparam.
win32u: Avoid INT_MAX overflow in map_monitor_rect.
win32u: Avoid crashing if Vulkan is disabled or failed to load.
winex11: Avoid unmapping window if it only got layered style.
winevulkan: Avoid returning innacurate extension counts.
winex11: Track requested WM_NORMAL_HINTS to avoid unnecessary requests.
winex11: Track requested WM_HINTS to avoid unnecessary requests.
winex11: Track requested _NET_WM_WINDOW_STATE to avoid unnecessary requests.
winex11: Track requested _NET_WM_ICON to avoid unnecessary requests.
win32u: Keep devices EGL platforms in a list.
win32u: Add the display device first in the EGL device list.
win32u: Terminate non-display EGL devices after initialization.
win32u: Skip non-display software EGL devices initialization.
win32u: Fix crash in NtUserUpdateLayeredWindow if blend is NULL.
winex11: Initialize thread data when checking _NET_WM_STATE mask.
winex11: Don't update client maximized state if window is minimized.
win32u: Release internal OpenGL drawables outside of the user lock.
win32u: Avoid leaking semaphore and fence exported fds.
include: Add some new DMO classes to wmcodecdsp.idl.
msvdsp: Add stub dll.
vidreszr: Add stub dll.
mfsrcsnk: Ignore streams with unsupported media types.
winevulkan: Move api checks out of the constructors.
winevulkan: Simplify enum alias handling.
winevulkan: Split get_dyn_array_len into params / member classes.
winevulkan: Pass parent / params to get_dyn_array_len directly.
winevulkan: Create function param and struct member lists beforehand.
winevulkan: Precompute struct type constant from member list.
win32u: Add some extra 4:3 resolutions to the virtual modes.
winex11: Pass client rect to create_client_window.
winex11: Remove some unnecessary NtUserGetClientRect calls.
ddraw/tests: Use a dedicated window instead of the desktop window.
user32/tests: Use a dedicated window instead of the desktop window.
win32u: Introduce a NtUserSetForegroundWindowInternal call.
server: Set NULL foreground input when switching to desktop window.
server: Forbid background process window reactivation.
winex11: Update window position in client surface update callback.
win32u: Update client surfaces starting from toplevel window.
winex11: Only use XRender bilinear filter with client-side graphics.
win32u: Skip minimized windows when looking for another window to activate.
win32u: Hide owned popups after minimizing their owner window.
Stian Low (6):
wined3d: Move the Vulkan blitter to texture_vk.c.
wined3d: Move Vulkan texture functions to texture_vk.c.
wined3d: Move GL texture functions to texture_gl.c.
wined3d: Move the FBO blitter to texture_gl.c.
wined3d: Move the raw blitter to texture_gl.c.
wined3d: Move the FFP blitter to texture_gl.c.
Tim Clem (1):
winex11.drv: Set use_egl to false if it is unavailable.
Vibhav Pant (26):
rometadata: Add stubs for IMetaDataImport.
rometadata/tests: Add tests for IMetaDataTables::{EnumTypeDefs, GetTypeDefProps, FindTypeDefByName}.
rometadata/tests: Add tests for IMetaDataImport::{EnumMethods, GetMethodProps, GetNativeCallConvFromSig}.
rometadata/tests: Add tests for IMetaDataImport::{EnumFields, GetFieldProps}.
rometadata/tests: Add tests for IMetaDataImport::GetCustomAttributeByName.
rometadata/tests: Add tests for IMetaDataImport::{EnumProperties, GetPropertyProps}.
rometadata: Implement IMetaDataImport::{EnumTypeDefs, CountEnum, ResetEnum}.
rometadata: Implement IMetaDataImport::GetTypeDefProps.
rometadata: Implement IMetaDataImport::FindTypeDefByName.
rometadata: Implement IMetaDataImport::{EnumMethods, GetMethodProps}.
rometadata: Implement IMetaDataImport::EnumFields.
rometadata: Implement IMetaDataImport::GetFieldProps.
widl: Fix MethodList value for apicontract and enum typedefs.
rometadata/tests: Add tests for IMetaDataDispenser::OpenScopeOnMemory.
rometadata/tests: Add additional tests for IMetaDataImport::GetCustomAttributeByName.
rometadata: Perform bound checks before decoding blob sizes in assemblies.
rometadata: Fix incorrect bit width calculation.
rometadata: Implement IMetaDataDispenser::OpenScopeOnMemory.
rometadata: Implement IMetaDataTables::{EnumProperties, GetPropertyProps}.
rometadata: Implement IMetaDataImport::GetCustomAttributeByName.
rometadata/tests: Add tests for IMetaDataImport::{EnumMethodsWithName, FindMethod}.
rometadata/tests: Add tests for IMetaDataImport::{EnumFieldsWithName, FindField}.
rometadata/tests: Add tests for IMetaDataImport::{EnumMembersWithName, FindMember}.
rometadata: Implement IMetaDataImport::EnumMethodsWithName.
rometadata: Implement IMetaDataImport::FindMethod.
rometadata: Implement IMetaDataImport::{EnumFieldsWithName, FindField}.
Vijay Kiran Kamuju (2):
vcomp: Add omp_get_wtick() implementation.
user32: Fix loading cursor image with resource id using LR_LOADFROMFILE on older windows versions.
Yuxuan Shui (4):
mf/tests: Test what's returned from ProcessOutput when input ran out.
winegstreamer: Return S_FALSE from DMO when there is not enough data.
winegstreamer: Only change DMO's output type if SetOutputType is successful.
winegstreamer: Add missing read thread wait in SetOutputProps failure path.
Zhiyi Zhang (25):
comctl32/tests: Add tests for toolbar WM_ERASEBKGND handling.
comctl32/tests: Add tests for toolbar WM_PAINT handling.
comctl32/toolbar: Erase the background in TOOLBAR_Refresh() when TBSTYLE_TRANSPARENT is present for comctl32 v6.
comctl32/trackbar: Add a helper to get the pen color for drawing tics.
comctl32/trackbar: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/trackbar: Remove theming for comctl32 v5.
comctl32/treeview: Add a helper to draw plus and minus signs.
comctl32/treeview: Add a helper to fill theme background.
comctl32/treeview: Remove theming for comctl32 v5.
comctl32/updown: Add a helper to get the buddy border size.
comctl32/updown: Add a helper to get the buddy spacer size.
comctl32/updown: Add helpers to get the arrow state.
comctl32/updown: Add helpers to get the arrow theme part and state.
comctl32/updown: Add a helper to check if buddy background is needed.
comctl32/updown: Refactor UPDOWN_DrawBuddyBackground() to support drawing background when theming is disabled.
comctl32/updown: Add a helper to draw the up arrow.
comctl32/updown: Add a helper to draw the down arrow.
comctl32/updown: Remove theming for comctl32 v5.
comctl32: Remove theming for comctl32 v5.
comctl32_v6/taskdialog: Fix not enough width for the expando button text.
icu: Add stub dll.
icuuc: Add initial dll.
icuin: Add initial dll.
include: Add icu.h.
include: Add more definitions from ICU 72.1.
```
1
0
The vkd3d team is proud to announce that release 1.18 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.18.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.18
### libvkd3d
- The CreateCommandList1() method of the ID3D12Device4 interface is
implemented.
### libvkd3d-shader
- Several new features and improvements for the HLSL source type:
- Flattening of branched code. I.e., code using if/else statements can be
turned into conditional moves when that's either advantageous or
necessary. Cases where this is necessary include targeting shader model
2.0 or earlier, as well as code using the ‘flatten’ attribute.
- More constant folding improvements. For example:
- asfloat(), asint(), asuint(), cos(), mad(), round(), and sin()
operations are constant folded.
- ‘true ? x : y’ is folded to ‘x’
- ‘x ? true : false’ is folded to ‘x’
- ‘||x||’ is folded to ‘|x|’
- ‘~~x’ is folded to ‘x’
- ‘x < 0’ is folded to ‘false’ for unsigned ‘x’
- The following intrinsic functions:
- countbits()
- firstbithigh()
- firstbitlow()
- frexp()
- texCUBEbias()
- Integer-typed conditional expressions in shader model 1-3 target
profiles. Previously these were only supported in shader model 4+ target
profiles.
- Resource loads from ‘StructuredBuffer’ resources.
- ‘centroid’ interpolation modifiers in shader model 1-3 target profiles.
- Support for ‘\_centroid’ modifier suffixes on I/O semantics. I.e.,
‘float2 t : TEXCOORD0_centroid’ is equivalent to ‘centroid float2 t :
TEXCOORD0’.
- The following legacy Direct3D byte-code instructions are implemented:
- bem
- tex
- texbem
- texbeml
- texcoord
- The experimental Metal Shading Language (MSL) target supports the
following features:
- Compute shaders.
- Immediate-constant buffers.
- Standard, inverse, and hyperbolic trigonometric functions.
- Integer division and remainder operations.
- Floating-point remainder operations.
- Bit scanning and counting operations.
- Boolean operands, as produced by DXIL sources.
- Barrier operations.
- When the experimental MSL target is enabled, the ‘hlsl’ source type can be
used in combination with the ‘msl’ target type to convert HLSL shaders to
MSL.
- Signed integer operations like min() and max() are correctly translated
from DXIL to MSL. Previously these would end up getting translated as
unsigned operations, and would thus mishandle negative values.
- The experimental OpenGL Shading Language (GLSL) target supports the
following features:
- Screen-space partial derivatives.
- sin() and cos() operations.
- Unsigned integer division and remainder operations.
- Static texel offsets on texture load operations.
- ‘SV_Coverage’ fragment shader outputs.
- ‘SV_InstanceID’ inputs.
- Textual output formats are documented to have a zero byte following their
output. This can be convenient for passing such output to functions
expecting a null-terminated string. For some output formats this was
already true in earlier versions of vkd3d, but not guaranteed by the API.
- New interfaces:
- The vkd3d_shader_d3dbc_source_info structure extends the
vkd3d_shader_compile_info structure, and can be used to specify
auxiliary information for legacy Direct3D byte-code (‘d3dbc’) shaders
that's necessary for target formats like SPIR-V and GLSL, but not
specified by ‘d3dbc’ shaders. In particular, it allows specifying
resource/sampler types for shader model 1 fragment shaders, as well as
which samplers are comparison-mode samplers for shader model 1-3
shaders.
- The vkd3d_shader_scan_thread_group_size_info structure extends the
vkd3d_shader_compile_info structure, and can be used to to retrieve the
thread group size expected by a compute shader. This information is
particularly useful when targeting Metal environments, because the Metal
API requires the thread group size to be specified through its dispatch
API, instead of being specified by the shader.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_LUMINANCE_OFFSET_[0-5] shader
parameters specify the corresponding bump-mapping luminance offsets.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_LUMINANCE_SCALE_[0-5] shader
parameters specify the corresponding bump-mapping luminance scale
factors.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_MATRIX_[0-5] shader parameters
specify the corresponding bump-mapping transformation matrices.
### Changes since vkd3d 1.17:
```
Andrey Gusev (1):
vkd3d: Recognise VK_QUEUE_OPTICAL_FLOW_BIT_NV in debug_vk_queue_flags().
Anna (navi) Figueiredo Gomes (3):
vkd3d-shader/hlsl: Remove the duplicate HLSL_IR_STRING_CONSTANT branch from evaluate_static_expression().
vkd3d-shader/hlsl: Add a default value fail test with all allowed instructions.
vkd3d-shader/hlsl: Properly free default values when discarding them.
Conor McCarthy (9):
tests/hlsl: Add a test for branching in a hull shader patch constant function.
vkd3d-shader: Set the program block count to the maximum for any function.
tests/hlsl: Add a test for branching in a hull shader control point function.
vkd3d-shader/spirv: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in spirv_get_type_id().
vkd3d-shader/spirv: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in image_format_for_image_read().
tests/hlsl: Add a precise MAD test where the first component is not x.
vkd3d-shader/ir: Fix the addition swizzle in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Use an SSA intermediate in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Fix the FTOU swizzle for MOVA in vsir_program_normalize_addr().
Elizabeth Figura (66):
vkd3d-shader/d3dbc: Move TEXLDD lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move TEXLDL lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move d3dbc SINCOS lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move TEXKILL lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move IFC lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader: Dump shaders in vkd3d_shader_preprocess().
vkd3d-shader/hlsl: Ensure yacc tokens are positive.
vkd3d-shader/glsl: Do not make a copy of the buffer before returning it.
vkd3d-shader/preproc: Do not make a copy of the buffer before returning it.
vkd3d-shader/hlsl: Initialize the allocator with a type.
vkd3d-shader/ir: Reallocate temps.
vkd3d-shader/hlsl: Use unique temps for non-indexable variables.
vkd3d-shader/hlsl: Use unique temps for per-component operations.
vkd3d-shader/hlsl: Use unique temps for SINCOS.
vkd3d-shader/hlsl: Use a simple counter for indexable temps.
vkd3d-shader/hlsl: Remove liveness range tracking from the allocator.
tests: Test null-termination.
tests: Test special characters.
vkd3d-shader: Document the null terminator appended for textual formats.
vkd3d-utils: Null-terminate the output of D3DDisassemble().
vkd3d-utils: Null-terminate the output of D3DPreprocess().
vkd3d-shader/d3dbc: Move the error for unhandled d3dbc instructions to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Lower TEXTURE to TEMP registers when written.
vkd3d-shader/d3dbc: Lower TEX instructions.
vkd3d-shader/d3dbc: Lower TEXCOORD instructions.
vkd3d-shader/ir: Validate TEXTURE registers.
vkd3d-shader/ir: Validate BEM.
vkd3d-shader/hlsl: Use the semantic.resource_type field for texture DCL instructions.
vkd3d-shader/hlsl: Use unique IDs for descriptors before 5.1.
vkd3d-shader/ir: Introduce a vsir DCE pass.
vkd3d-shader/hlsl: Make ConstructGSWithSO an intrinsic function.
vkd3d-shader/hlsl: Return a node from lower_ir().
vkd3d-shader/hlsl: Rename lower_ir() to replace_ir().
vkd3d-shader/hlsl: Use replace_ir() for fold_swizzle_chains().
vkd3d-shader/hlsl: Use replace_ir() for fold_trivial_swizzles().
vkd3d-shader/hlsl: Use replace_ir() for fold_redundant_casts().
vkd3d-shader/d3dbc: Create vsir descriptor information in the parser.
vkd3d-shader/hlsl: Create vsir descriptor info in hlsl_parse().
vkd3d-shader: Remove sm1-specific descriptor scanning logic.
vkd3d-shader: Remove the no longer used flat_constant_count field from struct vsir_program.
vkd3d-shader: Introduce an interface to specify 1.x texture dimensions.
vkd3d-shader: Introduce an interface to specify sm1 shadow samplers.
vkd3d-shader/glsl: Wrap gl_GlobalInvocationID in an uvec4.
vkd3d-shader/ir: Implement an initial vsir copy propagation pass.
tests: Test a shader with many semantics.
vkd3d-shader/d3dbc: Fix writing vertex input semantics.
vkd3d-shader/spirv: Allow swizzling parameters.
vkd3d-shader: Lower BEM instructions.
vkd3d-shader: Lower TEXBEM instructions.
vkd3d-shader: Lower TEXBEML instructions.
tests: Allow RTV -> SRV blits in the d3d9 runner.
tests: Set tags in the d3d9 runner.
tests: Add bump mapping tests.
vkd3d-shader/hlsl: Introduce hlsl_block_add_constant().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_swizzles().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_identities().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_exprs().
vkd3d-shader/hlsl: Use replace_ir() for fold_conditional_identities().
vkd3d-shader/hlsl: Use replace_ir() for fold_unary_identities().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_normalize_binary_exprs().
vkd3d-shader/hlsl: Use replace_ir() for lower_resource_load_bias().
vkd3d-shader/hlsl: Use replace_ir() for lower_discard_nz().
vkd3d-shader/hlsl: Write the used sampler dimension for generic samplers in the CTAB.
vkd3d-shader/hlsl: Do not deduplicate sampler types in the CTAB.
vkd3d-shader/hlsl: Write a "dimx" of 4 for combined sampler types in the CTAB.
vkd3d-shader/hlsl: Only prepend a $ for parameters with the uniform keyword.
Francisco Casas (52):
vkd3d-shader/ir: Use iterators in vsir_program_insert_fragment_fog().
vkd3d-shader/ir: Use iterators in vsir_program_insert_vertex_fog().
vkd3d-shader/ir: Use iterators in track_liveness().
vkd3d-shader/ir: Use iterators in vsir_allocate_temp_registers().
vkd3d-shader/ir: Use iterators in vsir_update_dcl_temps().
vkd3d-shader/ir: Use iterators in vsir_program_validate().
vkd3d-shader/ir: Introduce vsir_program_iterator_insert_before_and_move().
vkd3d-shader/ir: Use iterators in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/dxil: Use vsir_program_append() in sm6_function_emit_blocks().
vkd3d-shader/dxil: Use vsir_program_append() in sm6_parser_add_instruction().
vkd3d-shader/dxil: Use sm6_parser_add_instruction() in sm6_parser_descriptor_type_init().
vkd3d-shader/ir: Avoid direct instruction array access in validation_error().
vkd3d-shader/ir: Use iterators in control_point_normaliser_emit_hs_input().
vkd3d-shader/ir: Use iterators in flattener_flatten_phases().
vkd3d-shader/ir: Merge the hull shader phase flattener into a single pass.
vkd3d-shader/ir: Use iterators in struct vsir_cfg.
vkd3d-shader/ir: Move icbs from struct vkd3d_shader_instruction_array to struct vsir_program.
vkd3d-shader/ir: Move the outpointid_param field out of struct vkd3d_shader_instruction_array.
vkd3d-shader/ir: Store a pointer to the instruction array in struct control_point_normaliser.
vkd3d-shader/ir: Store a pointer to the vsir program in struct control_point_normaliser.
vkd3d-shader/ir: Move the source and destination operand allocators to struct vsir_program.
vkd3d-shader/ir: Use iterators in struct vsir_block.
vkd3d-shader/ir: Introduce shader_instruction_array_append().
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in struct vsir_cfg_emit_target.
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in struct cf_flattener.
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader: Store a vkd3d_result in struct vkd3d_shader_parser.
vkd3d-shader/dxil: Handle sm6_parser_add_instruction() returning NULL.
vkd3d-shader/dxil: Set the parser status to VKD3D_ERROR_NOT_IMPLEMENTED on missing functionality.
vkd3d-shader/dxil: Propagate the vkd3d_result of sm6_parser_declare_global().
vkd3d-shader/dxil: Propagate parser errors in sm6_parser_init().
vkd3d-shader/dxil: Don't preallocate instructions in sm6_parser_globals_init().
vkd3d-shader/dxil: Don't preallocate instructions in sm6_function_emit_blocks().
vkd3d-shader/dxil: Get rid of sm6_parser_require_space().
vkd3d-shader/ir: Don't preallocate instructions in cf_flattener_iterate_instruction_array().
vkd3d-shader/ir: Don't preallocate instructions in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_jump().
vkd3d-shader/ir: Don't preallocate in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_block().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_loop().
vkd3d-shader: Update the vsir_program_iterator_insert_before() comment.
tests/shader_runner: Introduce a "cull-distance" capability.
tests/hlsl: Add a simpler clip/cull distance test.
tests/shader_runner_gl: Enable used GL_CLIP_DISTANCEs.
vkd3d-shader/dxil: Also map destination write masks for system values.
vkd3d-shader/ir: Validate I/O destination write masks on normalised vsir.
tests/hlsl: Test which shader models allow FOG and PSIZE.
vkd3d-shader/hlsl: Actually emit 0xf write masks for FOG and PSIZE destination operands.
vkd3d-shader/ir: Make FOG and PSIZE write masks 0x1 on I/O normalization.
vkd3d-shader/hlsl: Avoid member access on NULL resource load (ubsan).
vkd3d-shader/hlsl: Retrieve error_instr instead of NULL in hlsl_block_add_resource_load().
Giovanni Mascellani (105):
vkd3d: Use MESSAGE when exceeding Vulkan descriptor limits in d3d12_command_list_update_descriptor_table().
vkd3d-shader/msl: Access resources as non-multisampled if the sample count is 1.
vkd3d-shader/msl: Reject UAV stores to multi-sampled resources.
vkd3d-shader/ir: Introduce temp_allocator_compute_allocation_map().
vkd3d-shader/ir: Use a faster TEMP allocation algorithm.
vkd3d-shader/ir: Fix r0 allocation for PS 1.x shaders.
tests/hlsl: Skip a d3d11 minimum precision array indexing test on NVIDIA.
tests/hlsl: Fix the results for the 64-bit bit searching functions.
tests/hlsl: Skip a shader model 6 floating-point comparison test on Windows NVIDIA.
tests/hlsl: Explicitly specify the mantissa to be used for the frexp() test.
tests/hlsl: Skip testing frexp(inf) for shader models < 4.
tests/hlsl: Allow a larger error tolerance on a trigonometry test.
tests/shader_runner_metal: Enable supported UAV formats.
tests/hlsl: Add a test for SV_DispatchThreadId.
vkd3d-shader/msl: Implement VKD3DSPR_THREADID.
vkd3d-shader/ir: Do not carry "ins" across loop instances in vsir_program_materialize_undominated_ssas_to_temps().
vkd3d-shader/ir: Explicitly initialize instruction arrays.
vkd3d-shader/ir: Execute PHI SSA to TEMP materialization in a single pass.
vkd3d-shader/ir: Execute PHI SSA to TEMP materialization in each function.
ci: Run Linux tests on Debian trixie.
tests/hlsl: Add a test for SV_GroupIndex.
tests/hlsl: Add a test for SV_GroupID.
tests/hlsl: Add a test for SV_GroupThreadID.
vkd3d-shader/msl: Implement VKD3DSPR_LOCALTHREADINDEX.
vkd3d-shader/msl: Implement VKD3DSPR_LOCALTHREADID.
vkd3d-shader/msl: Implement VKD3DSPR_THREADGROUPID.
tests: Remove is_mesa_intel_device().
tests: Introduce get_vulkan_driver_version().
tests: Introduce get_mesa_driver_version().
tests: Introduce get_mvk_driver_version().
tests: Introduce get_nvidia_driver_version().
tests: Introduce get_llvm_driver_version().
tests/shader_runner: Introduce a new tag system.
vkd3d-shader/ir: Lower ABS modifiers to instructions.
vkd3d-shader/dxil: Generate ABS instructions instead of using modifiers.
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_binop().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in instruction_init_with_resource().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_dcl_register_builtin().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dx_dot().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in struct sm6_cmp_info.
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dcl_count().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dcl_primitive_topology().
vkd3d-shader/ir: Introduce VSIR_OP_NEG to represent floating-point negation.
vkd3d-shader/ir: Lower NEG modifiers to instructions.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the linear case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the exponential case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the doubly exponential case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the common part.
vkd3d-shader/ir: Lower ABSNEG modifiers to instructions.
vkd3d-shader/ir: Introduce VSIR_OP_SATURATE to represent floating-point clamping to [0, 1].
vkd3d-shader/ir: Lower SATURATE modifiers to instructions.
vkd3d: Do not put immutable samplers in the push descriptor set.
tests: Print ANSI colour codes in the Windows test driver.
tests/d3d12: Use D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE in test_depth_load().
tests/d3d12: Use D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE in test_stencil_load().
tests/hlsl: Check the result for attribute evaluation tests more sharply.
ci: Run the Windows tests with WARP version 1.0.16.1.
vkd3d-shader/ir: Remove SATURATE modifiers after lowering them.
vkd3d-shader/ir: Process all destinations when lowering SATURATE modifiers.
vkd3d-shader/ir: Ignore and drop PARTIALPRECISION modifiers.
vkd3d-shader/ir: Error out on unsupported destination modifiers.
vkd3d-shader/ir: Error out on unsupported source modifiers.
vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_lower_texcoord().
vkd3d-shader/ir: Explicitly assert that vsir_program_normalise_ps1_output() runs before I/O normalization.
vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_normalise_ps1_output().
vkd3d-shader/ir: Use VSIR_OP_SATURATE in insert_fragment_fog_before_ret().
vkd3d-shader/ir: Check that no modifier is added to a vsir program after lowering.
tests/hlsl: Use explicit infinities in cast-to-half.shader_test.
tests/hlsl: Do not test some details of float-to-half conversion.
tests/hlsl: Use explicit infinities in half.shader_test.
tests/hlsl: Evaluate asin() with larger error tolerance on SM6.
tests/hlsl: Add SM6 behaviour in sm1-const-folding.shader_test.
tests/hlsl: Tweak hyperbolic functions tests on WARP.
vkd3d-shader/msl: Introduce msl_get_binding().
vkd3d-shader/msl: Return a raw index from msl_get_binding().
vkd3d-shader/msl: Retrieve the CBV register space from the descriptor information.
tests/hlsl: Do not test overflowing a float-to-half typed buffer read.
tests/hlsl: Skip a tessellation test that is buggy on WARP with SM>=6.
vkd3d-shader/msl: Pass a descriptor to msl_get_cbv_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_srv_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_sampler_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_uav_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_binding().
tests/shader_runner_metal: Unify the UAV and TEXTURE cases when computing descriptor bindings.
vkd3d-shader/msl: Allow binding to descriptor arrays.
vkd3d-shader/msl: Implement support for VKD3DSPR_UNDEF registers.
tests/shader_runner_d3d12: Move the uniform root parameter to the end of the root signature.
tests/shader_runner: Add support for testing explicit descriptor mapping.
tests/hlsl: Test shader model 6.2 denormal mode for 32-bit floats.
tests/hlsl: Test shader model 6.2 denormal mode for 16-bit and 64-bit floats.
ci: Exclude the WARP driver from the test-win-32 and test-win-64 artifacts.
tests/hlsl: Do not execute 64-bit wave bitwise operations on WARP.
ci: Merge job test-win-64-dxc into test-win-64.
ci: Execute DXC tests on 32-bit as well.
tests/d3d12: Do not crash when failing to create a shader cache session.
tests/shader_runner_d3d12: Appropriately set the root descriptor table for dispatching.
tests/shader_runner_d3d12: Always create a descriptor heap.
tests/shader_runner: Generate a default descriptor mapping when none is provided.
tests/shader_runner_metal: Implement explicit descriptor mapping.
vkd3d-shader/dxil: Parse the gather offset as an int2.
tests/hlsl: Test using an SRV in combination with a CBV larger than the declared uniforms.
vkd3d-shader/spirv: Clamp push constant CBV sizes to those of the push constant ranges backing them.
tests/hlsl: Mark a denormalization mode test as todo on Intel.
tests/d3d12: Mark a texture aliasing test as todo on Intel.
Henri Verbeet (199):
tests/shader_runner: Use read_f32() to parse "uniform" directives.
tests/shader_runner: Use read_f64() to parse "uniform" directives.
vkd3d-shader: Implement scanning compute shader thread group size information.
vkd3d-shader/hlsl: Support MSL as target format.
vkd3d-shader/d3dbc: Store a pointer to the vsir program in struct vkd3d_shader_sm1_parser.
vkd3d-shader/dxil: Store a pointer to the vsir program in struct sm6_parser.
vkd3d-shader/tpf: Store a pointer to the vsir program in struct vkd3d_shader_sm4_parser.
vkd3d-common: Introduce VKD3D_SHADER_API_VERSION_CURRENT.
vkd3d-shader/ir: Generate location information in vsir_program_ensure_ret().
vkd3d-shader/ir: Generate location information in vsir_program_ensure_diffuse().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in use_flat_interpolation().
vkd3d-shader/ir: Pass a NULL location to vkd3d_shader_error() in insert_alpha_test_before_ret().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_alpha_test().
tests/shader_runner_metal: Implement compute shader dispatch.
vkd3d-shader/msl: Implement compute shaders.
vkd3d-shader/glsl: Implement support for static texel offsets in shader_glsl_ld().
vkd3d-shader/glsl: Implement VSIR_OP_DSX and VSIR_OP_DSY.
vkd3d-shader/glsl: Implement VSIR_OP_COS.
vkd3d-shader/glsl: Implement VSIR_OP_SIN.
vkd3d-shader/glsl: Implement VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_clip_planes().
vkd3d-shader/ir: Pass a NULL location to vkd3d_shader_error() in vsir_program_insert_point_size().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_point_size_clamp().
vkd3d-shader/ir: Generate location information in vsir_program_insert_point_coord().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_fragment_fog().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_vertex_fog().
vkd3d-shader/glsl: Implement VSIR_OP_UREM.
vkd3d-shader/glsl: Handle SV_INSTANCE_ID inputs.
vkd3d-shader/glsl: Implement support for VKD3DSPR_SAMPLEMASK registers.
vkd3d-shader/ir: Remove VSIR_OP_DCL_INPUT_PRIMITIVE instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_OUTPUT_TOPOLOGY instructions.
vkd3d-shader/ir: Introduce vsir_data_type_get_name().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_label_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_sampler_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_resource_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_uav_register().
vkd3d-shader/spirv: Rename vkd3d_spirv_get_type_id() to spirv_get_type_id_for_component_type().
vkd3d-shader/spirv: Rename vkd3d_spirv_get_type_id_for_data_type() to spirv_get_type_id().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_type_id_for_reg().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_spec_constant().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_buffer_parameter().
vkd3d-shader/d3d-asm: Check the actual index count in shader_print_register().
vkd3d-shader/dxil: Use vkd3d_shader_parser_error() to report errors in vsir_data_type_from_dxil().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_ssa_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_dst_param().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_src_param().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_elementwise_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_comparison_operation().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_register_addressing().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_descriptor_index().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_int_to_bool().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_int().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_int64().
vkd3d-shader/msl: Do not pretend to support initialisers for indexable temporaries.
vkd3d-shader/d3d-asm: Print data types for indexable temporary declarations.
vkd3d-shader/dxil: Emit 16-bit indexable temporaries as 32-bit registers.
vkd3d-shader/hlsl: Map HLSL_TYPE_HALF to VSIR_DATA_F32.
vkd3d-shader/ir: Map 16-bit vsir types to 16-bit component types in vkd3d_component_type_from_data_type().
vkd3d-shader/ir: Move the instruction array helpers to ir.c.
vkd3d-shader/hlsl: Implement constant folding of 'mad' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'sin' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'cos' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'reinterpret' expressions.
tests/hlsl: Add a constant folding test for round().
vkd3d-shader/hlsl: Implement constant folding of 'round' expressions.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_float().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_double().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_draw_parameter_fixup().
vkd3d-shader/spirv: Use spirv_get_type_id() in frag_coord_fixup().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_load_invocation_id().
vkd3d-shader/spirv: Handle i64 component types.
vkd3d-shader/ir: Handle all component types in vsir_data_type_from_component_type().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_cast_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_shift_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_throw_invalid_dst_type_error_with_flags().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_shader_epilogue_function().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dcl_indexable_temp().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_push_constant_buffers().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_cbv_declaration().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_resource_declaration().
vkd3d-shader/hlsl: vsir constant buffer sizes are specified in bytes.
vkd3d-shader/hlsl: Set the "flat constant" count in sm1_generate_vsir().
vkd3d-shader/hlsl: Use VKD3DSPR_COMBINED_SAMPLER destination operands in sm1_generate_vsir_sampler_dcls().
vkd3d-shader/hlsl: Set the "has_point_size" flag for vertex shaders outputting point sizes.
vkd3d-shader/ir: Make the vsir assembly data type names consistent with the corresponding enum elements.
vkd3d-shader/dxil: Allow returning signed types from vsir_data_type_from_dxil().
vkd3d-shader/dxil: Allow creating signed parameters in instruction_dst_param_init_ssa_scalar().
vkd3d-shader/dxil: Allow creating signed parameters in src_param_init_from_value().
vkd3d-shader/d3d-asm: Handle i64 immediate constants.
vkd3d-shader/ir: Require signed source operands for ITOF instructions.
vkd3d-shader/ir: Remove some unused fields from struct io_normaliser.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_workgroup_memory().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ext_glsl_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_movc().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_swapc().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dot().
tests/hlsl: Add a missing "}" to trigonometry.shader_test.
vkd3d-shader/ir: Require signed operands for ISHR instructions.
vkd3d-shader/ir: Validate USHR instructions.
vkd3d-shader/ir: Require signed source operands for signed integer comparison instructions.
vkd3d-shader/ir: Require signed operands for IMAX instructions.
vkd3d-shader/ir: Require signed operands for IMIN instructions.
vkd3d-shader/ir: Require default swizzles on vec4 immediate constants.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ftoi().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ftou().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dtof().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bitfield_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_f16tof32().
vkd3d-shader/ir: Avoid memset() in vsir_instruction_init().
vkd3d-shader/msl: Handle VSIR_DATA_BOOL operands.
vkd3d-shader/ir: Return early for shader model < 4 in vsir_update_dcl_temps().
vkd3d-shader/d3dbc: Don't call vsir_update_dcl_temps().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_f32tof16().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_comparison_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_float_comparison_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_lod().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ld_tgsm().
vkd3d-shader/spirv: Explicitly ignore HLSL compilation options.
vkd3d-shader/hlsl: Fold "x < 0" to false for unsigned x.
vkd3d-shader/hlsl: Remove a hlsl_type_is_integer() prototype.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_store_tgsm().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_uav_counter_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bufinfo().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_resinfo().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_query_sample_count().
vkd3d-shader/msl: Implement VSIR_OP_COS.
vkd3d-shader/msl: Implement VSIR_OP_SIN.
vkd3d-shader/msl: Implement VSIR_OP_TAN.
vkd3d-shader/msl: Implement VSIR_OP_HCOS.
vkd3d-shader/msl: Implement VSIR_OP_HSIN.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_sample_info().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_sample_position().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_eval_attrib().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_group_nonuniform_ballot().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_wave_bit_count().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_generate_spirv().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant_vector().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant64().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_construct_vector().
vkd3d-shader/msl: Implement VSIR_OP_HTAN.
vkd3d-shader/msl: Implement VSIR_OP_ACOS.
vkd3d-shader/msl: Implement VSIR_OP_ASIN.
vkd3d-shader/msl: Implement VSIR_OP_ATAN.
vkd3d-shader/msl: Implement VSIR_OP_FREM.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_spirv_builtin.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_symbol_register_data.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_register_info.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_symbol_resource_data.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_image.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_output_info.
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_array_variable().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_swizzle().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_vector_shuffle().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_scalar().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_dst_components().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_image_type_id().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ld_raw_structured_srv_uav().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_store_uav_raw_structured().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_atomic_instruction().
tests/shader_runner: Handle the "rgba" probe format as an alias for "f32".
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_load_src_with_type().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_dst_swizzled().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_interpolation_decorations().
vkd3d-shader: Get rid of component_type_is_64_bit().
vkd3d-shader/dxil: Ignore ORDERING_SEQCST.
vkd3d-shader/spirv: Do not handle division by zero for VSIR_OP_IDIV or VSIR_OP_IREM.
tests: Replace the test_shader_instructions() "ps_udiv" test with a shader runner test.
vkd3d-shader/glsl: Handle integer operands in shader_glsl_movc().
vkd3d-shader/ir: Handle integer division by zero in vsir_program_lower_udiv().
tests/shader_runner: Use format names if available in trace_format_cap().
vkd3d-shader/spirv: Handle VSIR_DATA_MIXED in spirv_get_type_id().
vkd3d-shader/msl: Implement VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Validate IDIV instructions.
vkd3d-shader/msl: Implement VSIR_OP_IDIV.
vkd3d-shader/msl: Implement VSIR_OP_UREM.
vkd3d-shader/ir: Require signed operands for IREM instructions.
vkd3d-shader/msl: Implement VSIR_OP_IREM.
vkd3d-shader/spirv: Emit an error for unhandled types in spirv_get_type_id().
tests/hlsl: Add tests for unorm and snorm buffer SRVs.
vkd3d-shader/glsl: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in shader_glsl_vprint_assignment().
vkd3d-shader/d3dbc: Trace the vsir program before applying any transformations.
tests: Test that ps_1_4 texld samples from the sampler corresponding to the destination operand.
vkd3d-shader/d3dbc: Get the resource/sampler index from the destination operand in vsir_program_lower_texld_sm1().
vkd3d-shader: Avoid referencing "ins" after insertion in vsir_program_materialise_phi_ssas_to_temps_in_function().
vkd3d-shader/spirv: Free the output on failure in spirv_compiler_generate_spirv().
vkd3d-shader/dxil: Only add declared ICBs to the vsir program.
vkd3d-shader/ir: Remove VSIR_OP_DCL_IMMEDIATE_CONSTANT_BUFFER instructions.
vkd3d-shader/msl: Include metal_stdlib in the generated code.
vkd3d-shader/msl: Implement VSIR_OP_SYNC.
vkd3d-shader/msl: Implement support for VKD3DSPR_IMMCONSTBUFFER registers.
vkd3d-shader/msl: Implement VSIR_OP_COUNTBITS.
vkd3d-shader/msl: Implement VSIR_OP_FIRSTBIT_LO.
vkd3d-shader/msl: Implement VSIR_OP_FIRSTBIT_HI.
vkd3d-common: Get rid of "vkd3d_dbg_env_name".
vkd3d-shader/d3d-asm: Avoid shader_print_data_type() in shader_dump_resource_data_type().
vkd3d-shader/hlsl: Consider scalars to be equivalent to 1-component vectors in hlsl_add_conditional().
vkd3d-shader: Document vkd3d_shader_scan_thread_group_size_info as a supported chained compilation structure.
vkd3d-shader: Explicitly support all chained compilation structures with vkd3d_shader_scan().
Nikolay Sivov (3):
vkd3d: Check that the allocator type matches the list type in d3d12_command_list_Reset().
vkd3d: Implement d3d12_device_CreateCommandList1().
tests/hlsl: Add some tests for special semantic name suffixes.
Petrichor Park (7):
tests: Normalise NAN values in compare_float() and compare_double().
tests/hlsl: Add some tests for the frexp() intrinsic.
vkd3d-shader/hlsl: Implement the frexp() intrinsic.
tests/hlsl: Split the test for countbits()/firstbithigh()/firstbitlow().
vkd3d-shader/hlsl: Implement the countbits() intrinsic.
vkd3d-shader/hlsl: Implement the firstbithigh() intrinsic.
vkd3d-shader/hlsl: Implement the firstbitlow() intrinsic.
Shaun Ren (29):
vkd3d-shader/hlsl: Check whether "expr" has more than 2 operands in hlsl_normalize_binary_exprs().
vkd3d-shader/glsl: Implement VSIR_OP_UGE.
vkd3d-shader/msl: Implement VSIR_OP_UGE.
vkd3d-shader/hlsl: Fold some general unary identities.
vkd3d-shader/hlsl: Fold some general conditional identities.
tests/shader_runner: Correct the minification filter and mipmap mode calculations.
tests/shader_runner: Correct the d3d11/d3d12 subresource indexing calculations.
tests/shader_runner: Allocate the d3d11/d3d12 resource_data arrays dynamically.
tests/hlsl: Add sample bias tests for cube textures.
vkd3d-shader/hlsl: Implement texCUBEbias().
tests/hlsl: Test ternary operations with integral vector operands.
vkd3d-shader/hlsl: Support SM1 non-floating point CMP expressions.
vkd3d-shader/hlsl: Remove the whitespace before the closing parenthesis in dump_ir_expr().
vkd3d-shader/hlsl: Reject SM1 programs with interpolation modifiers.
tests/shader_runner_d3d9: Add multisampling support.
tests/hlsl: Add tests for centroid interpolation in SM1.
vkd3d-shader/hlsl: Handle the "_centroid" modifier suffix in semantic names.
vkd3d-shader/hlsl: Add support for the centroid interpolation mode in SM1.
tests/shader_runner: Add a "compile shader model" require directive.
vkd3d-shader/ir: Determine the correct writemask for destinations with fixed masks.
vkd3d-shader/ir: Keep source swizzles for registers with fixed masks in temp_allocator_set_src().
vkd3d-shader/hlsl: Dump the jump condition node in dump_ir_jump().
tests/hlsl: Add some conditional flattening tests.
vkd3d-shader/hlsl: Cast discard_neg conditions to vec4 for d3dbc target profiles.
vkd3d-shader/hlsl: Store the flatten type in struct hlsl_ir_if.
vkd3d-shader/hlsl: Flatten conditional branches containing stores.
vkd3d-shader/hlsl: Flatten conditional blocks containing discard_nz instructions.
vkd3d-shader/hlsl: Flatten conditional blocks containing discard_neg instructions.
vkd3d-shader/hlsl: Use a bool type for "new_cond" in lower_conditional_block_discard_nz().
Victor Chiletto (6):
vkd3d-shader/hlsl: Emit texture declarations for SRV structured buffers.
vkd3d-shader/hlsl: Use the packed byte size as the stride for structured buffer texture declarations.
vkd3d-shader/hlsl: Emit vsir structured loads.
vkd3d-shader/hlsl: Force default majority for resource formats.
vkd3d-shader/hlsl: Emit RDEF metadata for SRV structured buffers.
tests/hlsl: Add a reflection test for SRV structured buffers.
```
1
0
The Wine development release 10.19 is now available.
What's new in this release:
- Support for reparse points.
- More support for WinRT exceptions.
- Refactoring of Common Controls after the v5/v6 split.
- Typed Arrays support in JScript.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.19.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.19/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.19 (total 34):
- #21483 Wine 1.1.33+ changed token security breaks .NET Framework 2.x SDK tools (debugging of managed code using 'Cordbg' and 'Mdbg')
- #45533 Multiple games need d3dx11_43.D3DX11CreateTextureFromMemory implementation (Puyo Puyo Tetris, HighFleet, Metro 2033, Project CARS)
- #48109 Lynx web browser hangs while starting and never shows start page
- #51630 "Enemy Territory: Quake Wars SDK 1.5 (EditWorld)" When typing in dialog forms (values, file names, etc.) program crashes
- #52128 Hog4PC 3.17 installer VBScript custom action needs scrrun:filesys_MoveFolder implementation
- #52251 Airline Tycoon Demo crashes on start
- #52371 Horizon Zero Dawn (GOG) gamepad not recognized
- #56187 windows.ui:uisettings fails on Windows 11
- #56935 Softube VST plugins are not drawing their UI
- #57001 Compute shader change causes Affinity Photo 2 to crash on start up
- #57241 Managed COM components fail to load outside of application directory
- #57569 BeamNG.drive minimizes its window during startup, with UseTakeFocus set to false.
- #58121 mIRC 7.81 not starting
- #58140 ODBC using unixodbc stopped working due to regression merge between 9.0 and 10.0
- #58320 ok() macro should not evaluate the format arguments if condition is not met.
- #58431 Pegasus Mail Changed font (regression)
- #58450 Total Annihilation (GOG, demo) – Wayland black screen on startup.
- #58504 MS Office 2007 semitransparent menus
- #58593 explorer.exe drop-down menu doesn't work
- #58631 WINE 10.13 breaks foobar2000
- #58650 Mouse cursor becomes invisible and unmovable
- #58832 Grey screen in Elasto Mania II on Wine 10.17
- #58872 Activated windows (via alt-tab) are not raised (sometimes).
- #58876 Windowed applications cannot be minimized in virtual desktop
- #58891 Mono's ProcessTest:Start1_FileName_Whitespace test fails
- #58893 Window caption updates have huge delay
- #58896 Control ultimate edition crashes with an out of vram error
- #58906 Starcraft: Brood war is stuttering
- #58915 Some RPG Maker MZ games experience issues with input handling
- #58916 winemac.drv no longer builds for i386
- #58918 Baldur's Gate 3 : Assertion failed : "!status && "vkQueueSubmit2KHR""
- #58930 Enemy Territory: Quake Wars SDK 1.5 launcher fails to start editor
- #58954 Explorer has broken interface
- #58955 Explorer has missing location bar
### Changes since 10.18:
```
Adam Markowski (1):
po: Update Polish translation.
Aida Jonikienė (2):
ntdll: Add SDL video driver variables to the special variables list.
ntdll: Add SDL audio driver variables to the special variables list.
Akihiro Sagawa (3):
quartz/tests: Add tests for 32 bpp AVI videos.
winegstreamer: Add ARGB32 format support for 32 bpp AVI videos.
winegstreamer: Always use bottom-up for AVI RGB videos.
Alexandre Julliard (46):
dbghelp: Use CRT allocation functions.
oleacc: Use CRT allocation functions.
quartz: Use CRT allocation functions.
shell32: Use CRT allocation functions.
user32: Use CRT allocation functions.
winedevice: Use CRT allocation functions.
kernelbase: Use NtCreateThreadEx() directly in CreateRemoteThreadEx().
ntdll: Handle the group affinity attribute in NtCreateThreadEx().
include: Install the wine/unixlib.h header.
schedsvc/tests: Remove Windows version check.
taskschd/tests: Remove Windows version check.
windows.storage: Forward some functions to shell32.
gdi32/uniscribe: Use CRT allocation functions.
iphlpapi: Use CRT allocation functions.
msvcp90: Use CRT allocation functions.
ntoskrnl: Use CRT allocation functions.
ole32: Use CRT allocation functions.
strmbase: Use CRT allocation functions.
comdlg32: Use CRT allocation functions.
faudio: Import upstream release 25.11.
ntdll: Treat FPU_sig and FPUX_sig as void* on i386.
kernelbase: Continue search if find_exe_file() found a directory.
kernelbase: Avoid using wine/heap.h helpers.
nsi: Avoid using wine/heap.h helpers.
winspool.drv: Avoid using wine/heap.h helpers.
winecrt0: Avoid using wine/heap.h helpers.
include: Remove the wine/heap.h header.
ntdll: Store special environment variables with a UNIX_ prefix.
ntdll: Set the environment variables for Unix child processes from their UNIX_ variant.
ntdll: Treat all the XDG_ variables as special.
ntdll: Don't import the Unix environment variables if they are too large.
winebuild: Don't bother to free spec file structures.
winebuild: Don't bother to free strings built by strmake().
winebuild: Use a generic array for apiset entries.
winebuild: Use a generic array for entry points.
winebuild: Use a generic array for imported functions.
winebuild: Use a generic array for variable values.
winebuild: Use generic arrays for resources.
winebuild: Assign section file positions once the offset is known.
ntdll: Don't copy WINEDLLOVERRIDES to the Windows environment.
ntdll: Remove Wine-internal variables from the Unix environment.
ntdll: Don't rebuild the Unix environment from the Windows one.
ntdll: Add some new processor features definitions.
ntdll: Use WINE_HOST_ instead of UNIX_ as environment variable prefix.
ntdll: Don't replace WINE_HOST_ variables if they already exist in the environment.
ntdll: Ignore some Unix variables when importing the environment.
Alistair Leslie-Hughes (1):
wined3d: Add GPU information for AMD Radeon RX 6700 XT.
Andrew Nguyen (1):
shell32: Retrieve shell autocompletion strings one at a time.
Anton Baskanov (12):
dmusic: Reuse downloaded waves.
dmsynth: Call fluid_sample_set_sound_data() with copy_data = FALSE.
dmsynth: Implement callback support in synth_Unload().
dmsynth: Release the waves when voices finish playing.
dmusic: Defer releasing IDirectMusicDownload when can_free is FALSE.
dmsynth: Allow zero-copy access to the sample data.
dmsynth: Remove format and sample_count from struct wave.
dmloader/tests: Add some ClearCache() tests.
dmloader: Free the cache entries manually in loader_Release().
dmloader: Don't remove the default collection from the cache.
dmloader: Mark cached objects as loaded.
dmloader: Don't use ReleaseObject() in loader_ClearCache().
Aric Stewart (1):
mf: Return E_NOINTERFACE if service is missing.
Bernd Herd (6):
gphoto2.ds: Progress dialog created by CreateDialog must be closed by DestroyWindow, not by EndDialog.
sane.ds: Progress dialog created by CreateDialog must be closed by DestroyWindow, not by EndDialog.
twain_32: Implement TWAIN feature DG_CONTROL / DAT_ENTRYPOINT / MSG_SET.
sane.ds: When opening a DS, return the identity information of the opened device.
sane.ds: Make comboboxes in property sheet high enough to properly drop down.
sane.ds: Fix setting resolution in user interface.
Bernhard Übelacker (11):
comctl32/tests: Terminate string literal by double null character (ASan).
itss: Avoid reading beyond buffer end in ITSProtocol_Start (ASan).
crypt32/tests: Add null character to avoid buffer overrun (ASan).
winhttp/tests: Fix setting string lengths in WinHttpCreateUrl_test (ASan).
iphlpapi/tests: Give GetBestRoute2 a SOCKETADDR_INET. (ASan).
iphlpapi/tests: Remove some unneeded casts to SOCKADDR_INET.
d3dx9_36/tests: Add end marker to the invalid tests (ASan).
d3d9/tests: Fix value of stride passed to DrawPrimitiveUP (ASan).
dsound: Avoid use after free in DSOUND_WaveFormat (ASan).
d3d8/tests: Increase size of quad array to avoid buffer overflow (ASan).
d3d9/tests: Increase size of quad array to avoid buffer overflow (ASan).
Brendan Shanks (15):
dwrite: Stop supporting very old FreeType versions.
win32u: Stop supporting very old FreeType versions.
winemac: Use C99 bool instead of int for Boolean values.
winemac: Use fallback implementation for color depth in GetDeviceCaps().
win32u: Unique URLs instead of file paths when enumerating Mac fonts.
opencl: Silence warnings on macOS for functions deprecated by OpenCL 1.2.
winemac: Fix an sprintf() deprecation warning.
winemac: Use CGDirectDisplayID in macdrv_get_monitors() and struct macdrv_adapter.
winemac: Have convert_display_rect() return a CGRect.
winemac: Stop using struct macdrv_display in macdrv_set_display_mode().
winemac: Stop using macdrv_get_displays() in macdrv_get_monitors().
winemac: Stop using macdrv_get_displays() in UpdateDisplayDevices().
winemac: Stop using macdrv_get_displays() in ChangeDisplaySettings(), GetDeviceGammaRamp(), SetDeviceGammaRamp().
winemac: Stop using macdrv_get_displays() in init_original_display_mode().
winemac: Remove macdrv_get_displays().
Charlotte Pabst (2):
ntdll/tests: Test image mapping with offset.
ntdll: Respect offset for image mappings.
Connor McAdams (9):
d3dx10: Downgrade invalid filter trace from an ERR to a WARN.
d3dx10/tests: Get rid of broken() workarounds for Vista.
d3dx10/tests: Cleanup test image definitions.
d3dx11: Add stubs for D3DX11GetImageInfoFromResource{A,W}().
d3dx11: Add stubs for D3DX11CreateTextureFromResource{A,W}().
d3dx11/tests: Rearrange and reformat tests to more closely match d3dx10 tests.
d3dx11/tests: Import test_get_image_info() from d3dx10.
d3dx11/tests: Import test_create_texture() from d3dx10.
d3dx11: Implement D3DX11CreateTextureFromMemory() using shared code.
Conor McCarthy (10):
mf: Update the stream sink input type when handling an output node format change.
mf/tests: Wait for sample delivery before checking the frame size.
mf/tests: Synchronise media event subscription.
mf/tests: Limit test_media_session_source_shutdown() session reuse tests.
mf/tests: Allow WAIT_TIMEOUT after close in test_media_session_Close().
mf/tests: Mark state comparison flaky after seek in test_media_session_seek().
mf/tests: Check the index in test_media_sink_GetStreamSinkByIndex().
mf/tests: Clean up at the end of test_media_session_seek().
mf/tests: Set test media stream sample duration by default and update current time on seek.
mf/tests: Create all MF test objects on the heap.
Elizabeth Figura (15):
winex11.drv: Fix an inverted condition in x11drv_surface_swap().
winex11: Trace flags with %#x.
ntdll/tests: Fix reparse test failures.
server: Implement FSCTL_SET_REPARSE_POINT.
server: Implement FSCTL_DELETE_REPARSE_POINT.
server: Implement FSCTL_GET_REPARSE_POINT.
ntdll: Pass attr and nt_name down to lookup_unix_name().
ntdll: Resolve IO_REPARSE_TAG_MOUNT_POINT during path lookup.
ntdll: Implement FILE_OPEN_REPARSE_POINT.
ntdll: Handle reparse points in NtQueryDirectoryFile().
ntdll: Return FILE_ATTRIBUTE_REPARSE_POINT from get_file_info().
ntdll: Fill FILE_ATTRIBUTE_REPARSE_POINT and the reparse tag in fd_get_file_info().
dxgi/tests: Use an explicit todo flag for checking window style.
kernelbase: Open the reparse point in CreateDirectory().
ntdll: Resolve IO_REPARSE_TAG_SYMLINK during path lookup.
Eric Pouech (5):
kernel32/tests: Test adding group affinity to proc/thread attributes list.
kernelbase: Support affinity group in process/thread attributes list.
include: Add missing process group related definitions.
kernel32/tests: Test thread creation with group affinity attributes.
kernelbase: Support group affinity attributes.
Erich Hoover (3):
kernelbase: Translate FILE_FLAG_OPEN_REPARSE_POINT.
kernelbase: Open the reparse point in DeleteFile().
kernelbase: Open the reparse point in RemoveDirectory().
Esme Povirk (1):
mscoree: Return S_OK from ICLRRuntimeHost_SetHostControl.
Fabian Maurer (1):
explorer: Increase height for pathbox to show dropdown elements.
Gabriel Ivăncescu (18):
jscript: Simplify get_flags to only check whether it's enumerable.
jscript: Add stub implementations for typed array constructors.
jscript: Add initial implementation of Typed Arrays.
jscript: Expose Typed Array constructor's BYTES_PER_ELEMENT prop.
jscript: Implement Typed Array construction on ArrayBuffers.
jscript: Implement ArrayBuffer.isView.
jscript: Implement Typed Array construction from objects.
jscript: Implement 'subarray' for Typed Arrays.
jscript: Implement 'set' for Typed Arrays.
jscript: Implement Uint8ClampedArray.
jscript: Expose Uint8ClampedArray only in ES6 mode.
jscript: Return JS_E_OBJECT_EXPECTED in valueOf with NULL disps in IE10+ modes.
mshtml: Add window.msCrypto stub.
mshtml: Add msCrypto.subtle stub.
mshtml: Implement msCrypto.getRandomValues.
mshtml: Implement "arraybuffer" type response for XMLHttpRequest.
mshtml: Use double for get_time_stamp to have sub-millisecond precision.
mshtml: Implement performance.now().
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.333.
Giovanni Mascellani (19):
mmdevapi/tests: Print the expected result code when failing a check.
mmdevapi: Use AUTOCONVERTPCM when initializing the audio client for spatial audio.
windows.media.speech: Use AUTOCONVERTPCM when initializing the audio client.
winmm: Use AUTOCONVERTPCM when initializing the audio client.
dsound: Use AUTOCONVERTPCM when initializing the capture audio client.
dsound: Use AUTOCONVERTPCM when initializing the render audio client.
dsound: Always require a floating-point mixing format.
dsound: Simplify computing the mixing format.
dsound: Do not query for mixing format support.
dsound: Do not query for supported formats for the primary buffer.
dxgi/tests: Add test context for D3D10 and D3D12 tests.
dxgi/tests: Test the frame latency waitable on D3D10 too.
dxgi/tests: Test the compatibility between the swapchain effect and the latency waitable.
dxgi: Do not allow the frame latency waitable for non-flip swap effects.
dxgi/tests: Test present count for D3D10, flip discard and no latency waitable.
dxgi/tests: Test present count for D3D10, flip discard and latency waitable.
mmdevapi/tests: Check that IsFormatSupported() sets the format to NULL when it returns E_POINTER.
mmdevapi: Move format validation in driver-independent code.
mmdevapi: Move generating the suggested format in the driver-independent code.
Hans Leidekker (2):
comdlg32/tests: Force console subsystem version 5.2.
shell32: Support SHARD_PATHW in SHAddToRecentDocs().
Haoyang Chen (5):
user32/tests: Add EM_{SET,GET}PASSWORDCHAR tests for edit control.
user32/edit: Allow setting password char on multiline edit controls.
comctl32/tests: Add EM_{SET,GET}PASSWORDCHAR tests for edit control.
comctl32/edit: Allow setting password char on multiline edit controls.
http.sys: Support the wildcard * in the hostname.
Jacek Caban (13):
mshtml/tests: Allow specifying compat mode and URL query string in single script mode.
jscript: Move SCRIPTLANGUAGEVERSION_ declarations to jsdisp.idl.
jscript: Don't expose DataView and ArrayBuffer objects in IE9 mode.
win32u: Introduce NtUserWintabDriverCall to provide a way for wintab32 to call display drivers.
wintab32: Attach tablet through win32u.
wintab32: Retrieve current tablet packet through win32u.
wintab32: Query tablet information through win32u.
wintab32: Initialize tablet through win32u.
winex11: Remove no longer needed unixlib.h.
opengl32: Take GL_CLIENT_STORAGE_BIT into account when picking vk memory type in create_buffer_storage.
opengl32: Use Vulkan-backed buffer storage only when GL_MAP_PERSISTENT_BIT is specified.
opengl32: Don't use PTR32 for manual wow64 wrappers return type.
opengl32: Add support for GL_NV_ES1_1_compatibility.
Jiajin Cui (4):
winex11.drv: Implement WS_EX_TRANSPARENT mouse pass-through with ShapeInput extension.
kernel32: Avoid some duplicate slashes in wine_get_dos_file_name.
gdiplus: Add memory cleanup on matrix inversion failure.
wow64win: Change parameter types from LONG to ULONG in wow64_NtUserMessageCall.
Jiangyi Chen (1):
ole32: Add support for writing VT_R8 property.
Kun Yang (1):
win32u: Change the stretch mode of dst hdc to ColorOnColor in TransparentBlt.
Marc-Aurel Zent (10):
winemac: Make macdrv_ime_process_key synchronous.
winemac: Remove QUERY_IME_CHAR_RECT and directly get ime_composition_rect.
kernelbase: Use NT_ERROR() to check for errors in WaitForMultipleObjectsEx.
kernelbase: Reimplement WaitForSingleObject[Ex] on top of NtWaitForSingleObject.
ntdll: Fix an off-by-one error in the pseudo-handle check for inproc syncs.
ntdll: Reimplement NtWaitForSingleObject without NtWaitForMultipleObjects.
ntdll: Reject pseudo-handles in NtWaitForMultipleObjects.
kernel32/tests: Add more tests for waits on pseudo-handles.
server: Fix Mach vm region info datatype in write_process_memory().
server: Correctly report partial write size in Mach write_process_memory().
Matteo Bruni (11):
dsound/tests: Get rid of a crashing test.
dsound: Simplify check in DSOUND_RecalcFormat().
dsound: Print time as an unsigned value.
dsound: Consistently trace locked byte count as an unsigned value.
dsound: Check data size in propset methods.
dsound: Fill all the DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE data.
dsound: Return the mmdevapi endpoint ID as module.
dsound/tests: Mark weird DescriptionW propset failure on the AMD testbot machine.
wined3d: Conditionally update saved window state in fullscreen mode.
dxgi/tests: Use test contexts in test_resize_target().
dxgi/tests: Test window states tracking and restoration in fullscreen mode.
Mohamad Al-Jaf (8):
windows.perception.stub/tests: Add IHolographicSpaceInterop::CreateForWindow() tests.
windows.perception.stub: Implement IHolographicSpaceInterop::CreateForWindow().
windows.perception.stub/tests: Add IHolographicSpace::get_PrimaryAdapterId() tests.
windows.perception.stub: Implement IHolographicSpace_get_PrimaryAdapterId().
windows.perception.stub: Stub some functions.
uxtheme: Handle NULL options in DrawThemeTextEx().
uxtheme/tests: Add some DrawThemeTextEx() tests.
windows.media.playback.mediaplayer/tests: Skip tests when CLASS_E_CLASSNOTAVAILABLE is returned.
Nikolay Sivov (32):
ntdll/tests: Remove some noisy traces.
dxcore/tests: Do not test for 0 deviceID.
rometadata: Use correct argument when unmapping a file view (Coverity).
dwrite: Add explicit inline helper for whitespace checks.
msxml3: Merge IXMLDocument and IXMLElement sources into a single file.
msxml3/tests: Add some tests for root element.
msxml3/tests: Add some tests for IXMLElement2::get_attributes().
msxml3/tests: Add some tests for comment nodes.
msxml3/tests: Add some tests for PI and CDATA nodes.
include: Fix IXMLDocument method spelling.
msxml3/tests: Add some more get_text() tests.
d2d1/effect: Add a description for the Gaussian Blur effect.
d2d1/effect: Add a description for the Point Specular effect.
d2d1/effect: Add a description for the Arithmetic Composite effect.
d2d1/tests: Reduce test run count for some tests.
d2d1/effect: Add property definitions for the Shadow effect.
msxml3: Rewrite legacy DOM API using SAX parser.
d2d1: Add property descriptions for the 2D Affine Transform effect.
d2d1/tests: Add a basic rendering test for the Flood effect.
user32/tests: Add some tests for GetWindow(GW_ENABLEDPOPUP).
user32: Implement GetWindow(GW_ENABLEDPOPUP).
d2d1/tests: Add some tests for creating shared bitmaps from IWICBitmapLock.
d2d1/effect: Add a separate factory functions for builtin effects.
d2d1/tests: Add another effect registration test.
gdi32: Ignore provided glyph position if ExtTextOutW() needs complex text processing.
d2d1: Add property bindings for a few of builtin effects.
d2d1: Add property data for the 3D Perspective Transform effect.
d2d1: Add property data for the Composite effect.
d2d1: Do not use property getter for standalone properties.
d2d1: Add property data for the Crop effect.
d2d1: Add property data for the Color Matrix effect.
dwrite/fallback: Add the Bamum Supplement range to the fallback data.
Paul Gofman (14):
ntdll: Implement NtAlertMultipleThreadByThreadId().
ntdll: Use NtAlertMultipleThreadByThreadId() in RtlWakeAddressAll().
xaudio2: Free effect chain on error return.
xaudio2_8: Add XAudio2CreateWithVersionInfo().
xaudio2_8: Don't crash on invalid XAPO interface.
ntdll: Set output frame to Rsp - 8 in epilogue on x64.
ntdll/tests: Test unwind with popping frame reg before another one on x64.
ntdll: Fix handling jmp in epilogue unwind on x64.
ntdll: Handle 0xff jump opcode in epilogue unwind on x64.
winhttp/tests: Always use secure connection to ws.ifelse.io in websocket tests.
ntdll: Fill IOSB in NtUnlockFile().
ntdll: Don't detect epilogue in chained unwind function on x64.
ntdll: Check for related functions in is_inside_epilog() when detecting tail call.
win32u: Fill some GPU info in HKLM\Software\Microsoft\DirectX.
Peter Castelein (1):
wined3d: Mark stateblock dirty in wined3d_stateblock_multiply_transform().
Piotr Caban (28):
msvcrt: Fix WinRT exception leaks in _except_handler4_common.
ucrtbase: Add __C_specific_handler tests.
include: Add DBCOLUMNDESC definition.
include: Define DBCOL_* GUIDs.
msado15: Return error in fields:_Append if recordset is open.
msado15: Stub object for representing tables in memory.
msado15: Store internal field representation in fields structure.
msado15: Support obtaining columns info from tables without provider.
msado15: Stub IRowsetExactScroll interface for tables without provider.
msado15: Add more _Recordset:AddNew tests.
vccorlib140: Move exception functions to new file.
vccorlib140: Remove platform_ prefix from exception function names.
msvcrt: Move TYPE_FLAG* and CLASS_IS* defines to cxx.h.
msado15: Stub IRowsetChange interface for tables without provider.
msado15: Stub IAccessor interface for tables without provider.
msado15: Improve Recordset::AddNew implementation.
msado15: Improve Recordset::get_RecordCount implementation.
vccorlib140: Fix exceptions RTTI data.
vccorlib140: Fix exception type descriptors.
msado15: Initilize Recordset columns lazily.
msado15: Skip bookmark column when creating IRowset Fields.
msado15: Stub IRowsetInfo interface for tables without provider.
msado15: Add partial IRowsetInfo::GetProperties implementation for tables without provider.
msado15: Improve _Recordset::CacheSize implementation.
msado15: Implement IRowset::GetNextRows for tables without provider.
msado15: Ignore first special column when populating Recordset.
msado15: Improve test IRowsetInfo::GetProperties implementation.
msado15: Fix test IRowsetLocate::GetRowsAt implementation.
Rémi Bernon (53):
win32u: Dispatch to the KHR function pointer when appropriate.
winex11: Flush X requests in X11DRV_SetWindowText.
wineandroid: Check if event list is empty before checking the pipe.
winemac: Only check if event pipe is drained with QS_ALLINPUT.
winex11: Only check if event pipe is drained with QS_ALLINPUT.
win32u: Don't strip semaphore / fence export info.
win32u: Set keyed mutex semaphore stage mask value.
win32u: Hoist get_thread_dpi in apply_window_pos.
win32u: Use a private flag to indicate fullscreen windows.
win32u: Get rid of is_window_rect_full_screen helper.
winex11: Prevent larger than monitor window resizes.
opengl32: Avoid a potential crash when flushing in wglSwapBuffers.
win32u: Disable vsync when emulating front buffer rendering.
winex11: Flush X requests in X11DRV_ActivateWindow.
winex11: Flush X requests in X11DRV_SetWindowIcons.
winex11: Flush X requests in X11DRV_SetWindowStyle.
winex11: Flush X requests in X11DRV_SetLayeredWindowAttributes.
winex11: Flush X requests in X11DRV_UpdateLayeredWindow.
win32u: Merge WM_SYSCOMMAND cases in WINE_WINDOW_STATE_CHANGED.
win32u: Don't forcefully activate windows before restoring them.
winex11: Make set_window_cursor helper static.
winex11: Remove unnecessary flushes from X11DRV_SetCapture.
winex11: Flush X requests in X11DRV_ClipCursor.
winex11: Flush X requests in X11DRV_SetCapture.
winex11: Flush X requests in X11DRV_NotifyIMEStatus.
winex11: Flush X requests in X11DRV_SetIMECompositionRect.
winex11: Flush X requests in X11DRV_FlashWindowEx.
winex11: Flush X requests in X11DRV_SystrayDockInit.
winex11: Flush X requests in X11DRV_SystrayDockRemove.
winex11: Flush X requests in X11DRV_SystrayDockInsert.
winevulkan: Force copy some missing semaphore / fence structs.
win32u: Stub NtGdiDdDDI(Signal|WaitFor)SynchronizationObjectFromCpu.
win32u/tests: Test NtGdiDdDDI(Signal|WaitFor)SynchronizationObjectFromCpu.
win32u/tests: Add external semaphore / fences tests.
vulkan-1/tests: Add timeline semaphore tests.
win32u: Consistently use "Wine Adapter" as default GPU name.
win32u: Use the native adapter name for some common GPUs.
win32u: Return the native OpenGL vendor name as GL_VENDOR string.
win32u: Return the native adapter name as GL_RENDERER string.
win32u: Add AMD Radeon RX 7600 XT device name.
winex11: Copy XF86VidModeModeInfo to the DEVMODEW driver data.
winex11: Always return full modes from settings handlers.
winex11: Introduce a x11drv_mode structure for full modes.
winex11: Retrieve full modes before applying new display settings.
winex11: Lock and flush display in X11DRV_ChangeDisplaySettings.
winevulkan: Move device quirks to the loader side.
winevulkan: Enumerate instance extensions on Vulkan initialization.
winevulkan: Check enabled instance extensions support on the PE side.
winevulkan: Enable VK_EXT_surface_maintenance1 extension on the instance.
winevulkan: Enumerate devices extensions on physical device initialization.
winevulkan: Check enabled device extensions support on the PE side.
winex11: Remove PFD_DRAW_TO_WINDOW from EGL configs not matching the display depth.
winevulkan: Avoid using nested quotes in make_vulkan format strings.
Tim Clem (5):
winemac.drv: Create window data for message-only windows.
ntdll: Retrieve FP state from an xcontext in the fpe handler, rather than the ucontext.
ntdll: Treat FPU_sig as a void* and memcpy to and from it as needed.
winemac.drv: Explicitly add an ivar for contentViewMaskLayer.
opengl32: Avoid null pointer dereferences when filtering extensions.
Vibhav Pant (20):
msvcrt: Call the destructor for C++ exceptions in __C_specific_handler.
vccorlib140/tests: Add additional tests for exception objects.
vccorlib140: Add Platform::Exception constructor implementation.
vccorlib140: Add Platform::Exception(HSTRING) constructor implementation.
vccorlib140: Add Platform::COMException constructor implementation.
vccorlib140: Add Platform::Exception::Message::get() implementation.
vccorlib140: Add Platform::Exception::CreateException() implementation.
vccorlib140: Throw exceptions on error paths.
vccorlib140: Implement __abi_translateCurrentException.
vccorlib140: Add stubs for {Get, Resolve}WeakReference.
vccorlib140: Implement {Get, Resolve}WeakReference.
vccorlib140: Add stub for __abi_ObjectToString.
vccorlib140: Add ToString() stubs for well-known types.
vccorlib140: Implement ToString() for well-known types.
vccorlib140: Implement __abi_ObjectToString.
vccorlib140: Implement IPrintable for Platform::Exception.
vccorlib140: Implement IPrintable for Platform::Type.
vccorlib140: Add stubs for delegate/EventSource helper functions.
vccorlib140: Implement delegate helper functions.
vccorlib140: Fix potential memory leak in allocation functions.
Wei Xie (3):
windowscodecs: Fix potential integer overflow in PNG format reader.
kernelbase: Allocate buffer dynamically in DefineDosDeviceW.
kernel32/tests: Add some DefineDosDeviceW test cases.
Yeshun Ye (2):
d2d1: Fix incorrect union member access in radial gradient brush.
d2d1: Fix missing geometry assignment in command list recording.
Yuxuan Shui (4):
include: Shut the compiler up about PDNS_RECORD array bounds.
include: Don't evaluate format arguments to ok() unless we need them.
kernel32/tests: Don't go beyond user space virtual address limit.
winetest: Add an option for setting timeout.
Zhengyong Chen (2):
ntdll/tests: Add NtRenameKey tests checking subkey after rename.
windowscodecs: Fix off-by-one check in IcoDecoder_GetFrame.
Zhiyi Zhang (37):
comctl32/tests: Test creating v5 windows after v6 manifest is deactivated.
user32: Fix loading comctl32 v5 after comctl32 v6 is loaded.
comctl32/tests: Test image list interoperation with comctl32 v5 and v6.
comctl32: Use a magic value to check if an image list is valid.
kernel32/tests: Add more GetModuleHandle() tests for WinSxS.
ntdll: Exclude SxS DLLs when finding a DLL with its base name and no activation contexts.
comctl32/progress: Add a helper to draw the background.
comctl32/progress: Move the theme background rect calculation.
comctl32/progress: Get the theme state directly from PROGRESS_INFO.
comctl32/progress: Get the theme handle from window.
comctl32/progress: Add a helper to check if a progress bar is smooth.
comctl32/progress: Add a helper to get the draw procedures.
comctl32/progress: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/progress: Add a helper to handle WM_THEMECHANGED.
comctl32/progress: Remove theming for comctl32 v5.
comctl32/propsheet: Remove theming for comctl32 v5.
comctl32/rebar: Add a helper to draw the gripper.
comctl32/rebar: Add a helper to draw the chevron.
comctl32/rebar: Add a helper to draw the band separator.
comctl32/rebar: Add a helper to draw the band background.
comctl32/rebar: Refactor REBAR_NCPaint().
comctl32/rebar: Remove theming for comctl32 v5.
comctl32/status: Refactor STATUSBAR_DrawSizeGrip() to take an HWND instead.
comctl32/status: Add a helper to draw the background for parts.
comctl32/status: Add a helper to draw the background.
comctl32/status: Remove theming for comctl32 v5.
comctl32/ipaddress: Use the system window text color to draw dots.
winex11.drv: Fix xinerama_get_fullscreen_monitors() not working correctly with non-fullscreen rects.
comctl32/tab: Add a helper to draw the border background.
comctl32/tab: Add a helper to draw the item theme background.
comctl32/tab: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/tab: Remove theming for comctl32 v5.
comctl32/toolbar: Add a helper to draw the separator.
comctl32/toolbar: Add a helper to draw the button frame.
comctl32/toolbar: Add a helper to draw the separator drop down arrow.
comctl32/toolbar: Add a helper to check if theme is enabled.
comctl32/toolbar: Remove theming for comctl32 v5.
```
1
0
The Wine development release 10.18 is now available.
What's new in this release:
- OpenGL memory mapping using Vulkan in WoW64 mode.
- Synchronization barriers API.
- Support for WinRT exceptions.
- SCSI pass-through in WoW64 mode.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.18.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.18/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.18 (total 30):
- #10349 Yukon Trail installer crashes at the end during DDE communication with Progman
- #24466 Sid Meier's Pirates! frequent hiccups, temporary lock-ups
- #33492 Yukon Trail installer fails to install its font
- #48027 cmd pipe | not triggering ReadFile EOF
- #48787 WineD3D C&C Generals Zero Hour takes a lot time to load or maximize
- #55981 GL applications (and d3d applications using the GL backend) are slow in new wow64
- #56209 winetricks vb5run fails
- #56915 Autodesk Fusion requires GetUserLanguages which is not implemented
- #57259 Keepass 2 automatic update dialog is broken (uses Taskdialog) EnableVisualStyles() from WinForms evidently doesn't work
- #57376 Permission denied vs No such file or directory when opening folders with trailing backslash
- #58229 _SH_SECURE sharing flag is not supported and causing _wfsopen to fail
- #58257 CD Manipulator cannot detect the drive model name in experimental wow64 mode.
- #58331 Wait cursor does not display
- #58391 Exact Audio Copy: Unable to interface with DVD drive on WoW64
- #58598 Realterm_2.0.0.70 / Crashes on start
- #58611 Nightshade crashes: err:seh:NtRaiseException Unhandled exception code c0000409 (native vcruntime140 works around the crash)
- #58697 Jolly Rover hangs upon starting with 100% cpu usage
- #58747 Directory opus fails start.
- #58749 Delayed startup of wine processes in Wine-10.16 when winemenubuilder.exe is disabled
- #58752 assembly:Z:\usr\share\wine\mono\wine-mono-10.2.0\lib\mono\4.5\mscorlib.dll type:DllNotFoundException
- #58791 MDk 2 games windows
- #58794 Multiple applications crash with assertion failure in cache_inproc_sync()
- #58795 The Witcher 2 crashes on start
- #58804 Incorrect ConfigureNotify processing in xfce
- #58812 PlayOnline Viewer: Application runs and works otherwise, but only shows a black screen.
- #58816 macOS: Window focus / activation issue
- #58828 Configure (build) fails since commit db2e157, if autoreconf needs to be applied before
- #58837 getCurrentThreadID error when enabling speedhack in Cheat Engine
- #58839 kernel32.timeGetTime error when enabling speedhack in Cheat Engine
- #58852 Minimised applications are restored with -4 vertical pixels (redux).
### Changes since 10.17:
```
Adam Markowski (1):
wine.desktop: Add Polish translation.
Akihiro Sagawa (9):
ntdll: Drop unused raw SCSI command support for NetBSD.
ntdll: Remove useless request_sense type check.
ntdll: Separate the I/O buffers in IOCTL_SCSI_PASS_THROUGH.
ntdll: Add wow64 support for IOCTL_SCSI_PASS_THROUGH.
kernel32/tests: Add IOCTL_SCSI_PASS_THROUGH tests for optical drives.
ntdll: Remove redundant definitions for Linux.
ntdll: Separate the I/O buffers in IOCTL_SCSI_PASS_THROUGH_DIRECT.
ntdll: Add wow64 support for IOCTL_SCSI_PASS_THROUGH_DIRECT.
kernel32/tests: Add IOCTL_SCSI_PASS_THROUGH_DIRECT tests for optical drives.
Alex Henrie (2):
kernel32: Move some time functions from winmm.
advpack: Ignore lines that begin with '@' in (Un)RegisterOCXs sections.
Alexandre Julliard (19):
server: Only use the export name for builtin modules.
winebuild: Always output an export directory for fake dlls.
server: Also use the export name for fake dlls.
configure: Work around install-sh requirement in autoconf <= 2.69.
makedep: Only output install rules at the top level.
makedep: Generate the uninstall files list directly from the install commands.
makedep: Store install command line arguments in the command list.
makedep: Make the output_rm_filenames helper more generic.
makedep: Install multiple files at once when possible.
ntdll: Don't map the PE header as executable.
gitlab: Fix regexp to extract dll name for Windows tests.
kernel32/tests: Use CRT allocation functions.
comctl32/tests: Use CRT allocation functions.
kernelbase: Fix error returned for paths with a trailing backslash.
mountmgr.sys: Only create serial and parallel keys when needed.
include: Add a couple of reparse point definitions.
ws2_32/tests: Add some tests for AF_UNIX sockets.
kernelbase: Reject all-space paths in SearchPath().
kernelbase: Reject empty command lines in CreateProcess().
Alexandros Frantzis (1):
winewayland: Pass through mouse events for transparent, layered windows.
Alistair Leslie-Hughes (2):
bcrypt: Add missing breaks.
include: Correct STACKFRAME for 64bits in imagehlp.h.
Anton Baskanov (8):
fluidsynth: Import upstream release 2.4.2.
fluidsynth: Calculate the inverted value explicitly in fluid_mod_transform_source_value().
fluidsynth: Invert relative to the max value instead of 1.0 in fluid_mod_transform_source_value().
dmusic/tests: Add tests for GUID_DMUS_PROP_Volume.
dmusic: Set volume when creating a synth.
dmusic: Handle GUID_DMUS_PROP_Volume.
dmime: Set master volume when adding a port.
dmime: Update master volume when GUID_PerfMasterVolume is set.
Bernd Herd (3):
sane.ds: Fix native TWAIN transfer mode for 64-bit.
gphoto2.ds: Decrease the number of remaining pending data transfers after every transfer.
gphoto2.ds: Return the DIB as a GlobalAlloc handle according to TWAIN spec instead of a HBITMAP.
Brendan Shanks (4):
winemac.drv: Include Carbon.h in macdrv_cocoa.h and remove duplicate definitions.
include: Implement C_ASSERT() using the C23 static_assert() if available.
ntdll: Avoid mmap() failures and Gatekeeper warnings when mapping files with PROT_EXEC.
configure: Only run checks in WINE_(MINGW_)PACKAGE_FLAGS when CFLAGS or LIBS is non-empty.
Byeong-Sik Jeon (2):
winemac: Use event handle to detect macdrv ime processing done.
win32u: Fix typo.
Conor McCarthy (8):
mf/tests: Skip the scheme resolver tests if network connectivity is unavailable.
mf/tests: Fix occasional hangs in test_media_session_source_shutdown().
mf/tests: Skip some tests invalid on current Windows 11.
mf/tests: Fix a scheme resolver test failure on current Windows 11.
mf/tests: Test H.264 sink media type height alignment.
mf/tests: Test H.264 decoder alignment.
mfmediaengine/tests: Test TransferVideoFrame() to IWICBitmap.
mfmediaengine: Support TransferVideoFrame() to IWICBitmap.
Dmitry Timoshkov (5):
wine.inf: Create [fonts] section in win.ini for 16-bit apps.
user32/tests: Add more tests for PackDDElParam/UnpackDDElParam(WM_DDE_ACK).
user.exe: Use larger buffer size for checking atom name.
user.exe: Add special handling for WM_DDE_ACK in response to WM_DDE_INITIATE.
wldap32/tests: Add one more check for an unreachable server.
Elizabeth Figura (9):
kernelbase: Remove an unused NtQueryInformationFile() from MoveFileWithProgress().
ntdll: Call cache_inproc_sync() inside the lock.
ntdll/tests: Add more reparse point tests.
ntdll/tests: Test NtQueryAttributesFile() with a root directory.
shell32/tests: Fix test failures in test_GetAttributesOf().
include: Pass a PROCESS_INFORMATION to winetest_wait_child_process().
user32: Implement CascadeWindows().
user32: Implement TileWindows().
winex11: Null-terminate a string used with RTL_CONSTANT_STRING().
Eric Pouech (9):
cmd: Fix lexer on input redirection.
cmd: Show file size greater than 4G in DIR command.
cmd: Initialize a local variable.
cmd: Fix a potential out of bounds access.
cmd: Fixed an invalid memory access spotted by SAST.
dbghelp: Use Unicode for some pathnames.
dbghelp: Remove useless process parameters.
dbghelp: Rewrite debug format search & load logic.
dbghelp: {dwarf} Keep .eh_frame mapped when no CU are present.
Felix Hädicke (3):
wbemprox/tests: Use check_property function in test_MSSMBios_RawSMBiosTables.
wbemprox/tests: Add tests for MSSMBios_RawSMBiosTables properties.
wbemprox: Implement more MSSMBios_RawSMBiosTables properties.
Gabriel Ivăncescu (15):
mshtml: Use a common object implementation for HTMLElementCollection enumerator.
mshtml: Use the common object implementation for HTMLDOMChildrenCollection enumerator.
mshtml: Use the common object implementation for HTMLFormElement enumerator.
mshtml: Use the common object implementation for HTMLSelectElement enumerator.
mshtml: Use the common object implementation for HTMLRectCollection enumerator.
mshtml: Use the common object implementation for HTMLStyleSheetsCollection enumerator.
mshtml: Use the common object implementation for HTMLAttributeCollection enumerator.
mshtml: Add private stub interfaces for validating form elements.
mshtml: Add private stub interfaces for validating input elements.
mshtml: Add private stub interfaces for validating button elements.
mshtml: Add private stub interfaces for validating object elements.
mshtml: Add private stub interfaces for validating select elements.
mshtml: Add private stub interfaces for validating text area elements.
mshtml: Implement checkValidity for HTMLInputElement.
mshtml: Implement enctype for HTMLFormElement.
Gerald Pfeifer (1):
winebus: Don't define hidraw_device_read_report unless used.
Ivan Lyugaev (1):
sane.ds: Adding saving scanner settings to the registry.
Jacek Caban (16):
gitlab: Update to llvm-mingw 20251007.
opengl32: Update to the current OpenGL spec.
opengl32: Include legacy aliases in the extension registry.
opengl32: Factor out make_context_current.
opengl32: Use the actual context GL version in is_extension_supported.
opengl32: Use stored GL version in check_extension_support.
opengl32: Hide GL versions larger than 4.3 on wow64 in make_context_current.
opengl32: Use stored context GL version in get_integer.
opengl32: Use stored GL version in wrap_glGetString.
opengl32: Split extensions by null bytes in the registry.
opengl32: Compute supported extensions in make_context_current.
opengl32: Use stored extension list in is_extension_supported.
opengl32: Use stored extensions in filter_extensions.
opengl32: Wrap buffer storage functions.
opengl32: Support wow64 buffer storage and persistent memory mapping using Vulkan.
urlmon/tests: Fix PersistentZoneIdentifier tests on some Windows versions.
Louis Lenders (1):
uxtheme: Add stub for GetThemeStream.
Marc-Aurel Zent (2):
ntdll: Do not set main thread QoS class on macOS.
ntdll: Remove unused parameter from linux_query_event_obj().
Michael Müller (1):
wineboot: Ensure that the ProxyEnable value is created.
Nikolay Sivov (39):
oleaut32/tests: Enable more tests for VarAdd().
oleaut32/tests: Enable more tests for VarOr().
oleaut32/tests: Enable more tests for VarXor().
oleaut32/tests: Enable more tests for VarCmp().
d2d1/tests: Add some tests for resulting format of the WIC target.
d2d1: Set alpha mode correctly for the WIC target.
d2d1: Implement Tessellate() for path geometries.
d2d1: Implement Tessellate() for ellipse geometries.
d2d1: Implement Tessellate() for rectangle geometries.
d2d1: Implement Tessellate() for rounded rectangle geometries.
d2d1/tests: Add a ComputeArea() test for the path geometry.
d2d1: Implement ComputeArea() for path geometries.
include: Remove some msxml6 types from msxml2.idl.
msxml3/tests: Remove duplicated test.
include: Remove more coclass entries from msxml2.idl.
d2d1: Implement ComputeArea() for ellipse geometries.
d2d1: Implement ComputeArea() for rounded rectangle geometries.
d2d1: Implement Tessellate() for transformed geometries.
d2d1/tests: Reduce test run count for some tests.
msxml6/tests: Move remaining tests for SAXXMLReader60.
include: Remove SAXXMLReader60 from msxml2.idl.
d2d1/tests: Extend test geometry sink.
d2d1/tests: Add a basic test for geometry streaming.
d2d1: Track specific failure reason during geometry population.
d2d1: Set more appropriate error code on geometry population.
d2d1: Handle invalid segment flags in SetSegmentFlags().
msxml6/tests: Add a leading whitespace test.
msxml3/tests: Add some SAX tests for PI nodes.
msxml3/sax: Add processing instructions callback.
msxml3/sax: Add basic support for startDTD()/endDTD().
msxml3/tests: Add some tests for IXMLDocument::get_charset().
msxml3/tests: Add some tests for "xmldecl-encoding".
msxml3/tests: Add more tests for document properties.
msxml3/tests: Add more tests for supported interfaces.
d2d1/tests: Add some property tests for the Gaussian Blur effect.
d2d1/tests: Add some property tests for the Point Specular effect.
d2d1/tests: Add some property tests for the Arithmetic Composite effect.
msxml3: Update to IXMLDocument2.
msxml3: Return static string from get_version().
Paul Gofman (9):
user32: Move GetWindowDisplayAffinity() stub to win32u.
kernel32: Avoid RBP-based frame in BaseThreadInitThunk() on x64.
ntdll: Add synchronization barrier stubs.
ntdll: Implement synchronization barrier functions.
kernelbase: Implement synchronization barrier functions.
tdh: Add semi-stub for TdhEnumerateProviders().
server: Use process_vm_readv() for other process memory read when available.
ntdll: Get written size from server in NtWriteVirtualMemory().
server: Use process_vm_writev() for other process memory write when available.
Piotr Caban (17):
d3d11: Fix wait_child_process() related test failures.
dinput: Fix wait_child_process() related test failures.
imm32: Fix wait_child_process() related test failures.
kernel32: Fix wait_child_process() related test failures.
mfplat: Fix wait_child_process() related test failures.
user32: Fix wait_child_process() related test failures.
win32u: Fix wait_child_process() related test failures.
windowscodecs: Fix wait_child_process() related test failures.
timeout: Fix wait_child_process() related test failures.
msvcrt: Deduplicate exception copying code.
msvcrt: Handle IUnknown exceptions in __DestructExceptionObject().
msvcrt: Handle IUnknown exceptions in copy_exception helper.
msvcrt: Call __DestructExceptionObject() in __ExceptionPtrDestroy.
ucrtbase: Fix wait_child_process crash.
msado15/tests: Test rowset queried interfaces instead of tracing them.
msado15: Mark recordset open in ADORecordsetConstruction:put_Rowset.
msvcrt: Rename exception *IUNKNOWN flags to *WINRT.
Robert Wilhelm (1):
scrrun: Implement MoveFolder().
Rémi Bernon (40):
server: Don't set QS_HARDWARE for every hardware message.
win32u: Only return from NtWaitForMultipleObjects if signaled.
win32u: Restore queue masks after processing driver events.
opengl32: Use a buffer map for gl(Draw|Read)Buffer(s).
opengl32: Implement front buffer rendering emulation.
win32u: Reset internal pixel format when pixel format is set.
win32u: Use floats for map_monitor_rect computation.
win32u: Stub NtGdiDdDDI(Acquire|Release)KeyedMutex(2) syscalls.
win32u/tests: Test acquire / release of D3DKMT keyed mutexes.
win32u: Set the process idle event from the client side.
winex11: Give colormap ownership to the surface after it's allocated.
ntdll: Fix (Nt|Zw)WaitForMultipleObjects signature.
win32u: Process driver events and internal hardware messages in NtUserSetCursor.
winegcc: Support subsystem version number in link.exe-style cmdline.
winegcc: Consistently use the subsystem option with Clang and MinGW.
comctl32/tests: Force console subsystem version 5.2.
dxgi/tests: Force console subsystem version 5.2.
quartz/tests: Force console subsystem version 5.2.
user32/tests: Force console subsystem version 5.2.
winegcc: Set the default console and windows subsystems version to 6.0.
win32u: Use a dedicated struct for D3DKMT mutex objects.
server: Use a dedicated struct for D3DKMT mutex objects.
win32u: Pass D3DKMT keyed mutex initial value on creation.
win32u: Implement acquire / release of D3DKMT keyed mutexes.
winex11: Move state change checks to window_update_client_state.
winex11: Remove now unnecessary SC_MOVE command handling.
win32u: Update the window config before its state, as internal config.
win32u: Fix incorrect resource allocation object type.
win32u: Call d3dkmt_destroy_sync from NtGdiDdDDIDestroySynchronizationObject.
win32u: Simplify some vulkan resource cleanup calls.
win32u: Query resource runtime data in d3dkmt_open_resource.
win32u: Open resource keyed mutex and sync object on import.
winevulkan: Require timeline semaphores for VK_KHR_win32_keyed_mutex.
win32u/tests: Test vulkan / D3DKMT keyed mutex interop.
win32u: Create timeline semaphores for resources keyed mutexes.
win32u: Grow vkQueueSubmit buffers to allow for keyed mutex semaphores.
win32u: Reserve an array of timeline semaphore submit structs.
win32u: Implement keyed mutex acquire / release with timeline semaphores.
winex11: Don't keep track of the minimized window rects.
winex11: Use window rects for minimization in virtual desktop mode.
Tim Clem (2):
winemac.drv: Never set a zero backing size for a GL context.
winemac.drv: Explicitly track the shape layer used for letter/pillarboxes.
Vibhav Pant (14):
rometadata: Implement IMetaDataTables::{Get{String,Blob,Guid,UserString}HeapSize, GetNumTables}.
rometadata: Implement IMetaDataTables::GetTableInfo.
rometadata: Implement IMetaDataTables::GetRow.
rometadata: Implement IMetaDataTables::Get{String,Blob,Guid}.
rometadata/tests: Add tests for IMetaDataTables::{GetColumnInfo, GetColumn}.
rometadata: Implement IMetaDataTables::{GetColumn, GetColumnInfo}.
kernelbase: Release console_section in case of an allocation failure in alloc_console.
vccorlib140: Add AllocateException and FreeException stubs.
vccorlib140: Add AllocateExceptionWithWeakRef stub.
vccorlib140: Add stubs for exceptions-related functions.
vccorlib140: Add tests for exceptions-related functions.
vccorlib140: Add stubs for Exception constructors.
vccorlib140: Implement AllocateException(WithWeakRef), FreeException.
msvcrt: Update WinRT exception type info in _CxxThrowException.
Yuxuan Shui (4):
wmvcore/tests: Check what happens to a WMSyncReader when its allocator fails.
winegstreamer: Return NS_E_NO_MORE_SAMPLES from WMSyncReader if sample fails to read.
user32/tests: Make sure testtext has enough null bytes at the end.
reg: Fix out-of-bound read when string is empty.
Zhengyong Chen (1):
server: Fix incorrect key modification in rename_key function.
Zhiyi Zhang (27):
windows.ui.core.textinput: Add stub DLL.
windows.ui.core.textinput: Add ICoreInputViewStatics stub.
windows.ui.core.textinput: Add core_input_view_statics_GetForCurrentView() stub.
windows.ui.core.textinput: Add core_input_view_GetCoreInputViewOcclusions() stub.
windows.ui.core.textinput: Add core_input_view_add_OcclusionsChanged() stub.
windows.ui.core.textinput: Implement IWeakReferenceSource for ICoreInputView.
comctl32: Move uxtheme headers to comctl32.h.
comctl32: Add a helper to open theme for a window.
comctl32: Add a helper to close the theme for a window.
comctl32: Add a helper to handle WM_THEMECHANGED.
comctl32: Add a helper to handle WM_NCPAINT messages.
comctl32/datetime: Add a helper to draw the background.
comctl32/datetime: Remove theming for comctl32 v5.
uxtheme: Add a stub at ordinal 49.
comctl32/header: Add a helper to check if theme is enabled.
comctl32/header: Add a helper to get the item text rect.
comctl32/header: Add a helper to draw the item text.
comctl32/header: Add a helper to draw the rest of the background.
comctl32/header: Remove theming for comctl32 v5.
comctl32/hotkey: Remove theming for comctl32 v5.
comctl32/ipaddress: Add a helper to get the theme text state.
comctl32/ipaddress: Add a helper to get the text colors.
comctl32/ipaddress: Add a helper to draw the background.
comctl32/ipaddress: Add a helper to draw the dots.
comctl32/ipaddress: Remove theming for comctl32 v5.
comctl32/listview: Remove theming for comctl32 v5.
comctl32/monthcal: Remove theming for comctl32 v5.
Ziqing Hui (8):
mfreadwrite: Add attributes member to writer struct.
mfreadwrite: Add converter transform to stream.
mfreadwrite: Implement IMFSinkWriterEx.
mfreadwrite: Implement sink_writer_SetInputMediaType.
mfreadwrite/tests: Test getting transform for a writer without converter.
qasf: Implement seeking for asf reader.
qasf: Add asf_reader_stop_stream helper.
qasf: Add asf_reader_start_stream helper.
```
1
0
The Wine development release 10.17 is now available.
What's new in this release:
- Mono engine updated to version 10.3.0.
- EGL renderer used by default for OpenGL.
- COMCTL32 split into separate v5 and v6 modules.
- Better support for ANSI ODBC drivers.
- Improved CPU info on FreeBSD.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.17.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.17 (total 17):
- #16214 Copy command does not support CON or CON:
- #38987 tlReader 10.x crashes when searching dictionary (wxWidgets 2.9.4 questionable theming support detection via comctl32 v6 version resource)
- #46603 Metro 2033 crashes on exit
- #46823 in wcmd.exe, trailing slash in "if exist SomeDir/" cause always false
- #51119 INSIDE ground is black rendered with OpenGL renderer
- #52633 Some buttons from Free Virtual Keyboard's setting dialog are unthemed, needs comctl32 version 6.
- #56157 create_logical_proc_info (Stub) : Applications can not spawn multiple threads
- #56381 "type" does not support binary files
- #56391 So Blonde: very long loading times
- #57448 Erratic mouse movement with waylanddriver in Throne and Liberty
- #57574 Wine 9.20: Application window positioning regression on laptop with multi monitor display setup
- #57691 wine-mono: ASan gets triggered in mono_path_canonicalize with strcpy-param-overlap.
- #58726 "Roon" music player only shows a blank white screen but buttons (that aren't displayed) technically work
- #58737 Download of large file via WinHTTP fails with WSATIMEDOUT
- #58755 16-bit applications crash under new wow64 on some processors
- #58770 Unable to Compile 10.16
- #58796 Wine configuration window doesn't appear after prefix creation
### Changes since 10.16:
```
Alexandre Julliard (37):
winebuild: Add support for stripping files before setting the builtin flag.
makedep: Use winebuild to strip installed files.
tools: Add an STRARRAY_FOR_EACH macro to iterate an strarray.
makedep: Use the STRARRAY_FOR_EACH macro.
widl: Use the STRARRAY_FOR_EACH macro.
wine: Use the STRARRAY_FOR_EACH macro.
winebuild: Use the STRARRAY_FOR_EACH macro.
winegcc: Use the STRARRAY_FOR_EACH macro.
wrc: Use the STRARRAY_FOR_EACH macro.
server: Consistently use STATUS_TOO_MANY_OPENED_FILES when running out of file descriptors.
gitlab: Use the release keyword to create a release.
winedump: Rename struct array to str_array.
tools: Add a generic array type.
makedep: Use a generic array for dependencies.
makedep: Use a generic array for include files.
makedep: Add an array of install commands instead of abusing strarrays.
makedep: Build the installed file name when registering the install command.
configure: Fix syntax error in hwloc check.
windows.devices.enumeration: Fix the build with older Bison.
ntdll: Don't assume that the NT name is null-terminated in get_load_order().
ntdll: Build the NT name string directly in get_mapping_info().
server: Return the module export name with the mapping info.
ntdll: Use the export name if any to find the corresponding builtin.
setupapi: Use the actual source name when registering a manifest.
makedep: Include maintainer-generated files from the parent source directory.
makedep: Use normal installation rules when symlinks are not supported.
comctl32: Move version resource to a separate file.
makefiles: List headers in the makefile if they shadow a global header.
setupapi: Only use the actual source name for the first file in the manifest.
msi/tests: Clear the export directory on copied dll to prevent loading the builtin.
tools: Move the fatal_perror function to the shared header.
tools: Add a shared helper to create a directory.
tools: Add an install tool.
makedep: Use the new install tool.
shell32: Move ShellMessageBox implementation to shlwapi.
configure: Remove a couple of unnecessary checks.
makedep: Don't use LDFLAGS for special programs like the preloader.
Bernhard Übelacker (1):
winegcc: Forward large address aware flag with platform windows.
Brendan Shanks (2):
winemac: Draw black letter/pillarboxes around full-screen content.
winemac: Remove the no-longer-needed macdrv_dll.h.
Connor McAdams (10):
d3dx10/tests: Use readback functions from d3d10core tests for resource readback.
d3dx10/tests: Add tests for the D3DX10_IMAGE_LOAD_INFO structure argument.
d3dx10: Fill pSrcInfo structure in D3DX10_IMAGE_LOAD_INFO if passed in.
d3dx10: Create 3D textures for images representing 3D textures.
d3dx10: Add support for custom texture dimension arguments in D3DX10_IMAGE_LOAD_INFO.
d3dx10: Add support for handling the format field in D3DX10_IMAGE_LOAD_INFO.
d3dx10: Handle filter value passed in via D3DX10_IMAGE_LOAD_INFO.
d3dx10: Add support for generating mipmaps to load_texture_data().
d3dx10: Handle FirstMipLevel argument in load_texture_data().
d3dx10: Pass D3DX10_IMAGE_LOAD_INFO texture creation arguments through in load_texture_data().
Damjan Jovanovic (1):
ntdll: Implement create_logical_proc_info on FreeBSD.
Dmitry Timoshkov (20):
include: Properly declare IADsPathname interface.
adsldp: Properly declare IADs and IADsADSystemInfo interfaces.
include: Add declarations for IADsDNWithString and IADsDNWithBinary interfaces.
activeds: Add IADsDNWithBinary class implementation.
adsldp: Use correct DN in IDirectorySearch::ExecuteSearch().
adsldp: Reimplement IADs::GetInfoEx() on top of IDirectorySearch interface.
adsldp: Implement IADs::GetEx().
adsldp/tests: Add some tests for IADs::GetEx().
adsldp: Implement IADs::get_Schema().
adsldp: Fail to create IADs if it doesn't have an associated schema attribute.
activeds: Retry without ADS_SECURE_AUTHENTICATION for an AD path.
adsldp/tests: Add some tests for IADs::get_Schema().
adsldp: Accept virtual objects in IADsOpenDSObject::OpenDSObject().
adsldp/tests: Add a test for opening schema as an ADs object.
activeds: Add registration of IADsDNWithString and IADsDNWithBinary objects.
adsldp: Add IADsObjectOptions stub implementation.
adsldp: Add support for IADsObjectOptions::GetOption(ADS_OPTION_SERVERNAME).
adsldp: Add support for IADsObjectOptions::GetOption(ADS_OPTION_ACCUMULATIVE_MODIFICATION).
adsldp: Return success for IADsObjectOptions::SetOption(ADS_OPTION_ACCUMULATIVE_MODIFICATION) stub.
activeds: Remove misleading comments.
Elizabeth Figura (9):
ddraw/tests: Fix some tests on modern Windows.
ddraw/tests: Expand and fix tests for EnumDevices().
ddraw: Expose the RGB device for version 1.
ddraw: Reorder ddraw7 enumeration.
ddraw: Rename the RGB device to "RGB Emulation".
ddraw: Fix the size for d3d1 and d3d2 EnumDevices().
user32/tests: Inline process helpers into test_child_process().
ntdll: Also fix up invalid gsbase in the syscall and unix call dispatchers.
shell32/tests: Expand attributes tests.
Eric Pouech (13):
wineconsole: Ensure conhost gets the expected title.
conhost: Support the close-on-exit configuration option.
winedbg: No longer expect a startup sequence in auto mode.
cmd/tests: Add some tests when using "complex" commands in pipes.
cmd: Introduce a new node for describing blocks.
cmd: Refactor run_external_full_path().
cmd: Introduce helper for handling pipe commands.
cmd: Run single commands in pipe in external cmd instance.
cmd: Rewrite binary operations for pipes.
cmd: Add support for IF commands in rewrite.
cmd: Rewrite FOR commands for pipe.
cmd: Rewrite explicit blocks for pipe.
cmd: Remove transition helpers for pipe commands.
Esme Povirk (3):
winbrand: Add stub dll.
winbrand: Partially implement BrandingFormatString.
mscoree: Update Wine Mono to 10.3.0.
Felix Hädicke (1):
winhttp: Type UINT64 for variables content_length and content_read.
Gabriel Ivăncescu (11):
mshtml: Factor out XMLHttpRequest creation.
mshtml: Factor out XMLHttpRequest constructor init.
mshtml: Separate the ifaces and the other XHR fields.
mshtml: Factor out XMLHttpRequest's get_responseText.
mshtml: Factor out XMLHttpRequest's abort.
mshtml: Factor out XMLHttpRequest's open.
mshtml: Factor out XMLHttpRequest's send.
mshtml: Add XDomainRequest factory implementation.
mshtml: Implement XDomainRequest.open().
mshtml: Implement timeout for XDomainRequest.
mshtml: Implement contentType for XDomainRequest.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.329.
Giovanni Mascellani (22):
mmdevapi/tests: Test after sleeping with read_packets().
mmdevapi/tests: Move GetBufferSize() checks to the beginning of the test.
mmdevapi/tests: Move checking the current padding out of read_packets().
mmdevapi/tests: Test after overrunning buffer with read_packets().
mmdevapi/tests: Test after stopping and restarting the client with read_packets().
mmdevapi/tests: Test after stopping, resetting and restarting the client with read_packets().
mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when rendering.
mmdevapi/tests: Tweak the lists of audio format to test.
mmdevapi/tests: Simplify checking IsFormatSupported() result when rendering.
mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when rendering.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when rendering.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when rendering.
mmdevapi/tests: Test extensible wave formats when rendering.
dsound: Remove dead lead-in logic.
dsound: Simplify a condition in DSOUND_MixInBuffer().
mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when capturing.
mmdevapi/tests: Tweak the lists of audio format to test when capturing.
mmdevapi/tests: Simplify checking IsFormatSupported() result when capturing.
mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when capturing.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when capturing.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when capturing.
mmdevapi/tests: Test extensible wave formats when capturing.
Hans Leidekker (1):
bcrypt: Support import/export for generic ECDH/ECDSA algorithms.
Jacek Caban (4):
mshtml: Reset event handlers in document.open.
win32u: Wrap vkGetPhysicalDeviceProperties2[KHR].
win32u: Move LUID handling from winevulkan.
winevulkan: Use generated PE thunks for vkGetPhysicalDeviceProperties2[KHR].
James McDonnell (3):
shell32: Add shield icon.
shell32: Map stock icons to shell32 resource id.
shell32/tests: Add a test for stock icons.
Jiangyi Chen (2):
user32/tests: Add some tests for uiLengthDrawn calculation in DrawTextExW().
user32: Fix uiLengthDrawn calculation in DrawTextExW().
Jinoh Kang (1):
ntdll: Use ReadPointerAcquire to get pointer value in RtlRunOnceComplete.
Louis Lenders (2):
gdi32: Add stub for GetEnhMetaFilePixelFormat.
uxtheme: Add stub for GetThemeBitmap.
Luca Bacci (1):
ntdll: Use ReadPointerAcquire to get pointer value in RtlRunOnceBeginInitialize.
Marc-Aurel Zent (4):
server: Add get_effective_thread_priority() helper.
server: Add set_thread_disable_boost() helper.
server: Boost main thread priority.
ntdll: Switch to CLOCK_BOOTTIME for monotonic counters when available.
Matteo Bruni (6):
d3dx9: Handle inverse transposed matrix in UpdateSkinnedMesh().
d3dx9/tests: Skip ID3DXRenderToSurface tests if BeginScene() fails.
d3dx9/tests: Increase tolerance in test_D3DXSHEvalDirectionalLight().
d3dx9/tests: Add some fallback formats in the texture tests.
d3dx10/tests: Disable size validation test.
d3dx11/tests: Disable size validation test.
Michael Müller (1):
shell32: Set SFGAO_HASSUBFOLDER correctly for normal shellfolders.
Michael Stefaniuc (11):
dmstyle: Move the parsing of the style bands to a helper.
dmstyle: Avoid Hungarian notation in a private struct.
dmstyle: Simplify the load_band() helper.
dmstyle: Move the IStream resetting to the load_band() helper.
dmstyle: Use load_band() for the pattern band too.
dmstyle: Simplify the style IPersistStream_Load method.
dmstyle: Remove no longer needed helpers.
dmstyle: Issue a FIXME for unhandled references to chormaps in a style.
dmscript: Move the loading of the container to a helper.
dmscript: Reimplement the loading of a script.
dmscript: Get rid of the IDirectMusicScriptImpl typedef.
Nikolay Sivov (32):
odbc32: Implement SQLSpecialColumnsW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_SEARCH_PATTERN_ESCAPE) for ANSI win32 drivers.
odbc32: Implement SQLColumnsW() for ANSI win32 drivers.
oledb32/tests: Add some more tests for the error object.
oledb32: Rename error object creation helper.
oledb32/error: Store a dynamic id for each error record.
oledb32/errorinfo: Add a helper to access records by index.
oledb32/errorinfo: Return 0-record info with GetGUID().
oledb32/errorinfo: Rename a helper.
oledb32/errorinfo: Return stub error info objects from GetErrorInfo().
oledb32/errorinfo: Reference error object for each returned IErrorInfo instance.
oledb32/errorinfo: Implement GetSource() using error lookup service.
oledb32/errorinfo: Release dynamic error information on cleanup.
oledb32/errorinfo: Implement GetDescription() using error lookup service.
oledb32/errorinfo: Implement GetHelpFile() using error lookup service.
oledb32/errorinfo: Implement GetHelpContext() using error lookup service.
oledb32/errorinfo: Implement IErrorInfo methods of the error object.
oledb32/errorinfo: Implement GetGUID().
oledb32: Consider requested interface in DllGetClassObject().
oledb32: Use public symbol for the Error Object CLSID.
dwrite: Update script information with Unicode 16.0 additions.
dwrite: Explicitly check scripts for "complexity" property.
mfplat/tests: Fix a crash on some Windows systems.
ole32: Move CoTreatAsClass() to combase.
combase: Check for null arguments in CoTreatAsClass().
combase: Remove unreachable failure path in CoTreatAsClass().
ole32: Move CoIsOle1Class() stub to combase.
oleaut32/tests: Enable more tests for VarMul().
oleaut32/tests: Enable more tests for VarEqv().
oleaut32/tests: Enable more tests for VarXor().
oleaut32/tests: Enable more tests for VarAnd().
bcp47langs/tests: Fix a crash when running on Wine.
Owen Rudge (3):
taskschd: Only release ITaskDefinition if creation of RegisteredTask fails.
taskschd/tests: Add test for ITaskDefinition Data property.
taskschd: Implement ITaskDefinition Data property.
Paul Gofman (12):
server: Support NULL job handle in get_job_info().
shell32: Add Screenshots known folder.
win32u: Bump GPU internal driver versions to a future version.
ntdll: Add a stub for EtwEventWriteEx().
advapi32: Add a stub for EnumerateTraceGuidsEx().
windows.media.speech: Add stub IRandomAccessStream interface to SpeechSynthesisStream class.
windows.media.speech: Add stub IInputStream interface to SpeechSynthesisStream class.
windows.media.speech: Add semi-stub for synthesis_stream_input_ReadAsync().
windows.media.speech: Return semi-stub IAsyncInfo from async_with_progress_uint32_QueryInterface().
ntdll/tests: Add more tests for nested exceptions on x64.
ntdll: Make nested_exception_handler() arch specific.
ntdll: Clear nested exception flag at correct frame on x64.
Piotr Caban (17):
odbc32: Add SQLDriverConnectA() implementation.
odbc32: Handle SQL_C_WCHAR conversion in SQLGetData for ANSI drivers.
odbc32: Implement SQLStatisticsW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_STRING_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_NUMERIC_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_TIMEDATE_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_SYSTEM_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_CONVERT_*) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_CONCAT_NULL_BEHAVIOR) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_EXPRESSIONS_IN_ORDERBY) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ORDER_BY_COLUMNS_IN_SELECT) for ANSI win32 drivers.
odbc32: Remove prepare_con() helper.
odbc32: Support SQLGetInfo(SQL_OJ_CAPABILITIES) in older drivers.
odbc32: Remove debugstr_sqllen() helper.
odbc32: Remove debugstr_sqlulen() helper.
msvcrt: Optimize _ismbcspace_l for ASCII range.
msvcrt: Support anonymous namespace in __unDName().
Ratchanan Srirattanamet (1):
msi: Record feature in assembly publication when package has 2+ features.
Reinhold Gschweicher (1):
msxml3/element: Implement removeAttributeNode function.
Rémi Bernon (76):
gitlab: Install mesa-vulkan-drivers packages.
server: Move class info to the shared memory object.
win32u: Read class info from the shared memory object.
server: Allocate shared memory objects with dynamic size.
server: Move extra class info to the shared memory object.
win32u: Read extra class info from the shared memory object.
win32u: Ensure D3DKMTQueryVideoMemoryInfo usage is smaller than budget.
winevulkan: Treat LPCWSTR and HANDLE as pointer sized types.
win32u: Pass the name of the extension to replace to get_host_extension.
win32u: Swap VK_KHR_external_memory_win32 with the matching host extension.
win32u: Create D3DKMT global resources for exported Vulkan memory.
win32u: Implement Vulkan memory D3DKMT NT shared handle export.
win32u: Implement Vulkan memory D3DKMT global / shared handle import.
win32u: Implement Vulkan memory D3DKMT handle import from name.
maintainers: Assume maintainership of the GL / VK / D3DKMT areas.
opengl32: Remove deprecated WGL_RENDERER_ID_WINE constant.
win32u: Enumerate and initialize EGL devices as separate platforms.
win32u: Initialize some renderer properties with EGL devices.
win32u: Check maximum context versions with EGL devices.
win32u: Check renderer version and video memory from EGL devices.
winevulkan: Swap VK_KHR_external_semaphore_win32 with the host extension.
win32u: Swap handle types in vkGetPhysicalDeviceExternalSemaphoreProperties.
win32u: Implement export of semaphores as D3DKMT global handles.
win32u: Implement import of semaphores from D3DKMT global handles.
win32u: Implement export of semaphores as D3DKMT shared handles.
win32u: Implement import of semaphores from D3DKMT shared handles.
win32u: Implement import of semaphores from D3DKMT object names.
server: Use the object runtime data size for the reply.
server: Don't crash in d3dkmt_share_objects if attributes are invalid.
win32u: Fix swapped security / root object attributes.
win32u: Introduce a new D3DKMT_ESCAPE_UPDATE_RESOURCE_WINE code.
winevulkan: Swap VK_KHR_external_fence_win32 with the host extension.
win32u: Swap handle types in vkGetPhysicalDeviceExternalFenceProperties.
win32u: Implement export of fences as D3DKMT global handles.
win32u: Implement import of fences from D3DKMT global handles.
win32u: Implement export of fences as D3DKMT shared handles.
win32u: Implement import of fences from D3DKMT shared handles.
win32u: Implement import of fences from D3DKMT object names.
winex11: Flush the thread display after processing every event.
winex11: Remove some arguably unnecessary XFlush calls.
win32u: Check QS_DRIVER bit before calling ProcessEvents.
win32u: Pass the caller class name to NtUserCreateWindowEx.
win32u: Use the caller class name in CREATESTRUCT lpszClass.
win32u: Set CREATESTRUCT lpszClass to the base class name.
winex11: Move colormap ownership to x11drv_client_surface.
winex11: Use the visual depth when creating the client window.
winex11: Lookup visual from EGL config EGL_NATIVE_VISUAL_ID.
win32u: Move fetching window icon out of the drivers.
winex11: Clear WS_VISIBLE to delay showing layered windows.
winex11: Remove unnecessary calls to map_window helper.
winex11: Call window_set_wm_state instead of map_window.
win32u: Use an absolute wait timeout in wait_message.
win32u: Keep waiting on the queue until it gets signaled.
server: Clear QS_RAWINPUT | QS_HARDWARE in get_rawinput_buffer.
win32u: Process internal hardware messages while waiting.
server: Don't set QS_RAWINPUT for internal hardware messages.
winevulkan: Move physical device extension checks around.
winevulkan: Require VK_EXT_map_memory_placed for WOW64 memory export.
winevulkan: Handle WOW64 conversion of SECURITY_ATTRIBUTES.
ntdll: Export wine_server_send_fd to other unix libs.
win32u: Export host memory unix file descriptor.
win32u: Send D3DKMT object fd to wineserver on creation.
win32u: Import vulkan memory from the D3DKMT object fd.
win32u/tests: Avoid closing invalid handle after OpenSharedHandleByName.
win32u: Use local handles in D3DKMT_ESCAPE_UPDATE_RESOURCE_WINE.
win32u: Fix incorrect D3DKMT exported name length.
winex11: Use EGL by default for OpenGL rendering.
server: Target the default or foreground window for internal hardware messages.
winex11: Avoid freeing default colormap.
win32u: Keep exported semaphore fd with the global D3DKMT object.
win32u: Import Vulkan semaphore from the D3DKMT object fd.
win32u: Keep exported fence fd with the D3DKMT global object.
win32u: Import Vulkan fence from the D3DKMT object fd.
winex11: Update WM_HINTS and NET_WM_STATE when WM_STATE isn't.
winex11: Simplify the logic to reset cursor clipping.
winex11: Remove unnecessary extra window hiding condition.
Sven Baars (3):
ntdll: Cast tv_sec to ULONGLONG before multiplying.
mmdevapi/tests: Use %I64u instead of %llu.
winhttp: Use %I64u instead of %llu.
Ugur Sari (1):
netapi32: Add stubs for NetValidatePasswordPolicy and NetValidatePasswordPolicyFree.
Vasiliy Stelmachenok (5):
opengl32: Fix incorrect wglQueryCurrentRendererStringWINE call.
opengl32: Generate entry points for EGL_EXT_device_drm extension.
win32u: Stub WGL_WINE_query_renderer when EGL devices are supported.
win32u: Implement wglQueryCurrentRenderer* with wglQueryRenderer*.
win32u: Implement wglQueryRendererStringWINE with EGL devices.
Vibhav Pant (7):
makedep: Support including generated WinRT metadata in resource files.
cfgmgr32/tests: Add tests to ensure DevGetObjects(Ex) does not de-duplicate requested properties.
windows.devices.enumeration/tests: Add tests for device properties for IDeviceInformation objects.
windows.devices.enumeration/tests: Add tests for IDeviceInformationStatics::FindAllAsyncAqsFilterAndAdditionalProperties.
windows.devices.enumeration: Implement IDeviceInformation::get_Properties.
windows.devices.enumeration: Implement IDeviceInformationStatics::{FindAllAsyncAqsFilterAndAdditionalProperties, CreateWatcherAqsFilterAndAdditionalProperties}.
rometadata: Add stub for IMetaDataTables.
Vijay Kiran Kamuju (1):
bcp47langs: Add stub for GetUserLanguages.
Yuxuan Shui (4):
windows.devices.enumeration: Fix use-after-realloc in devpropcompkeys_append_names.
windows.devices.enumeration: Don't leave dangling pointers if devpropcompkeys_append_names fails.
iphlpapi: Give GetBestRoute2 a SOCKETADDR_INET.
include: Add atomic read/write of pointers.
Zhengyong Chen (1):
imm32: Do not overwrite input context window with GetFocus() in ime_ui_update_window.
Zhiyi Zhang (26):
comctl32/tests: Fix a window leak.
user32: Load version for comctl32 v6 window classes.
comctl32/tests: Add version tests.
comctl32: Separate v5 and v6.
comctl32/tests: Add RegisterClassNameW() tests.
comctl32: Remove user32 control copies in comctl32 v5.
comctl32/tests: Test v6 only exports.
comctl32: Remove taskdialog from comctl32 v5.
comctl32: Remove syslink from comctl32 v5.
comctl32: Remove v6 only exports.
comctl32/tests: Add CCM_SETVERSION tests.
comctl32/toolbar: Don't change Unicode format when handling CCM_SETVERSION.
comctl32/listview: Fix CCM_{GET,SET}VERSION handling.
comctl32/rebar: Fix CCM_{GET,SET}VERSION handling.
comctl32/toolbar: Fix CCM_{GET,SET}VERSION handling.
include: Bump COMCTL32_VERSION to 6.
comctl32/tests: Move toolbar Unicode format tests.
comctl32: Add a helper to handle CCM_SETVERSION messages.
user32/tests: Remove some broken() for older systems in test_comctl32_class().
wintypes: Fix a memory leak.
wintypes: Restore a pointer check in property_value_statics_CreateString().
wintypes: Increase string reference count when property_value_GetString() succeeds.
wintypes: Create a copy for string arrays for property_value_statics_CreateStringArray().
wintypes: Increase string reference count when property_value_GetStringArray() succeeds.
winex11.drv: Ignore fullscreen window config changes.
win32u: Correct a comment.
```
1
0
The Wine development release 10.16 is now available.
What's new in this release:
- Fast synchronization support using NTSync.
- 16-bit apps supported in new WoW64 mode.
- Initial support for D3DKMT objects.
- WinMD (Windows Metadata) files generated and installed.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.16.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.16 (total 34):
- #7115 Need for Speed III installer fails in Win9X mode, reporting "Could not get 'HardWareKey' value" (active PnP device keys in 'HKEY_DYN_DATA\\Config Manager\\Enum' missing)
- #21855 Lotus Word Pro 9.8: Windows pull down does not show file names
- #27002 Shadow Company: Left for Dead fails with "No usable 3D Devices installed".
- #32572 Multiple games have no character animation (Alpha Polaris, Face Noir, A Stroke of Fate series)
- #38142 Approach fields box only show 3/4 of one line
- #43124 Overwatch loses focus on respawn
- #44817 Some software protection schemes need ntdll.NtSetLdtEntries to modify reserved LDT entries
- #49195 Multiple 4k demoscene OpenGL demos crash on startup (failure to lookup atom 0xC019 'static' from global atom tables)
- #49905 VbsEdit runs wscript.exe with unsupported switches /d and /u
- #50210 Multiple games need D3DX11GetImageInfoFromMemory implementation (S.T.A.L.K.E.R.: Call of Pripyat, Metro 2033, Project CARS)
- #53767 vbscript fails to handle ReDim when variable is not yet created
- #54670 16-bit applications fail in wow64 mode
- #55151 PC crashes after endlessly eating up memory
- #57877 CMD: Parsing issue: Mismatch in parentheses provoked by trailing tab
- #58156 Star Wars: Jedi Knight - Dark Forces II Demo & other games: won't launch, "smackw32.DLL" failed to initialize (macOS)
- #58204 Winecfg Audio tab doesn't enumerate drivers or show output devices, but test button works.
- #58458 Wolfenstein: The Old Blood (Wolfenstein: The New Order) fails to start with EGL opengl backend
- #58480 winebuild ASLR breaks older DLLs
- #58491 Flickering on video-surveilance-app is back
- #58515 Street Chaves only displays a black screen
- #58534 Grand Theft Auto: Vice City intros play with a black screen
- #58602 Screen Issue in Colin McRae Rally 2
- #58637 SimCity 2000 Windows 95 edition doesn't launch in WoW64 mode
- #58651 Legacy of Kain: Blood Omen black screen on startup but with sound using Verok's patch
- #58666 wine 10.14 fails to build in alpine linux x86
- #58688 Regression: Xenia Canary crashes with STATUS_CONFLICTING_ADDRESSES when starting a game on Wine 10.13+ (works on 10.12)
- #58699 Profi cash 12 user interface is rendered mostly black
- #58700 Regression: Direct3D applications show a blank screen under wined3d in 10.15
- #58705 Wolfenstein: The New Order (Wolfenstein: Old Blood) - the screen is black
- #58710 wmic now also prints system properties since 3c8a072b52f2159e68bfd4e471faf284309201ed
- #58716 Camerabag Pro 2025.2 crashes with unhandled exception (unimplemented function propsys.dll.PropVariantToFileTime) on loading a JPEG
- #58730 Images in iTunes have a white background (see picture)
- #58742 winedbg: Internal crash at 00006FFFFF8CB5E5 (pe_load_msc_debug_info)
- #58744 Missing Type on get_type within dlls/msi/suminfo.c
### Changes since 10.15:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (43):
ntdll: Delay first thread initialization until process init.
ntdll: Use a separate bitmap to keep track of allocated LDT entries.
ntdll: Use the virtual mutex to protect the LDT data.
include: Use latest definitions for PEB fields to replace the old Fls fields.
ntdll: Store the ldt_copy pointer in the PEB and access it from the client side.
server: Remove the server-side LDT support.
ntdll: Replace LDT flags by explicit bit fields.
krnl386: Replace LDT flags by explicit bit fields.
ntdll: Store LDT limit and bits in the same word.
krnl386: Fetch the ldt copy pointer from the PEB.
winebuild: Fetch the ldt copy pointer from the PEB.
ntdll: Allocate the LDT copy only when needed.
ntdll: Handle return length from ThreadDescriptorTableEntry in the common code.
ntdll: Support NtQueryInformationThread(ThreadDescriptorTableEntry) in new wow64 mode.
ntdll: Support setting LDT entries in new wow64 mode.
ntdll: Keep the DOS area clear in new wow64 mode.
tiff: Import upstream release 4.7.1.
ntdll: Restore the macOS RLIMIT_NOFILE workaround.
ntdll/tests: Always restore the APC dispatcher.
ntdll: Clear alignment flag on signal entry also on x86-64.
ntdll: Consistently output one loaddll trace per module.
ntdll: Only return 32-bit PEB for 32-bit process.
win32u/tests: Avoid reading uninitialized data.
wow64cpu: Store the actual segment registers in the wow64 context.
wow64cpu: Store the 32-bit segment registers in the context when entering 32-bit mode.
wow64cpu: Store the 32-bit segment registers in the context on syscalls.
ntdll: Store the actual segment registers in the wow64 context.
ntdll: Trace some segment registers in 64-bit mode.
makedep: Add rules to build winmd files.
wow64cpu: Store the 32-bit segment registers in the context also on Unix calls.
wow64: Support exceptions happening in 16-bit mode.
ntdll: Support exceptions happening in 16-bit mode.
shell: Fix crash in ShellAbout16() when no icon is specified.
makedep: Don't add a trailing slash to installation directories.
makedep: Add a helper to install a data file.
makedep: Add a helper to install a data file from the source dir.
makedep: Add a helper to install a header file.
makedep: Add a helper to install a program.
makedep: Add a helper to install a script.
makedep: Add a helper to install a tool.
makedep: Add a helper to install a symlink.
makedep: Build the install destination string in the common helper.
makefiles: Install winmd files.
Alistair Leslie-Hughes (5):
comdlg32: Correct show parameter passed to ShowWindow.
cryptui: Correct show parameter passed to ShowWindow.
wordpad: Correct show parameter passed to ShowWindow.
include: Add TABLET_DISABLE_PRESSANDHOLD define.
include: Add TOUCH_COORD_TO_PIXEL define.
Anton Baskanov (10):
dmsynth/tests: Check IDirectMusicSynth::Open() default parameter values.
dmsynth/tests: Actually set parameters to zero before calling IDirectMusicSynth::Open().
dmsynth: Remove special handling of zero parameter values in IDirectMusicSynth::Open().
dmsynth: Don't force enable DMUS_EFFECT_REVERB.
winecfg: Allow configuring default MIDI device.
dmsynth/tests: Add tests for GUID_DMUS_PROP_Volume.
dmsynth: Set gain to 6 dB.
dmsynth: Handle GUID_DMUS_PROP_Volume.
fluidsynth: Disable IIR filter resonance hump compensation.
dmsynth: Pre-attenuate voices by center pan attenuation.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
make_unicode: Add some halfwidth mapping exceptions.
mf: Handle start request when session is already running.
Billy Laws (4):
ntdll/tests: Skip broken process suspend test under ARM64 WOW64.
ntdll/tests: Test THREAD_CREATE_FLAGS_SKIP_LOADER_INIT flag.
ntdll: Add a default pBaseThreadInitThunk implementation.
ntdll: Support THREAD_CREATE_FLAGS_SKIP_LOADER_INIT flag.
Christian Costa (1):
d3dx9: Add an initial implementation of UpdateSkinnedMesh().
Connor McAdams (15):
d3dx9/tests: Add tests for D3DFMT_CxV8U8.
d3dx9: Add support for D3DFMT_CxV8U8.
d3dx9: Replace D3DFMT_CxV8U8 with D3DFMT_X8L8V8U8 when creating textures.
d3dx9/tests: Add tests for ATI{1,2} DDS files.
d3dx9/tests: Add a test for DDS_PF_FOURCC flag handling.
d3dx9: Ignore all other DDS pixel format flags if DDS_PF_FOURCC is set.
d3dx10/tests: Add more DDS pixel format tests.
d3dx11/tests: Add more DDS pixel format tests.
d3dx9: Add a tweak to stb_dxt to more closely match native output.
d3dx10: Use shared code in load_texture_data() when possible.
d3dx10: Ignore alpha channel values for WICPixelFormat32bppBGR BMP images.
d3dx10: Add support for decompressing BC4 and BC5 formats.
d3dx10: Add support for compressing BC4 and BC5 formats.
d3dx10: Exclusively use shared code to load DDS files in load_texture_data().
d3dx10: Exclusively use shared code in load_texture_data().
David Kahurani (4):
xmllite/writer: Implement WriteNmToken().
xmllite/writer: Implement WriteQualifiedName().
xmllite/writer: Implement WriteEntityRef().
xmllite/writer: Implement WriteName().
Dmitry Kislyuk (1):
wscript: Ignore /d and /u.
Dmitry Timoshkov (15):
winex11.drv: Remove a no longer valid assert().
ntdll/tests: Add some tests for NtSetLdtEntries.
comdlg32: Properly translate Flags and PageRanges to PRINTDLGEX.
runas: Add initial implementation.
ws2_32/tests: Add a simple test for WSAProviderConfigChange().
ws2_32: Return a socket from WSAProviderConfigChange() stub.
ole32/tests: Add a test for IPropertySetStorage::Open() with STGM_TRANSACTED flag.
ole32: Ignore STGM_TRANSACTED in IPropertySetStorage::Open().
ole32: Print correct entry name in a trace when reading storage dictionary.
ole32: Write padding to a dictionary entry only when necessary.
ole32: Clear dirty flag in IPropertyStorage::Commit().
gdiplus: Handle PixelFormatPAlpha separately in alpha_blend_hdc_pixels().
secur32: Add QuerySecurityContextToken() stub implementation to the LSA wrapper.
d2d1: Implement D2D1CreateDeviceContext().
d2d1: Add a test for D2D1CreateDeviceContext().
Elizabeth Figura (23):
user32/tests: Test MDI menu updating when window titles are changed.
user32: Always refresh the MDI menu on WM_MDISETMENU.
setupapi/tests: Test SetupGetBinaryField().
setupapi: Parse a 0x prefix in SetupGetBinaryField().
ntdll: Check inproc sync signal rights in signal and wait.
wined3d: Use malloc() for the private store.
user32/tests: Test integral resizing of listboxes.
comctl32/tests: Test integral resizing of listboxes.
comctl32/listbox: Ignore the horizontal scrollbar when setting integral height.
ntdll: Introduce a helper to wait on a server-side sync object.
ddraw/tests: Use ANSI versions of user32 functions.
winebth.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
winebus.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
wineusb.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
ntoskrnl.exe: Create keys for devices in HKEY_DYN_DATA\Config Manager\Enum.
ddraw/tests: Do not validate that vidmem D32 is not supported.
ddraw/tests: Fix test_caps() on Windows 98.
ddraw/tests: Test dwZBufferBitDepths.
ddraw: Fill dwZBufferBitDepths.
server: Create an inproc sync for user APC signaling.
ntdll: Validate expected inproc sync type in get_inproc_sync.
ntdll: Use in-process synchronization objects.
ntdll: Cache in-process synchronization objects.
Eric Pouech (22):
certutil: Implement -decodehex command.
cmd: Generate binary files with certutil.
cmd: Only set console's default color when provided.
cmd: Fix some initial env variables setup.
cmd: Fix context detection in cmd /c.
cmd: Don't use page mode for stderr.
cmd: Introduce helper to push/pop i/o handles for redirections.
cmd: Ensure that all output to STD_OUTPUT go through WCMD_output_asis.
cmd: Let WCMD_fgets() work properly when reading from a pipe.
cmd: Use a global input handle for console.
cmd: Let WCMD_ask_confirm Use WCMD_fgets().
cmd: Let WCMD_setshow_date() use WCMD_fgets().
cmd: Let WCMD_setshow_env() use WCMD_fgets().
cmd: Let WCMD_label() use WCMD_fgets().
cmd: Add tests showing that MORE outputs to CONOUT$ not stdout.
cmd: Clean up and enhance MORE command implementation.
cmd: Let WCMD_setshow_time() use WCMD_fgets().
cmd: Let WCMD_wait_for_input() no longer use WCMD_ReadFile().
cmd: Get rid of WCMD_ReadFile.
winedbg: Simplify fetching module name.
dbghelp: Add public symbols out of export table when no debug info is present.
dbghelp: Don't crash on stripped image without DEBUG directories.
Francis De Brabandere (1):
vbscript: Allow redim without a prior dim.
Giovanni Mascellani (15):
mmdevapi/tests: Remove a flaky test.
mmdevapi/tests: Introduce a helper to read many packets when capturing.
mmdevapi/tests: Check that GetBuffer() fails when no packet is available.
mmdevapi/tests: Check that GetBuffer() returns a packet of the expected size.
mmdevapi/tests: Check that the received packet isn't larger than the padding.
mmdevapi/tests: Test releasing a buffer without consuming it and getting it again.
mmdevapi/tests: Check that releasing a buffer of the wrong size fails.
mmdevapi/tests: Test acquiring and releasing the buffer out of order.
mmdevapi/tests: Check that captured packets are consecutive.
mmdevapi/tests: Test calling GetNextPacketSize() after GetBuffer().
mmdevapi/tests: Replace a few tests with read_packets().
mmdevapi/tests: Check discontinuities after having started capturing.
mmdevapi/tests: Check that the capture buffer is empty after processing packets.
mmdevapi/tests: Sleep for 600 ms to guarantee a buffer overrun.
mmdevapi/tests: Remove a wrong test about packet sizes.
Hans Leidekker (8):
wbemprox: Support WBEM_FLAG_NONSYSTEM_ONLY in class_object_Next().
wmic: Only list non-system properties.
bcrypt: Add support for named curves.
msi: Support PID_EDITTIME in MsiSummaryInfoSetProperty().
wbemprox: Implement Win32_LocalTime.
widl: Add metadata support for imported types.
widl: Store name and namespace string index.
widl: Fix order of exclusiveto attribute.
Jacek Caban (2):
winebuild: Use .rdata section instead of .rodata on PE targets.
opengl32: Propagate GL errors from wow64 wrappers.
Jiangyi Chen (2):
ole32/tests: Add tests for StgOpenStorageOnILockBytes().
ole32: Fix the return value for StgOpenStorageOnILockBytes().
Jinoh Kang (10):
fluidsynth: Fix g_atomic_int_add() return value.
fluidsynth: Fix data race in g_get_monotonic_time().
fluidsynth: Fix g_mutex_init() and g_cond_init().
fluidsynth: Fix double close of thread handle in g_thread_unref().
fluidsynth: Use full memory barrier in g_atomic_int_get().
fluidsynth: Round up sleep duration in g_usleep().
fluidsynth: Fix argument flag handling in g_file_test().
fluidsynth: Fix definition of g_atomic_int_dec_and_test().
fluidsynth: Return thread return value from g_thread_join().
fluidsynth: Use InterlockedExchangeAdd() in g_atomic_int_add().
Joe Souza (5):
cmd/tests: Add test to check for TYPE truncation in binary mode.
cmd: Refactor WCMD_copy_loop out of WCMD_ManualCopy, and stop copy loop at EOF for /a mode.
cmd: Fix TYPE behavior (now uses WCMD_copy_loop).
cmd/tests: Test that DIR /Oxxx at the command line overrides DIRCMD=/Oyyy set in the environment.
cmd: Allow DIR /Oxxx at the command line to override DIRCMD=/Oyyy set in the environment.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (4):
wmic: Add "qfe" alias.
wbemprox: Add two hotfixid's for Windows 7 to Win32_QuickFixEngineering.
wmic: Add a basic help option "/?".
shell32: Add explicit ordinal for SHMultiFileProperties.
Maotong Zhang (1):
ole32/tests: Add some tests for "CurVer" handling.
Michael Müller (1):
user32/listbox: Ignore the horizontal scrollbar when setting integral height.
Nikolay Sivov (65):
dwrite: Always initialize 'contours' flag.
dwrite/layout: Always initialize effective run bounding box.
dwrite/layout: Do not shadow output parameter.
dwrite/opentype: Use mask shifts only for non-zero masks.
win32u/tests: Fix missing test message context pop.
dwrite/tests: Add some more tests for ConvertFontToLOGFONT().
dwrite: Check against local file loader in ConvertFontToLOGFONT().
dwrite: Remove system collection marker.
dwrite: Mark system font sets.
dwrite: Create both WWS and typographic system collections using system font set.
dwrite: Create custom collections using font sets.
dwrite: Simplify collection initialization helper.
dwrite: Remove nested structures in fontset entries.
dwrite: Cache set elements for returned system sets.
dwrite/tests: Add a small test for EUDC collection.
dwrite: Reuse font set entries to return set instances for collections.
xmllite/tests: Add some more tests for WriteNmToken().
mf: Implement MFTranscodeGetAudioOutputAvailableTypes().
dwrite/tests: Add more tests for CreateFontFileReference().
dwrite: Use uppercase paths for local file loader keys.
dwrite: Fail file reference creation when timestamp is inaccessible.
dwrite/tests: Add another CreateFontFaceReference() test with inaccessible file.
xmllite/tests: Add some more implicit flushing tests.
xmllite/write: Improve error handling in WriteCharEntity().
xmllite/writer: Improve error handling in WriteNmToken().
xmllite/writer: Improve error handling in WriteWhitespace().
xmllite/writer: Improve error handling in WriteSurrogateCharEntity().
xmllite/writer: Improve error handling in WriteStartDocument().
xmllite/writer: Improve error handling in WriteCData().
xmllite/writer: Improve error handling in WriteComment().
xmllite/writer: Improve error handling in WriteProcessingInstruction().
xmllite/writer: Remove duplicate check for whitespaces.
xmllite/writer: Improve error handling WriteDocType().
xmllite/writer: Improve error handling in WriteEndElement().
xmllite/writer: Improve error handling in WriteEndDocument().
propsys: Add PropVariantToFileTime() semi-stub.
propsys: Add PropVariantToUInt32Vector() semi-stub.
xmllite/writer: Improve error handling in WriteChars().
xmllite/writer: Improve error handling in WriteString().
xmllite/writer: Improve error handling in WriteFullEndElement().
xmllite/writer: Improve error handling in WriteElementString().
xmllite/writer: Improve error handling in WriteRaw().
xmllite/tests: Add a few more tests for WriteDocType().
xmllite/writer: Improve error handling in WriteAttributeString().
xmllite/writer: Improve error handling when writing namespace defitions.
xmllite/writer: Improve error handling in WriteStartElement().
xmllite/writer: Handle empty names in WriteStartElement().
xmllite/tests: Add more tests for name validation when writing.
xmllite/writer: Improve NCName validation.
xmllite/writer: Remove now unnecessary helper.
xmllite/writer: Output element stack on release.
xmllite/writer: Output element stack on SetOutput().
windowscodecs: Remove IWICWineDecoder interface.
odbc32: Implement SQLErrorW() for ANSI win32 drivers.
odbc32: Add some fixmes for SQLError() on top of driver's SQLGetDiagRec().
odbc32: Implement SQLDriverConnectW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ODBC_API_CONFORMANCE) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ACTIVE_STATEMENTS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ACTIVE_CONNECTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DRIVER_NAME) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_TXN_CAPABLE) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DBMS_NAME) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DATA_SOURCE_READ_ONLY) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_IDENTIFIER_QUOTE_CHAR) for ANSI win32 drivers.
odbc32: Implement SQLExecDirectW() for ANSI win32 drivers.
Patrick Hibbs (1):
inf: Add Windows Media Player related registry keys.
Paul Gofman (24):
iphlpapi/tests: Add more tests for GetBestRoute().
nsi/tests: Add test for ipv4 loopback routes presence.
nsiproxy.sys: Explicitly add loopback entries to ipv4 forward table on Linux.
nsi: Match struct nsi_tcp_conn_dynamic size to up to date Win11.
nsiproxy.sys: Only enumerate active routes in ipv6_forward_enumerate_all() on Linux.
nsiproxy.sys: Improve loopback detection in ipv6_forward_enumerate_all() on Linux.
iphlpapi: Fully zero init address in unicast_row_fill().
iphlpapi: Implement GetBestRoute2().
iphlpapi: Reimplement GetBestInterfaceEx() on top of GetBestRoute2().
iphlpapi/tests: Add tests for best routes.
iphlpapi: Try to disambiguate addresses in GetBestRoute2() by probing system assigned ones.
user32/tests: Add test for CB size after setting font.
user32/combo: Don't update item height on WM_SETFONT for owner drawn CB.
comctl32/tests: Also call test_combo_setfont() with CBS_OWNERDRAWFIXED.
comctl32/combo: Don't update item height on WM_SETFONT for owner drawn CB.
ntdll: Initialize segments registers in the frame in call_user_mode_callback().
ntdll: Handle invalid FP state in usr1_handler() on x86-64.
ntdll: Handle invalid FP state in usr1_handler() on i386.
win32u: Implement NtUserDisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME ).
user32/tests: Add test for (no) messages during TrackMouseEvent() call.
win32u: Use internal message to handle NtUserTrackMouseEvent() for other thread window.
win32u: Move mouse tracking info into per-thread data.
win32u: Track mouse events based on last mouse message data.
user32/tests: Don't leak thread handle in test_TrackMouseEvent().
Ratchanan Srirattanamet (1):
msi: Fix MsiEnumFeatures[AW]() by make it look at the correct registry.
Reinhold Gschweicher (1):
msxml3/tests: Add test for IXMLDOMElement_removeAttributeNode.
Rémi Bernon (68):
server: Create a shared object for window classes.
server: Write class name to the shared memory object.
win32u: Use NtUserGetClass(Long|Name)W in needs_ime_window.
server: Keep a class object locator in the window shared object.
win32u: Read class name from the shared memory object.
win32u: Validate the drawable surface window before reusing.
wineandroid: Keep the client ANativeWindow with the window data.
wineandroid: Use detach_client_surfaces to invalidate drawables.
winex11: Always notify the surface that it has been presented.
server: Use a specific type for internal inproc event syncs.
ntdll: Remove workaround for macOS RLIMIT_NOFILE.
wineserver: Request RLIMIT_NOFILE maximum allowed value.
server: Rename queue is_signaled to get_queue_status.
server: Do not clear queue masks in msg_queue_satisfied.
server: Remove skip_wait flag from set_queue_mask.
win32u: Use a specific opengl_drawable function for context changes.
win32u: Avoid swapping / flushing drawables with destroyed windows.
server: Return early if there's no queue in queue requests.
server: Move hooks_count to the end of the queue_shm_t struct.
win32u: Move the message queue access time to shared memory.
server: Use monotonic_time as queue access time base.
win32u: Check the queue access time from the shared memory.
winex11: Avoid presenting invalid offscreen window rects.
win32u/tests: Test that global d3dkmt handles aren't leaked.
win32u: Use array indexes for d3dkmt handles.
server: Create server-side global D3DKMT objects.
server: Allocate global D3DKMT handles for objects.
win32u: Implement creation of D3DKMT sync objects.
win32u: Implement creation of D3DKMT resource objects.
win32u: Pass D3DKMT object runtime data to wineserver.
win32u: Implement NtGdiDdDDIQueryResourceInfo.
server: Update queue access time in set_queue_mask request.
win32u: Check the queue access time before skipping set_queue_mask.
server: Use the access time and signal state to detect hung queue.
server: Remove the now unnecessary queue waiting flag.
cfgmgr32: Call devprop_filters_validate recursively.
cfgmgr32: Pass filter ranges to helper functions.
win32u: Implement opening of D3DKMT global handles.
win32u: Implement NT sharing of D3DKMT sync objects.
win32u: Implement sharing of D3DKMT resource objects.
win32u: Implement querying D3DKMT objects from shared handles.
win32u: Implement opening D3DKMT objects from shared handles.
win32u: Implement opening D3DKMT shared handles from names.
server: Introduce an internal queue bits field.
server: Use the internal bits to signal the queue sync.
win32u: Process all driver events when waiting on queue.
win32u: Wrap ProcessEvents calls in process_driver_events helper.
win32u: Avoid a crash when unsetting current context.
server: Use a dedicated internal bit for queued hardware messages.
win32u: Check for pending hardware messages after processing events.
win32u: Return TRUE from ProcessEvents after emptying the event queue.
win32u: Notify wineserver after processing every driver event.
server: Continuously poll on queue fd for driver events.
server: Remove mostly unnecessary thread own queue check.
server: Use an internal event sync for message queues.
win32u/tests: Test creating shared resources with D3D9Ex.
win32u/tests: Test importing shared resources into D3D9Ex.
win32u/tests: Test importing shared resources into OpenGL.
win32u/tests: Test creating shared resources with D3D10.
win32u/tests: Test creating shared resources with D3D11.
win32u/tests: Test creating shared resources with D3D12.
win32u/tests: Test creating shared resources with Vulkan.
win32u/tests: Test importing shared resources into Vulkan.
server: Use a separate helper to create internal event syncs.
server: Explicitly create an internal server sync for debug events.
server: Signal event server / inproc syncs using the signal op.
server: Use struct object pointers for object syncs.
ntdll: Receive the user apc inproc sync fd on alertable waits.
Sebastian Lackner (1):
user32: Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called.
Stian Low (2):
ntdll: Implement NtSetEventBoostPriority().
ntdll/tests: Add tests for NtSetEventBoostPriority().
Tim Clem (1):
wbemprox: Use setupapi to enumerate video controllers.
Vasiliy Stelmachenok (1):
win32u: Handle errors when creating EGL context.
Vibhav Pant (9):
cfgmgr32: Always check the DEVPROP_OPERATOR_EQUALS mask while evaluating comparison filters.
propsys: Use VT_LPWSTR as the property type for System.Devices.DeviceInstanceId.
windows.devices.enumeration/tests: Add tests for IDeviceInformationStatics::{FindAllAsyncAqsFilter, CreateWatcherAqsFilter}.
windows.devices.enumeration: Support parsing AQS filters in IDeviceInformationStatics::{FindAllAsyncAqsFilter, CreateWatcherAqsFilter}.
maintainers: Add a section for Windows.Devices.Enumeration.
windows.devices.enumeration: Ensure that all AQS logical operators bind left to right.
cfgmgr32/tests: Add additional tests for device query filters.
cfgmgr32: Implement support for logical operators in DEVPROP_FILTER_EXPRESSION.
vccorlib140: Emit RTTI for Platform::Type.
Yuxuan Shui (1):
mf: Add a SUBMITTED command state to avoid multiple submission of the same op.
Zhengyong Chen (1):
imm32: Ensure HIMC is unlocked in ImmGenerateMessage.
```
1
0
The Wine development release 10.15 is now available.
What's new in this release:
- Unicode character tables updated to Unicode 17.0.0.
- Zip64 support in Packaging services.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.15.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.15 (total 16):
- #51345 Regression: Visual Studio 2005 "package load failure"
- #56278 wayland: dropdowns is rendered as toplevel
- #57192 X11DRV_SetCursorPos breaks when xinput "Coordinate Transformation Matrix" is customized
- #57444 Multiple games crashes with new wow64 ("pop gs" behaves differently in 64bit compatibility mode) (Exertus darkness, Claw, Bloodrayne Demo)
- #57478 Sims 2 black-screen when running with Nvidia 470.256.02 and dxvk 1.10.3
- #57912 cmd: not every ( is a command grouping
- #57913 cmd: echo(abc is misparsed
- #58027 trivial use of Win32 GNU make fails
- #58335 Wine can fail if avx is not available
- #58503 Resource leak in wayland_pointer_set_cursor_shape can cause mouse cursor to dissappear after exhausting gdi handles
- #58513 Wine 10.9 completely broke (LGA775 Core2Quad)
- #58585 unnamed keymap layout leads to null pointer dereference in find_xkb_layout_variant
- #58614 wine cmd prints "::" style comments
- #58619 Steam fails to launch
- #58635 CapCut crashes upon launch, needs unimplemented function IPHLPAPI.DLL.SetPerTcp6ConnectionEStats
- #58636 CapCut installer fails: CreateFileW with FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS should create a directory instesd of a file.
### Changes since 10.14:
```
Alex Henrie (1):
wineboot: Fix a memory leak in create_computer_name_keys.
Alexandre Julliard (15):
faudio: Import upstream release 25.09.
png: Import upstream release 1.6.50.
tools: Upgrade the config.guess/config.sub scripts.
makedep: Build tool names once at startup.
ntdll: Swap the mxcsr register value between PE and Unix.
gitlab: Merge the platform docker files back into a single file.
gitlab: Install the conflicting i386 gstreamer packages manually.
ntdll: Save mxcsr explicitly in the xsavec code path.
maintainers: List gitlab usernames.
gitlab: Add CI job to trigger winehq-bot processing.
ntdll: Move some LDT definitions to the private header.
ntdll: Add a helper to update the LDT copy.
ntdll: Add helpers to build some specific LDT entries.
ntdll: Always use 32-bit LDT base addresses.
nls: Update character tables to Unicode 17.0.0.
Alexandros Frantzis (1):
winewayland: Fix GDI object leak.
Alfred Agrell (1):
preloader: Make thread_ldt reference position independent.
Alistair Leslie-Hughes (2):
winmm: Always call MCI_UnmapMsgAtoW in mciSendCommandA.
winmm: MCI_MapMsgAtoW return error code directly instead of a tri-value.
Bartosz Kosiorek (1):
gdi32: From Windows 2000 FixBrushOrgEx() is a NOP.
Bernhard Übelacker (1):
winedbg: Reserve more memory for symbol value (ASan).
Billy Laws (2):
ntdll/tests: Add THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH test.
ntdll: Support THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH flag.
Brendan Shanks (4):
crypt32: Avoid syscall fault in process_detach() if GnuTLS failed to load.
secur32: Avoid syscall fault in process_detach() if GnuTLS failed to load.
ntdll: Fix crash in check_invalid_gsbase() on macOS.
dbghelp: Don't try to load 64-bit ELF/Mach-O debug info in a Wow64 process.
Carlo Bramini (1):
winmm: WaveOutGetID: Return correct id for WAVE_MAPPER.
Christian Tinauer (1):
crypt32: Accept PKCS12_ALWAYS_CNG_KSP flag and fall back to standard import.
Connor McAdams (12):
d3dx10/tests: Add more DDS file DXGI format mapping tests.
d3dx10/tests: Add more DDS file header handling tests.
d3dx10: Add support for parsing DXT10 DDS headers to shared code.
d3dx10: Only validate header size for DDS files in d3dx10.
d3dx10: Add support for DXGI formats in d3dx_helpers.
d3dx10: Exclusively use shared code for parsing DDS files in get_image_info().
d3dx10: Add support for d3dx10+ image file formats in shared code.
d3dx10: Exclusively use shared code for parsing all files in get_image_info().
d3dx11_42: Don't share source with d3dx11_43.
d3dx11/tests: Add a helper function for checking image info structure values.
d3dx11/tests: Import more image info tests from d3dx10.
d3dx11: Implement D3DX11GetImageInfoFromMemory() using shared code.
Dmitry Timoshkov (1):
gdiplus: Manually blend to white background if the device doesn't support alpha blending.
Elizabeth Figura (7):
ntdll: Add some traces to synchronization methods.
ntdll: Add stub functions for in-process synchronization.
ntdll: Retrieve and cache an ntsync device on process init.
server: Create inproc sync events for message queues.
server: Add a request to retrieve the inproc sync fds.
ntdll: Check inproc sync handle access rights on wait.
quartz/tests: Fix a failing test in test_video_window_owner().
Eric Pouech (14):
cmd/tests: Add tests about opening/closing parenthesis.
cmd: Don't create binary node with NULL RHS.
cmd: Simplify builtin ECHO implementation.
cmd: Fix handling of '(' in echo commands.
cmd: Fix unmatched closing parenthesis handling.
cmd/tests: Add more tests about ERASE builtin command.
cmd: Fix return code for ERASE builtin command.
cmd/tests: Add tests about (not) echoing labels.
cmd: Don't display labels when echo mode is ON.
cmd: Simplify setting console colors.
cmd: Reuse exiting execution related helpers in wmain().
cmd: Finish moving command line handling in dedicated helpers.
cmd: cmd /c or /k shall handle ctrl-c events properly.
cmd: No longer reformat output according to console width.
Gabriel Ivăncescu (13):
mshtml: Implement DOMParser constructor and instance object.
mshtml: Move document dispex info initialization to create_document_node.
mshtml: Use Gecko's responseXML to create the XML document in IE10 and up.
mshtml: Fallback to text/xml for unknown content types ending with +xml in get_mimeType.
mshtml: Implement anchors prop for XML documents.
mshtml: Implement DOMParser's parseFromString.
mshtml: Use actual prop name after looking it up case insensitively on window.
mshtml: Set non-HTML elements' prototype to ElementPrototype.
mshtml: Expose toJSON only in IE9+ modes.
mshtml: Don't expose toString from Performance* objects' prototypes in IE9+ modes.
mshtml: Implement toJSON() for PerformanceTiming.
mshtml: Implement toJSON() for PerformanceNavigation.
mshtml: Implement toJSON() for Performance.
Gerald Pfeifer (1):
ntdll: Fix the build of check_invalid_gsbase() on FreeBSD.
Hans Leidekker (15):
include: Comment references to undefined member interfaces.
include: Define IContentTypeProvider, IInputStream and IInputStreamReference.
include: Define IUser.
include: Define IAcceleratorKeyEventArgs and ICoreAcceleratorKeys.
include: Define IKeyCredential and related types.
include: Define IRfcommServiceId.
msi: Allow pre-2.0 assemblies to be installed using 2.0 fusion.
include: Define more USB interfaces.
include: Define IImageDisplayProperties and IVideoDisplayProperties.
include: Define IMediaEncodingProperties and IAudioEncodingPropertiesWithFormatUserData.
include: Define IHolographicCamera and related types.
include: Define IOnlineIdServiceTicket and IOnlineIdSystemIdentity.
include: Add missing parameterized interface declarations.
widl: Require member interfaces to be defined.
widl: Support additional deprecated declarations.
Haoyang Chen (1):
ntdll: Fix a buffer overflow in wcsncpy.
Jacek Caban (8):
opengl32/tests: Add memory mapping tests.
opengl32: Simplify wow64 memory mapping error handling.
opengl32: Implement wrap_wglCreateContext on top of wrap_wglCreateContextAttribsARB.
opengl32: Factor out free_context.
opengl32: Introduce a wow64 buffer wrapper.
opengl32: Move copy buffer allocation to Unix lib.
opengl32: Use generated PE thunks for memory mapping functions.
opengl32: Use generated PE thunks for memory unmapping functions.
Joe Souza (1):
cmd: Treat COPY from CON or CON: as ASCII operation.
Kevin Puetz (1):
oleaut32: Fix UDT record block leak in VariantClear().
Louis Lenders (2):
iphlpapi: Add stub for SetPerTcp6ConnectionEStats.
iphlpapi: Add stub for GetPerTcp6ConnectionEStats.
Matteo Bruni (7):
hidclass: Set Status for pending IRPs of removed devices to STATUS_DEVICE_NOT_CONNECTED.
hidclass: Fix check for early IRP cancellation.
nsiproxy: Fix check for early IRP cancellation.
dinput/tests: Fix check for early IRP cancellation.
http.sys: Fix check for early IRP cancellation.
winetest: Print Windows revision (UBR).
d3dx10_33/tests: Enable tests.
Mohamad Al-Jaf (12):
include: Add windows.media.playback.idl.
windows.media.playback.backgroundmediaplayer: Add stub dll.
windows.media.playback.backgroundmediaplayer: Add IBackgroundMediaPlayerStatics stub.
windows.media.playback.mediaplayer: Implement IActivationFactory::ActivateInstance().
windows.media.mediacontrol: Stub ISystemMediaTransportControls::add/remove_ButtonPressed().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::ClearAll().
windows.media.mediacontrol: Implement ISystemMediaTransportControls::put/get_IsStopEnabled().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::put/get_Thumbnail().
windows.media.playback.backgroundmediaplayer: Implement IBackgroundMediaPlayerStatics::get_Current().
include: Add IMediaPlayer2 definition.
windows.media.playback.mediaplayer: Add IMediaPlayer2 stub.
windows.media.playback.mediaplayer: Implement IMediaPlayer2::get_SystemMediaTransportControls().
Nikolay Sivov (17):
opcservices/tests: Use wide-char strings.
opcservices/tests: Remove Vista workarounds.
opcservices/tests: Use stricter return values checks.
opcservices: Fix MoveNext() at the collection end.
opcservices/tests: Add more tests for MovePrevious().
opcservice: Fix iteration with MovePrevious().
opcservices/tests: Use message context in some tests.
opcservices: Make it clear which structures are specific to zip32.
opcservices: Use 64-bit file sizes.
opcservices: Add support for writing Zip64 packages.
opcservices: Improve error handling when writing archives.
opcservices: Use stdint types for the file header.
opcservices: Set compression method according to part's compression options.
opcservices: Use explicit field for the part name.
combase/tests: Suppress trace messages from the test dll.
opcservices: Remove separate part name allocation.
vccorlib: Fix out of bounds access in debug helper (Coverity).
Patrick Hibbs (2):
mmdevapi: Set DEVPKEY_Device_Driver during MMDevice_Create().
winecfg: Fix audio tab by fetching the default device's audio driver.
Paul Gofman (15):
ntdll: Zero aligned size in initialize_block().
winevulkan: Handle NULL buffer pointer in vkFreeCommandBuffers().
nsiproxy.sys: Use a separate critical section to sync icmp echo IRP cancel.
iphlpapi: Use IOCP callback for echo async completion.
win32u: Bump AMD internal driver version.
kernel32/tests: Add tests for UnhandledExceptionFilter().
kernelbase: Avoid recursive top exception filter invocation for nested exceptions.
kernelbase: Return EXCEPTION_CONTINUE_SEARCH from UnhandledExceptionFilter() for nested exceptions.
dbghelp: Use GetCurrentProcess() special handle in EnumerateLoadedModulesW64() if possible.
wbemprox: Fix CIM_UINT16 handling in to_safearray().
wbemprox: Add MSFT_PhysicalDisk table.
wbemprox: Return an error from class_object_Next() for non-zero flags.
wbemprox: Enumerate system properties in class_object_Next().
iphlpapi: Fix ipforward_row_cmp().
iphlpapi: Fix udp_row_cmp().
Rémi Bernon (90):
dataexchange: Register runtimeclasses explicitly.
geolocation: Register runtimeclasses explicitly.
graphicscapture: Register runtimeclasses explicitly.
hvsimanagementapi: Register runtimeclasses explicitly.
iertutil: Register runtimeclasses explicitly.
threadpoolwinrt: Register runtimeclasses explicitly.
windows.devices.bluetooth: Register runtimeclasses explicitly.
windows.devices.enumeration: Register runtimeclasses explicitly.
windows.devices.usb: Register runtimeclasses explicitly.
windows.gaming.input: Register runtimeclasses explicitly.
win32u: Pass struct vulkan_physical_device pointer to drivers.
winevulkan: Simplify VkDefine and typedefs generation.
winevulkan: Generate structs and pointers for wayland platform.
winevulkan: Generate structs and pointers for macos platform.
winevulkan: Generate structs and pointers for xlib platform.
winevulkan: Simplify function pointer generation.
winevulkan: Simplify struct generation ordering.
windows.gaming.ui.gamebar: Register runtimeclasses explicitly.
windows.media.devices: Register runtimeclasses explicitly.
windows.media.mediacontrol: Register runtimeclasses explicitly.
windows.media.speech: Register runtimeclasses explicitly.
windows.media: Register runtimeclasses explicitly.
windows.networking.connectivity: Register runtimeclasses explicitly.
windows.networking.hostname: Register runtimeclasses explicitly.
windows.perception.stub: Register runtimeclasses explicitly.
windows.security.authentication.onlineid: Register runtimeclasses explicitly.
windows.security.credentials.ui.userconsentverifier: Register runtimeclasses explicitly.
windows.web: Register runtimeclasses explicitly.
include: Remove now unnecessary DO_NO_IMPORTS ifdefs.
winevulkan: Move physical_device memory properties to vulkan_driver.h.
winevulkan: Move extensions to struct vulkan_physical_device.
winevulkan: Get rid of struct wine_vk_phys_dev.
winevulkan: Move physical device pointers to struct vulkan_instance.
win32u: Move device memory object wrapper from winevulkan.
win32u: Move external host memory allocation to a separate helper.
include: Add declarations for some d3dkmt functions.
win32u: Stub NtGdiDdDDICheckOcclusion syscall.
win32u/tests: Move d3dkmt tests from gdi32.
win32u/tests: Check D3DKMT local handle allocation.
win32u: Implement d3dkmt local handle allocation.
winevulkan: Order the win32 structs as other structs.
winevulkan: Simplify struct conversion enumeration.
winevulkan: Build the struct extension list lazily.
winevulkan: Enumerate struct extensions with the registry structs.
winevulkan: Avoid converting unexposed extensions structs.
winevulkan: Generate structs for external memory fds.
winevulkan: Force copy some memory, buffer and image struct chains.
win32u: Strip unsupported structs from vkAllocateMemory chain.
win32u: Strip unsupported structs from vkCreateBuffer chain.
win32u: Strip unsupported structs from vkCreateImage chain.
win32u: Hook VK_KHR_external_memory_win32 functions.
winevulkan: Remove leftover external image functions moved to win32u.
win32u: Pass memory type flags to allocate_external_host_memory.
win32u: Fix missing NULL initialization of NtAllocateVirtualMemory parameter.
wintypes/tests: Check IAgileObject interface on map objects.
wintypes: Introduce a generic IMap stub implementation.
wintypes: Implement a generic IMap<HSTRING, IInspectable>.
wintypes: Introduce a locked IMap<HSTRING, IInspectable> implementation.
winevulkan: Force copying wrapped handle arrays.
winevulkan: Force copying the VkSubmitInfo(2) struct chains.
winevulkan: Move command buffer wrapper to vulkan_driver.h.
win32u: Hook vkQueueSubmit and vkQueueSubmit2 functions.
win32u: Hook VK_KHR_win32_keyed_mutex related functions.
win32u: Hook VK_KHR_external_semaphore_win32 related functions.
win32u: Hook VK_KHR_external_fence_win32 related functions.
winebus: Match match gamepad dpad buttons with XUSB / GIP.
win32u: Stub NtGdiDdDDIOpenNtHandleFromName.
wow64win: Initialize output NtGdiDdDDI* parameters too.
wow64win: Fix NtGdiDdDDICreateAllocation* output conversion.
win32u/tests: Test D3DKMT synchronization object creation.
win32u/tests: Test D3DKMT keyed mutex object creation.
win32u/tests: Test D3DKMT allocation object creation.
win32u/tests: Test D3DKMT objects NT handle sharing.
winevulkan: Simplify device enabled extension conversion.
winevulkan: Check surface_maintenance1 before using swapchain_maintenance1.
win32u: Assume the VkPresentInfoKHR struct is copied in the thunks.
winevulkan: Force copy of the VkSemaphoreSubmitInfo struct chain.
win32u: Wrap vulkan semaphore objects.
win32u: Wrap vulkan fence objects.
d3d8/tests: Flag some tests as todo_wine.
d3d9/tests: Flag some tests as todo_wine.
opengl32/tests: Test that window back buffers are shared.
include: Use the client pointer in debugstr_opengl_drawable.
win32u: Move memory DC pbuffer handling out of context_sync_drawables.
win32u: Use context->draw directly when flushing context.
win32u: Swap the last window drawable if there's no context.
win32u: Introduce an context_exchange_drawables helper.
win32u: Rename window opengl drawable to current_drawable.
win32u: Keep a separate pointer for unused opengl drawable.
win32u: Don't store the window OpenGL drawables on the DCs.
Santino Mazza (2):
dinput: Set per monitor aware DPI awareness in the worker thread.
win32u: Map raw coordinates to virtual screen in low-level hooks.
Spencer Wallace (1):
msxml3: Correct looping of Document Element properties.
Tim Clem (1):
dxcore: Use a static structure for the adapter factory.
Tyson Whitehead (2):
winebus: Unspecified condition blocks are full strength.
joy.cpl: Play condition effects on indicated axis too.
Vibhav Pant (15):
opcservices/tests: Add tests for ReadPackageFromStream.
opcservices/tests: Add some more tests for MoveNext().
windows.applicationmodel/tests: Add tests for exposing inproc WinRT classes through the manifest.
opcservices: Mark entries according to compression mode.
wintypes: Make a copy of the passed string in IPropertyValueStatics::CreateString.
combase: Add stubs for HSTRING_User{Size, Marshal, Unmarshal, Free}.
combase/tests: Add tests for HSTRING marshaling methods.
combase: Implement HSTRING_UserSize.
combase: Implement HSTRING_UserMarshal.
combase: Implement HSTRING_User{Unmarshal, Free}.
combase/tests: Add RoGetAgileReference tests with agile objects.
combase: Don't marshal objects that implement IAgileObject in RoGetAgileReference.
wintypes/tests: Add tests for PropertySet::{Insert, Lookup, HasKey}.
wintypes/tests: Add tests for IMapView.
wintypes: Introduce a serial to track IMap state changes.
Yuxuan Shui (2):
opcservices: IOpcPart::GetContentType takes LPWSTR, not BSTR.
winegstreamer: Free stream buffers before wg_parser_disconnect.
Zhiyi Zhang (4):
gdi32: Use the maximum number of colours when biClrUsed is zero.
gdi32/tests: Test recording StretchDIBits() for bitmaps with zero biClrUsed field in EMFs.
gdi32/tests: Test recording SetDIBitsToDevice() for bitmaps with zero biClrUsed field in EMFs.
Revert "wineps: Use the correct colours when a monochrome bitmap without a colour table is the source.".
Ziqing Hui (2):
mf/tests: Test GetOutputStatus for video processor.
winegstreamer: Add semi-stub implementation for video_processor_GetOutputStatus.
Zowie van Dillen (2):
opengl32/tests: Add 16-bit bitmap rendering tests.
winex11: Check pbuffer bit instead of pixmap bit for bitmap rendering.
```
1
0
The Wine development release 10.14 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.17.
- Mono engine updated to version 10.2.0.
- Support for ping on IPv6.
- Gitlab CI now running on Debian Trixie.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.14.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.14 (total 19):
- #18233 Approach underscore bar inactive with multiple database open
- #27974 warn:winsock:wsaErrno errno 115, (Operation now in progress).
- #35622 VemsTune: program crashes on switching view modes
- #55557 wpcap:wpcap crashes on macOS
- #56639 Phantasy Star Online: Blue Burst: various missing/black textures
- #57027 GetFinalPathNameByHandleW does not handle paths exceeding MAX_PATH (260 chars)
- #57835 ROCS Show Ready crashes on unimplemented function msvcp140_atomic_wait.dll.__std_tzdb_get_time_zones
- #57946 Multiple games need maxAnisotropy values handling (GreedFall, Mafia III: Definitive Edition)
- #58141 [MDK] [WOW64] Stack overflow
- #58169 Trae installer fails: "Failed to expand shell folder constant userpf"
- #58334 ShowStopper crashes on unimplemented function ntdll.dll.RtlQueryProcessHeapInformation
- #58403 Death to Spies: intro videos show black screen (audio works)
- #58482 Roblox Studio installer crashes on unimplemented function api-ms-win-core-memory-l1-1-3.dll.VirtualProtectFromApp
- #58531 MemoryRegionInformation incorrectly returns STATUS_SUCCESS for freed memory regions
- #58574 Multiple applications require gameinput.dll (Fritz Chess Coach, Le Mans Ultimate)
- #58577 MsiGetComponentPath/MsiLocateComponent doesn't resolve a reference to .NET GAC
- #58600 Command line tab completion works improperly with files/directories containing delimiter characters
- #58608 SCardTransmit should work with pioSendPci=NULL
- #58615 winepath changes behaviour and strips ending path separator now
### Changes since 10.13:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (39):
tapi32: Move registry keys out of wine.inf.
win32u: Add NtGdiCancelDC() stub.
win32u: Implement NtUserGetCursorPos().
win32u: Implement NtGdiGet/SetMiterLimit().
server: Add a helper to check a process wow64 status.
include: Always use Unicode string constants for the PE build.
server: Use LIST_FOR_EACH_ENTRY in more places.
cabinet: Use the correct structure for DllGetVersion().
rsaenh: Don't reset key when nothing was encrypted.
winebuild: Only allow thiscall functions on i386.
server: Fix get_next_hook return value when no hook is found.
kernel32: Preserve trailing slash for existing paths in wine_get_dos_file_name().
kernel32: Preserve trailing slash for existing paths in wine_get_unix_file_name().
win32u: Define all stubs as syscalls.
vkd3d: Import upstream release 1.17.
sxs: Add support for language in manifest names.
sxs: Support XML escaping in manifest names.
sxs: Take manifest language into account when building the file name.
sxs: Install policy files the same way as normal manifests.
win32u: Disable some unused code when EGL is missing.
gitlab: Update CI image to debian trixie.
setupapi: Use SetupDiGetActualSectionToInstallW instead of duplicating that logic.
setupapi: Add support for Include directive.
setupapi: Add support for Needs directive.
wine.inf: Use Needs directive to reduce duplication.
winedump: Remove const from a member that is written to.
kernel32/tests: Clear FPU status flags before checking control word.
ntdll/tests: Also test mxcsr register in user callbacks.
ntdll/tests: Use a direct syscall to test xmm registers.
gdi32/tests: Remove some workarounds for NT4.
gdi32: Handle the default color profile on the GDI side.
gdi32: Handle the ICM\mntr key on the GDI side.
winex11: Create the ICM profile file at startup.
win32u: Remove the __wine_get_icm_profile() syscall.
win32u: Remove the GetICMProfile driver entry point.
amstream/tests: Use nameless unions/structs.
qcap: Use nameless unions/structs.
qedit: Use nameless unions/structs.
winegstreamer: Use nameless unions/structs.
Alexandros Frantzis (2):
winewayland: Mark only windows with per-pixel alpha as layered.
winewayland: Handle NULL values for xkb layout name and description.
Anders Kjersem (1):
advpack: Support ADN_DEL_IF_EMPTY flag in DelNode().
Attila Fidan (1):
winegstreamer/wma_decoder: Return S_OK from AllocateStreamingResources().
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (8):
ntdll/tests: Mark test as broken with old Windows versions.
ntdll: Fix XState data initialisation with non-AVX CPUs.
kernel32/tests: Test paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
kernel32: Handle paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
bluetoothapis/tests: Avoid crash in gatt tests with some Windows versions.
kernelbase/tests: Fix test failing with old Windows 10.
ntdll/tests: Add check for len and avoid CommitSize with old Windows.
propsys/tests: Skip tests of properties not supported by old Windows.
Brendan McGrath (1):
winegstreamer: Only add the capsfilter for avdec_h264.
Brendan Shanks (1):
ntdll: Implement NtGetCurrentProcessorNumber() with pthread_cpu_number_np() when available on macOS.
Connor McAdams (8):
ntoskrnl/tests: Add tests for getting IRP_MN_QUERY_DEVICE_TEXT based device properties.
ntoskrnl: Set DEVPKEY_Device_BusReportedDeviceDesc from driver.
winebus: Handle IRP_MN_QUERY_DEVICE_TEXT.
hidclass: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebth.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
wineusb.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebus: Generate unique container IDs when adding devices.
winebus: Override device instance enumerator string if bus type is known.
Conor McCarthy (1):
winegstreamer: Use a stride alignment of 2 for NV12 in align_video_info_planes().
Dmitry Timoshkov (3):
comdlg32: PRINTDLG_UpdatePrintDlgW() should update dmCopies field in DEVMODE.
kernel32/tests: Test FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS | FILE_ATTRIBUTE_DIRECTORY.
kernelbase: For FILE_FLAG_BACKUP_SEMANTICS also handle FILE_ATTRIBUTE_DIRECTORY in CreateFile.
Elizabeth Figura (3):
qcap/tests: Test subtype validation in QueryAccept() and SetFormat().
quartz/tests: Add more tests for video window style.
quartz: Preserve the current visibility in IVideoWindow::put_Style().
Esme Povirk (1):
mscoree: Update Wine Mono to 10.2.0.
Gabriel Ivăncescu (4):
jscript: Allow objects that expose "length" prop for Function.apply under certain conditions.
jscript: Return proper error when passing wrong type to Function.apply.
jscript: Fallback to Object's toString for Arrays when 'this' isn't an array in ES5 mode.
jscript: Fix error value when passing non-string 'this' to String's toString.
Georg Lehmann (3):
winevulkan: Reorder bitmasks to handle aliases correctly.
winevulkan: Disable h265 extensions.
winevulkan: Update to VK spec version 1.4.325.
Gerald Pfeifer (1):
winebus.sys: Use uint16_t instead of __u16.
Hans Leidekker (11):
msi: Make assembly caches global.
msi: Handle .NET assemblies in MSI_GetComponentPath().
rsaenh: Use TomCrypt for hash implementations.
include: Comment references to undefined static interfaces.
include: Define IRandomAccessStreamStatics.
include: Define ISystemMediaTransportControlsStatics.
widl: Require static interfaces to be defined.
widl: Require activation interfaces to be defined.
widl: Require composition interfaces to be defined.
widl: Require runtimeclass contracts to be defined.
winscard: Handle NULL send parameter in SCardTransmit().
Haoyang Chen (1):
qcap/vfwcapture: Validate the subtype in find_caps().
Henri Verbeet (4):
d3d11/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d10core/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d11: Disable anisotropic filtering for sampler states with zero MaxAnisotropy.
wined3d: Disable anisotropic filtering for zero max_anisotropy in sampler_desc_from_sampler_states().
Ignacy Kuchciński (1):
windows.storage: Split ApplicationData.
Jacob Czekalla (6):
hhctrl.ocx: Check for a NULL web_browser before QueryInterface.
wininet/tests: Add more http time test strings.
wininet: Fix parsing order of http times.
wininet: Fix year parsing to include millennium.
comctl32/treeview: Return from TREEVIEW_LButtonDown when the treeview handle is invalid.
comctl32/tests: Add a test for treeview deletion during NM_CLICK in LBUTTONDOWN.
Jiangyi Chen (1):
opengl32: Perform cAccumBits filtering if specified in wglChoosePixelFormat().
Joe Souza (1):
cmd: Treat most delimiters as literals if user specified quotes.
Keigo Okamoto (3):
winealsa: Send All Notes Off and Reset Controllers.
winecoreaudio: Send All Notes Off and Reset Controllers.
wineoss: Send All Notes Off and Reset Controllers.
Marc-Aurel Zent (5):
ntdll: Implement ProcessPriorityBoost class in NtQueryInformationProcess.
ntdll: Implement ProcessPriorityBoost class in NtSetInformationProcess.
kernelbase: Implement GetProcessPriorityBoost.
kernelbase: Implement SetProcessPriorityBoost.
kernel32/tests: Add tests for GetProcessPriorityBoost/SetProcessPriorityBoost.
Mike Kozelkov (1):
winbio: Add stub DLL.
Mohamad Al-Jaf (9):
cryptxml: Add stub dll.
include: Add cryptxml.h.
cryptxml: Implement CryptXmlOpenToDecode() stub.
cryptxml: Implement CryptXmlClose().
cryptxml: Implement CryptXmlGetDocContext().
cryptxml: Implement CryptXmlGetSignature().
cryptxml: Implement CryptXmlVerifySignature() stub.
cryptxml: Implement CryptXmlGetStatus().
cryptxml/tests: Add some signature verification tests.
Nikolay Sivov (5):
d2d1: Add some helpers for geometry figure manipulation.
d2d1: Implement ellipse geometry simplification.
d2d1: Implement rounded rectangle geometry simplification.
fonts: Fix "O" glyph in Tahoma Bold bitmap strikes.
d3d10/tests: Compile more test effects from sources.
Paul Gofman (35):
ntdll: Factor out chksum_add() function.
ntdll: Support SOCK_RAW / IPPROTO_ICMPV6 fallback over SOCK_DGRAM.
ws2_32/tests: Test ICMPv6 ping.
ntdll/tests: Add more tests for NtQueryVirtualMemory( MemoryRegionInformation ).
ntdll: Factor out get_memory_region_size() function.
ntdll: Reimplement get_memory_region_info() on top of get_memory_region_size().
ntdll: Add semi-stub for NtQueueApcThreadEx2().
ntdll: Validate reserve handle in NtQueueApcThreadEx2().
ntdll: Pass user APC flags to call_user_apc_dispatcher().
server: Do not allow queueing special APCs to wow64 threads.
ntdll: Implement QUEUE_USER_APC_CALLBACK_DATA_CONTEXT in NtQueueApcThreadEx2() on x64.
ntdll: Use NtContinueEx in KiUserApcDispatcher on x64.
kernelbase: Implement QueueUserAPC2().
server: Check thread and call parameters in queue_apc() for APC_USER.
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_time_zones() / __std_tzdb_delete_time_zones().
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_current_zone() / __std_tzdb_delete_current_zone().
msvcp140_atomic_wait: Stub __std_tzdb_get_leap_seconds() / __std_tzdb_delete_leap_seconds().
kernelbase: Preserve last error in OutputDebugStringA().
kernel32: Preserve last error in OutputDebugStringA().
kernel32/tests: Test last error preservation in OutputDebugString().
ntdll/tests: Test last error preservation in OutputDebugString() with debugger.
winex11.drv: Only create dummy parent when needed in create_client_window().
win32u: Avoid calling server in NtUserGetKeyState() when input keystate is in sync.
nsiproxy.sys: Get rid of echo request thread.
nsiproxy.sys: Bind to source address in icmp_send_echo().
nsiproxy.sys: Store socket type in struct icmp_data.
iphlpapi: Factor out icmp_send_echo() function.
iphlpapi/tests: Refactor APC testing in testIcmpSendEcho().
iphlpapi: Only supply APC routine if no event in icmp_send_echo().
iphlpapi: Implement Icmp6ParseReplies().
iphlpapi: Implement Icmp6CreateFile().
nsiproxy.sys: Don't try to check for original packet for ping socket.
iphlpapi: Implement Icmp6SendEcho2().
iphlpapi/tests: Add tests for Icmp6SendEcho2().
iphlpapi: Avoid leaking APC context in icmp_send_echo().
Rémi Bernon (69):
widl: Wrap strappend parameters in a new struct strbuf.
widl: Introduce a new append_basic_type helper.
widl: Remove unnecessary recursion for TYPE_BITFIELD.
widl: Move some type name construction out of write_type_left.
joy.cpl: Read the device state when getting selected effect.
winetest: Set winetest_mute_threshold to 4 when running tests.
user32: Use init_class_name(_ansi) in FindWindowEx(A|W).
win32u: Drop unnecessary NtUserCreateWindowEx version strings.
win32u: Add a helper to add atom / strings to server requests.
server: Simplify create_class atom validation check.
server: Unify reading class atom / name from requests.
widl: Introduce a new write_record_type_definition helper.
widl: Cleanup indentation and variables in write_type_left.
widl: Split write_type_left into a write_type_definition_left helper.
widl: Introduce a new append_type_left helper.
win32u: Move nulldrv client surface code from vulkan.c.
win32u: Introduce a new framebuffer object GL surface.
win32u: Create render buffers for double / stereo buffering.
win32u: Create depth attachments for the FBO surface.
widl: Remove now unnecessary write_callconv argument.
widl: Cleanup indentation and variables in write_type_right.
widl: Inline write_args into write_type_right.
widl: Introduce a new append_declspec helper.
opengl32: Hook glGet(Booleanv|Doublev|Floatv|Integer64v).
opengl32: Share wgl_context structure definition with win32u.
opengl32: Keep track of draw/read framebuffer binding.
opengl32: Return the tracked FBOs when using FBO surfaces.
include: Add gameinput.idl.
gameinput: Introduce new DLL.
dinput/tests: Add some gameinput tests.
winebus: Generate unique serial numbers when adding devices.
user32/tests: Add more GetClassInfo tests.
win32u: Forbid setting GCW_ATOM class info.
win32u: Introduce helpers to check desktop and message class.
user32: Implement integral class name versioning support.
win32u: Remove now unnecessary integral atom specific handling.
server: Return the class base atom from create_class.
opengl32: Keep track of default FBO read/draw buffers.
opengl32: Return the tracked FBO buffers when using FBO surfaces.
opengl32: Remap read / draw FBO buffers when using FBO surfaces.
opengl32: Redirect default framebuffer when using FBO surfaces.
wine.inf: Fix section name for DefaultInstall.ntx86 services.
win32u: Simplify setting extra class info in set_class_long.
win32u: Use set_class_long_size for NtUserSetClassWord.
win32u: Use get_class_long_size for get_class_word.
server: Split get_class_info request from set_class_info.
server: Get rid of set_class_info request flags.
widl: Keep track of statements source locations.
widl: Allow explicit registration by referencing runtimeclasses.
windows.storage.applicationdata: Register runtimeclasses explicitly.
windows.storage: Register runtimeclasses explicitly.
wintypes: Register runtimeclasses explicitly.
include: Remove now unnecessary registration ifdefs.
opengl32: Initialize viewport when using FBO surface.
win32u: Create a separate draw FBO for multisampled formats.
opengl32: Resolve multisample draw buffer when using FBO surfaces.
win32u: Remove unnecessary HDC parameter from client_surface_present.
win32u: Remove unnecessary HDC parameter from p_surface_create.
winex11: Remove unnecessary members from struct gl_drawable.
windows.ui: Register runtimeclasses explicitly.
windows.ui.xaml: Register runtimeclasses explicitly.
coremessaging: Register runtimeclasses explicitly.
twinapi.appcore: Register runtimeclasses explicitly.
windows.applicationmodel: Register runtimeclasses explicitly.
windows.system.profile.systemid: Register runtimeclasses explicitly.
windows.system.profile.systemmanufacturers: Register runtimeclasses explicitly.
windows.globalization: Register runtimeclasses explicitly.
appxdeploymentclient: Register runtimeclasses explicitly.
cryptowinrt: Register runtimeclasses explicitly.
Tim Clem (3):
ntdll: Initialize return value in fork_and_exec.
ntdll: Zero the process and thread handles when creating a Unix process.
kernelbase: Zero the RTL_USER_PROCESS_PARAMETERS in CreateProcessInternalW.
Tingzhong Luo (1):
shell32: Support the UserProgramFiles folder.
Tres Finocchiaro (1):
winebuild: Add flag to disable dynamicbase/aslr.
Tyson Whitehead (9):
joy.cpl: Use correct interface for effect AddRef call.
joy.cpl: Remove needless device caps retrieval.
joy.cpl: Remove incorrect DIEP_TYPESPECIFICPARAMS flag usage.
joy.cpl: Cleanup selected device Acquire / Unacquire logic.
joy.cpl: Fix effect axes / direction in SetParameters call.
joy.cpl: Avoid restarting effect while button is pressed.
joy.cpl: Turn off autocenter for every device on creation.
joy.cpl: Add specific parameters based on type and not effect GUID.
winebus: SDL backend FF effect angle requires 32 bits.
Vibhav Pant (9):
vccorlib140: Add semi-stub for Platform::Details::Heap::{Allocate, Free}.
vccorlib140: Add stub for Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Implement Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Add stub for __abi_make_type_id, Platform::Type{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Implement __abi_make_type_id.
vccorlib140: Implement Platform::Type::{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Add stub for Platform::Details::CreateValue.
vccorlib140: Implement Platform::Details::CreateValue.
vccorlib140: Use the correct symbol name for InitControlBlock on i386 and arm.
William Horvath (2):
ntdll: Check for invalid gs_base in the 64-bit segv_handler.
ntdll/tests: Re-enable a previously crashing test.
Yuxuan Shui (6):
include: Make sure to null terminate string in wine_dbg_vsprintf.
server: Fix use-after-free of handle entry.
makefiles: Don't delete Makefile if makedep is interrupted.
dmime: Fix use-after-free after performance_CloseDown.
msi/tests: Fix wrong character counts passed to RegSetValueExA.
ole32: Don't get metafile extent if there is no metafile.
Zhiyi Zhang (2):
user32/tests: Add more SendMessageCallbackA/W() tests with NULL callback.
win32u: Put the message in the queue when the callback pointer is NULL and the callback data is 1.
Ziqing Hui (1):
dwrite: Add fallback for Dingbats.
```
1
0
The vkd3d team is proud to announce that release 1.17 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Initial HLSL support for thread group shared memory.
- Several features have been implemented for the experimental Metal Shading
Language target.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.17.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.17
### libvkd3d
- The EnumerateMetaCommands() method of the ID3D12Device5 interface is
implemented.
### libvkd3d-shader
- Several new features and improvements for the HLSL source type:
- Initial thread group shared memory support.
- Improved support for geometry shaders: shader model 5 multiple output
streams, as well as SV_IsFrontFace, SV_RenderTargetArrayIndex, and
SV_ViewportArrayIndex outputs.
- Structure variable input/output semantics are propagated to the
constituent structure fields.
- Shader entry point return values are allocated before any other outputs
in the output signature. This matches d3dcompiler/fxc more closely.
- Hull shader control point pass-through.
- Reflection information can be retrieved using vkd3d_shader_scan().
- Improved preprocessor handling of comments inside include directives, as
well as inclusion of empty files.
- Memory barrier intrinsics are supported in shader model 4 target
profiles. Previous these were only supported in shader model 5 target
profiles.
- Parser support for the noise() intrinsic. Although the intrinsic itself
isn't implemented, parser support for the intrinsic is required to allow
compilation of any other shaders in the same source file to succeed as
well.
- Parser support for StructuredBuffer resources.
- Various new features and improvements for the effects (FX) source type:
- Shader blob assignments and FXLVM value expressions in ‘fx_2_0’ effects.
- Nameless structure types.
- Explicit constant buffer bind points and constant packing offsets.
- The ‘d3ds_noiseswiz’, ‘ge’, ‘lt’, and ‘noise’ FXLVM operations.
- The experimental Metal Shading Language (MSL) target supports the
following features:
- Texture sampling and gather operations.
- Loops and switches.
- Screen-space partial derivatives.
- Various integer arithmetic and comparison operations.
- Indirect addressing of constant buffers.
- Indexable temporary registers.
- Fragment shader output sample coverage masks.
- SV_Position and SV_SampleIndex fragment shader inputs.
- SV_VertexID inputs.
- When the experimental MSL target is enabled, the ‘dxbc-dxil’ source type
can be used in combination with the ‘msl’ target type to convert DXIL
shaders to MSL.
- The new ‘tx’ source type can be used in combination with the ‘d3d-asm’
target type to disassemble D3DX ‘tx_1_0’ texture shaders.
- The FX target takes alignment and padding into account in ‘fx_4_0’ buffer
size calculations.
- The SPIR-V target is capable of outputting OpSource and OpLine debug
information.
- The core grammar for the experimental SPIR-V disassembler has been updated
to the ‘vulkan-sdk-1.4.313.0’ release.
- New interfaces:
- The VKD3D_SHADER_SOURCE_TX source type specifies D3DX ‘tx_1_0’ texture
shaders.
### vkd3d-compiler
- The new ‘tx’ source type specifies D3DX ‘tx_1_0’ texture shaders.
### demos
- The new vkd3d-teapot demo uses tessellation shaders to render a version of
Martin Newell's famous teapot. It should be noted that current versions of
MoltenVK unfortunately do not support all features required to execute
this demo correctly.
### Changes since vkd3d 1.16:
```
Anna (navi) Figueiredo Gomes (5):
vkd3d-shader/hlsl: Clone the entry point body and redirect processing to the clone.
vkd3d-shader/hlsl: Reset "extern_vars" before processing "entry_func" in hlsl_emit_bytecode().
vkd3d-shader/hlsl: Add temporary variables to "dummy_scope" in prepend_uniform_copy().
vkd3d-shader/hlsl: Don't create a temporary copy for a uniform if one already exists.
vkd3d-shader/hlsl: Move hlsl_ir_function_decl->extern_vars to a local variable.
Brendan Shanks (2):
include: Add additional generated files to .gitignore.
tests: Add dxcompiler.h to .gitignore.
Conor McCarthy (9):
vkd3d-shader/dxil: Validate the function return type after calling the handler.
vkd3d-shader/dxil: Check the destination value is invalid after calling a void function handler.
vkd3d-shader/dxil: Add a null check for the type when validating non-void operands.
vkd3d-shader/ir: Allow constant buffer loads to have a minimum precision.
vkd3d-shader/dxil: Convert constant buffer minimum-precision source registers.
tests: Replace test_ps_viewport_index() with a shader runner test.
vkd3d-shader/dxil: Handle SV_ViewportArrayIndex.
tests/hlsl: Add a test for SV_PrimitiveId inputs and outputs.
vkd3d-shader/dxil: Handle SV_PrimitiveId outputs.
Elizabeth Figura (31):
vkd3d-shader/ir: Use add_signature_element() to add clip planes.
vkd3d-shader/ir: Split TEXCOORD into two separate vsir opcodes.
vkd3d-shader/ir: Split TEX into two separate vsir opcodes.
vkd3d-shader: Use the correct union members for raw and structured resources.
vkd3d-shader/preproc: Parse comments in #include and #line directives.
vkd3d-shader/preproc: Swap to the INITIAL state after ending a buffer.
vkd3d-shader/preproc: Store EOF state per buffer.
vkd3d-shader/hlsl: Add a register type field to struct hlsl_reg.
vkd3d-shader/ir: Introduce a stub SSA to temp allocation pass.
vkd3d-shader/ir: Track liveness in the SSA allocator.
vkd3d-shader/ir: Allocate SSA registers to temps.
vkd3d-shader/hlsl: Output SSA registers where possible.
vkd3d-shader/d3d-asm: Handle INT_MIN in shader_print_int_literal().
vkd3d-shader/hlsl: Convert descriptor registers to pre-5.1 form in the TPF writer.
vkd3d-shader/hlsl: Output sm1 semantics with unique register_index values.
vkd3d-shader/hlsl: Set the data type in sm4_generate_vsir_reg_from_deref().
vkd3d-shader/hlsl: Set the destination data type to UINT in sm4_generate_vsir_cast_from_bool().
vkd3d-shader/ir: Allow bitwise operations on VKD3D_DATA_INT.
tests/shader_runner: Add support for 3D resources.
tests/hlsl: Add tests for 3D textures.
tests/shader_runner: Add support for cube resources.
tests/hlsl: Add tests for cube textures.
vkd3d-shader/spirv: Do not use OpCopyMemory for partial writemasks in spirv_compiler_emit_mov().
vkd3d-shader/spirv: Use left-shifted writemasks for private variables for inputs.
vkd3d-shader/ir: Record the previous temp count before allocating any SSA values.
tests/hlsl: Add a regression test for packed SV_IsFrontFace.
vkd3d-shader: Add descriptors from SAMPLE instructions if necessary.
vkd3d-shader/d3dbc: Move TEXLD lowering to d3dbc_parse().
vkd3d-shader/d3dbc: Normalize ps 1.x output.
vkd3d-shader/d3dbc: Lower 1.4 TEXLD.
vkd3d-shader/d3dbc: Lower TEXCRD.
Evan Tang (4):
vkd3d: Replace the resource count field of struct d3d12_heap with an internal refcount.
vkd3d: Mask colour writes on graphics pipelines without fragment shaders.
tests/d3d12: Add a colour attachment to test_draw_depth_no_ps().
vkd3d: Get rid of the default fragment shader from d3d12_pipeline_state_init_graphics().
Francisco Casas (38):
tests/d3d12: Avoid out-of-bounds access when evaluating ok() args (ubsan).
tests/shader_runner_d3d12: Handle the "bug" qualifier on state creation failure.
tests/hlsl: Test the allocation order of return semantics.
vkd3d-shader/hlsl: Allocate return variables before other outputs.
tests/hlsl: Fix up point-sprite.shader_test.
vkd3d-shader/hlsl: Update the enum hlsl_sampler_dim comment.
vkd3d-shader/ir: Avoid a compiler warning in vsir_block_list_init().
tests/hlsl: Add semantic cascading tests.
vkd3d-shader/hlsl: Use the index in the hlsl_semantic when appending output copies.
vkd3d-shader/hlsl: Use the index in the hlsl_semantic when prepending input copies.
vkd3d-shader/hlsl: Don't pass the semantic index in add_semantic_var().
vkd3d-shader/hlsl: Make output semantics on structs cascade down onto the fields.
vkd3d-shader/hlsl: Make input semantics on structs cascade down onto the fields.
tests/hlsl: Add additional semantic cascading tests.
tests: Test semantic cascading signatures.
vkd3d-shader/hlsl: Dump processed function bodies.
vkd3d-shader/ir: Validate flags in SAMPLE_INFO operations.
vkd3d-shader/ir: Validate flags in RESINFO operations.
vkd3d-shader/dxil: Use iterators in sm6_parser_globals_init().
vkd3d-shader/hlsl: Use vsir_program_append() in sm1_generate_vsir_constant_defs().
vkd3d-shader/hlsl: Use vsir_program_append() in sm1_generate_vsir_sampler_dcls().
vkd3d-shader/hlsl: Use vsir_program_append() in generate_vsir_add_program_instruction().
vkd3d-shader/ir: Use iterators in vsir_program_ensure_diffuse().
vkd3d-shader/ir: Use iterators in vsir_program_remap_output_signature().
vkd3d-shader/ir: Use iterators in instruction_array_normalise_hull_shader_control_point_io().
vkd3d-shader/ir: Use iterators in vsir_program_normalise_flat_constants().
vkd3d-shader/ir: Use iterators in vsir_program_normalise_io_registers().
vkd3d-shader/ir: Remove the io_normaliser.instructions field.
vkd3d-shader/ir: Use iterators in vsir_program_remove_dead_code().
vkd3d-shader/ir: Use iterators in cf_flattener_iterate_instruction_array().
vkd3d-shader/ir: Use iterators in vsir_program_flatten_hull_shader_phases().
vkd3d-shader/ir: Use iterators in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader/ir: Use iterators in vsir_program_insert_alpha_test().
vkd3d-shader/ir: Use iterators in vsir_program_insert_clip_planes().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_size().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_size_clamp().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_coord().
vkd3d-compiler: Set a default target type even when preprocessing.
Giovanni Mascellani (251):
vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_params_init_from_operands().
vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_param_init_from_value().
vkd3d-shader/dxil: Pass a reference to the SM6 parser to sm6_register_from_value().
vkd3d-shader/dxil: Reimplement aggregate indexing using specialized value types.
tests/hlsl: Test minimum precision stride in constant buffers.
tests/hlsl: Test minimum precision 16-bit unsigned integers.
tests/hlsl: Test minimum precision 16-bit signed integers.
tests/hlsl: Remove some tests from minimum-precision.shader_test.
tests/hlsl: Test casting doubles to minimum precision integers.
tests/hlsl: Test casting minimum precision integers to doubles.
tests/hlsl: Test casting 16-bit integers to doubles.
tests/hlsl: Test native 16-bit floating point numbers.
tests/hlsl: Test minimum precision floating point numbers.
tests/hlsl: Test minimum precision stride for signed integers too.
tests/hlsl: Test minimum precision stride for floating point numbers too.
tests/hlsl: Do not test for overflowing 16-bit texture sampling.
tests/hlsl: Mark a test in object-references.shader_test as todo on MoltenVK with DXIL.
tests/hlsl: Mark some tests in clip-cull-distance.shader_test as buggy on MoltenVK with d3d12.
tests/hlsl: Mark a test in gather-offset.shader_test as buggy on MoltenVK with d3d12.
tests/hlsl: Mark some tests in wave-ops-uint.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in wave-ops-int.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in uav-atomics.shader_test as working on MoltenVK.
ci: Really use DXC 1.8.2502 for macOS.
vkd3d-shader/dxil: Do not touch the parser current value in instruction_dst_param_init_temp_vector().
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for integer values.
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for floating-point values.
vkd3d-shader/dxil: Generate specialized values in sm6_parser_constants_init() for casts.
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for null scalars.
vkd3d-shader/dxil: Remove bitcast helpers.
tests/hlsl: Test sampling with minimum precision floating-point numbers.
tests/hlsl: Test the interstage interface for minimum precision types.
tests/hlsl: Use the appropriate RTV format in shader-interstage-interface.shader_test.
tests/hlsl: Add a test reading from a minimum precision signed integer array.
tests/hlsl: Add some more minimum precision floating-point tests.
tests/hlsl: Add a test reading from a minimum precision floating-point array.
tests/hlsl: Mark a test in sm6-uav-rwtexture.shader_test as todo on MoltenVK.
tests/hlsl: Mark a test in register-reservation-resources.shader_test as todo on MoltenVK with DXIL.
tests/hlsl: Mark a test in entry-point-semantics.shader_test as buggy on MoltenVK with DXIL.
tests/hlsl: Mark some tests in geometry.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in wave-ops-float.shader_test as buggy on MoltenVK.
vkd3d-shader/glsl: Accept and ignore the REFACTORING_ALLOWED global flag.
vkd3d-shader/msl: Accept and ignore the REFACTORING_ALLOWED global flag.
vkd3d-shader/glsl: Ignore the PARTIALPRECISION destination modifier.
vkd3d-shader/msl: Ignore the PARTIALPRECISION destination modifier.
tests: Add a test for the ABSNEG source modifier.
vkd3d-shader/glsl: Support the ABSNEG source modifier.
vkd3d-shader/msl: Support the ABSNEG source modifier.
vkd3d-shader/dxil: Do not use field "reg" in of sm6_value when writing bitcasts.
vkd3d-shader/dxil: Validate that floating-point truncation casts decrease bit width.
vkd3d-shader/dxil: Validate that integer extension casts increase bit width.
vkd3d-shader/dxil: Validate that floating-point extension casts increase bit width.
vkd3d-shader/dxil: Handle 16-bit values uniformly in sm6_map_cast_op().
tests: Mark some tests in arithmetic-int-uniform.shader_test as buggy on MoltenVK < 1.2.11.
tests: Mark some tests in calculate-lod.shader_test as buggy on MoltenVK < 1.2.11.
ci: Enable testing with DXC again on macOS.
tests/hlsl: Test minimum precision IDXTEMP registers.
vkd3d-shader/hlsl: Reject programs with group shared variables.
tests/hlsl: Test some quirks of TGSMs with SM < 5.0.
tests/hlsl: Test TGSMs with minimum precision unsigned integers.
vkd3d-shader/dxil: Generate specialized values in sm6_parser_emit_cast() for trivial casts.
vkd3d-shader/dxil: Represent non uniformness in the SM6 value.
vkd3d-shader/dxil: Store a SM6 value in sm6_phi.
vkd3d-shader/dxil: Do not set the value type in sm6_parser_declare_global().
vkd3d-shader/dxil: Do not set the value type in sm6_parser_function_init().
tests: Skip test_graphics_compute_queue_synchronization() on paravirtualized MoltenVK.
tests: Add a test about discontiguous input swizzles in bytecode format.
tests: Fix the shader model requirements for a ps_5_0 shader.
vkd3d-shader/dxil: Rewrite sm6_value_is_constant() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_is_undef() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_is_ssa() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_get_constant_uint() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_value_get_constant_uint64() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_value_is_constant_zero() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_parser_init_ssa_value() in terms of the SM6 value.
vkd3d-shader/dxil: Introduce sm6_value_get_constant_float().
vkd3d-shader/dxil: Remove field "reg" from struct sm6_value.
vkd3d-shader/dxil: Emit 16-bit CONSTANT values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit arrays as minimum precision types.
vkd3d-shader/dxil: Emit 16-bit IDXTEMP values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit SSA values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit ICB values as minimum precision registers.
vkd3d-shader/ir: Rename VKD3D_SHADER_ERROR_VSIR_INVALID_HANDLER to VKD3D_SHADER_ERROR_VSIR_INVALID_OPCODE.
vkd3d-shader/dxil: Allow constant zero values to be floating point.
vkd3d-shader/dxil: Emit 16-bit raw TGSMs as minimum precision.
vkd3d-shader/dxil: Emit 16-bit structured TGSMs as minimum precision.
vkd3d-shader/dxil: Emit 16-bit GROUPSHAREDMEM values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit UNDEFINED and INVALID values as minimum precision registers.
vkd3d-shader/ir: Validate ABS instructions.
vkd3d-shader/ir: Validate ACOS instructions.
vkd3d-shader/ir: Validate ADD instructions.
vkd3d-shader/ir: Validate AND instructions.
vkd3d-shader/ir: Validate ASIN instructions.
vkd3d-shader/ir: Validate ATAN instructions.
tests: Add a test for the partial precision destination modifier.
vkd3d-shader/ir: Validate data types for NEG source modifiers.
vkd3d-shader/ir: Validate data types for BIAS source modifiers.
vkd3d-shader/ir: Validate data types for BIASNEG source modifiers.
vkd3d-shader/ir: Validate data types for SIGN source modifiers.
vkd3d-shader/ir: Validate data types for SIGNNEG source modifiers.
vkd3d-shader/ir: Introduce opcode COS.
vkd3d-shader/ir: Introduce opcode SIN.
vkd3d-shader/ir: Lower d3dbc SINCOS to the new COS and SIN instructions.
vkd3d-shader/ir: Lower tpf SINCOS to the new COS and SIN instructions.
vkd3d-shader/ir: Validate DADD instructions.
vkd3d-shader/ir: Validate DDIV instructions.
vkd3d-shader/ir: Validate DFMA instructions.
vkd3d-shader/ir: Validate DGEO instructions.
vkd3d-shader/ir: Validate DIV instructions.
vkd3d-shader/ir: Validate DLT instructions.
vkd3d-shader/ir: Validate DMAX instructions.
vkd3d-shader/ir: Validate DMIN instructions.
vkd3d-shader/ir: Validate DMOV instructions.
vkd3d-shader/ir: Validate DMUL instructions.
vkd3d-shader/ir: Validate data types for COMP source modifiers.
vkd3d-shader/ir: Validate data types for X2 source modifiers.
vkd3d-shader/ir: Validate data types for X2NEG source modifiers.
vkd3d-shader/ir: Validate data types for DZ source modifiers.
vkd3d-shader/ir: Validate data types for DW source modifiers.
vkd3d-shader/ir: Introduce VKD3DSIH_IMUL_LOW.
vkd3d-shader/ir: Lower IMUL and UMUL to IMUL_LOW.
vkd3d-shader/ir: Validate data types for ABS source modifiers.
vkd3d-shader/ir: Validate data types for ABSNEG source modifiers.
vkd3d-shader/ir: Validate data types for NOT source modifiers.
vkd3d-shader/ir: Validate data types for SATURATE destination modifiers.
vkd3d-shader/ir: Validate data types for destination shifts.
vkd3d-shader/ir: Validate DNE instructions.
vkd3d-shader/ir: Validate DRCP instructions.
vkd3d-shader/ir: Validate DSX instructions.
vkd3d-shader/ir: Validate DSX_COARSE instructions.
vkd3d-shader/ir: Validate DSX_FINE instructions.
vkd3d-shader/ir: Validate DSY instructions.
vkd3d-shader/ir: Validate DSY_COARSE instructions.
vkd3d-shader/ir: Validate DSY_FINE instructions.
vkd3d-shader/ir: Do not crash when registers cannot be resolved to signature elements.
vkd3d-shader/ir: Introduce VSIR_OP_IREM.
vkd3d-shader/ir: Repurpose IDIV to compute plain signed division.
vkd3d-shader/ir: Introduce VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Introduce VSIR_OP_UREM.
vkd3d-shader/ir: Lower UDIV to UDIV_SIMPLE and UREM.
vkd3d-shader/ir: Validate EQO instructions.
vkd3d-shader/ir: Validate DEQO instructions.
vkd3d-shader/ir: Validate EQU instructions.
vkd3d-shader/ir: Validate EXP instructions.
vkd3d-shader/ir: Validate FRC instructions.
vkd3d-shader/ir: Validate FREM instructions.
vkd3d-shader/ir: Validate GEO instructions.
vkd3d-shader/ir: Validate GEU instructions.
vkd3d-shader/ir: Test the data type when validating comparison operations.
tests/hlsl: Test int64 comparisons.
tests/hlsl: Test uint64 comparisons.
vkd3d-shader/ir: Validate HCOS instructions.
vkd3d-shader/ir: Validate HSIN instructions.
vkd3d-shader/ir: Validate HTAN instructions.
vkd3d-shader/ir: Validate IADD instructions.
vkd3d-shader/ir: Validate IEQ instructions.
vkd3d-shader/ir: Validate IGE instructions.
vkd3d-shader/ir: Validate ILT instructions.
vkd3d-shader/ir: Collect the hull shader phase flattener code together.
vkd3d-shader/ir: Handle SSA registers when flattening hull shader phases.
vkd3d-shader/ir: Do not make a local copy of the instructions array in vsir_program_flatten_hull_shader_phases().
vkd3d: Move vkd3d_vk_descriptor_set_index_from_vk_descriptor_type() to resource.c.
vkd3d/resource: Write null descriptors with their correct type when using mutable descriptor types.
vkd3d-shader/ir: Validate descriptor flags in vsir programs.
vkd3d-shader/ir: Validate UAV flags in vsir programs.
vkd3d-shader/ir: Validate IMAD operations.
vkd3d-shader/ir: Validate IMAX operations.
vkd3d-shader/ir: Validate IMIN operations.
vkd3d-shader/ir: Validate INE operations.
vkd3d-shader/ir: Validate INEG operations.
vkd3d-shader/ir: Validate IREM operations.
vkd3d-shader/ir: Validate ISHL operations.
vkd3d-shader/ir: Validate ISHR operations.
vkd3d-shader/ir: Introduce an abstraction to iterate through vsir instructions.
vkd3d-shader/ir: Use the iterator in vsir_program_lower_ifc().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_texkill().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Sort vsir_validator_instructions[] alphabetically.
vkd3d-shader/ir: Validate ISFINITE operations.
vkd3d-shader/ir: Validate ISINF operations.
vkd3d-shader/ir: Validate ISNAN operations.
vkd3d-shader/ir: Validate ITOF operations.
vkd3d-shader/ir: Validate ITOI operations.
vkd3d-shader/ir: Validate FTOI operations.
vkd3d-shader/ir: Validate FTOU operations.
vkd3d-shader/ir: Set dimension to VEC4 when converting SSAs to TEMPs.
vkd3d-shader/ir: Do not print a message for registers that are not being allocated.
vkd3d-shader/ir: Use the iterator in vsir_program_lower_udiv().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_sm1_sincos().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_sm4_sincos().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_texldp().
vkd3d-shader/ir: Validate LOG operations.
vkd3d-shader/ir: Validate LTO operations.
vkd3d-shader/ir: Validate LTU operations.
vkd3d-shader/ir: Validate MAD operations.
vkd3d-shader/ir: Validate MAX operations.
vkd3d-shader/ir: Validate MIN operations.
vkd3d-shader/ir: Validate MUL operations.
vkd3d-shader/ir: Check that LOCALTHREADINDEX registers have dimension VEC4.
vkd3d-shader/ir: Check that COVERAGE registers have dimension VEC4.
vkd3d-shader/ir: Check that DEPTHOUT registers have dimension SCALAR.
vkd3d-shader/ir: Check that DEPTHOUTGE registers have dimension SCALAR.
vkd3d-shader/ir: Check that DEPTHOUTLE registers have dimension SCALAR.
vkd3d-shader/ir: Check that LOCALTHREADID registers have dimension VEC4.
vkd3d-shader/ir: Check that THREADGROUPID registers have dimension VEC4.
vkd3d-shader/ir: Update the program TEMP count when allocating TEMP registers.
vkd3d-shader/ir: Split updating DCL_TEMPS instructions to a dedicated pass.
vkd3d-shader/ir: Check that THREADID registers have dimension VEC4.
vkd3d-shader/ir: Check that SAMPLEMASK registers have dimension SCALAR.
vkd3d-shader/ir: Check that GSINSTID registers have dimension SCALAR.
vkd3d-shader/ir: Check that OUTPOINTID registers have dimension SCALAR.
vkd3d-shader/ir: Check that PRIMID registers have dimension SCALAR.
vkd3d-shader/ir: Check that OUTSTENCILREF registers have dimension SCALAR.
vkd3d-shader/ir: Introduce vsir_program_append().
vkd3d-shader/tpf: Use iterators in tpf_write_program().
vkd3d-shader/spirv: Use iterators in spirv_compiler_generate_spirv().
vkd3d-shader/msl: Use iterators in msl_generator_generate().
vkd3d-shader/glsl: Use iterators in vkd3d_glsl_generator_generate().
vkd3d-shader/d3d-asm: Use iterators in d3d_asm_compile().
vkd3d-shader/d3dbc: Use vsir_program_append() in d3dbc_parse().
vkd3d-shader/d3dbc: Use iterators in d3dbc_write_program_instructions().
vkd3d-shader/ir: Validate NEO operations.
vkd3d-shader/ir: Validate NEU operations.
vkd3d-shader/ir: Validate NOT operations.
vkd3d-shader/ir: Validate OR operations.
vkd3d-shader/ir: Validate ORD instructions.
vkd3d-shader/ir: Validate RCP instructions.
vkd3d-shader/ir: Validate ROUND_NE instructions.
vkd3d-shader/ir: Validate ROUND_NI instructions.
vkd3d-shader/ir: Use size_t in the parameter allocator.
vkd3d-shader/ir: Use size_t in the instruction array.
vkd3d-shader: Use size_t in the string buffer.
vkd3d-shader/msl: Ignore the interpolation mode for output variables.
vkd3d-shader/msl: Emit indexable temps with the appropriate component count.
vkd3d-shader/msl: Use the union type for SAMPLEMASK registers.
vkd3d-shader/msl: Reject shaders with duplicate I/O target locations.
vkd3d-shader/msl: Convert the results of load and sample operations to the destination data type.
vkd3d-shader/dxil: Emit gather offsets as signed.
vkd3d-shader/d3d-asm: Emit precise flags for a number of opcodes.
vkd3d-shader/spirv: Support precise flags on RESINFO instructions.
vkd3d-shader/spirv: Support precise flags on SAMPLE_INFO instructions.
tests/hlsl: Test SV_GSInstanceID.
vkd3d-shader/ir: Check that GSINSTID registers have dimension VEC4.
vkd3d-shader/hlsl: Reject geometry shaders with instance count.
vkd3d-shader: Use iterators in vsir_program_scan().
vkd3d-shader/ir: Use iterators in vsir_program_normalize_addr().
vkd3d-shader/ir: Use iterators in vsir_program_ensure_ret().
vkd3d-shader: Use the structure names when creating the parameter allocators.
vkd3d-shader: Enable converting DXIL to MSL.
vkd3d-shader/msl: Allocate SSA registers to temporaries.
tests/shader_runner_metal: Allow checking shader model 5.1 too.
tests/shader_runner_metal: Run the Metal shader runner with DXIL shaders.
Henri Verbeet (148):
vkd3d-shader: Also output vkd3d_shader_verror() messages using WARN.
vkd3d-shader: Also output vkd3d_shader_vwarning() messages using WARN.
vkd3d-shader: Also output vkd3d_shader_vnote() messages using WARN.
vkd3d-shader: Remove some newlines from vkd3d-shader error messages.
tests/shader_runner_metal: Try harder to find a suitable device.
tests/shader_runner_d3d11: Direct3D 11 supports geometry shaders.
tests/hlsl: Require the "geometry-shader" cap for the relevant clip/cull-distance tests.
tests/hlsl: Get rid of a MSL todo in geometry.shader_test.
tests/hlsl: Slightly adjust the bias values in the sample-bias tests.
vkd3d-shader: Move vkd3d_siv_from_sysval_indexed() to hlsl_codegen.c.
vkd3d-shader/msl: Make the generated main function static.
tests/shader_runner: Introduce a "tessellation-shader" cap.
vkd3d-shader/msl: Ensure we have a non-NULL "resource_type_info" pointer in msl_ld().
vkd3d-shader/msl: Reject cube and multi-sample texel fetches in msl_ld().
vkd3d-shader/msl: Get rid of the "lod" field of struct msl_resource_type_info.
vkd3d-shader/msl: Slightly improve the error messages for unspecified descriptor bindings.
vkd3d-shader/msl: Continue when the SRV descriptor binding isn't specified in msl_ld().
vkd3d-shader/msl: Implement support for indirect constant buffer addressing.
vkd3d-shader/msl: Handle SV_POSITION inputs.
vkd3d-shader/msl: Handle SV_VERTEX_ID inputs.
vkd3d-shader/msl: Simplify SV_DEPTH handling.
tests/shader_runner_metal: Implement multi-sample readback.
tests/shader_runner_metal: Set the pipeline sample count in metal_runner_draw().
vkd3d-shader/msl: Handle SV_SAMPLE_INDEX inputs.
vkd3d-shader/msl: Implement support for VKD3DSPR_IDXTEMP registers.
vkd3d-shader/msl: Implement support for VKD3DSPR_SAMPLEMASK registers.
vkd3d-shader/msl: Implement VKD3DSIH_EQO.
vkd3d-shader/msl: Implement VKD3DSIH_IADD.
vkd3d-shader/msl: Implement VKD3DSIH_IGE.
vkd3d-shader/ir: Introduce vsir_opcode_get_name().
vkd3d-shader/d3dbc: Use vsir_opcode_get_name() in shader_sm1_get_opcode_info_from_vsir_instruction().
vkd3d-shader/d3dbc: Use vsir_opcode_get_name() in d3dbc_write_vsir_instruction().
vkd3d-shader/glsl: Use vsir_opcode_get_name() in shader_glsl_unhandled().
vkd3d-shader/ir: Use vsir_opcode_get_name() in vsir_program_lower_instructions().
vkd3d-shader/msl: Implement VKD3DSIH_ILT.
vkd3d-shader/msl: Implement VKD3DSIH_IMUL.
vkd3d-shader/msl: Implement loops.
vkd3d-shader/msl: Implement switches.
vkd3d-shader/msl: Implement VKD3DSIH_DISCARD.
tests/shader_runner: Rename the "ri64" probe format to "i64".
tests/shader_runner: Introduce the "u64" probe format.
tests/shader_runner: Introduce the "f64" probe format.
tests/shader_runner: Introduce the "i32" probe format.
tests/shader_runner: Introduce the "u32" probe format.
tests/shader_runner: Introduce the "f32" probe format.
demos: Allow Vulkan to determine the swapchain image count.
vkd3d-shader/msl: Implement VKD3DSIH_INEG.
vkd3d-shader/msl: Implement VKD3DSIH_ULT.
vkd3d-shader/msl: Implement VKD3DSIH_XOR.
tests/shader_runner_metal: Implement resource copies.
vkd3d-shader/msl: Implement VKD3DSIH_LD2DMS.
vkd3d-shader/ir: Use vsir_opcode_get_name() in the validator.
vkd3d-shader/msl: Use vsir_opcode_get_name() in msl_unhandled().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_handle_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_atomic_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_sample().
demos: Print the GPU and platform we're running on.
demos: Map the Win32 A-Z keys to a-z.
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_deriv_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_comparison_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_bitfield_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_ext_glsl_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_alu_instruction().
demos: Introduce a helper function to create a projection matrix.
vkd3d-shader/spirv: Emit an OpSource instruction with the source name.
vkd3d: Use the DXBC checksum to construct a shader source name.
demos/teapot: Add a tessellation demo.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_B.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_C.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_C_LZ
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_GRAD.
vkd3d-shader/spirv: Do not require VKD3D_SHADER_BINDING_FLAG_IMAGE for sampler descriptors.
vkd3d-shader/d3dbc: Use TAG_CTAB in d3dbc_compile().
demos/teapot: Add on-screen help.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_LOD.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4_C.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4_PO.
vkd3d-shader/msl: Implement support for static texel offsets in msl_sample().
vkd3d-shader/ir: Rename the VKD3DSIH_* enum elements to VSIR_OP_*.
vkd3d-shader/msl: Implement VSIR_OP_CONTINUE.
vkd3d-shader/msl: Implement VSIR_OP_DSX and VSIR_OP_DSY.
vkd3d-shader/msl: Implement VSIR_OP_DSX_COARSE and VSIR_OP_DSY_COARSE.
vkd3d-shader/msl: Implement VSIR_OP_DSX_FINE and VSIR_OP_DSY_FINE.
vkd3d-shader/msl: Implement VSIR_OP_IMAX.
vkd3d-shader/ir: Create SSA values with the corresponding dimension in vsir_program_lower_sm4_sincos().
vkd3d-shader/ir: Create SSA values with the corresponding dimension in vsir_program_lower_udiv().
demos/teapot: Add an fps counter.
vkd3d-shader/msl: Implement VSIR_OP_UMAX and VSIR_OP_UMIN.
tests/shader_runner_metal: Implement buffer textures.
vkd3d-shader/msl: Implement VSIR_OP_STORE_UAV_TYPED.
vkd3d-shader/msl: Implement VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL.
tests/shader_runner_gl: Implement geometry shaders.
demos/teapot: Add diffuse lighting.
demos/teapot: Add a flat shading toggle.
vkd3d-shader/ir: Rename enum vkd3d_data_type to vsir_data_type.
vkd3d-shader/ir: Rename VKD3D_DATA_HALF to VSIR_DATA_F16.
vkd3d-shader/ir: Rename VKD3D_DATA_FLOAT to VSIR_DATA_F32.
vkd3d-shader/ir: Rename VKD3D_DATA_DOUBLE to VSIR_DATA_F64.
demos/teapot: Animate the camera.
vkd3d-shader/ir: Rename VKD3D_DATA_INT to VSIR_DATA_I32.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT8 to VSIR_DATA_U8.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT16 to VSIR_DATA_U16.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT to VSIR_DATA_U32.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT64 to VSIR_DATA_U64.
vkd3d-shader/ir: Consistently use VKD3D_DATA_UNUSED for STREAM registers.
vkd3d-shader/ir: Rename VKD3D_DATA_UNORM to VSIR_DATA_UNORM.
vkd3d-shader/ir: Rename VKD3D_DATA_SNORM to VSIR_DATA_SNORM.
vkd3d-shader/ir: Rename VKD3D_DATA_OPAQUE to VSIR_DATA_OPAQUE.
vkd3d-shader/ir: Rename VKD3D_DATA_MIXED to VSIR_DATA_MIXED.
vkd3d-shader/ir: Rename VKD3D_DATA_CONTINUED to VSIR_DATA_CONTINUED.
vkd3d-shader/ir: Rename VKD3D_DATA_UNUSED to VSIR_DATA_UNUSED.
vkd3d-shader/ir: Rename VKD3D_DATA_BOOL to VSIR_DATA_BOOL.
vkd3d-shader/ir: Explicitly initialise the "resource_data_type" field in vsir_instruction_init().
vkd3d-shader/spirv: Use spirv_compiler_error() to report unhandled sample_info flags.
vkd3d-shader/spirv: Use spirv_compiler_error() to report unhandled resinfo flags.
vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for sample_info_uint destination operands.
vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for resinfo_uint destination operands.
vkd3d-shader/hlsl: Get rid of the "hlsl" argument to hlsl_compile_shader().
vkd3d-shader/tpf: Update the comment describing the data type mapping in init_sm4_lookup_tables().
vkd3d-shader/ir: Allow source operands of shift operations to have different data types.
vkd3d-shader/hlsl: Emit vsir from hlsl_emit_bytecode().
vkd3d-shader: Call vsir_program_scan() for d3d-asm targets in vsir_program_compile().
vkd3d-shader/spirv: Emit OpLine instructions.
demos/teapot: Add specular lighting.
vkd3d-shader/hlsl: Introduce hlsl_compile_effect().
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_emit_vsir().
vkd3d-shader/hlsl: Generate vsir signatures in hlsl_emit_vsir().
vkd3d-shader/spirv: Update the SPIR-V grammar JSON to the vulkan-sdk-1.4.313.0 release.
vkd3d-shader/ir: Free program parameters on failure in vsir_program_init() if needed.
include: Remove some redudant TAG_* definintions from vkd3d_shader_util.h.
vkd3d: Set the maximum viewport count in d3d12_pipeline_state_get_or_create_pipeline().
vkd3d-shader/ir: Use vsir_program_append() in vsir_program_ensure_ret().
tests/shader_runner: Parse hex blobs as a list of 32-bit integers.
tests: Strip reflection data from dxbc-tpf-hex shaders.
tests/d3d12: Check whether the d3d12 device supports geometry shaders.
tests/shader_runner_d3d12: Check whether the d3d12 device supports geometry shaders.
vkd3d-shader: Cleanup the vsir program on vsir_program_transform_early() failure in vsir_parse().
vkd3d-shader: Introduce struct vkd3d_shader_source_list.
vkd3d-shader/hlsl: Pass a vkd3d_shader_source_list pointer to hlsl_ctx_init().
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_compile_shader().
vkd3d-shader/hlsl: Return a vsir program from hlsl_compile_shader().
vkd3d-shader/hlsl: Support HLSL sources in vkd3d_shader_scan().
vkd3d-shader/spirv: Avoid emitting duplicate built-in inputs in spirv_compiler_emit_input().
vkd3d-shader/d3d-asm: Resolve SSA values when outputting SM<6 assembly.
vkd3d-shader/glsl: Resolve SSA values.
vkd3d-shader: Document that vkd3d_shader_scan() supports HLSL sources.
Nikolay Sivov (45):
vkd3d-shader/fx: Handle nameless structure types.
vkd3d-shader/fx: Use the correct value range for bool initializers.
vkd3d-shader/fx: Use the correct field indices when writing structure default values.
vkd3d-shader/fx: Fix the total buffer size calculation in write_fx_4_buffer().
vkd3d-shader/fx: Fix writing fx_2_0 structure parameters.
vkd3d-shader/fx: Use variable unpacked size when setting buffer sizes.
vkd3d-shader/fx: Print explicit buffer bind points in fx -> d3d-asm output.
vkd3d-shader/fx: Print packoffset() modifiers in fx -> d3d-asm output.
vkd3d-shader/fx: Fix some typos in fx_2_0 state names.
vkd3d-shader/fx: Use correct array sizes for the fx_2_0 states.
vkd3d-shader/fx: Fix reading the assignment value base type when parsing fx_2_0.
vkd3d-shader/fx: Fix a crash in fx -> d3d-asm when named values are not defined.
vkd3d-shader/fx: Handle bool types when parsing fx_2_0 assignment values.
vkd3d-shader/fx: Add a few missing fxlc opcode names.
vkd3d-shader/fx: Do not print padding bytes of fx_2_0 strings.
vkd3d-shader/fx: Use a separate table for sampler states in fx_2_0.
vkd3d-shader/fx: Give fxlvm-specific constants a version-neutral name.
vkd3d-shader/fx: Use a version-neutral name for the opcode table.
vkd3d-shader/fx: Read instruction arguments in full before printing them.
vkd3d-shader/fx: Use more generic names for the literal constant array.
vkd3d-shader/fx: Add a helper to print literals.
vkd3d-shader/fx: Rename the constant argument helper to be version-neutral.
vkd3d-shader/fx: Parse array selector expressions for fx_2_0.
vkd3d-shader/fx: Remove the unused fx_4_fxlc_argument type.
vkd3d-shader/fx: Explicitly check all known state assignment types for fx_2_0.
vkd3d-shader/fx: Output value expressions for fx_2_0.
vkd3d-shader/fx: Output indirect register access in arguments.
vkd3d-shader/fx: Add the "noise" opcode name.
vkd3d-shader/fx: Add support for tx -> text output.
vkd3d-shader/d3dbc: Use the actual instruction length in d3dbc_write_instruction().
vkd3d-shader/hlsl: Add a stub for the noise() intrinsic.
vkd3d-shader/fx: Use a version-independent structure for states.
vkd3d-shader/fx: Use the same state data helpers for both fx_2_0 and fx_4+.
vkd3d-shader/fx: Move state decomposition to the fx_4_0-specific writing path.
vkd3d-shader/fx: Move entry count updates out of the state block writing helper.
vkd3d-shader/fx: Add a format-specific callback to write state assignments.
vkd3d-shader/fx: Fix the order of the "MaterialDiffuse" and "MaterialAmbient" state entries.
vkd3d-shader/fx: Improve register naming in the disassembly output.
vkd3d-shader/fx: Use the correct value range for bools in fx_4_0 state values.
vkd3d-shader/fx: Explicitly handle bool state values when parsing.
vkd3d-shader/ir: Handle TEXLDL instructions in vsir_program_lower_instructions().
vkd3d-shader/hlsl: Handle HLSL_RESOURCE_SAMPLE_LOD in sm1_generate_vsir_instr_resource_load().
vkd3d-shader/fx: Handle regular shader blobs when parsing the state data.
vkd3d-shader/fx: Do not attempt to parse expressions without code section.
vkd3d: Return success from d3d12_device_EnumerateMetaCommands().
Shaun Ren (19):
vkd3d-shader/tpf: Read the DCL_OUTPUT_SGV instruction.
vkd3d-shader/hlsl: Implement output semantics for geometry shaders.
tests: Test signature reflection for geometry shader outputs.
vkd3d-shader/hlsl: Fix the register string for patch arrays in debug_register().
vkd3d-shader/hlsl: Support void pass-through hull shader control point functions.
vkd3d-shader/hlsl: Emit dcl_stream instructions for SM5 geometry shaders.
vkd3d-shader/hlsl: Generate vsir instructions for indexed output streams in geometry shaders.
vkd3d-shader/hlsl: Store stream index in struct hlsl_semantic.
vkd3d-shader/hlsl: Don't optimize semantic register allocations in SM1.
vkd3d-shader/hlsl: Remove a leftover TODO message.
vkd3d-shader/hlsl: Only dump store writemasks for single register types.
vkd3d-shader/hlsl: Handle nodes with NULL data types in hlsl_replace_node().
vkd3d-shader/hlsl: Allow memory barriers in SM4+ target profiles.
vkd3d-shader/hlsl: Ignore the 'groupshared' modifier for non-compute shaders.
vkd3d-shader/hlsl: Allocate groupshared registers.
vkd3d-shader/hlsl: Emit dcl_tgsm_raw instructions for raw groupshared variables.
vkd3d-shader/hlsl: Support loads from groupshared variables.
vkd3d-shader/hlsl: Support stores to raw groupshared variables.
vkd3d-shader/hlsl: Support interlocked operations on non-indexed groupshared variables.
Victor Chiletto (4):
tests/hlsl: Add a few extra structured buffer matrix load + swizzle tests.
vkd3d-shader/hlsl: Parse SRV structured buffers.
vkd3d-shader/hlsl: Transform hlsl_ir_index into structured buffers into field specific hlsl_ir_resource_loads.
vkd3d-shader/hlsl: Split matrix copies from resource loads.
```
1
0
The Wine development release 10.13 is now available.
What's new in this release:
- Windows.Gaming.Input configuration tab in the Joystick Control Panel.
- ECDSA_P521 and ECDH_P521 algorithms in BCrypt.
- OpenGL WoW64 thunks are all generated.
- Still more support for Windows Runtime metadata in WIDL.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.13.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.13 (total 32):
- #21864 Default paper size A4 instead of my printers default
- #32334 Microsoft SQL Server Management Studio Express 2005: Connection window is too narrow
- #44066 mintty/msys2 doesn't work since wine 2.5.0 (named pipes)
- #50174 Microsoft Office 365 login page for activating Office is blank
- #52844 Multiple games stuck/crash with a black screen after/before intro (Call of Duty: Black Ops II, Nioh 2 - The Complete Edition)
- #54157 dir command of cmd fails on Z: on Ubuntu under WSL
- #56246 Regarding the color depth of BMP in the SavePicture method: the value is unstable.
- #56697 _kbhit ignores the last event in the queue
- #56754 Amazing Adventures 2 CD: bundled demo launchers fail to launch game
- #56883 DualSense bumpers registering as two buttons on wine 9.9 and later
- #57115 CEF sample application "Draggable" test fails
- #57116 Crash during codecs test on CEF sample application in 64-bit wineprefix (widevinecdm)
- #57130 CEF sample application WebGL test fails
- #57131 Info and profile buttons in CEF sample application instantly close
- #57458 FL Studio logo appears on the top left of the screen and with a black background
- #57648 Wrong Cursor on Wayland
- #57783 Approach will not run in a virgin 10.0 wineprefix
- #58122 WSAENOTSOCK error when calling winsock.Send() on duplicated socket
- #58389 Wrong path, app fails to start (regression): err:environ:init_peb starting L"\\\\?\\unix\\home\\user\\krita-x64-5.2.9-setup.exe
- #58393 FlexiPDFfails to run in wine-10.10
- #58396 virtual terminal captures mouse
- #58425 video/x-h264 alignment=au caps causes artifacts and crashes with streams that have NALUs split across buffers
- #58448 Metasequoia 3.1.6 OpenGL regression
- #58459 Doom 3: BFG Edition fails to start
- #58477 Some VST plugins fail
- #58488 Bejeweled 3: black screen on start
- #58493 Gothic and Gothic II crash with Access Violation
- #58497 Strings are a confusing mix of US and British English
- #58500 64-bit "Plain Vanilla Compiling" fails
- #58528 CRYPT_AcquirePrivateKeyFromProvInfo does not check machine store for private key
- #58549 Call of Duty: Black Ops II has no sound
- #58571 On NetBSD, the case-insensitive mechanism for filenames appears to be broken
### Changes since 10.12:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (1):
ntdll: Remove redundant fusefs detection for NetBSD.
Alexandre Julliard (39):
winebrowser: Use wine_get_unix_file_name() instead of wine_nt_to_unix_file_name().
makefiles: Don't try to install symlinks for programs if not supported.
ntdll: Share more filename string constants.
ntdll: Move the helper to build NT pathnames to file.c.
ntdll: Add a ntdll_get_unix_file_name() helper.
win32u: Use the ntdll_get_unix_file_name() helper.
winemac.drv: Use the ntdll_get_unix_file_name() helper.
winex11.drv: Use the ntdll_get_unix_file_name() helper.
winspool: Use the ntdll_get_unix_file_name() helper.
mountmgr: Perform the filename conversion to the Unix side when setting shell folders.
mountmgr: Perform the filename conversion to the Unix side when querying shell folders.
ntdll: Add a private info class in NtQueryInformationFile() to return the Unix file name.
kernel32: Reimplement wine_get_unix_file_name() using WineFileUnixNameInformation.
kernel32: Remove leftover debug traces.
ntdll: Get rid of the wine_nt_to_unix_file_name syscall.
ntdll: Remove some commented stubs that no longer exist in recent Windows.
ntdll: Add NtAccessCheckByTypeAndAuditAlarm() and NtCloseObjectAuditAlarm() stubs.
ntdll: Add more LPC stubs.
kernel32/tests: Fix a couple of test failures.
winebuild: Unify the get_stub_name() and get_link_name() helpers.
winebuild: Support -syscall flag for stubs.
ntdll: Add stubs for some syscalls that need explicit ids.
kernel32/tests: Fix some test failures on Windows.
msvcrt: Remove __GNUC__ checks.
vcomp: Remove __GNUC__ checks.
krnl386: Remove __i386__ checks.
mmsystem: Remove __i386__ checks.
system.drv: Remove __i386__ checks.
win87em: Remove __i386__ checks.
ntdll: Remove trailing backslashes from NT names.
kernelbase: Get the CPU count from SYSTEM_CPU_INFORMATION.
light.msstyles: Update generated bitmaps.
joy.cpl: Use aligned double type to avoid compiler warnings.
server: Add a helper to check if a thread is suspended.
wbemprox: Get the CPU count from the PEB.
taskmgr: Get the CPU count from the PEB.
ntdll/tests: Get the CPU count from the PEB.
kernel32/tests: Get the CPU count from the PEB.
cmd/tests: Fix cleanup of created files.
Alfred Agrell (2):
dsound/tests: Add tests for IDirectSoundBuffer_Lock.
dsound: Improve IDirectSoundBufferImpl_Lock handling of invalid arguments.
Alistair Leslie-Hughes (7):
msado15: Support all Fields interfaces.
msado15: Support all Field interfaces.
msado15: Support all Connection interfaces.
msdasql/tests: Allow database tests to run as normal user.
msado15/tests: Check return value (Coverity).
msado15: Implement ADOConnectionConstruction15::get_DSO.
msado15/tests: Fixup error return values for the ConnectionPoint tests.
Ally Sommers (1):
ws2_32: Add afunix.h header.
Andrey Gusev (1):
wined3d: Add NVIDIA GeForce RTX 4060 Mobile.
Arkadiusz Hiler (2):
winebus: Add Logitech G920 mapping to the SDL backend.
winebus: Don't consider wheels / flight sticks as gamepads.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
cfgmgr32/tests: Load imports dynamically to allow execution on Windows 7.
Billy Laws (2):
ntdll/tests: Add THREAD_CREATE_FLAGS_BYPASS_PROCESS_FREEZE test.
ntdll: Support THREAD_CREATE_FLAGS_BYPASS_PROCESS_FREEZE flag.
Brendan McGrath (9):
mf/tests: Test when SAR requests a new sample.
mf/tests: Test sequence of calls during a Pause and Seek.
mf: Restart transforms and sinks on seek.
mf: Don't send MFT_MESSAGE_NOTIFY_START_OF_STREAM when seeking.
mfmediaengine: Don't perform implicit flush on state change.
mfmediaengine: Request sample if we are seeking.
mf/tests: Test H264 decoder when duration and time are zero.
mf/tests: Test WMV decoder when duration and time are zero.
winegstreamer: Correct duration if provided value is zero.
Brendan Shanks (6):
win32u: Remove Mac suitcase/resource-fork font support.
xinput1_3: Correctly handle a NULL GUID parameter in XInputGetDSoundAudioDeviceGuids().
xinput9_1_0: Implement by dynamically loading and calling xinput1_4.dll.
ntdll: Ensure %cs is correct in sigcontext on x86_64 macOS.
winevulkan: Enable VK_EXT_swapchain_maintenance1 when available.
win32u: Create Vulkan swapchains with VkSwapchainPresentScalingCreateInfoEXT when the surface will be scaled.
Connor McAdams (7):
d3dx9: Replace D3DFORMAT constants with enum d3dx_pixel_format_id constants.
d3dx9: Introduce d3dx_resource_type enumeration.
d3dx9: Introduce d3dx_image_file_format enumeration.
d3dx9: Move functions intended for code sharing into a separate source file.
d3dx9: Get rid of ID3DXBuffer usage in d3dx_helpers.
d3dx9: Don't include d3dx9 header in d3dx_helpers.
d3dx10: Use shared d3dx code in get_image_info when possible.
Conor McCarthy (3):
mfplat/tests: Add NV12 650 x 850 to image_size_tests.
mf/tests: Add a video processor NV12 test with a width alignment of 2.
winegstreamer: Do not pass a sample size to wg_transform_read_mf().
Csányi István (1):
winebus.sys: Fix DualSense BT quirk.
Daniel Lehman (4):
ucrtbase/tests: Move cexp tests from msvcr120.
ucrtbase: Add carg implementation.
ucrtbase: Add cargf implementation.
msvcp140_atomic_wait: Add __std_execution_* functions.
Dmitry Timoshkov (1):
windowscodecs: Propagate ::CopyPixels() return value.
Elizabeth Figura (18):
quartz/tests: Create separate IEnumPins instances.
qasf/tests: Test AllocateStreamingResources() error propagation.
mf/tests: Test IMediaObject::AllocateStreamingResources().
winegstreamer: Return S_OK from AllocateStreamingResources().
wined3d/glsl: Transpose the bump environment matrix.
Revert "wined3d/glsl: Transpose the bump environment matrix.".
d3d9/tests: Add comprehensive D3DTSS_TEXTURETRANSFORMFLAGS tests.
wined3d: Handle all invalid values in compute_texture_matrix().
wined3d: Pass the attribute coordinate count to get_texture_matrix().
wined3d: Pass 3 as the attribute count for generated texcoords.
wined3d: Alter the texture matrix even for non-projected textures.
wined3d: Copy the projective divisor in the FFP vertex pipeline.
wined3d: Initialize all remaining FFP texture coordinates to zero.
wined3d: Always divide 1.x projected textures by W for shaders.
wined3d: Always divide 1.x projected textures by W in the FFP.
dxcore: Reset the factory object on destruction.
dxcore: Separate a dxcore_adapter_create() helper.
maintainers: Add dxcore to the D3D section.
Eric Pouech (7):
winedump: Fix crash while dumping CLR blobs.
cmd/tests: Add a couple of tests about return code propagation.
cmd: Fix exit code when run with /C command line option.
cmd: Factorize some code.
cmd: Use a context when handling input from command line (/c, /k).
cmd: Separate command file handling from external commands.
cmd: Fix exit code in cmd /c when leaving nested command files.
Esme Povirk (9):
comctl32/tests: Add general tests for OBJID_QUERYCLASSNAMEIDX.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for Animate controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for hotkey controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for listviews.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for tooltips.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for trackbar controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for treeviews.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for updown controls.
comctl32/tests: Remove individual OBJID_QUERYCLASSNAMEIDX tests.
Gabriel Ivăncescu (40):
mshtml: Use HasAttribute instead of GetAttributeNode when checking if specified attribute.
mshtml: Clone name properly from attached attribute nodes.
mshtml: Use a BSTR to store the detached attribute's name.
mshtml: Use a helper function to find an attribute in the collection's list.
mshtml: Detach attribute nodes when removing the attribute from the element.
mshtml: Implement 'specified' for detached attributes.
mshtml/tests: Add tests for more element prototype props.
mshtml/tests: Test frame and iframe element props.
mshtml: Only allow a specific set of builtin props as attributes for elements.
mshtml: Only allow a specific set of builtin props as attributes for button elements.
mshtml: Only allow a specific set of builtin props as attributes for form elements.
mshtml: Only allow a specific set of builtin props as attributes for frame elements.
mshtml: Only allow a specific set of builtin props as attributes for iframe elements.
mshtml: Only allow a specific set of builtin props as attributes for img elements.
mshtml: Only allow a specific set of builtin props as attributes for input elements.
mshtml: Only allow a specific set of builtin props as attributes for label elements.
mshtml: Only allow a specific set of builtin props as attributes for link elements.
mshtml: Only allow a specific set of builtin props as attributes for meta elements.
mshtml: Only allow a specific set of builtin props as attributes for object elements.
mshtml: Only allow a specific set of builtin props as attributes for option elements.
mshtml: Only allow a specific set of builtin props as attributes for script elements.
mshtml: Only allow a specific set of builtin props as attributes for select elements.
mshtml: Only allow a specific set of builtin props as attributes for style elements.
mshtml: Only allow a specific set of builtin props as attributes for table elements.
mshtml: Only allow a specific set of builtin props as attributes for table data cell elements.
mshtml: Only allow a specific set of builtin props as attributes for table row elements.
mshtml: Only allow a specific set of builtin props as attributes for text area elements.
mshtml: Handle NULL inputs in node's replaceChild.
mshtml: Handle NULL input in node's removeChild.
mshtml: Handle NULL input in node's appendChild.
mshtml: Handle NULL input in node's insertBefore.
mshtml/tests: Test IHTMLElement6::getAttributeNode in legacy modes.
mshtml/tests: Test mixing attribute nodes and collections across modes.
mshtml/tests: Test node hierarchy for attribute nodes in IE9+ modes.
mshtml/tests: Don't create global variable due to typo.
mshtml: Fix expando for IE9 attr nodes.
mshtml: Fix gecko element leak when retrieving ownerElement.
mshtml: Traverse the node on attribute nodes.
mshtml: Allow custom set attributes with same name as builtin methods in legacy modes.
mshtml: Fix 'expando' and 'specified' for attributes in legacy modes.
Giovanni Mascellani (10):
mmdevapi/tests: Check that incompatible formats are rejected by IsFormatSupported().
mmdevapi/tests: Remove workaround for Wine < 1.3.28.
mmdevapi/tests: Test rendering with floating point formats.
mmdevapi/tests: Test supported formats for capturing.
mmdevapi: Error out if the channel count or sampling rate doesn't match the mix format.
Revert "mmdevapi: Error out if the channel count or sampling rate doesn't match the mix format.".
mmdevapi/tests: Mark a wrong error code by IsFormatSupported() as todo.
mmdevapi/tests: Do not test QueryInterface() with a NULL output pointer.
winepulse.drv: Allow 32-bit PCM audio samples.
winecoreaudio.drv: Do not spam fixmes for unknown channels.
Hans Leidekker (20):
crypt32: Retry with CRYPT_MACHINE_KEYSET in CRYPT_AcquirePrivateKeyFromProvInfo().
windows.gaming.input: Turn put_Parameters() into a regular method.
widl: Truncate identifiers that exceed the 255 character limit.
widl: Check that retval parameters also have an out attribute.
widl: Check eventadd method parameters.
widl: Check eventremove method parameters.
widl: Check propget method parameters.
widl: Check propput method parameters.
include: Comment reference to undefined activation interface.
widl: Check activation method parameters.
widl: Check composition method parameters.
include: Add missing runtimeclass contract attributes.
widl: Require runtimeclass contract or version attribute.
widl: Use a structure for the version attribute.
widl: Fix version attribute value.
widl: Skip array size parameters.
widl: Fix encoding of array parameters.
widl: Only use 32-bit integers in row structures.
widl: Add an implicit apicontract attribute.
widl: Always store member references in attributes.
Haoyang Chen (2):
explorer: Ignore command line character case.
explorer: Allow /n to be followed by other arguments.
Henri Verbeet (1):
wined3d: Add GPU information for AMD NAVI44.
Huw D. M. Davies (1):
winemac: Define missing status variable.
Jacek Caban (78):
krnl386: Remove __GNUC__ check.
ntdll: Remove __GNUC__ checks.
ntdll/tests: Remove __GNUC__ checks.
ntoskrnl: Remove __GNUC__ check.
oleaut32: Remove __GNUC__ check.
advapi32: Initialize temp variable in test_incorrect_api_usage.
crypt32/tests: Use dummySubject in CryptSIPLoad invalid parameter test.
kernel32/tests: Initialize stackvar in test_IsBadReadPtr test.
ole32/tests: Initialize rect in OleDraw invalid parameter test.
shlwapi/tests: Initialize cookie before passing it to add_call.
webservices/tests: Use valid url for WsEncodeUrl invalid argument tests.
d3dx9/tests: Fix identity_matrix initialization.
d3dx10/tests: Initialize data in test_D3DX10CreateAsyncMemoryLoader.
d3dx11/tests: Initialize data in test_D3DX11CreateAsyncMemoryLoader.
uxtheme/tests: Initialize rect in test_DrawThemeEdge.
ntoskrnl/tests: Use initialized client dispatch in WskSocket call.
quartz/tests: Initialize mt in test_connect_direct.
d3d10core/tests: Initialize box in test_copy_subresource_region.
d3d11/tests: Initialize box in test_copy_subresource_region.
msvcp60/tests: Don't use const pointers for thiscall thunks.
msvcp90/tests: Don't use const pointers for thiscall thunks.
msvcr90/tests: Initialize key value in test_bsearch_s.
include: Add _callnewh declaration.
user32/tests: Use switch statement in test_keyboard_layout.
opengl32: Move manual wow64 thunks declarations to generated header.
opengl32: Move thunks declarations to generated header.
opengl32: Use generated header for all thunk declarations.
opengl32: Use generated header wrapper declarations.
include: Add IHTMLAttributeCollection4 declaration.
mshtml: Add IHTMLAttributeCollection4 stub implementation.
opengl32: Move static keyword logic to generate_unix_thunk.
opengl32: Use generate_unix_thunk for wow64 wgl thunks.
opengl32: Use generate_unix_thunk for wow64 gl thunks.
opengl32: Use generate_unix_thunk for wow64 ext thunks.
opengl32: Remove no longer used get_func_args arguments.
mshtml: Add create_node fallback to cloneNode.
mshtml: Add DOM attribute node implementation.
mshtml: Implement HTMLAttributeCollection4::get_length.
mshtml: Implement IHTMLAttributeCollection4::item.
mshtml: Implement IHTMLAttributeCollection4::getNamedItem.
mshtml: Properly expose Attr and NamedNodeMap properties.
mshtml/tests: Add more attribute nodes tests.
opengl32: Use generated wow64 thunk for wglMakeCurrent.
opengl32: Use generated wow64 thunk for wglMakeContextCurrentARB.
opengl32: Use generated wow64 thunk for wglDeleteContext.
opengl32: Use manual_win_functions for wglGetCurrentReadDCARB.
opengl32: Avoid unneeded wrapper return type casts.
opengl32: Use generated wow64 thunk for wglCreateContext.
opengl32: Use generated wow64 thunk for wglCreateContextAttribsARB.
opengl32: Don't generate wrapper declarations for functions implemented on PE side.
opengl32: Introduce wow64 wrappers and use it for glClientWaitSync implementation.
opengl32: Use wow64 wrapper for glFenceSync implementation.
opengl32: Use wow64 wrapper for glDeleteSync implementation.
opengl32: Use wow64 wrapper for glGetSynciv implementation.
opengl32: Use wow64 wrapper for glIsSync implementation.
opengl32: Use wow64 wrapper for glWaitSync implementation.
opengl32: Factor out return_wow64_string.
opengl32: Use generated thunk for glGetString.
opengl32: Use generated thunk for glGetStringi.
opengl32: Use generated thunk for wglGetExtensionsStringARB.
opengl32: Use generated thunk for wglGetExtensionsStringEXT.
opengl32: Use generated thunk for wglQueryCurrentRendererStringWINE.
opengl32: Use generated thunk for wglQueryRendererStringWINE.
opengl32: Improve whitespaces in wrapper declarations.
opengl32: Use extra unix call argument to pass client buffer from glUnmapBuffer.
opengl32: Use extra unix call argument to pass client buffer from glUnmapNamedBuffer.
opengl32: Use wow64 wrappers for glMapBuffer and glMapBufferARB implementations.
opengl32: Use wow64 wrappers for glMapBufferRange.
opengl32: Use wow64 wrappers for glMapNamedBuffer and glMapNamedBufferEXT.
opengl32: Use wow64 wrappers for glMapNamedBufferRange and glMapNamedBufferRangeEXT.
opengl32: Use wow64 wrappers for glGetBufferPointerv and glGetBufferPointervARB.
opengl32: Use wow64 wrappers for glGetNamedBufferPointerv and glGetNamedBufferPointervEXT.
opengl32: Pass array arguments as pointers in unix calls.
opengl32: Use generated thunk for glPathGlyphIndexRangeNV.
opengl32: Pass type as a string to get_wow64_arg_type.
opengl32: Use generated thunk for wglCreatePbufferARB.
opengl32: Use generated thunk for wglGetPbufferDCARB.
opengl32: Use generated thunk for wglGetProcAddress.
Jacob Czekalla (5):
hhctrl.ocx: Add a search button to the search tab.
hhctrl.ocx: Selection of treeview items in the content tab should reflect web browser page.
mshtml/tests: Add call stacking to htmldoc test framework.
mshtml/tests: Add iframe event tests in htmldoc.c.
mshtml: Fire BeforeNavigate2 for documents in async_open.
Jake Coppinger (1):
ntdll: Add a stub for RtlQueryProcessHeapInformation().
Jan Sikorski (1):
maintainers: Remove myself as d3d maintainer.
Joe Souza (1):
conhost: Implement F1 and F3 support for history retrieval.
Kareem Aladli (4):
kernelbase: Implement VirtualProtectFromApp.
kernelbase/tests: Add tests for VirtualProtectFromApp.
ntdll: Set old_prot to PAGE_NOACCESS in NtProtectVirtualMemory() if the range is not mapped or committed.
ntdll/tests: Add tests for NtProtectVirtualMemory().
Ken Sharp (3):
configure: Do not hardcode "gcc" in message.
po: Standardise source strings to English (United States).
po: Update English (Default) resource.
Maotong Zhang (2):
comdlg32/tests: Fix file type combo box selection in file dialogs.
comdlg32: Display filter specs in itemdlg File Type combo box.
Marc-Aurel Zent (2):
ntdll: Implement ThreadPriorityBoost class in NtQueryInformationThread.
ntdll: Implement ThreadPriorityBoost class in NtSetInformationThread.
Michael Stefaniuc (8):
dmcompos: Return E_NOTIMPL from the stub SignPost track Clone() method.
dmcompos/tests: Fix the expected value in an ok() message.
dmcompos: Simplify the DMChordMap IPersistStream_Load() method.
include: Tag the DMUS_IO_* structs that changed between DX versions.
dmstyle: Handle DX7 versions of 'note' and 'crve' chunks.
dmusic: Don't open code debugstr_chunk in dmobject.c.
dmusic: Add a helper to deal with different versions / sizes of a chunk.
dmstyle: Support loading the DX7 version of the Style form.
Michael Stopa (2):
kernel32/tests: SetFileInfo should accept FileRenameInfoEx.
kernelbase: Pass FileRenameInfoEx to NtSetInformationFile.
Mike Kozelkov (2):
urlmon: Add PersistentZoneIdentifier semi-stubs.
urlmon/tests: Add PersistentZoneIdentifier test cases.
Mohamad Al-Jaf (5):
include: Add windows.media.core.idl.
include: Add windows.media.mediaproperties.idl.
include: Add windows.media.transcoding.idl.
windows.media: Implement IActivationFactory::ActivateInstance() for IMediaTranscoder.
cryptowinrt: Implement ICryptographicBufferStatics::EncodeToBase64String().
Nikolay Sivov (33):
d3d9/tests: Fix use-after-free (ASan).
kernel32/tests: Fix double free of mutex handle.
d3dx10/tests: Add a test for effect compiler behavior.
windowscodecs/converter: Add 16bppGrayHalf -> 128bppRGBFloat conversion path.
windowscodecs/converter: Add 16bppGrayHalf -> 32bppBGRA conversion path.
windowscodecs/converter: Propagate source failure in 24bppBGR -> 128bppRGBAFloat conversion.
windowscodecs/converter: Propagate source failure in 32bppBGRA -> 128bppRGBAFloat conversion.
windowscodecs/converter: Propagate source failure in 48bppRGB -> 128bppRGBFloat conversion.
windowscodecs/converter: Propagate source failure in 96bppRGBFloat -> 128bppRGBFloat conversion.
windowscodecs/converter: Propagate source failure in 48bppRGBHalf -> 128bppRGBFloat conversion.
d3d11: Make sure that index buffer is set for indexed draws.
d3d11: Make sure that index buffer is set for instanced indexed draws.
wined3d: Fix reference_graphics_pipeline_resources() argument type to match callers.
d3d12/tests: Add a test for creating a device from dxcore adapters.
d2d1: Implement mesh population methods.
d2d1: Add a stub for geometry realization object.
d2d1: Add initial implementation of CopyFromRenderTarget().
d2d1: Improve bitmap methods traces.
d2d1: Implement ComputeArea() for rectangles.
d2d1: Implement ComputeArea() for transformed geometries.
dxcore/tests: Add positive interface checks.
dxcore/tests: Move GetProperty() tests to a separate function.
dxcore/tests: Add some tests for InstanceLuid property.
dxcore: Add support for InstanceLuid property.
dxcore: Fix property size check in GetProperty().
dxcore: Implement GetPropertySize().
dxcore/tests: Add some tests for IsHardware property.
dxcore: Return stub value for IsHardware property.
dxcore/tests: Add some GetAdapterByLuid() tests.
dxcore: Implement GetAdapterByLuid().
d3d12: Support creating devices using dxcore adapters.
dxcore: Add support for DriverDescription property.
dxcore: Add support for DriverVersion property.
Paul Gofman (17):
kernelbase: Duplicate GetOverlappedResult() implementation instead of calling GetOverlappedResultEx().
kernelbase: Always set last error in GetOverlappedResult[Ex]().
kernelbase: Wait in GetOverlappedResultEx() even if IOSB status is not pending.
d2d1: Implement D2D1ComputeMaximumScaleFactor().
opengl32: Map glCompressedTexImage2DARB to glCompressedTexImage2D if ARB_texture_compression is missing.
shell32: Add AccountPictures known folder.
nsiproxy.sys: Implement IP interface table.
iphlpapi: Implement GetIpInterfaceTable().
nsi/tests: Add tests for IP interface table.
iphlpapi: Implement GetIpInterfaceEntry().
bcrypt: Factor out len_from_bitlen() function.
bcrypt: Use bit length instead of key size in key_import_pair().
bcrypt: Handle importing ECDSA_P384 private blob.
bcrypt: Support ECDSA_P521 algorithm.
bcrypt/tests: Test ECDH_384 same way as ECDH_256.
bcrypt: Support ECDH_P521 algorithm.
bcrypt: Check output size early in key_asymmetric_encrypt() for RSA.
Piotr Caban (9):
msado15/tests: Test functions called in ADORecordsetConstruction_put_Rowset.
msado15/tests: Check recordset state in ADORecordsetConstruction tests.
msado15/tests: Don't check count before running ADORecordsetConstruction field tests.
msado15/tests: Add initial _Recordset_MoveNext tests.
msado15/tests: Add _Recordset_get_RecordCount test.
msado15/tests: Test IRowsetExactScroll interface in put_Rowset tests.
vccorlib140: Add stub dll.
vccorlib140: Add Platform::Details::InitializeData semi-stub.
combase: Fix initialization flags in RoInitialize.
Ratchanan Srirattanamet (1):
msi: Fix .NET assembly-related functionalities due to missed string copy.
Roman Pišl (2):
ole32/tests: Test that cursor is preserved in DoDragDrop.
ole32: Preserve cursor in DoDragDrop.
Rémi Bernon (56):
win32u: Only update the window GL drawable when making one current.
win32u: Move window drawable query out of DC drawable helpers.
win32u: Update DC OpenGL drawable when it is acquired.
winebus.sys: Prefer hidraw for all Virpil (VID 3344) devices.
win32u: Also flush the GL drawable if the client surface is offscreen.
win32u: Clear DC opengl drawable when releasing cached dce.
joy.cpl: Initialize size before calling RegGetValueW.
winebus: Use a single global structure for bus options.
winebus: Support per-device/vendor hidraw registry option.
windows.gaming.input: Forward get_NonRoamableId to Wine provider.
windows.gaming.input: Forward get_DisplayName to Wine provider.
joy.cpl: Use XInputGetStateEx to get guide button.
joy.cpl: Add a new windows.gaming.input test tab.
joy.cpl: List windows.gaming.input device interfaces.
joy.cpl: Read windows.gaming.input device interface state.
joy.cpl: Draw windows.gaming.input gamepad device.
joy.cpl: Draw windows.gaming.input raw game controller.
winemac: Create new client views with each VK/GL surface.
winemac: Use the new client surface views for GL rendering.
winemac: Get rid of now unnecessary child cocoa views.
winemac: Sync current context when drawable was updated.
win32u: Call opengl_drawable_flush even if drawables didn't change.
winebus: Better separate hidraw from evdev in udev_add_device.
winebus: Read evdev device info and feature bits on creation.
winebus: Fill device mapping before report descriptor creation.
winebus: Force the ordering of some common evdev gamepad buttons.
winedmo: Avoid seeking past the end of stream.
winedmo: Avoid reading past the end of stream.
winedmo: Use the stream context to cache stream chunks.
winedmo: Return container duration if no stream duration is found.
winedmo: Return an integer from wave_format_tag_from_codec_id.
winedmo: Seek to keyframes, using avformat_seek_file.
widl: Get the version attribute from the typelib.
winebus: Return error status if SDL is disabled.
winebus: Introduce a new set_abs_axis_value helper.
winebus: Emulate some gamepad buttons in the evdev backend.
winebus: Introduce a new hid_device_add_gamepad helper.
winebus: Use hid_device_add_gamepad in the evdev backend.
win32u: Move nulldrv pixel format array inline.
win32u: Allocate a global pixel formats array on the unix side.
win32u: Keep pbuffer internal context on the wgl_context struct.
win32u: Use eglGetConfigs rather than eglChooseConfig.
win32u: Use surfaceless EGL platform for nulldrv.
widl: Fix parsing of contract version.
widl: Fix ATTR_CONTRACTVERSION output in header files.
widl: Fix ATTR_CONTRACTVERSION in metadata files.
widl: Write deprecated version in metadata files.
windows.gaming.input: Only create Gamepad instances for XInput devices.
winebus: Improve gamepad report compatibility with XUSB / GIP.
windows.gaming.input: Use a generic dinput device data format.
winebus: Use a vendor specific usage for gamepad guide buttons.
winebus: Don't try to create rumble effect on device startup.
winebus: Create dedicated threads to write evdev haptics output reports.
win32u: Release the previous context drawables when changing contexts.
win32u: Flush the new drawables after successful make_current.
win32u: Notify the opengl drawables when they are (un)made current.
Shaun Ren (4):
sapi/stream: Remove the FIXME message for unknown ISpStream interfaces.
sapi/tests: Test resampler support in ISpVoice.
sapi/tts: Implement TTS engine audio output resampler.
sapi/tts: Support allow_format_changes in ISpVoice::SetOutput.
Thibault Payet (1):
server: Always use the thread Unix id in ptrace for FreeBSD.
Tim Clem (4):
wow64cpu: In Unix calls, always return the status from the non-Wow dispatcher.
winebus: Quiet a log message about ignored HID devices.
win32u: Fix an uninitialized variable warning.
win32u: Remove a log message in get_shared_window.
Tomasz Pakuła (1):
winebus: Do not touch autocenter on device init and device reset.
Vibhav Pant (55):
bluetoothapis: Fix resource leak in bluetooth_auth_wizard_ask_response.
include/ddk: Use the correct parameter types for ZwCreateEvent.
setupapi/tests: Add tests for built-in device properties.
ntoskrnl.exe/tests: Add tests for built-in properties for PnP device instances.
setupapi: Support built-in properties in SetupDiGetDevicePropertyW and CM_Get_DevNode_Property_ExW.
propsys/tests: Add conformance tests for getting PropertyDescriptions from PropertySystem.
propsys/tests: Add conformance tests for PSGetPropertyKeyFromName.
include: Add declaration for PSGetPropertySystem.
propsys: Add stubs for PropertySystem.
propsys: Add stubs for PSGetNameFromPropertyKey.
propsys/tests: Add conformance tests for PSGetNameFromPropertyKey.
propsys: Add IPropertyDescription stub for system defined properties.
propsys: Implement IPropertyDescription for several known system properties.
propsys/tests: Add some tests for PropVariantChangeType(VT_CLSID).
propsys: Implement PropVariantChangeType(VT_CLSID) for string types.
propsys/tests: Add test for PropVariantToGUID with VT_ARRAY | VT_UI1 values.
winebth.sys: Only set properties for radio devices after they have been started.
include: Add Windows.Foundation.Collections.PropertySet runtime class.
wintypes/tests: Add conformance tests for Windows.Foundation.Collections.PropertySet.
wintypes: Add stubs for Windows.Foundation.Collections.PropertySet.
wintypes: Add stubs for IObservableMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IIterable<IKeyValuePair<HSTRING, IInspectable *>> to PropertySet.
windows.devices.enumeration: Implement DeviceInformationStatics::FindAllAsync using DevGetObjects.
windows.devices.enumeration/tests: Add weak reference tests for DeviceWatcher.
windows.devices.enumeration: Implement IWeakReferenceSource for DeviceWatcher.
windows.devices.enumeration: Implement DeviceInformationStatics::DeviceWatcher using DevCreateObjectQuery.
cfgmgr32: Add stubs for DevGetObjectProperties(Ex).
cfgmgr32: Implement DevFreeObjectProperties.
cfgmgr32: Implement DevGetObjectProperties for device interfaces.
ntoskrnl.exe/tests: Add tests for device updates in DevCreateObjectQuery.
cfgmgr32: Implement device updates for DevCreateObjectQuery.
widl: Fix crash while replacing type parameters for arrays.
cfgmgr32: Fix crash when CM_Register_Notification is called with a NULL filter.
cfgmgr32: Add stub for DevFindProperty.
cfgmgr32: Implement DevFindProperty.
cfgmgr32/tests: Add some tests for calling DevGetObjects with filters.
cfgmgr32: Validate DEVPROP_FILTER_EXPRESSION values passed to Dev{GetObjects, CreateObjectQueryEx}.
cfgmgr32: Implement support for basic filter expressions in DevGetObjects.
vccorlib140: Add stub for GetActivationFactoryByPCWSTR.
vccorlib140: Implement GetActivationFactoryByPCWSTR.
vccorlib140: Add stub for GetIidsFn.
vccorlib140: Implement GetIidsFn.
include: Add windows.devices.bluetooth.advertisement.idl.
windows.devices.bluetooth/tests: Add tests for IBluetoothLEAdvertisementWatcher.
windows.devices.bluetooth: Add stubs for BluetoothLEAdvertisementWatcher.
windows.devices.bluetooth: Implement BluetoothLEAdvertisementWatcher::get_{Min, Max}SamplingInterval.
windows.devices.bluetooth: Implement BluetoothLEAdvertisementWatcher::get_{Min, Max}OutOfRangeTimeout.
winebth.sys: Remove GATT service entries when they are removed from the Unix Bluetooth service.
winebth.sys: Enumerate and store GATT characteristics for each LE device.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_CHARACTERISTICS.
winebth.sys: Remove GATT characteristic entries when they are removed from the Unix Bluetooth service.
bluetoothapis: Implement BluetoothGATTGetCharacteristics.
bluetoothapis/tests: Implement tests for BluetoothGATTGetCharacteristics.
winebth.sys: Set additional properties for remote Bluetooth devices.
Yeshun Ye (2):
dsound: Check if 'cbPropData' for DSPROPERTY_Description1 is large enough.
dsound/tests: Add test for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1.
Yongjie Yao (1):
wbemprox: Add Status property in Win32_DesktopMonitor.
Yuxuan Shui (10):
ntdll/tests: Check the context of a user callback.
ntdll: Also restore rbp before calling user mode callback.
cmd: Fix out-of-bound access when handling tilde modifiers.
d2d1: Fix out-of-bound array access.
cfgmgr32: Fix double-free of property buffers.
server: Fix use-after-free in screen_buffer_destroy.
urlmon/tests: Fix test_PersistentZoneIdentifier freeing the wrong thing.
urlmon/tests: Fix out-of-bound write into tmp_dir.
ntdll: Fix inconsistency in LFH block size calculation during realloc.
rpcrt4: Don't read past the end of params in client_do_args.
Zhao Yi (1):
wined3d: Return error code when Vulkan swapchain creation fails.
Zhiyi Zhang (23):
user32/tests: Test WM_PRINT with an invisible parent.
win32u: Allow PRF_CHILDREN to paint even though child windows have an invisible parent.
include: Add windows.ui.windowmanagement.idl.
include: Add Windows.UI.ViewManagement.ApplicationView runtime class.
twinapi.appcore: Register some Windows.UI.ViewManagement.ApplicationView runtime classes.
twinapi.appcore: Register Windows.UI.ViewManagement.UIViewSettings runtime classes.
twinapi.appcore/tests: Add Windows.UI.ViewManagement.ApplicationView runtime class tests.
twinapi.appcore: Add Windows.UI.ViewManagement.ApplicationView runtime class stub.
include: Add AccessibilitySettings runtime class.
windows.ui/tests: Add IAccessibilitySettings tests.
windows.ui: Add IAccessibilitySettings stub.
windows.ui: Implement accessibilitysettings_get_HighContrast().
dwrite/tests: Add IDWriteFontDownloadQueue tests.
dwrite: Implement dwritefactory3_GetFontDownloadQueue().
d3d11: Return S_OK for d3d11_device_RegisterDeviceRemovedEvent().
light.msstyles: Make toolbar button background transparent at the center.
winemac.drv: Use a window level higher than kCGDockWindowLevel for WS_EX_TOPMOST windows.
windows.globalization/tests: Add IApplicationLanguagesStatics tests.
windows.globalization: Add IApplicationLanguagesStatics stub.
windows.globalization/tests: Add ILanguage2 tests.
windows.globalization: Implement ILanguage2.
windows.applicationmodel/tests: Add Windows.ApplicationModel.DesignMode tests.
windows.applicationmodel: Add Windows.ApplicationModel.DesignMode runtime class stub.
Ziqing Hui (10):
fonts: Make numbers bold for WineTahomaBold.
comctl32/tests: Check RGB value in test_alpha.
comctl32/tests: Test image bitmap bits in test_alpha.
comctl32/tests: Test adding 32bpp images with alpha to 24bpp image list.
comctl32/tests: Use winetest_{push,pop}_context in test_alpha.
comctl32/tests: Test image flags in test_alpha.
comctl32/tests: Also test v5 with test_alpha().
fonts: Make special ASCII characters bold for WineTahomaBold.
fonts: Make uppercase ASCII letters bold for WineTahomaBold.
fonts: Make lowercase ASCII letters bold for WineTahomaBold.
```
1
0
The Wine development release 10.12 is now available.
What's new in this release:
- Optional EGL backend in the X11 driver.
- Support for Bluetooth Low Energy services.
- More support for generating Windows Runtime metadata in WIDL.
- ARM64 builds enabled in Gitlab CI.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.12.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.12 (total 17):
- #19561 Very large memory leak when doing overlapped reads
- #38337 clang compiling warnings
- #42882 HDX server software: rs232 port access not working
- #52720 Speed up cmd.exe:batch in Wine
- #55776 Some game use video as intro will stock after video is finished
- #57204 after enable winedmo, Little Witch Nobeta video wont play anymore
- #57244 Train capacity 300% 2 will crash after enable the winedmo
- #57489 GetPointerPenInfo not located in USER32.dll when attempting to run Clip Studio Paint 3.0
- #57790 FindVUK doesn't show drive details
- #58263 Wine Internet Settings crashes on unimplemented function shdocvw.dll.ParseURLFromOutsideSourceW
- #58422 Soldier of Fortune II crashes on start
- #58423 Flickering in games using dxvk/vkd3d-proton on sway
- #58429 Betfair Poker setup never gets past the splash screen
- #58435 winepath -w conversion outputs wrong filenames
- #58436 x11, kotor keeps minimizing
- #58437 Total Commander 11.55 complains "Access denied" for EVERY file >= 1 MB in "Compare files by content"
- #58475 Wine Mono corlib tests cause wineserver to assert
### Changes since 10.11:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (3):
ntdll: Don't skip synchronous read when serial read timeout is infinite.
inetcpl: Restore parse_url_from_outside implementation.
ntdll: Detect the optical disc type on Linux using a SCSI command.
Alexandre Julliard (16):
server: Always use the thread Unix id in ptrace().
rpcrt4: Silence compiler warnings about pointer wraparound.
gitlab: Build an arm64 image.
ntdll: Remove duplicate backslashes in get_unix_full_path().
winevulkan: Skip a couple of unneeded conversion functions.
gitlab: Add an ARM64 build.
faudio: Import upstream release 25.07.
gitlab: Update sarif-converter URL.
ntdll: Get rid of the wine_unix_to_nt_file_name syscall.
ntdll: Unify the Unix to NT path conversion helpers.
gitlab: Add a daily test run for new wow64 mode.
winetest: Use compiler macros to generate the compiler version info.
winex11: Disable more wintab code when support is missing.
oleaut32: Use DOUBLE type where appropriate to match the PSDK.
include: Use aligned int64 types where possible.
setupapi/tests: Don't test an uninitialized value.
Alexandros Frantzis (2):
winewayland: Use system cursor shapes when possible.
winewayland: Support layered windows with per-pixel alpha.
Alfred Agrell (1):
include: Enable __uuidof(IUnknown).
Alistair Leslie-Hughes (2):
shell32: Avoid closing a handle twice.
msado15: Implement _Connection::get_version.
Anton Baskanov (1):
quartz: Decommit the allocator before entering the streaming CS in AVIDec.
Arkadiusz Hiler (1):
cfgmgr32: Preserve registry casing when getting device interface list.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
dxcore/tests: Skip tests when there is no display available.
Brendan McGrath (3):
winegstreamer: Remove 'au' alignment for h264.
winegstreamer: Signal eos on disconnect.
winegstreamer: Don't hold lock during wg_parser_stream_get_buffer.
Connor McAdams (2):
d3dx9: Replace txc_fetch_dxtn with bcdec.
d3dx9: Replace txc_compress_dxtn with stb_dxt.
Daniel Lehman (3):
ucrtbase/tests: Add tests for expf.
ucrtbase/tests: Move exp tests from msvcr120.
include: Add _wcstod_l declaration.
Dmitry Timoshkov (1):
ntdll: Initialization of XState features should not depend on AVX support.
Elizabeth Figura (5):
kernel32/tests: Test opening a directory with ReOpenFile().
kernelbase: Use FILE_NON_DIRECTORY_FILE in ReOpenFile().
ntdll/tests: Add comprehensive reparse point tests.
kernel32/tests: Test CreateSymbolicLink().
xaudio2: Do not register classes from xapofx or x3daudio dlls.
Eric Pouech (7):
cmd: Introduce struct batch_file to hold information about a .cmd file.
cmd: Add a cache for the labels lookup.
cmd/tests: Add tests about .cmd file alteration while executing it.
widl: Fix segfault when inheriting from an incomplete interface.
widl: Remove unneeded condition.
widl: Ensure inherited interface is declared before using it.
include: Remove duplicated declarations in .idl files.
Esme Povirk (3):
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for status controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for toolbars.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for progress bars.
Gabriel Ivăncescu (4):
mshtml: Clear the document before opening it for writing.
mshtml: Implement document.linkColor.
mshtml: Implement document.vLinkColor.
mshtml: Don't add HTMLDOMNode props to the NodeList.
Hans Leidekker (16):
widl: Add rows for the static attribute.
widl: Add TYPE_ATTR_ABSTRACT flag if a runtime class has no member interfaces.
widl: Add rows for the default attribute.
widl: Add rows for the activatable attribute.
widl: Add rows for the threading attribute.
widl: Add rows for the marshalingbehavior attribute.
widl: Relax check on runtimeclass definitions.
widl: Store a variable pointer instead of a declaration in expressions.
widl: Store the runtimeclass for constructor interfaces.
widl: Factor out an add_member_interfaces() helper.
widl: Add rows for static interfaces.
widl: Include version in activatable attribute value.
widl: Add rows for activation interfaces.
widl: Add rows for the composable attribute.
widl: Add rows for composition interfaces.
widl: Skip writing metadata if winrt_mode is not set.
Huw D. M. Davies (1):
kernel32: Use the correct buffer length.
Jacek Caban (8):
webservices: Don't assume that enum is unsigned in WsInitializeMessage.
dmime/tests: Use ceil instead of round.
configure: Build PEs with -ffp-exception-behavior=maytrap.
d3dcompiler: Don't assume that enum is unsigned in d3dcompiler_get_blob_part.
d3dcompiler: Handle all D3D_BLOB_PART values in d3dcompiler_get_blob_part validation.
d3dcompiler: Use __WINE_CRT_PRINTF_ATTR.
wined3d: Use __WINE_CRT_PRINTF_ATTR.
widl: Rename metadata stream type enum values to avoid conflict with Cygwin limits.h.
Joe Souza (3):
cmd: COPY should output file names as they are copied.
cmd/tests: Add tests to verify COPY command output.
cmd: Allow '+' as delimiter for tab-completion, e.g. 'copy file+file2'.
Mike Kozelkov (1):
urlmon: Add PersistentZoneIdentifier COM object stubs.
Nikolay Sivov (2):
kernel32: Add a stub for CreateBoundaryDescriptorA().
include: Remove duplicated CreateBoundaryDescriptorW() definition.
Owen Rudge (1):
mshtml: Implement document.aLinkColor.
Paul Gofman (5):
user32/tests: Add tests for STARTF_USESHOWWINDOW.
win32u: Respect STARTF_USESHOWWINDOW in show_window().
winepulse.drv: Avoid hangs on exit when pulse main loop thread gets killed.
winebus.sys: Check for udev_device_get_subsystem() error in udev_add_device().
winebus.sys: Close fd if device is not handled in udev_add_device().
Ryan Houdek (1):
wineboot: Detect TSC frequency on Arm64.
Rémi Bernon (64):
winex11: Release the GL drawable on creation failure.
win32u: Keep window GL drawables in a global linked list.
win32u: Notify the drivers when GL drawables are detached.
win32u: Update opengl drawables with window state.
win32u: Update the window state in more places.
winewayland: Drop now unnecessary GL drawable tracking.
winex11: Remove now unnecessary drawable tracking.
winewayland: Remove unnecessary context config.
wineandroid: Remove unnecessary context config.
win32u: Move EGL context creation out of the drivers.
winewayland: Only detach/attach client surface if it is different.
opengl32: Do not filter legacy extensions.
opengl32: Add a helper to read OpenGL registry options.
opengl32: Add an EnabledExtensions registry option.
user32: Init class name outside of get_versioned_name.
user32: Move user32_module default out of get_class_info.
user32: Load class module in get_class_version.
user32: Move get_class_version out of get_class_info.
comctl32: Fix class name case in manifest.
user32: Always copy class names to a temporary buffer.
win32u: Add traces to wglGetExtensionsString*.
win32u: Add an EGLSurface pointer to opengl_drawable struct.
win32u: Move EGL make_current context function out of the drivers.
winex11: Remove now unnecessary x11drv_context structure.
winex11: Add an option to use the new EGL OpenGL backend.
winemac: Remove now unnecessary pbuffer tracking.
win32u: Avoid calling detach, flush or swap on pbuffer drawables.
win32u: Avoid releasing opengl drawable within drawables_lock.
win32u: Implement generic EGL driver pbuffer surface.
winewayland: Use a distinct wayland_pbuffer struct for pbuffers.
win32u: Remove now unnecessary opengl_drawable hdc member.
win32u: Remove VkResult from surface_presented functions.
win32u: Introduce a new client_surface struct for vulkan surfaces.
win32u: Keep client surfaces in a global list.
win32u: Update client surfaces when window state changes.
win32u: Present client surfaces through the vtable.
mf/session: Clarify internal states from session states separation.
mf/session: Move internal states to a separate command_state enum.
mf/session: Remove unnecessary SESSION_FLAG_PENDING_COMMAND flag.
mf/session: Replace SESSION_FLAG_FINALIZE_SINKS with dedicated states.
mf/session: Replace SESSION_FLAG_END_OF_PRESENTATION with dedicated states.
mf/session: Introduce a SESSION_FLAG_SOURCE_SHUTDOWN presentation flag.
mf/session: Simplify the media session shutdown event handling.
win32u: Fix incorrect length in font extension check.
winegstreamer: Force h264parse to output 'au' aligned byte-stream.
mp3dmod: Fix some media type leaks.
mp3dmod: Avoid uninitialized variable access.
winegstreamer: Fix some video decoder media type leaks.
mf/tests: Fix some leaks in transform tests.
mf/tests: Avoid leaking D3D resources through IMFTrackedSample.
mf/tests: Skip memory-hungry H264 encoder tests on 32bit.
mfplat/tests: Add more tests for event queue shutdown.
mfsrcsnk: Queue an event before shutting down the event queues.
winegstreamer: Queue an event before shutting down the event queues.
mf/session: Handle an optional MEError event from sources on shutdown.
winegstreamer: Remove now unnecessary IMFMediaShutdownNotify.
mf/session: Remove now unnecessary IMFMediaShutdownNotify.
include: Remove now unnecessary IMFMediaShutdownNotify interface.
winewayland: Clear the current client surface on vulkan detach.
winewayland: Merge the vulkan client surface with wayland_client_surface.
winex11: Move client surface code out of vulkan ifdef.
winex11: Create client surfaces for opengl drawables.
win32u: Replace opengl drawables tracking with client surfaces.
server: Keep owned mutex syncs alive until abandoned.
Shaun Ren (11):
sapi/tests: Copy SPVTEXTFRAG list into a contiguous array.
sapi/tests: Introduce simulate_output option in tts.
sapi/tests: Add some SSML tests in tts.
sapi/tts: Support XML-related flags in ISpVoice::Speak.
sapi/xml: Add a stub SSML parser.
sapi/xml: Parse the <speak> SSML root element.
sapi/xml: Implement add_sapi_text_fragement().
sapi/xml: Parse the <p> and <s> SSML elements.
sapi/xml: Parse the rate attribute in the SSML <prosody> element.
sapi/xml: Parse the volume attribute in the <prosody> SSML element.
sapi/xml: Parse the pitch attribute in the <prosody> SSML element.
Vibhav Pant (17):
include: Add devquerydef.h.
include: Add devfiltertypes.h.
include: Add devquery.h.
cfgmgr32/tests: Add tests for DevGetObjects.
cfgmgr32: Add a basic implementation for DevGetObjects(Ex) for device interface objects.
ntoskrnl.exe/tests: Add tests for Io{Get,Set}DeviceInterfacePropertyData.
ntoskrnl.exe: Implement IoGetDeviceInterfacePropertyData.
ntoskrnl.exe: Implement IoSetDeviceInterfacePropertyData.
cfgmgr32/tests: Add tests for fetching specific properties in DevGetObjects.
cfgmgr32: Stub DevCreateObjectQuery(Ex) functions.
cfgmgr32: Implement initial device enumeration for DevCreateObjectQuery.
cfgmgr32: Support fetching properties for device objects in Dev{GetObjects, CreateObjectQueryEx}.
winebth.sys: Create PDOs for remote Bluetooth devices.
winebth.sys: Store a list of GATT services discovered on LE devices.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_SERVICES.
bluetoothapis: Implement BluetoothGATTGetServices.
bluetoothapis/tests: Add tests for BluetoothGATTGetServices.
Yuxuan Shui (11):
mscoree/tests: Fix string lengths passed to RegSetKeyValueA.
msvcp90: Fix vector_base_v4 allocation sizes.
msvcp90: Fix calculation of segment addresses in vector.
msvcrt: Don't release io memory during process shutdown.
wined3d: Fix missing data/resource type bounds check.
dxgi/tests: Fix out-of-bound in test_cursor_clipping.
ddraw/tests: Release device after ddraw.
d3dx9/tests: Fix volume test boxes.
wined3d: Fix double-free when shader_set_function fails.
quartz/tests: Fix out-of-bound use of video_types in test_connect_pin.
dsound: Make sure to null-terminate strings for callbacks.
Zhiyi Zhang (10):
comctl32/listview: Test WM_PAINT with a subclassed header that paints without validating update regions.
comctl32/listview: Validate header region after painting it.
bcp47langs: Add GetFontFallbackLanguageList() stub.
gdiplus/tests: Test drawing indexed bitmaps with a palette that has alpha.
gdiplus: Fix drawing indexed bitmaps with a palette that has alpha.
gdiplus: Don't zero out allocated memory in GdipAlloc().
win32u: Limit the work area to the monitor rect.
user32/tests: Add some tests for DefWindowProc() WM_PRINT message handling.
win32u: Fix the return value for WM_PRINT handling in DefWindowProc().
win32u: Support PRF_CHILDREN when handling WM_PRINT for DefWindowProc().
Ziqing Hui (1):
shell32: Rework FO_MOVE operation for SHFileOperationW.
```
1
0
The Wine development release 10.11 is now available.
What's new in this release:
- Preparation work for NTSync support.
- More support for generating Windows Runtime metadata in WIDL.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.11.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.11/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.11 (total 25):
- #31212 Some VST instruments crash when reloaded in Mixcraft
- #37131 Clang Static Analyzer: Division by zero
- #42033 Fallout 3: Radio music not playing
- #50278 Diggles: The Myth of Fenris (GOG version) crashes on launch
- #50577 Saya no Uta: hangs on RtlpWaitForCriticalSection
- #55019 kernel32:process - Accents cause test_Environment() to fail on Windows
- #56086 C&C Generals Zero Hour has graphic errors in menu
- #56128 Genshin Impact: after changing to another window and back, input does not work anymore
- #56517 osu!: Does not launch since 9.3
- #57020 Anritsu Software Toolbox doesn't install properly
- #57656 CryptMsgGetParam() with CMSG_SIGNER_AUTH_ATTR_PARAM/CMSG_SIGNER_UNAUTH_ATTR_PARAM returns success with 0 buffer size
- #57802 WordPro's "view Settings" not saving properly
- #58321 Purple Place exits
- #58343 Multiple games have rendering errors after d0fd9e87c (Kathy Rain 2, Among Us, Green Hell)
- #58344 Magic The Gathering Arena: Black screen in wine-10.9
- #58345 Far File Manager 3 x86-64's product features during installation cannot be configured/are missing
- #58356 Doom I & II Enhanced (2019 re-release based on Unity engine) crashes after the intro videos
- #58363 Thief II crashes
- #58364 Pegasus Email draws incorrectly
- #58372 EZNEC pro2+ 7.0 runs, but calculations have errornous exponential values
- #58373 Bejeweled 3 runs but the screen is black
- #58381 "musl: Use __builtin_rint if available" breaks clang builds (except aarch64)
- #58384 Sid Meier's Civilization III becomes unresponsive
- #58402 Sid Meier's Civilization III: severe discoloration
- #58412 winedbg recursively forks until the memory is exhausted
### Changes since 10.10:
```
Alexandre Julliard (36):
winebuild: Refuse to do non-PE builds on platforms that don't support it.
winegcc: Refuse to do non-PE builds on platforms that don't support it.
ntdll: Use NtOpenFile to open nls files in the system directory.
ntdll: Use UNICODE_STRINGs in the main image loading helpers.
ntdll: Pass the full image NT path through the server startup information.
ntdll: Move resolving the initial image name to the get_full_path() helper.
ntdll: Add a helper to return both NT and Unix names to open a file.
ntdll: Make get_redirect() static.
ntdll: Try to build a proper NT name when opening files with \??\unix.
server: Return the NT file name in ObjectNameInformation for file objects.
winecrt0: Add a default implementation for DllGetVersion().
resources: Generate version strings from the corresponding version number.
mountmgr: Use the \\?\unix prefix to open device files.
appwiz.cpl: Store the registry key name in Unicode.
appwiz.cpl: Use GetFinalPathNameByHandleW to get the DOS path of the package to install.
user32: Add a macro to define the list of user callbacks.
mscoree: Use GetFinalPathNameByHandleW to get the DOS path of the Mono directory.
mshtml: Use GetFinalPathNameByHandleW to get the DOS path of the Gecko directory.
start: Use GetFinalPathNameByHandleW to get the DOS path of a Unix file.
kernelbase: Convert slashes in Unix paths in GetFinalPathNameByHandleW.
wineps.drv: Use \\?\unix paths to load the AFM files.
winemenubuilder: Use \\?\unix paths to load the link files.
kernel32: Reimplement conversion to DOS name using GetFinalPathNameByHandleW.
ntdll: Reimplement the RtlGetFullPathName_U Unix path heuristic using ObjectNameInformation.
ntdll: Restrict some Unixlib helpers to Wine internal usage.
ntdll: Add a private helper to retrieve a DOS file name.
ntdll: Return NT paths in the get build/data dir helpers.
ntdll: Fix get_core_id_regs_arm64() prototype for non-Linux platforms.
ntdll: Pass the Unix prot flags to the map_fixed_area() helper.
ntdll: Don't set VPROT_WRITEWATCH flag on pages when using kernel write watches.
win32u: Add a helper to convert file names to NT format consistently.
ntdll: Only reset the reported write watch range in NtGetWriteWatch.
ntdll: Correctly report execute faults on ARM64.
ntdll: Correctly report execute faults on ARM.
makefiles: Support specifying the PE architecture as "none".
makefiles: Fix program installation for Windows builds.
Bernhard Kölbl (1):
mfmediaengine: Enable XVP for playback topology.
Bernhard Übelacker (10):
msvcrt/tests: Add broken to new j modifier tests.
oleaut32: In VarFormat do not count '#' in exponent into fractional digits.
msi: Use LRESULT to store return value from CallWindowProcW.
winetest: Fail only if output_size exceeds the limit.
gitlab: Derive the windows tests from a common .wine-test-windows.
gitlab: Remove name containing CI environment variables in windows tests.
comctl32: Use LRESULT to store return value from CallWindowProcW.
comdlg32: Use LRESULT/INT_PTR to store return value from CallWindowProcA.
winetest: Use LRESULT to return value from CallWindowProcA.
gitlab: Remove other user controlled CI environment variables.
Bradan Fleming (1):
winemenubuilder: Quote Exec arguments in desktop entries.
Brendan McGrath (3):
mfmediaengine: Only forward the most recent seek time.
mfreadwrite/tests: Check DEFAULT_STRIDE is not always present.
mfreadwrite: Fix media type output when video processor is used.
Charlotte Pabst (9):
mf: Clear pending MFT stream requests when flushing.
Revert "mf: Release pending items when sample grabber is stopped.".
ntdll: Treat Rbp as CONTEXT_INTEGER register.
mf/tests: Rename test_source to test_stub_source.
mf/tests: Rename test_seek_source to test_source.
mf/tests: Move some functions.
mf/tests: Add tests for thinning.
mf: Don't forward thinning to clock.
mf: Handle thinning in media session.
Connor McAdams (4):
comctl32/tests: Add tests for iImage value for listview subitems.
comctl32/listview: Don't touch iImage value for subitems if LVS_EX_SUBITEMIMAGES is not set.
comctl32/tests: Add item state value tests for LVS_OWNERDATA controls.
comctl32/listview: Properly handle item state value for LVS_OWNERDATA controls.
Conor McCarthy (4):
rtworkq/tests: Test closing a timer or event handle after submission.
ntdll/tests: Test early closure of handles used for threadpool waits.
ntdll: Initialise waitable handles with NULL.
ntdll: Duplicate handles for thread pool waits.
Dylan Donnell (1):
kernelbase: Allocate a new buffer for the module name in LoadLibraryExA.
Elizabeth Figura (34):
qasf/tests: Test AllocateStreamingResources()/FreeStreamingResources() calls.
qasf/dmowrapper: Fail Pause() if there is no DMO.
qasf/dmowrapper: Call AllocateStreamingResources() and FreeStreamingResources().
qasf/dmowrapper: Handle a NULL output buffer in GetBufferAndLength().
ir50_32/tests: Add tests.
ir50_32/tests: Move compression and decompression tests from mf:transform.
ir50_32: Use case-insensitive comparison for the compression fourcc.
ir50_32: Do not handle a NULL input pointer in ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Return ICERR_OK from ICM_DECOMPRESS_END.
ir50_32: Suggest 24-bit RGB.
ir50_32: Do not validate biPlanes.
ir50_32: Explicitly fill the whole BITMAPINFOHEADER in ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Fix the return value of ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Fix the error value for mismatching dimensions.
ir50_32: Support decoding to RGB565.
qasf/tests: Test dynamic format change on the DMO wrapper.
qasf/dmowrapper: Delay SetActualDataLength().
qasf/dmowrapper: Handle dynamic format change.
quartz/tests: Port test_source_allocator() to avidec.
quartz/avidec: Don't set the data length to 0.
quartz/tests: Test dynamic format change on the AVI decoder.
quartz: Add a copy_bitmap_header() helper.
quartz/avidec: Correctly calculate the BITMAPINFOHEADER size for BI_BITFIELDS.
quartz/avidec: Handle dynamic format change.
winegstreamer: Support the Indeo 5.0 format in DirectShow.
server: Use an event sync for thread objects.
server: Use an event sync for job objects.
server: Use an event sync for process objects.
server: Use an event sync for debug objects.
server: Use an event sync for device manager objects.
server: Use an event sync for completion port objects.
server: Use an event sync for timer objects.
server: Use an event sync for console objects.
server: Use an event sync for console server objects.
Esme Povirk (10):
gdiplus: Account for gdi32 clipping in GdipFillRegion.
gdiplus: Don't clip the HRGN passed to alpha_blend_pixels_hrgn.
comctl32: Implement MSAA events for updown controls.
gdiplus/tests: Region hit-testing is done in device coordinates.
gdiplus: Use graphics transform in GdipIsVisibleRegionPoint.
gdiplus: Do not create HRGN in GdipIsVisibleRegionPoint.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for list boxes.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for static controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for edit controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for combo boxes.
Hans Leidekker (19):
widl: Add rows for the delegate type.
widl: Handle NULL type name.
widl: Add rows for propget methods.
widl: Add rows for propput methods.
widl: Add rows for eventadd methods.
widl: Add rows for eventremove methods.
widl: Add rows for regular methods.
widl: Use a define for maximum name length.
widl: Add rows for the overload attribute.
widl: Add rows for the default_overload attribute.
widl: Add rows for the deprecated attribute.
widl: Correct element type for interface signature.
widl: Don't sort the property and event tables.
widl: Add a helper to build the method name.
widl: Add a helper to retrieve method attributes and flags.
widl: Store EventRegistrationToken reference in the real type.
widl: Add separate property rows for interfaces and classes.
widl: Add separate event rows for interfaces and classes.
widl: Add rows for the runtimeclass type.
Ignacy Kuchciński (4):
user32: Add GetPointerPenInfo stub.
user32: Add GetPointerDeviceProperties stub.
user32: Add GetPointerDeviceRects stub.
user32: Add GetRawPointerDeviceData stub.
Julius Bettin (1):
kernelbase: Implement HeapSummary.
Nikolay Sivov (9):
bluetoothapis: Fix typo in a format string (Coverity).
version/tests: Fix a typo (Coverity).
amstream/tests: Add a few return value checks (Coverity).
widl: Always use NdrClientCall2() for interpreted stubs.
widl: Do not write "const" modifiers for _PARAM_STRUCT fields.
mfmediaengine: Simplify state -> event mapping.
kernel32/tests: Use ViewShare value instead of a literal constant.
ntdll/tests: Add a test for automatically resizing a mapped disk file.
ntdll/tests: Tweak mapped file test to better match actual use case.
Paul Gofman (4):
avifil32/tests: Test creating AVI file with OF_CREATE but without access mode.
avifil32: Assume OF_WRITE for OF_CREATE in AVIFileOpenW().
avifil32: Fix dwLength counting for fixed size samples.
user32: Reserve more space in the kernel callback table.
Piotr Caban (10):
musl: Reimplement rint so it doesn't depend on floating point operations precision.
musl: Use __builtin_rint if available.
msvcrt: Use rint() from the bundled musl library.
msvcrt: Fix allocated buffer size in _getcwd.
include: Add errlup.idl.
musl: Don't use __builtin_rint in clang builds.
musl: Optimize rint when floating point operations use 53-bit precision.
msvcrt: Fix allocated buffer size in _getdcwd.
ucrtbase/tests: Cleanup temporary files in _sopen_s tests.
msvcrt: Support _SH_SECURE in _wsopen_dispatch().
Rémi Bernon (80):
winex11: Update GL drawable offscreen status instead of recreating.
winex11: Update every window GL drawable on resize / reparent.
winex11: Update drawable size and offscreen when presenting.
winex11: Drop pixmap-based child window workaround.
winex11: Rename context drawables to draw / read.
winex11: Remove unnecessary glx_pixel_format pointers.
winex11: Remove unnecessary hdc context member.
win32u: Introduce an opengl_drawable base struct.
win32u: Return an opengl_drawable from pbuffer_create.
wineandroid: Add a refcount to struct gl_drawable.
win32u: Add a refcount to struct opengl_drawable.
include: Add APP_LOCAL_DEVICE_ID definition.
opengl32: Hook and flush context on glClear.
winewayland: Update the drawable size on context_flush.
winex11: Use a separate drawable vtable for pbuffers.
win32u: Use the drawable vtable to destroy pbuffers.
win32u: Allocate GL drawables on behalf of the drivers.
winewayland: Switch client surfaces when presenting.
win32u: Keep a reference to the GL drawables in the windows.
win32u: Keep a reference to the pbuffer drawables in the DCs.
win32u: Track and update opengl drawables in the contexts.
wineandroid: Remove now unnecessary context sync.
winemac: Remove now unnecessary context sync.
winewayland: Remove now unnecessary context sync.
win32u: Avoid reading GL data past the end of the memory DC bitmap.
server: Move object grab/release out of (add|remove)_queue.
server: Add an operation to retrieve an object sync.
server: Redirect fd-based objects sync to the fd.
server: Introduce a new event sync object.
server: Use an event sync for fd objects.
user32/tests: Cleanup window class versioning tests.
user32/tests: Test window class versioned name with integer atom.
user32/tests: Test that window class atom cannot be changed.
win32u/tests: Test window class name with integer atom.
win32u: Use the right pointer when destroying window.
user32/tests: Call flush_event after SetForegroundWindow calls.
server: Use an event sync for thread apc objects.
server: Use an event sync for context objects.
server: Use an event sync for startup info objects.
ntdll/tests: Link atom functions directly.
ntdll/tests: Add more integral atom tests.
ntdll: Set returned atom to 0 when we should.
ntdll: Allow deleting integral atoms from tables.
user32: Clamp atom to MAXINTATOM in get_int_atom_value.
win32u: Clamp atom to MAXINTATOM in get_int_atom_value.
winemac: Drop the SkipSingleBufferFlushes option.
win32u: Use the drawable vtable for flush and swap.
win32u: Add a flags parameter to opengl_drawable flush.
win32u: Pass opengl_drawable pointers to make_current.
win32u: Use the DC opengl drawable for the memory DC surface.
win32u: Keep track of the most recent window GL drawable.
opengl32: Ignore RGB565 pixel formats with memory DCs.
server: Use an event sync for file lock objects.
server: Use an event sync for debug event objects.
server: Use a static array for atom table atoms.
server: Use a count instead of last atom index.
server: Forbid using string atom 0xc000.
server: Use a static array for atom table hash.
server: Keep computed atom hash in local variables.
server: Remove unused atom pinned member.
winex11: Avoid requesting CWStackMode alone with managed windows.
server: Use the console sync for screen buffers objects.
server: Use the console sync for console input objects.
server: Use the console sync for console output objects.
server: Get rid of the console signaled flag.
server: Create a global atom table on startup.
server: Remove now unnecessary global table checks.
server: Pass atom table parameter to atom functions.
server: Introduce a new get_user_atom_name request.
server: Introduce a new add_user_atom request.
server: Move some checks inside of mutex do_release.
server: Split mutex to a dedicated sync object.
server: Split semaphore to a dedicated sync object.
server: Use a flag to keep track of message queue waits.
server: Use a signaled flag for message queue sync.
win32u/tests: Test that window properties are global atoms.
user32: Implement GetClipboardFormatNameA with NtUserGetClipboardFormatName.
win32u: Implement NtUserGetClipboardFormatName using NtUserGetAtomName.
server: Create and use a user atom table for class names.
server: Initialize global and user tables with some atoms.
Santino Mazza (1):
winex11.drv: Add programmer dvorak layout.
Vibhav Pant (17):
include: Add definitions for IBluetoothDeviceId, BluetoothError.
include: Add windows.devices.bluetooth.genericattributeprofile.idl.
include: Add definitions for IBluetoothLEDevice.
include: Add definitions for IGattDeviceService2.
windows.devices.bluetooth/tests: Add tests for BluetoothLEDeviceStatics.
windows.devices.bluetooth: Add stubs for BluetoothLEDeviceStatics.
setupapi/tests: Add tests for SetupDi{Set,Get}DeviceInterfacePropertyW.
setupapi: Implement SetupDiSetDeviceInterfacePropertyW.
setupapi: Implement SetupDiGetDeviceInterfacePropertyW.
ntoskrnl.exe/tests: Add tests for SetupDiGetDeviceInterfacePropertyW with enabled interfaces.
setupapi/tests: Add tests for SetupDiGetDeviceInterfacePropertyKeys.
setupapi: Implement SetupDiGetDeviceInterfacePropertyKeys.
setupapi: Implement additional built-in properties in SetupDiGetDeviceInterfacePropertyW.
setupapi/tests: Add additional tests for device instance properties DEVPKEY_{DeviceInterface_ClassGuid, Device_InstanceId}.
cfgmgr32: Implement CM_Get_Device_Interface_PropertyW for all property keys.
cfgmgr32/tests: Add additional tests for CM_Get_Device_Interface_PropertyW.
setupapi: Return built-in property keys for device interfaces even when the Properties subkey for the interface doesn't exist.
William Horvath (1):
wow64win: Fix UNICODE_STRING thunking in wow64_NtUserRegisterWindowMessage.
Yuxuan Shui (23):
msvcirt/tests: Fix use-after-free in test_ifstream.
msvcirt/tests: Avoid out-of-bound access in test_strstreambuf.
mshtml: Fix misuse of IWinInetHttpInfo_QueryInfo.
shell32: Fix use-after-free in ShellView_WndProc.
shell32/tests: Add missing double null termination in shlfileop.
kernelbase: Handle short urls in UrlIsA.
uiautomationcore/tests: Fix missing terminators in some nav_seqs.
wintrust: Fix data length mix-up in asn decoder.
gdi32: Fix missing terminator element in Devanagari_consonants.
xcopy: Fix out-of-bound access when parsing arguments.
usp10/tests: Avoid out-of-bound use of glyphItems when nGlyphs mismatches.
rpcrt4/tests: Fix out-of-bound write in test_pointer_marshal.
wininet: Fix handling of empty strings in urlcache_hash_key.
wininet: Use BYTE instead of char for hash calculation.
crypt32: Fix missing size check in CSignedEncodeMsg_Open.
crypt32: Handle missing attributes in CDecodeSignedMsg_GetParam.
crypt32/tests: Add signed message CryptMsgGetParam tests with > 1 signers.
crypt32: Fix creating signed message with > 1 signers.
gdiplus/tests: Fix out-of-bound use of expected in ok_path_fudge.
hid/tests: Fix out-of-bound use of nodes in test_device_info.
crypt32: Don't release context in CSignedEncodeMsg_Open.
find/tests: Fix out-of-bound access to input in mangle_text.
kernelbase: Fix array underflow when checking for trailing spaces.
Zhiyi Zhang (10):
include: Fix dcomp.idl method name and order.
user32: Add ScheduleDispatchNotification() stub.
ntdll: Use explicit ACTIVATION_CONTEXT type instead of HANDLE.
kernel32/tests: Add tests for normal activation context stack frame flags.
ntdll: Set and check 0x8 flag for activation context stack frames.
ntdll: Implement RtlActivateActivationContextUnsafeFast().
ntdll: Implement RtlDeactivateActivationContextUnsafeFast().
kernel32/tests: Add tests for RtlActivateActivationContextUnsafe() and RtlDeactivateActivationContextUnsafeFast().
comctl32/tests: Test listview background mix mode.
comctl32/listview: Set the initial background mix mode to TRANSPARENT.
```
1
0
The Wine development release 10.10 is now available.
What's new in this release:
- Mono engine updated to version 10.1.0.
- OSMesa library no longer needed.
- More support for generating Windows Runtime metadata in WIDL.
- Locale data updated to Unicode CLDR 47.
- P010 format support in Media Foundation.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.10.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.10/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.10 (total 38):
- #17614 Rise of Nations: Both mouse keys required for single left-click
- #19226 Braid: Both Shift keys needed to move puzzle pieces
- #19662 Lotus Freelance Graphics 2.1 hangs at the splash screen
- #21369 HTML-Kit 292's tab bar isn't fully visible without scrolling at 96 DPI
- #24026 Tab completion for cmd
- #24209 Burger Shop is shifted to the top left corner in full screen mode
- #33302 regedit: binary values editor layout is broken
- #35103 Baofeng5-5.31.1128's Welcome window crash on start
- #40144 Installing Canon printer driver does not work
- #44120 Steam Big Picture mode fails to display content, it shows a black screen (d3d10)
- #44453 Noteworthy Composer crashes in winealsa
- #50450 Ricoh Digital Camera Utility 5 crashes when switching from Browser to Laboratory and vise versa
- #51350 Horizon Chase freezes on startup
- #53002 Wondershare Uniconverter 13 not displaying characters
- #53071 AVCLabs Video Enhancer AI crashes on start
- #53401 regedit does not import .reg files
- #55593 F.E.A.R crashes with "Out of memory" error when starting a new game
- #55985 S.T.A.L.K.E.R. Anomaly: Crashes when loading into save file.
- #57230 F.E.A.R Combat black screen at startup due to out of memory error
- #58000 New thread stack uses too much memory
- #58001 "Eador. Masters of the Broken World" bad map textures after starting game
- #58064 Unreal 2 hangs with a black screen when switching to 1440X900 resolution
- #58078 StarCraft Remastered: game is not started with wine-10.5
- #58107 PlayOnline Viewer: Window not activated when restoring from a minimised state.
- #58182 Virtual desktop corked in 10.6
- #58190 secur32:ntlm tests fail on Windows 11 24H2
- #58196 d3d9:device WM_WINDOWPOSCHANGED test fails consistently on Linux since Wine 10.5
- #58233 gitlab-ci shows occasional crashes in tests dmsynth, dmusic, winmm:midi
- #58246 HP Prime Virtual Calculator: crashes on start
- #58253 Multiple games have a beeping noise on exit (The Fidelio Incident, Vampyr)
- #58259 Qt Installer for Windows doesn't work
- #58275 Wrong "range" selection logic using SHIFT
- #58286 Cannot create a 64-bit wineprefix with old wow64
- #58293 Regression caused by switch to realloc which doesn't zero added memory
- #58328 "msvcrt: Use RVAs in rtti and exception data on all platforms except i386" breaks RTTI on arm32
- #58329 Smartsuite 3.1 installer crashes
- #58340 dbghelp: symt_add_func_line, possible use after free.
- #58349 Build failure with clang for x86_64 target due to recent RTTI changes
### Changes since 10.9:
```
Alexandre Julliard (29):
configure: Always check for a valid 64-bit libdir.
configure: Don't use the 64-bit tools if --enable-tools is specified.
configure: Cache the results of the MTLDevice check.
winebuild: Extend the -syscall flag to allow specifying the syscall number.
tools: Support explicit syscall numbers in make_specfiles.
ntdll: Add explicit ids to a number of syscalls.
msvcrt: Add macros to wrap RTTI initialization functions.
msvcrt: Always define full type data for exception types.
msvcrt: Use RVAs for exception data but not RTTI on 32-bit ARM.
msvcrt: Use varargs macros to define C++ exception types.
msvcrt: Always define full RTTI data.
msvcrt: Use varargs macros to define RTTI data.
msvcrt/tests: Simplify the RTTI macros.
kernelbase: Flesh out RaiseFailFastException() implementation.
msvcrt: Define C++ type info as an array to avoid & operator.
msvcrt: Define C++ type info using RVAs for PE builds.
msvcrt: Define RTTI base descriptor as an array to avoid & operator.
msvcrt: Define RTTI data using RVAs for PE builds.
faudio: Import upstream release 25.06.
mpg123: Import upstream release 1.33.0.
png: Import upstream release 1.6.48.
xslt: Import upstream release 1.1.43.
nls: Update locale data to CLDR version 47.
msvcrt: Use old-style gcc varargs macros for RTTI data.
ntdll: Only clear 64K of the initial thread stack.
ntdll: Handle FileNetworkOpenInformation directly in fill_file_info().
ntdll: Use ObjectNameInformation to retrieve file name for FileNameInformation.
msvcrt: Point to the correct type info entry in the PE build macros.
server: Return the correct status depending on object type for ObjectNameInformation.
Alexandros Frantzis (2):
winewayland: Improve cleanup of text-input pending state.
winewayland: Ignore text-input "done" events that don't modify state.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (8):
taskschd/tests: Fix test failure on Windows 7.
shell32/tests: Avoid hang in test_rename.
d3d10: Return S_OK from parse_fx10_annotations instead of variable hr.
mmdevapi: Avoid race between main and notify thread.
d2d1/tests: Skip tests when device creation fails.
dbghelp: Avoid use after free by moving assignment before vector_add (ASan).
kernel32/tests: Don't call pNtCompareObjects in Windows 8.
kernel32/tests: Re-enable console handle test in Windows 8 with broken.
Brendan McGrath (4):
mfplat/tests: Add image size tests for P010.
mfplat: Add support for the P010 format.
winegstreamer: Add support for the P010 format.
winedmo: Add support for the P010 format.
Brendan Shanks (3):
winemac: Remove additional pre-macOS 10.12 workarounds.
configure: Remove unnecessary METAL_LIBS variable.
winemac: Remove #defines for conflicting macOS function names.
Daniel Lehman (2):
msvcr120/tests: Clear math error callback after test.
musl: Set EDOM in exp for NAN.
Dmitry Timoshkov (6):
kerberos: Add support for SECBUFFER_STREAM to SpUnsealMessage().
ldap: Avoid code duplication between sasl_client_start() and sasl_client_step().
Revert "combase: Find correct apartment in ClientRpcChannelBuffer_SendReceive()."
msv1_0: Perform NULL check before looking for a buffer of particular type.
kerberos: EncryptMessage() should fail if context doesn't support confidentiality.
kerberos: When requested confidentiality InitializeSecurityContext() should also add integrity.
Elizabeth Figura (11):
dxgi: Do not print a FIXME for DXGI_PRESENT_ALLOW_TEARING.
amstream/tests: Test reconnection done by CreateSample().
amstream: Don't bother calling SetFormat() if a NULL surface was passed.
amstream: Call SetFormat() before creating the sample.
amstream: Unblock GetBuffer() in Decommit().
amstream: Add more traces.
wined3d/spirv: Limit parameters to the relevant shader versions.
wined3d/vk: Use the XY11 fixup for SNORM formats only for legacy d3d.
amstream/tests: Avoid creating a ddraw RGB24 surface.
amstream/tests: Avoid calling GetAllocatorRequirements() from DecideAllocator().
d3d11: Implement CreateRasterizerState2().
Eric Pouech (5):
dbghelp: Speed up global symbols at startup.
dbghelp: Get fpo stream information directly in new PDB reader.
dbghelp: Simplify signature of PDB unwinders.
dbghelp: Rename declarations for old PBD backend.
dbghelp: Let new PDB reader exist independently of the old one.
Esme Povirk (1):
mscoree: Update Wine Mono to 10.1.0.
Gabriel Ivăncescu (4):
mshtml/tests: Test mixed charset encodings for document and text resources.
mshtml: Try to guess the script encoding when there's no BOM.
mshtml: Remove outdated FIXME comment.
urlmon: Skip fragment part when checking filenames for file protocol.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.318.
Hans Leidekker (21):
widl: Add typeref rows for enums.
widl: Add typedef, field and constant rows for enums.
widl: Add rows for the flags attribute.
widl: Add rows for the contract attribute.
widl: Add rows for the version attribute.
msv1_0: Pass a SecBuffer to create_signature() instead of an index.
msv1_0: Pass a SecBuffer to verify_signature() instead of an index.
msv1_0: Support SECBUFFER_STREAM in ntlm_SpUnsealMessage().
kerberos: Fix the wow64 thunk for unseal_message().
kerberos: Avoid buffer copy in kerberos_SpUnsealMessage().
ldap: Use SECBUFFER_STREAM in sasl_decode().
widl: Add rows for the apicontract type.
widl: Add rows for the contractversion attribute.
widl: Add rows for the apicontract attribute.
widl: Add rows for the struct type.
widl: Add rows for the interface type.
widl: Add rows for the uuid attribute.
widl: Add rows for the exclusiveto attribute.
widl: Add rows for the requires keyword.
find: Support /c switch.
secur32/tests: Fix test failure on Windows 11.
Jacek Caban (3):
winegcc: Allow specifying multiple debug files.
makedep: Introduce output_debug_files helper.
configure: Support generating both DWARF and PDB debug info in a single build.
Jacob Czekalla (8):
taskschd/tests: Adds a test for IRegisteredTaskCollection get_Item and get_Count.
taskschd: Implements IRegisteredTaskCollection get_Item().
taskschd: Implements IRegisteredTaskCollection get_Count().
comdlg32/tests: Add tests for changing devmode properties in the hook procedure for PrintDlgW.
comdlg32: Don't use a shadow devmode structure in PrintDlgW.
comdlg32/tests: Add tests for changing devmode properties in the hook procedure for PrintDlgA.
comdlg32: Don't use a shadow devmode structure in PrintDlgA.
comdlg32/tests: Remove tests in printer_properties_hook_proc for A and W versions.
Joe Souza (2):
include: Fix mistitled field in CONSOLE_READCONSOLE_CONTROL.
cmd: Implement tab completion for command line entry.
Lorenzo Ferrillo (1):
shell32: Create an internal IDropSource in SHDoDragDrop if it wasn't passed by the caller.
Matteo Bruni (1):
d3dcompiler/tests: Avoid precision issues in the trigonometry tests.
Nikolay Sivov (3):
d3d10/tests: Check d3d buffer sizes in effects tests.
include: Add GetCurrentThreadStackLimits() prototype.
d3dx9/tests: Add a few tests for technique/pass access with the effect compiler API.
Paul Gofman (11):
crypt32: Duplicate provided root store in CRYPT_CreateChainEngine().
msvcrt: Print FIXME when WideCharToMultiByte() fails in create_locinfo().
msvcrt: Support j modifier in scanf.
wbemprox: Pass current directory correctly to CreateProcessW() in process_create().
kernel32/tests: Test loading dll as resource or datafile with wow64 FS redirection disabled.
version/tests: Test GetFileVersionInfoW() with wow64 FS redirection.
msi/tests: Test installing 64 bit library loaded into wow64 installer process.
msi: Allocate buffer in msi_get_file_version_info().
msi: Get system directory just once.
msi: Fix getting version info for library loaded into wow64 process.
xaudio2/tests: Add some tests for XAudio2 refcounting.
Piotr Caban (3):
ucrtbase: Fix CP_UTF8 handling in _toupper_l.
ucrtbase: Fix CP_UTF8 handling in _tolower_l.
ucrtbase: Fix case mapping and ctype1 tables for utf8 locale.
Ralf Habacker (1):
ws2_32: Keep parameters in traces for bind() synchronized with connect().
Rémi Bernon (52):
opengl32: Simplify wglMake(Context)Current control flow.
opengl32: Cache context creation attributes.
opengl32: Use cached attributes to detect legacy contexts.
opengl32: Generate args loading / locking for wrapped functions.
opengl32/tests: Test wglShareLists with modified contexts.
opengl32: Track current context attributes changes.
opengl32: Track a subset of the context attributes.
opengl32: Implement wglCopyContext with tracked attributes.
opengl32/tests: Add more tests with wglCopyContext after usage.
win32u: Drop now unused wglCopyContext entry points.
opengl32: Implement wglShareLists by copying after recreation.
win32u: Drop now unused wglShareLists entry points.
win32u: Avoid closing NULL egl_handle on dlopen failure.
win32u: Return hwnd from get_full_window_handle when invalid.
ole32/tests: Add an test with implicit MTA creation.
ole32/tests: Add more tests with RPC from the wrong thread.
ole32/tests: Check calling a proxy after re-creating the STA.
winex11: Flag offscreen formats as bitmap compatible if possible.
winex11: Check XVisualInfo vs GLXFBConfig depth to avoid BadMatch.
opengl32: Expose every pixel format on memory DCs.
opengl32/tests: Relax memory DC pixel format selection.
windows.devices.enumeration: Return S_OK from IDeviceWatcher::Start with unsupported filter.
win32u: Remove unnecessary window_entry member.
winex11: Remove unnecessary gl3_context context member.
winex11: Remove old window drawable lookup and check.
server: Fix shared object offset when additional blocks are allocated.
win32u: Remove unnecessary shared object lock reset.
server: Allocate shared memory objects for windows.
server: Move window dpi_context to the shared memory.
win32u: Pass id and offset separately to find_shared_session_object.
win32u: Read window dpi_context from the shared memory.
opengl32: Move glFlush / glFinish hooking from win32u.
winex11: Use opengl_funcs for glFlush / glFinish.
winemac: Use opengl_funcs for glFlush.
win32u: Pass the window instance to create_window request.
server: Introduce a dedicated init_window_info request.
server: Get rid of set_window_info request flags.
win32u: Use a separate variable for windows free_list iteration.
win32u: Use a dedicated struct for window destroy entries.
win32u: Fix copy of vulkan surfaces list on window destruction.
opengl32: Flush the contexts on gl(Draw|Read)Pixels and glViewport.
win32u: Use a pbuffer to implement GL on memory DCs.
win32u: Drop now unnecessary OSMesa dependency.
win32u: Remove now unnecessary context and pbuffer funcs.
widl: Write apicontracts macros before they are used.
widl: Skip writing type definition if already written.
widl: Always write WinRT enum type definitions.
win32u: Implement NtUserRegisterWindowMessage.
win32u/tests: Test that user atoms are not a global atoms.
win32u/tests: Test some pinned global and user atoms.
user32: Implement RegisterWindowMessage(A|W) using NtUserRegisterWindowMessage.
user32: Implement RegisterClipboardFormat(A|W) using NtUserRegisterWindowMessage.
Stefan Dösinger (2):
d3d9/tests: Relax the focus==device window reactivate WM_WINDOWPOSCHANGED test.
d3d9/tests: Make the reactivate_messages_filtered test more meaningful on Windows.
Tim Clem (3):
gitlab: Switch to a Sequoia-based VM for the macOS CI build.
vcruntime140_1: Add a version resource.
msvcp140_2: Add a version resource.
Topi-Matti Ritala (1):
po: Update Finnish translation.
Vibhav Pant (6):
bluetoothapis: Return the correct error value in BluetoothAuthenticateDeviceEx.
include: Add windows.networking.sockets.idl.
include: Add windows.devices.bluetooth.rfcomm.idl.
include: Add definitions for Windows.Devices.Bluetooth.BluetoothDevice.
windows.devices.bluetooth/tests: Add tests for BluetoothDeviceStatics.
windows.devices.bluetooth: Add stub for IBluetoothDeviceStatics.
Vitaly Lipatov (1):
wine.inf: Add subkey Parameters for Tcpip6 and Dnscache services.
Yuxuan Shui (24):
amstream: Remove sample from update queue when releasing it.
msctf: Fix read of invalid memory in SINK_FOR_EACH.
cmd: Fix out-of-bound access when parsing commands that start with >.
cmd: Don't check for quotes past the start of the command.
hid/tests: Fix stack use-after-return in test_read_device.
gdiplus/tests: Use correctly formatted description.
gdiplus/tests: Make sure stride is correct for GdipCreateBitmapFromScan0.
inetmib1: Fix table emptiness check.
iphlpapi: Fix use-after-free of apc context.
kernel32/tests: Cancel IO before returning from function.
server: Fix leak of object name in device_open_file.
d3dx9_36/tests: Use correct row pitch for D3DXLoadSurfaceFromMemory.
kernel32/tests: Fix the string argument to WritePrivateProfileSectionA.
kernelbase/tests: Make sure buffer is big enough for test paths.
mshtml: Fix buffer underflow in range_to_string.
d3dx9: Set shared parameters pointer to NULL when freeing it.
mfreadwrite/tests: Fix missing terminator in attribute_desc.
nsiproxy.sys: Fix size mismatch writing into ipstatlist.
kernel32/tests: Fix out-of-bound read in test_CreateFileA.
msi/tests: Fix out-of-bound memcmp.
oleaut32: Fix out-of-bound read in OleLoadPicturePath when szURLorPath is empty.
propsys/tests: Use correct length for debugstr_wn in test_PropVariantToBSTR.
setupapi/tests: Fix double close of HSPFILEQ.
shell32/tests: Make sure to use the right type of strings.
Zhiyi Zhang (14):
d3d11/tests: Test d3d11 device context interfaces.
d3d11: Add ID3D11DeviceContext2 stub.
d3d11: Add ID3D11DeviceContext3 stub.
d3d11: Add ID3D11DeviceContext4 stub.
kernelbase: Silence a noisy FIXME in AppPolicyGetWindowingModel().
comctl32/taskdialog: Fix layout when there is no button.
ntdll: Implement RtlQueryInformationActiveActivationContext().
include: Add errhandlingapi.h.
combase: Add RoFailFastWithErrorContextInternal2() stub.
combase: Add RoGetErrorReportingFlags() stub.
combase: Add RoReportUnhandledError() stub.
combase: Add an error message when class is not found.
d3dcompiler_47: Implement D3DCreateLinker().
d3dcompiler_47: Implement D3DCreateFunctionLinkingGraph().
```
1
0
The Wine development release 10.9 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.16.
- Initial support for generating Windows Runtime metadata in WIDL.
- Support for compiler-based exception handling with Clang.
- EGL library support available to all graphics drivers.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.9.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]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.9/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.9 (total 34):
- #10853 Code::Blocks 8.02 IDE: some toolbar strips are too long
- #10941 Wine does not print in a new allocated console window using AllocConsole()
- #21666 Heavy Metal Pro fails to print Record Sheet
- #22018 No MIDI music in Alonix
- #26017 3D Pinball - Space Cadet: fullscreen does not work properly
- #34331 Toolbar buttons can be activated without a proper click
- #35882 Empire Earth 1.x display artifacts
- #46750 MS Office 2010 on Windows 7 crash
- #47281 wineserver uses a full CPU core with Ableton Live 10.0.6 and a custom Wine version
- #51386 ln.exe needs KERNEL32.dll.FindFirstFileNameW
- #51644 Implementation of wsplitpath_s required for The Legend of Heroes: Trails of Cold Steel
- #51945 property "Size" from win32_logicaldisk gives bogus results
- #52239 Partially invisible URL in TurnFlash's About window
- #54899 EA app launcher problem with text display
- #55254 Dyson Sphere Program (Steam): white artefact on opening scene
- #55255 Dyson Sphere Program (Steam): mouse ignored if switching windows
- #55304 Kerberos authentication stopped to work after PE wldap32 conversion
- #55928 NtQuerySystemInformation SystemProcessInformation result misaligned
- #56068 No "Timeout" command
- #56186 The 32-bit dmusic:dmusic fails in a 64-bit wineprefix
- #56859 Can't install photoshop CS6 through wine
- #57105 Steam GPU process crash loop with 64-bit wineprefix
- #57178 toolbar control doesn't forward WM_NOTIFY to it's original parent (affects 7-zip file manager)
- #57387 Sega Rally Championship Demo crashes at startup if Direct3d/renderer set to GDI
- #57613 Calling 'iphlpapi.GetIpNetTable' with a large number of network interfaces present crashes Wine builtin NSI proxy service
- #58060 Zafehouse: Diaries demo crashes in d3dx_initialize_image_from_wic with unsupported pixel format {6fddc324-4e03-4bfe-b185-3d77768dc902}
- #58133 Gigapixel ai no longer starts 8.3.3
- #58203 PL/SQL Developer: All system memory gets eaten
- #58217 The Journeyman Project 3 doesn't work in virtual desktop mode
- #58243 Geekbench 6 crashes at start.
- #58255 Player2 crashes
- #58269 Build regression in wine 10.7 using clang on aarch64 (error in backend: Invalid register name "x18")
- #58277 Virtual desktop doesn't resize correctly
- #58285 Crystal of Atlan - Hard crash after server selection
### Changes since 10.8:
```
Adam Markowski (1):
po: Update Polish translation.
Alanas Tebuev (4):
comctl32/tests: Test WM_NOTIFY CBEN_ENDEDITW conversion and forwarding in toolbar.
comctl32: Rewrite COMCTL32_array_reserve (was PAGER_AdjustBuffer).
comctl32: Move WM_NOTIFY unicode to ansi conversion code from pager.c to commctrl.c.
comctl32/toolbar: Forward WM_NOTIFY CBEN_ENDEDITW and CBEN_ENDEDITA.
Alex Henrie (1):
wintrust: Initialize all cert fields in WINTRUST_AddCert.
Alexandre Julliard (33):
configure: Correctly override DLLEXT for ARM builds.
include: Output the name label directly in the __ASM_GLOBL macro.
include: Add a macro to define a pointer variable in assembly.
ntdll: Call the syscall dispatcher from assembly on thread init.
ntdll: Set registers directly when calling __wine_syscall_dispatcher_return() on syscall fault.
ntdll: Use %r13 to store the TEB in the syscall dispatcher.
ntdll: Move the syscall frame and syscall table to the ntdll thread data.
ntdll: Share is_inside_syscall() helper across platforms.
winedump: Dump syscall numbers.
ntdll: Add tracing for syscall entry/exit.
ntdll: Add tracing for user callback entry/exit.
wineps: Use the correct metrics count in generated font data.
dbghelp: Use the __cpuid() intrinsic.
vkd3d: Import upstream release 1.16.
ntdll: Pre-compute the syscall frame and XState data size.
ntdll: Only create logical processor information when needed.
ntdll: Perform some shared data initialization before starting wineboot.
ntdll: Perform CPU features initialization before starting wineboot.
ntdll: Perform XState data initialization before starting wineboot.
ntdll: Fetch the XState supported features mask from the user shared data.
ntdll: Fetch the XState features mask from the user shared data.
ntdll: Fetch the XState features size from the user shared data.
ntdll: Fetch the XState compaction flag from the user shared data.
ntdll: Fetch the XState features offsets from the user shared data.
ntdll: Check processor features from the user shared data.
ntdll: Get rid of the cached cpu_info structure.
ntdll: Generate the CPU features bits from the user shared data.
ntdll: Don't bother checking for cpuid availability.
ntdll: Check directly for valid %fs register instead of using a syscall flag.
ntdll: Check for wrfsbase availability from the user shared data.
ntdll: Check for xsavec availability from the user shared data.
ntdll: Check for fxsave availability from the user shared data.
ntdll: Check for xsave availability from the user shared data.
Alfred Agrell (1):
kernel32/tests: Don't import NtCompareObjects before Windows 10.
Bernhard Kölbl (2):
setupapi/tests: Add display enum tests.
win32u: Provide more gpu device properties.
Bernhard Übelacker (6):
ucrtbase/tests: Avoid reading behind buffer in test_swprintf (ASan).
timeout/tests: Move the ctrl-c tests to an intermediate process.
nsiproxy: Avoid buffer overflow in ipv4_neighbour_enumerate_all.
dmusic: Only extract name in EnumInstrument when the valid flag is set.
ntdll: Align records retrieved by SystemProcessInformation.
gdiplus: Add check of type parameter to be positive (ASan).
Brendan McGrath (5):
mf/tests: Add negative timestamp tests for h264.
winegstreamer: Use provided PTS and duration in video_decoder.
winegstreamer: Avoid rounding errors when generating timestamps.
winegstreamer: Don't generate sample timestamps for the WMV decoder.
winegstreamer: Fixup negative input timestamps.
Brendan Shanks (1):
ntdll: Don't swap GSBASE on macOS in user_mode_callback_return().
Charlotte Pabst (1):
mf: Release pending items when sample grabber is stopped.
Connor McAdams (3):
d3dx9/tests: Add tests for {1,2,4}bpp indexed PNG files.
d3dx9: Properly handle indexed pixel formats smaller than 8bpp.
d3dx9: Add support for decoding 2bpp indexed PNG files.
Conor McCarthy (1):
user32: Restore the previous thread DPI awareness context before leaving CalcChildScroll().
Daniel Lehman (3):
msvcr120/tests: Test exp.
musl: Pass math_error callback to exp.
msvcr120: Add cexp() implementation.
David Kahurani (1):
xmllite/tests: Add more writer tests.
Dmitry Timoshkov (4):
ldap: When initializing security context ask for mutual authentication.
ldap: Sasl_encode()/sasl_decode() should treat encrypted buffer as data + token for Kerberos.
ldap: Add support for missing ISC_RET_CONFIDENTIALITY in the server response.
ldap: Save server attributes also on 2nd authentication step.
Elizabeth Figura (23):
wined3d: Move the remainder of the table fog flag to wined3d_extra_vs_args.
wined3d: Move the remainder of the shade mode flag to wined3d_extra_vs_args.
wined3d: Move the ortho_fog flag to wined3d_extra_vs_args.
wined3d: Remove no longer used transforms from wined3d_state.
wined3d: Feed point size clamping constants through a push constant buffer.
amstream/tests: Add more tests for the ddraw stream allocator.
amstream: Avoid shadowing in ddraw_meminput_Receive().
amstream: Rename "busy" to "pending".
amstream: Implement the custom ddraw stream allocator.
amstream: Fix allocator pitch tests.
amstream: Allocate the media type in set_mt_from_desc().
amstream/tests: Add more format tests.
amstream: Handle 8-bit RGB in set_mt_from_desc().
amstream: Fill the whole AM_MEDIA_TYPE in set_mt_from_desc().
amstream: Use set_mt_from_desc() in IMediaSample::GetMediaType().
amstream: Do not alter the current media type in SetFormat().
amstream: Take the actual ddraw pitch into account in GetMediaType().
amstream: Fill the source and target rects in set_mt_from_desc().
amstream: Report a top-down DIB in set_mt_from_desc().
wined3d/vk: Use an XY11 fixup for 2-channel SNORM formats.
wined3d/spirv: Implement clip planes.
wined3d/spirv: Implement point size.
wined3d/spirv: Implement point sprite.
Eric Pouech (4):
dbghelp: Don't dupe some exports on 64bit compilation.
kernel32/tests: Test closing of std handles when closing console.
wineconsole: Create child with unbound console handles.
kernelbase: Don't close handles in FreeConsole() for a Unix console.
Esme Povirk (5):
gdiplus: Remove repeated points before widening paths.
comctl32: Add tests for trackbar MSAA events.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for trackbars.
comctl32/tests: Fix childid in trackbar statechange event.
gdiplus: Unify region rasterization in GdipFillRegion.
Gabriel Ivăncescu (5):
include: Add IHTMLDOMAttribute3 interface.
mshtml: Expose ownerElement from attribute nodes in IE8+ modes.
mshtml: Implement ownerElement prop for attribute nodes.
mshtml: Introduce dispex_builtin_prop_name that returns static string for builtins.
mshtml: Finish the nsAString in element_has_attribute.
Hans Leidekker (12):
secur32: Reset function tables in nego_SpInitLsaModeContext() and nego_SpAcceptLsaModeContext().
widl: Initial support for generating Windows Runtime metadata.
widl: Write the string stream.
widl: Write the user string stream.
widl: Write the blob stream.
widl: Write the guid stream.
winedump: Also dump the Culture column of the Assembly table.
widl: Write the table stream.
widl: Implement the Module table.
widl: Implement the TypeDef table.
widl: Implement the Assembly table.
widl: Implement the AssemblyRef table.
Huw D. M. Davies (1):
winemac: Ensure pglGetString is initialized before calling init_gl_info().
Jacek Caban (7):
msvcrt: Add empty block for __EXCEPT_PAGE_FAULT.
include: Use ULONG for RpcExceptionCode macro.
ntdll: Pass exception code to exception handlers in __C_specific_handler.
ntdll: Mark IsBadStringPtr functions as noinline.
configure: Enable -fasync-exceptions when supported.
include: Enable compiler exceptions on Clang for 64-bit MSVC targets.
ntdll/tests: Register runtime function in test___C_specific_handler.
Jinoh Kang (2):
server: Add `nested` parameter to redraw_window().
server: Remove unused parameter `frame` from redraw_window().
Louis Lenders (4):
wbemprox: Return the SMBIOSTableData[] when querying SMBiosData.
user32: Add stub for SetProcessLaunchForegroundPolicy.
pdh: Add stub for PdhEnumObjects{A,W}.
pdh: Add stub for PdhGetRawCounterArrayW{A,W}.
Makarenko Oleg (1):
winebus: Fix detection of devices with no axis.
Michael Stefaniuc (4):
dmime: Handle (skip over) text MIDI meta events.
dmime: Print the MIDI meta event type for unhandled messages.
dmime: Support the MIDI meta end of track event.
dmime: Parse and ignore MIDI key signature meta events.
Mohamad Al-Jaf (10):
include: Add dxcore C interface macros.
dxcore/tests: Add DXCoreCreateAdapterFactory() tests.
dxcore: Implement DXCoreCreateAdapterFactory().
dxcore/tests: Add IDXCoreAdapterFactory::CreateAdapterList() tests.
dxcore: Partially implement IDXCoreAdapterFactory::CreateAdapterList().
dxcore: Implement IDXCoreAdapterList::GetAdapterCount().
dxcore/tests: Add IDXCoreAdapterList::GetAdapter() tests.
dxcore: Implement IDXCoreAdapterList::GetAdapter().
dxcore/tests: Add IDXCoreAdapter::GetProperty() tests.
dxcore: Implement IDXCoreAdapter::GetProperty(HardwareID).
Nikolay Sivov (14):
comctl32/taskdialog: Protect WM_COMMAND handler from partially initialized dialog.
dwrite: Update script information with Unicode 14-16 additions.
odbc32: Ignore SQL_ATTR_CONNECTION_POOLING on global environment.
odbc32: Improve string attribute detection in SQLSetStmtAttr().
odbc32: Fix data buffer size handling when forwarding SQLGetInfo -> SQLGetInfoW.
windowscodecs/tiff: Remove remaining endianess compiler checks.
windowscodecs/metadata: Remove remaining endianess compiler checks.
windowscodecs/tiff: Fix source buffer size for 16bpp format (ASan).
odbc32: Destroy child objects automatically on successful SQLDisconnect().
comctl32/listview: Fix lbutton item selection with Shift+Ctrl.
comctl32/listview: Do not consider key state when navigating with alphanumeric keys.
d3dx9/tests: Add an effect compiler test for accessing functions.
mf/samplegrabber: Initialize state -> event map in a more robust way.
mf/clock: Initialize state -> notification map in a more robust way.
Panayiotis Talianos (1):
wined3d: Swap wined3d_resource.heap_pointer on swapchain present.
Paul Gofman (4):
wbemprox: Only use IOCTL_DISK_GET_DRIVE_GEOMETRY_EX if GetDiskFreeSpaceExW() fails.
mountmgr.sys: Fill DiskNumber and ExtentLength for IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS.
win32u: Implement NtGdiDdDDIOpenAdapterFromDeviceName().
ntdll: Avoid excessive committed range scan in NtProtectVirtualMemory().
Piotr Caban (24):
oledb32: Remove leading whitespaces from property name in datainit_GetDataSource.
msado15: Don't clear VARIANT in _Record_get_ActiveConnection.
msado15: Don't store active connection as variant.
msado15: Add _Recordset_putref_ActiveConnection implementation.
msado15: Add _Recordset_put_ActiveConnection implementation.
msado15: Use _Recordset_put_ActiveConnection in recordset_Open implementation.
msado15: Don't overwrite data in resize_recordset.
msado15: Avoid unneeded data copy in load_all_recordset_data.
msado15: Set recordset index in load_all_recordset_data.
msado15: Handle rowsets with unknown number of rows in load_all_recordset_data.
msado15: Add support for obtaining base tables and views in _Recordset_Open.
include: Define DBSCHEMA_* GUIDs.
include: Add dbsrst.idl.
msado15: Return error in recordset_MoveNext when there are no more records.
msado15: Skip columns without name in create_bindings.
msado15: Handle DBTYPE_VARIANT in load_all_recordset_data.
msado15: Pass DBCOLUMNINFO to append_field helper.
msado15: Add Field_put_Precision implementation.
msado15: Add Field_get_Precision implementation.
msado15: Add Field_put_NumericScale implementation.
msado15: Add Field_get_NumericScale implementation.
msado15: Handle DBTYPE_DATE in load_all_recordset_data.
msado15: Add connection_OpenSchema implementation.
include: Add DBBOOKMARK enum.
Rémi Bernon (39):
winex11: Remove unnecessary mutable_pf member.
opengl32: Move legacy extensions fixup from winex11.
winex11: Focus the desktop window when _NET_ACTIVE_WINDOW is None.
winex11: Don't activate/update foreground in virtual desktop mode.
win32u: Pass opengl_funcs pointer to init_wgl_extensions.
win32u: Initialize opengl_funcs tables even on failure.
win32u: Move the opengl_funcs tables out of the drivers.
include: Generate EGL prototypes and ALL_EGL_FUNCS macro.
win32u: Load EGL and expose functions in opengl_funcs.
winewayland: Use the EGL functions loaded from win32u.
wineandroid: Use the EGL functions loaded from win32u.
Revert "winex11: Focus the desktop window when _NET_ACTIVE_WINDOW is None."
winex11: Track _MOTIF_WM_HINTS property in the window state.
winex11: Avoid unnecessary _NET_WM_FULLSCREEN_MONITORS requests.
winex11: Trace more window change request serials.
winex11: Move managed window check to window_set_net_wm_state.
winex11: Update the current window state when ignoring events.
win32u: Open and initialize an EGL platform display.
wineandroid: Use the EGL display opened from win32u.
winewayland: Use the EGL display opened from win32u.
win32u: Introduce an EGL opengl_driver_function table.
win32u: Implement OpenGL pixel formats over EGL configs.
wineandroid: Use win32u for EGL display and pixel formats.
winewayland: Use win32u for EGL display and pixel formats.
winex11: Keep track of xinerama fullscreen monitors generation.
winex11: Continue requesting desired window state on no-op event.
winex11: Serialize individual _NET_WM_STATE bit changes.
winex11: Track window pending config position / size independently.
winex11: Keep track of the last config above flag used.
winex11: Serialize managed window config change requests.
winex11: Serialize window config requests with some other requests.
winex11: Don't set _MOTIF_WM_HINTS / _NET_WM_STATE for embedded windows.
winex11: Avoid requesting impossible state changes over and over.
winex11: Don't delay config requests for embedded windows.
winex11: Don't expect an event from config requests while window is unmapped.
winex11: Wait for decoration change side effects before changing focus.
user32/tests: Flush events before changing foreground.
user32/tests: Make test_foregroundwindow test more reliable.
winex11: Listen for ConfigureNotify events on the virtual desktop.
Santino Mazza (3):
amstream: Call QueryAccept with the new media type.
amstream/tests: Test how the ddraw allocator properties change.
amstream: Return error when calling SetFormat with allocated samples.
Steven Flint (1):
ntdll: Implement RtlCreateServiceSid.
Vibhav Pant (6):
winebth.sys: Implement IOCTL_WINEBTH_RADIO_START_AUTH.
bluetoothapis: Implement BluetoothAuthenticateDeviceEx.
bluetoothapis: Use a wizard GUI to respond to pairing requests if an authentication callback is not registered.
bluetoothapis/tests: Add tests for BluetoothAuthenticateDeviceEx.
winebth.sys: Don't decrement the reference count for the DBusPendingCall received by bluez_device_pair_callback.
bluetoothapis: Fix a potential handle leak in BluetoothAuthenticateDeviceEx.
Yuxuan Shui (4):
wineps.drv: Avoid double destroy of PSDRV_Heap.
ntdll: Fix out-of-bound read in RtlIpv6AddressToStringExA.
xmllite/tests: Fix out-of-bound read.
crypt32: Fix invalid access of list head.
Zhiyi Zhang (26):
include: Avoid a C++ keyword.
windows.ui: Return a newer IUISettings5 interface.
windows.ui: Use helpers to implement IWeakReference.
geolocation: Use helpers to implement IWeakReference.
wintypes/tests: Use defined constants.
wintypes: Implement IReference<UINT32>.
wintypes: Implement IReference<BYTE>.
wintypes: Implement IReference<FLOAT>.
wintypes: Implement IReference<GUID>.
wintypes: Implement IReference<INT16>.
wintypes: Implement IReference<INT32>.
wintypes: Implement IReference<INT64>.
wintypes: Implement IReference<UINT64>.
wintypes: Implement IReference<DateTime>.
wintypes: Implement IReference<Point>.
wintypes: Implement IReference<Rect>.
wintypes: Implement IReference<Size>.
wintypes: Implement IReference<TimeSpan>.
d3d11/tests: Test newer device interfaces.
d3d11: Add ID3D11Device3 stub.
d3d11: Add ID3D11Device4 stub.
d3d11: Add ID3D11Device5 stub.
dxgi: Add IDXGIResource1 stub.
dxgi: Add IDXGISurface2 stub.
dxgi/tests: Add tests for subresource surfaces.
dxgi: Implement subresource surface support.
```
1
0
The vkd3d team is proud to announce that release 1.16 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:
- Support for DirectX Intermediate Language (DXIL) shaders.
- Initial support for geometry shaders in the HLSL compiler.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.16.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.16
### libvkd3d
- DXIL shaders are supported in the default configuration. Previously this
required building vkd3d with the ‘-DVKD3D_SHADER_UNSUPPORTED_DXIL’
preprocessor option. The also raises the maximum supported shader model to
version 6.0.
- Graphics pipeline state objects can be created from shaders with embedded
root signatures. This was already possible for compute pipeline state
objects.
- The SetEventOnMultipleFenceCompletion() method of the ID3D12Device1
interface is implemented.
- When the VK_KHR_zero_initialize_workgroup_memory extension is supported,
libvkd3d supports zero-initialising compute shader thread group shared
memory.
- The VK_KHR_maintenance2 extension is now explicitly required. libvkd3d
already unconditionally used features provided by this extension, but
unfortunately didn't explicitly require it. Support for this extension is
widespread, and the extension is part of Vulkan 1.1.
### libvkd3d-shader
- The previously experimental support for compiling DXIL shaders is now a
supported feature and enabled by default. Please note that this feature is
nevertheless still far from perfect.
- New features for the HLSL source type:
- Initial support for geometry shaders.
- Indirect addressing in shader model 1-3 target profiles.
- Modulus and truncation operations in shader model 1-3 target profiles.
- Vectorised output code.
- Further improved constant folding and propagation.
- The following intrinsic functions are supported:
- AllMemoryBarrier()
- AllMemoryBarrierWithGroupSync()
- DeviceMemoryBarrier()
- DeviceMemoryBarrierWithGroupSync()
- GroupMemoryBarrier()
- GroupMemoryBarrierWithGroupSync()
- The ‘.Length’ Texture object property.
- The ‘SV_RenderTargetArrayIndex’ and ‘SV_ViewportArrayIndex’ semantics in
tessellation shaders.
- Disassembler support for binary ‘fx_2_0’ effects.
- Experimental built-in support for disassembling SPIR-V shaders, enabled by
building vkd3d with the ‘-DVKD3D_SHADER_UNSUPPORTED_SPIRV_PARSER’
preprocessor option. When enabled, the built-in SPIR-V disassembler is
used instead of SPIRV-Tools for the ‘spirv-text’ target type, as well as
for the debug output enabled by the VKD3D_SHADER_DEBUG environment
variable.
- The experimental OpenGL Shading Language (GLSL) target supports indirect
addressing of constant buffers.
- The experimental Metal Shading Language (MSL) target supports texture
loads.
- New interfaces:
- The VKD3D_SHADER_COMPILE_OPTION_FEATURE_ZERO_INITIALIZE_WORKGROUP_MEMORY
flag indicates support for zero-initialising workgroup memory in the
SPIR-V target environment.
- The VKD3D_SHADER_COMPONENT_INT64 enumeration value indicates a 64-bit
signed integer value.
- The VKD3D_SHADER_COMPONENT_FLOAT16 enumeration value indicates a 16-bit
IEEE floating-point value.
- The VKD3D_SHADER_COMPONENT_UINT16 enumeration value indicates a 16-bit
unsigned integer value.
- The VKD3D_SHADER_COMPONENT_INT16 enumeration value indicates a 16-bit
signed integer value.
- When targeting VKD3D_SHADER_API_1_16, the
VKD3D_SHADER_RESOURCE_DATA_NONE enumeration value is returned for the
‘resource_data_type’ field in the vkd3d_shader_descriptor_info structure
for sampler descriptors. VKD3D_SHADER_API_1_15 and before use the
VKD3D_SHADER_RESOURCE_DATA_UINT enumeration value for this.
### demos
- The vkd3d demos now work on both the Microsoft Windows and Apple macOS
builds. The macOS versions of the vkd3d demos are completely new in vkd3d
1.16, while the Windows demos could previously be built, but only worked
on Wine. Note that the vkd3d demos produced by a Windows build of vkd3d
are distinct from those produced by the ‘make crosstest’ target: the
former are Vulkan applications using vkd3d, while the latter are Direct3D
12 applications.
- The vkd3d demos have basic support for DPI scaling.
### build
- Perl and the ‘JSON’ Perl module have been added as build dependencies.
These are used for the experimental built-in SPIR-V disassembler, as well
as for the macOS versions of the vkd3d demos.
### Changes since vkd3d 1.15:
```
Andrey Gusev (2):
vkd3d-shader/dxil: Store the actual return value in sm6_parser_signatures_init().
vkd3d-shader/ir: Store the actual return value in shader_signature_map_patch_constant_index_ranges().
Anna (navi) Figueiredo Gomes (6):
tests/hlsl: Add lower sm1 saturate test.
tests/hlsl: Add angle bracket state block syntax test.
vkd3d-shader: Parse angle bracket initializer in state blocks.
tests/hlsl: Add some fx_4_0 state tests.
vkd3d-shader/fx: Don't cast between int and uint in state blocks.
vkd3d-shader/hlsl: Use the source data type in clone_interlocked().
Conor McCarthy (13):
tests/hlsl: Add typed buffer SRV 16-bit tests.
tests/hlsl: Add a sampler 16-bit test.
tests/hlsl: Add a TGSM 16-bit test.
tests/hlsl: Add a typed SRV load 16-bit test.
tests/hlsl: Add interstage interface 16-bit tests.
tests/hlsl: Add a conditional 16-bit test.
tests: Replace test_vs_ps_relative_addressing() with a shader runner test.
tests/hlsl: Test casts to 16-bit float.
tests/hlsl: Test casts to 16-bit int.
tests/hlsl: Test casts to 16-bit uint.
tests/hlsl: Test casts from double to 16-bit integer types.
vkd3d-shader/tpf: Emit the resource data type only for typed resource declarations.
tests/hlsl: Add a shader model 5.1 test to srv-byteaddressbuffer.shader_test.
Elizabeth Figura (70):
vkd3d-shader/hlsl: Don't mark extern variables with an explicit first_write or last_read.
vkd3d-shader/hlsl: Skip transformation passes on error.
vkd3d-shader/hlsl: Remove the type equality assertions in hlsl_new_ternary_expr().
vkd3d-shader/hlsl: Handle error instructions in hlsl_new_swizzle().
vkd3d-shader/hlsl: Add a hlsl_block_add_uint_constant() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_int_constant() helper.
vkd3d-shader/hlsl: Inline add_pow_expr().
vkd3d-shader/hlsl: Add a hlsl_block_add_float_constant() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_unary_expr() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_cast() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_binary_expr() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_expr() helper.
vkd3d-shader/hlsl: Pass a block to hlsl_new_void_expr().
vkd3d-shader/hlsl: Pass the target block to hlsl_new_load_component().
vkd3d-shader/hlsl: Add a hlsl_block_add_store_index() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_simple_store() helper.
vkd3d-shader/hlsl: Pass the target block to hlsl_new_store_component().
vkd3d-shader/hlsl: Return void from hlsl_block_add_store_component().
vkd3d-shader/hlsl: Return an error expr from hlsl_add_load_component() on allocation failure.
vkd3d-shader/hlsl: Add a hlsl_block_add_load_index() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_simple_load() helper.
vkd3d-shader/hlsl: Emit the minimum-precision global flag when minimum-precision semantics are used.
vkd3d-shader/hlsl: Emit minimum-precision signatures.
vkd3d-shader/hlsl: Emit the minimum-precision SFI0 flag.
vkd3d-shader/hlsl: Use common hlsl_type_is_integer() and hlsl_base_type_is_integer() helpers.
vkd3d-shader/hlsl: Pass the correct type to base_type_get_semantic_equivalent().
vkd3d-shader/hlsl: Make min16uint into a first-class type.
vkd3d-shader/hlsl: Add a hlsl_block_add_jump() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_if() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_loop() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_index() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_resource_store() helper.
vkd3d-shader/hlsl: Fix temp allocation for ps 1.x.
vkd3d-shader/hlsl: Fix writing the sincos extra constants.
vkd3d-shader/hlsl: Introduce hlsl_block_add_resource_load().
vkd3d-shader/hlsl: Introduce hlsl_block_add_swizzle().
vkd3d-shader/hlsl: Return an error expression from add_cast() on allocation failure.
vkd3d-shader/hlsl: Do not abort when performing an invalid explicit cast.
vkd3d-shader/hlsl: Do not abort when performing an invalid implicit cast.
vkd3d-shader/hlsl: Stop checking for failure from intrinsic_float_convert_arg().
vkd3d-shader/hlsl: Don't invalidate OOB constant derefs.
vkd3d-shader/hlsl: Zero-initialize "nonconst_i" and "ret_swizzle" in copy_propagation_replace_with_deref().
vkd3d-shader/hlsl: Reuse shader model 1-3 constants.
vkd3d-shader/hlsl: Use vsir_*_from_hlsl_node() helpers in more places.
vkd3d-shader/hlsl: Set the correct index count for sm1 DEPTHOUT.
vkd3d-shader/hlsl: Initialize the vsir dimension for sm1.
vkd3d-shader/hlsl: Leave the swizzle zero for VSIR_DIMENSION_NONE registers.
vkd3d-shader/hlsl: Initialize the temp count for sm1.
vkd3d-shader/glsl: Invert gl_FragCoord w.
vkd3d-shader/hlsl: Allow compiling directly to GLSL.
vkd3d-shader/hlsl: Introduce a compiler pass to vectorize expressions.
vkd3d-shader/hlsl: Introduce a compiler pass to vectorize stores.
vkd3d-shader/hlsl: Set the sysval for more sm1 semantics.
vkd3d-shader/hlsl: Set the right interpolation mode in the vsir signature.
vkd3d-shader/ir: Introduce a vsir_dst_param_init_null() helper.
vkd3d-shader/ir: Validate SSA write masks.
vkd3d-shader: Normalize TEXKILL to use a source register.
tests/hlsl: Show that GetRenderTargetSampleCount() returns a vector.
vkd3d-shader/hlsl: Return a uint1 from GetRenderTargetSampleCount().
vkd3d-shader/ir: Merge tess factor used masks together.
vkd3d-shader/spirv: Return void from spirv_compiler_emit_input().
vkd3d-shader/spirv: Do not declare inputs with an empty used_mask.
vkd3d-shader/hlsl: Emit an error when min16uint is used in d3dbc target profiles.
vkd3d-shader/hlsl: Do not emit HLSL_OP1_ABS for unsigned types.
tests/hlsl: Add more tests for the "numthreads" attribute.
vkd3d-shader/hlsl: Validate "numthreads" attribute values.
vkd3d-shader/ir: Use the .w component of the existing swizzle when lowering texldb.
vkd3d-shader/hlsl: Fix an incorrect error message for referring to non-struct types with "struct".
tests/hlsl: Add more tests for struct syntax.
vkd3d-shader/hlsl: Forbid referring to typedefs with "struct".
Feifan He (3):
tests/shader_runner_metal: Introduce a helper to encode the argument buffer.
tests/shader_runner_metal: Add texture support.
vkd3d-shader/msl: Implement VKD3DSIH_LD.
Francisco Casas (38):
vkd3d-shader/hlsl: Also dump preprocessed shaders.
tests/test-driver: Print the shader model for the detailed output of the hlsl backend.
tests/test-driver: Group together tags in the same line and shader model.
tests/test-driver: Merge the same consecutive tags togeter.
vkd3d-make/hlsl: Trace the number of registers allocated in allocate_temp_registers().
vkd3d-shader/hlsl: Only use the temp copy for variables that are written.
tests: Test unused invalid samples with a static sampler.
vkd3d-shader/hlsl: Run folding passes again after lower_nonconstant_array_loads.
vkd3d-shader/hlsl: Don't cast all expressions to float.
vkd3d-shader/hlsl: Remove lower_nonfloat_exprs().
vkd3d-shader/hlsl: Lower TRUNC expressions for SM1.
tests: Add a hard test for copy-propagation invalidation.
vkd3d-shader/hlsl: Fix invalidation of the wrong components in copy-propagation.
tests/hlsl: Test for loss of precision on integer negation in d3dbc target profiles.
tests/hlsl: Test integer modulus with big integers.
tests/hlsl: Test integer division with big integers.
vkd3d-shader/hlsl: Don't lower integer MOD and DIV on const passes for d3dbc target profiles.
vkd3d-shader/hlsl: Lower integer modulus for d3dbc target profiles.
tests/hlsl: Test vertex shader uniform indirect addressing.
tests/hlsl: Test SM1 vertex shader uniform allocation on indirect addressing.
vkd3d-shader/d3dbc: Respect "idx_count" when writing registers.
vkd3d-shader/hlsl: Implement indirect addressing for d3dbc target profiles.
vkd3d-shader/ir: Normalise MOVA and d3dbc indirect addressing.
vkd3d-shader/hlsl: Allow non-constant deref propagation on SM1.
vkd3d-shader/ir: Reset instruction pointers after shader_instruction_array_insert_at().
tests/hlsl: Test the object .Length property.
vkd3d-shader/hlsl: Support the .Length property for Textures.
vkd3d-shader/hlsl: Make struct_declaration_without_vars return void.
vkd3d-shader/hlsl: Avoid leaking declaration_statement blocks.
vkd3d-shader/hlsl: Avoid leaking blocks on YYABORT.
vkd3d-shader/hlsl: Add parse_variable_def destructors to the parser.
vkd3d-shader/hlsl: Add switch_case destructors to the parser.
vkd3d-shader/hlsl: Remove the unnecessary "instr" field from the parser %union.
vkd3d-shader/hlsl: Parse barriers.
vkd3d-shader/hlsl: Mark stores dirty on interlocked operation in vectorize_stores().
vkd3d-shader/hlsl: Generate vsir for HLSL_IR_SYNC operations.
tests: Add tests for DeviceMemoryBarrierWithGroupSync().
ci: Update the DXC version used on the CI to 1.8.2502.
Giovanni Mascellani (104):
tests: Enable tessellation shaders in the Vulkan shader runner.
tests: Test I/O index ranges not intersecting a signature element for a given register.
vkd3d-shader/ir: Report errors in the I/O normaliser instead of asserting.
vkd3d-shader/ir: Use a structure to record range data in the I/O normaliser.
vkd3d-shader/ir: Handle index ranges that do not touch a signature element for each register.
vkd3d-shader/tpf: Allow I/O index ranges to not intersect a signature element for a given register.
vkd3d: Require extension VK_KHR_maintenance2.
vkd3d: Rename push_descriptor_set to root_descriptor_set.
vkd3d: Put all root descriptors in a single Vulkan descriptor set when using Vulkan heaps.
tests: Test embedding the root signature in shaders for graphics pipelines.
vkd3d: Take the root signature from shaders when creating graphics pipelines.
vkd3d/device: Require VK_KHR_zero_initialize_workgroup_memory when appropriate.
vkd3d: Split Vulkan debug messages.
vkd3d-shader/spirv: Emit immediate words for unhandled instructions.
tests/shader_runner: Allow selecting the executor.
tests/shader_runner: Allow selecting the compiler.
tests: Store the compiler string in the shader runner capabilities.
tests/shader_runner: Avoid creating devices for backends that won't execute.
vkd3d-shader/ir: Validate CONSTBUFFER registers.
vkd3d-shader/ir: Disallow CONSTBUFFER registers in destination parameters.
vkd3d-shader/ir: Disallow IMMCONSTBUFFER registers in destination parameters.
ci: Define VKD3D_TEST_DEBUG when running the CI scripts.
tests: Mark a few other timestamp query tests as buggy on MoltenVK.
tests: Mark two other tessellation tests as buggy on MoltenVK.
tests: Transition texture state to inherit aliased data.
tests: Mark a test about resource aliasing as todo on MoltenVK.
vkd3d-shader/spirv: Run the vsir passes before creating the SPIR-V generator.
vkd3d-shader/spirv: Immediately store a reference to the program in the SPIR-V generator.
vkd3d-shader/spirv: Do not store duplicate references to the signatures.
vkd3d-shader/spirv: Do not steal the instruction array from the vsir program.
vkd3d-shader: Represent descriptor information in the vsir program.
tests: Mark a queue synchronization test as buggy on MoltenVK.
tests: Mark an early depth stencil test as buggy on MoltenVK.
vkd3d-shader/ir: Validate register id and index for RESOURCE registers.
vkd3d-shader/ir: Validate register id and index for UAV registers.
vkd3d-shader/ir: Validate register id and index for SAMPLER registers.
vkd3d-shader/ir: Validate register id and index for CONSTBUFFER registers.
tests: Mark a number of test failures as buggy on macOS before Sequoia.
ci: Disable testing with DXC on macOS.
tests: Mark a todo as resolved on MoltenVK 1.2.12.
vkd3d-shader/msl: Set the prefix to "unknown" for unhandled shader types in msl_generator_init().
tests/d3d12: Always set descriptor heaps.
tests/shader_runner: Always set descriptor heaps.
tests/shader_runner_metal: Handle multisampled 2D texture arrays properly.
tests/shader_runner_metal: Do not use shared buffers.
vkd3d-shader/msl: Access descriptors with a type-erased array.
tests/shader_runner_d3d11: Do not create CPU-readable multisample resolution textures.
tests: Create structured buffers with the appropriate stride.
vkd3d-shader: Represent resource data types as vkd3d_data_type in struct vkd3d_shader_descriptor_info1.
vkd3d-shader/d3d-asm: Expose the raw value if unknown in shader_dump_resource_type().
vkd3d-shader/d3d-asm: Expose the raw value if unknown in shader_dump_data_type().
vkd3d-shader/d3d-asm: Include the program descriptors when tracing vsir code.
vkd3d-shader/d3d-asm: Trace register names for I/O declarations.
vkd3d-shader: Describe the resource data types of samplers as NONE.
vkd3d-shader/ir: Validate descriptor types in vsir programs.
vkd3d-shader/ir: Validate descriptor resource types in vsir programs.
vkd3d-shader/ir: Validate descriptor resource data types in vsir programs.
vkd3d-shader/ir: Validate descriptor counts in vsir programs.
tests/shader_runner_d3d9: Request the adapter specified on the command line.
tests/hlsl: Do not test 16-bit out-of-bound SRV buffer reads.
tests/hlsl: Do not test 16-bit out-of-bound UAV writes.
tests/hlsl: Remove a test in which a function reads an "out" argument.
tests/hlsl: Do not test 16-bit out-of-bound varyings.
tests/hlsl: Do not test dst() on integer arguments with SM6.
tests/hlsl: Fix the precision for a 16-bit arithmetic test.
tests/hlsl: Do not test the implicit passthrough control point phase for SM6.
vkd3d-shader/ir: Validate that DEPTHOUT registers aren't used as sources.
vkd3d-shader/ir: Validate that DEPTHOUTGE registers aren't used as sources.
vkd3d-shader/ir: Validate that DEPTHOUTLE registers aren't used as sources.
tests/d3d12: Set the descriptor heap when clearing UAVs.
tests/d3d12: Check that B5G6R5_UNORM and B5G5R5A1_UNORM are supported before testing them.
tests/d3d12: Do not allow texture creation to fail when testing UAV uint clears.
tests/d3d12: Do not test out-of-bound UAV uint clears.
tests/d3d12: Do not validate the semantic of uint-clearing R11G11B10_FLOAT resources.
tests/d3d12: Skip testing NULL VBVs on NVIDIA on Windows.
vkd3d-shader/msl: Introduce msl_print_src().
vkd3d-shader/msl: Introduce msl_print_bitcast().
vkd3d-shader/msl: Use the standard helper to print bitcasts.
vkd3d-shader/dxil: Create vsir registers from DXIL handles when needed.
vkd3d-shader/dxil: Have sm6_parser_emit_reg_composite_construct() accept an array of registers.
vkd3d-shader/dxil: Introduce a uniform interface to synthesize a register from a SM6 value.
vkd3d-shader/dxil: Move the VSIR register in the SM6 value outside of the union.
vkd3d-shader/dxil: Generate SSA values in sm6_parser_get_value_idx_by_ref().
vkd3d-shader/dxil: Generate SSA values in instruction_dst_param_init_ssa_vector().
vkd3d-shader/dxil: Generate SSA values in instruction_dst_param_init_ssa_scalar().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_binop().
vkd3d-shader/dxil: Do not encode the offset twice for structured TGSM loads.
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_dx_sincos().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_phi().
vkd3d-shader/dxil: Generate UNDEFINED values in sm6_parser_constants_init().
vkd3d-shader/dxil: Generate INVALID values in sm6_parser_constants_init().
vkd3d-shader/dxil: Generate INVALID values in sm6_parser_emit_unhandled().
vkd3d-shader/dxil: Rename VALUE_TYPE_ICB to VALUE_TYPE_DATA.
vkd3d-shader/dxil: Generate ICB values in sm6_parser_declare_icb().
vkd3d-shader/dxil: Generate IDXTEMP values in sm6_parser_declare_indexable_temp().
vkd3d-shader/dxil: Generate GROUPSHAREDMEM values in sm6_parser_declare_tgsm_raw().
vkd3d-shader/dxil: Generate GROUPSHAREDMEM values in sm6_parser_declare_tgsm_structured().
vkd3d-shader/dxil: Call register_get_float_value() directly in sm6_value_get_constant_float().
tests: Expect success when creating resources in certain cases.
tests: Allow creating GPU upload heaps.
tests: Check that shader-visible descriptor heaps have a valid GPU descriptor handle start.
Henri Verbeet (58):
vkd3d-shader/dxbc: Update the vkd3d_shader_parse_input_signature() documentation for dxbc-dxil shaders.
vkd3d-shader/dxil: Avoid using the I/O signatures from the DXBC container.
vkd3d-shader/dxbc: Do not extract I/O signatures for DXIL shaders.
tests: Add a signature reflection test for arrayed inputs and outputs.
vkd3d-shader: Handle arrayed elements in vkd3d_shader_signature_from_shader_signature().
vkd3d: Avoid vkd3d_shader_parse_input_signature().
vkd3d-shader/dxbc: Set the "elements_capacity" field as well in shader_parse_signature().
vkd3d-shader/dxbc: Output messages for invalid semantic name references in shader_parse_signature().
vkd3d-shader/dxbc: Validate component types in shader_parse_signature().
vkd3d-shader/dxil: Generate I/O signatures with 16-bit component types for native 16-bit shaders.
tests: Add a shader model 6 signature reflection test for different types.
vkd3d-shader: Enable DXIL support in the default configuration.
vkd3d-shader/fx: Use vkd3d_string_buffer_print_f32() in parse_fx_4_numeric_value().
ci: Install libjson-perl.
vkd3d-shader/spirv: Do not sign-extend *ptr in vkd3d_spirv_build_string().
vkd3d-shader/fx: Output error messages for invalid sizes.
vkd3d-shader/fx: Handle parser failures in fx_parse().
vkd3d-shader/spirv: Implement outputting instruction offsets.
vkd3d-shader/spirv: Implement outputting opcode names.
vkd3d-shader/spirv: Handle "IdRef" operands.
vkd3d-shader/spirv: Handle "IdResult" operands.
vkd3d-shader/spirv: Handle "IdResultType" operands.
vkd3d-shader/spirv: Handle "LiteralInteger" operands.
vkd3d-shader/spirv: Handle "LiteralString" operands.
vkd3d-shader/spirv: Handle "ValueEnum" operands.
vkd3d-shader/spirv: Handle "BitEnum" operands.
build: Get rid of some redundant instances of "checking" in AC_MSG_CHECKING messages.
demos: Add copyright headers to the HLSL shaders.
tests/hlsl: Add another constant folding test.
vkd3d-shader/hlsl: Do not collect expressions across different operations in hlsl_normalize_binary_exprs().
vkd3d-shader/glsl: Implement VKD3DSIH_XOR.
build: Add @DL_LIBS@ to tests_vkd3d_shader_api_LDADD.
demos: Add basic DPI handling.
demos: Get rid of some unused includes.
demos: Move the vkd3d parts of demo_xcb.h into a separate header.
tests/shader_runner: Get rid of enum texture_data_type.
vkd3d-shader/d3d-asm: Include the I/O signatures when tracing vsir code.
vkd3d-shader/spirv: We can parse up to SPIR-V 1.6.
build: Do not add libvkd3d-shader.la to DEMOS_LDADD twice.
ci: Install mingw-w64-tools in the Linux image.
demos: Split demo_win32.h.
demos: Make the demos work in the Windows build.
vkd3d: Introduce struct vkd3d_null_event.
vkd3d: Introduce d3d12_fence_add_waiting_event().
tests/d3d12: Test ID3D12Device1_SetEventOnMultipleFenceCompletion().
vkd3d: Validate the fence count in d3d12_device_SetEventOnMultipleFenceCompletion().
vkd3d: Handle single fence waits in d3d12_device_SetEventOnMultipleFenceCompletion().
vkd3d: Handle multiple fence ALL waits in d3d12_device_SetEventOnMultipleFenceCompletion().
vkd3d: Handle multiple fence ANY waits in d3d12_device_SetEventOnMultipleFenceCompletion().
vkd3d: Handle multiple fence NULL event waits in d3d12_device_SetEventOnMultipleFenceCompletion().
demos: Make the demos work in the macOS build.
demos: Avoid objc_msgSend_fpret() on ARM64 macOS.
ci: Build the demos on macOS.
demos: Build with -fno-lto.
build: Sort the $(vkd3d_shader_tests) list.
vkd3d-shader/dxil: Document the supported dxbc-dxil transformations.
build: Add the SPIR-V grammar JSON to the distribution.
build: Add the Objective-C API JSON to the distribution.
Nikolay Sivov (23):
vkd3d-shader/preproc: Do not attempt to load empty included files.
vkd3d-shader/fx: Implement parsing complex value and index expressions.
vkd3d-shader/fx: Improve state object nesting for the fx -> text output.
vkd3d-shader/fx: Fix condition when printing literal constant arguments.
vkd3d-shader/fx: Parse technique and pass blocks for fx_2_0.
vkd3d-shader/fx: Add support for parsing fx_2_0 annotations.
vkd3d-shader/fx: Fix const strings array types.
vkd3d-shader/fx: Add support for parsing fx_2_0 parameters.
vkd3d-shader/fx: Add support for parsing numeric states in fx_2_0 passes.
vkd3d-shader/fx: Output object initialiser IDs for fx_2_0.
vkd3d-shader/fx: Print string object entries for fx_2_0.
vkd3d-shader/fx: Add a helper to escape printed strings.
vkd3d-shader/fx: Read fx_2_0 assignment data outside of its dumping helper.
vkd3d-shader/fx: Add support for parsing fx_2_0 sampler states.
vkd3d-shader/fx: Add support for dumping fx_2_0 shader blobs.
vkd3d-shader/fx: Dump complex state value blobs for fx_2_0.
vkd3d-shader/fx: Support dumping parameter and array selector assignments for fx_2_0.
vkd3d-shader/fx: Pad fx_2_0 object data blobs with zeroes.
vkd3d-shader/fx: Set GeometryShader state type as an object type.
vkd3d-shader/fx: Accept int(0) as well as uint(0) constant value for object-type states.
tests: Add a fx_4_1 compilation test for the BlendState states.
vkd3d-shader/fx: Use the same BlendState states description for both fx_4_1 and fx_5_0.
vkd3d-shader/fx: Use appropriate BlendState description when tracing.
Petrichor Park (1):
tests/shader_runner: Allow controlling which shader models to run via command line.
Shaun Ren (44):
vkd3d-shader/tpf: Write non-zero static offsets in relative addressing mode in sm4_write_register_index().
vkd3d-shader/glsl: Implement support for indirect constant buffer addressing.
vkd3d-shader/hlsl: Allow uint1-typed deref path nodes.
vkd3d-shader/hlsl: Allow non-constant indices in register_deref_usage().
vkd3d-shader/hlsl: Support patch arrays in hlsl_reg_from_deref().
vkd3d-shader/hlsl: Support indirect addressing of uniforms in sm4_generate_vsir_reg_from_deref().
vkd3d-shader/hlsl: Introduce simplify_exprs().
vkd3d-shader/hlsl: Introduce component_index_from_deref_path_node().
vkd3d-shader/hlsl: Rename init_deref() to hlsl_init_deref().
vkd3d-shader/hlsl: Implement copy-propagation of derefs with a non-constant index.
tests/hlsl: Add dynamic addressing copy-propagation tests.
vkd3d-shader/hlsl: Parse the maxvertexcount attribute.
vkd3d-shader/hlsl: Parse primitive type modifiers in geometry shaders.
vkd3d-shader/hlsl: Validate and record input primitive types in geometry shaders.
vkd3d-shader/hlsl: Validate stream output object declarations.
vkd3d-shader/hlsl: Validate stream output parameters in geometry shaders.
vkd3d-shader/hlsl: Forbid output parameters in geometry shaders.
tests/hlsl: Add geometry shader syntax tests.
vkd3d-shader/hlsl: Remove the unused hlsl_array_type_to_string() declaration.
vkd3d-shader/hlsl: Support input primitive arrays in geometry shaders.
vkd3d-shader/hlsl: Implement input semantics for geometry shaders.
vkd3d-shader/hlsl: Store geometry shader properties in struct vsir_program.
vkd3d-shader/tpf: Emit geometry shader property declarations.
tests: Add a signature reflection test for geometry shader inputs.
vkd3d-shader/hlsl: Divert written uniform derefs to temps before copy-propagation passes.
vkd3d-shader/hlsl: Ensure that uniform objects are never written to in copy_propagation_transform_object_load().
tests/hlsl: Add a test for copy-propagation of uniform texture object writes.
vkd3d-shader/hlsl: Use dcl_output_siv for patch constant function sysval outputs.
vkd3d-shader/hlsl: Free all allocators in allocate_semantic_registers().
vkd3d-shader/hlsl: Prioritize smaller writemasks for all allocators in allocate_semantic_registers().
vkd3d-shader/tpf: Support SV_RenderTargetArrayIndex/SV_ViewportArrayIndex sysvals in tessellation shaders.
tests: Add signature reflection tests for register allocation rules in tessellation shaders.
vkd3d-shader/hlsl: Add special allocation rules for patch constant data.
vkd3d-shader/hlsl: Support HLSL_CLASS_STREAM_OUTPUT in hlsl type helpers.
vkd3d-shader/hlsl: Parse the Append() method for stream outputs.
vkd3d-shader/hlsl: Parse the RestartStrip() method for stream outputs.
vkd3d-shader/hlsl: Introduce HLSL_REGSET_STREAM_OUTPUTS regset.
vkd3d-shader/hlsl: Allocate registers for stream output objects.
vkd3d-shader/hlsl: Validate and record stream output objects.
tests/hlsl: Add geometry shader stream output syntax tests.
vkd3d-shader/hlsl: Use a block in append_output_copy*().
vkd3d-shader/hlsl: Append output copies for stream output Append() invocations.
vkd3d-shader/hlsl: Validate maximum output size in geometry shaders.
vkd3d-shader/hlsl: Generate vsir instructions for stream output operations.
Victor Chiletto (3):
tests/shader_runner_d3d12: Pass the structure byte stride for SRVs.
tests/hlsl: Attempt to deduce the data type of unspecified type texture data.
tests/hlsl: Add tests for SRV structured buffers.
```
1
0
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 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.
```
1
0
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].
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.
```
1
0
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 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.
```
1
0
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]: 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(a)details@Concurrency@@QAE(a)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(a)_Cancellation_beacon@details(a)Concurrency@@QEAA_NXZ
- #56195 Device name inconsistent casing between GetRawInputDeviceInfo and PnP
- #56223 winedbg: crashes after loading gecko debug information
- #56235 Windows Sysinternals Process Explorer 17.05 crashes showing Threads property page.
- #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.
```
1
0
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 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.
```
1
0
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 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.
```
1
0
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], 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.
1
0