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 10.3 is now available.
What's new in this release:
- Clipboard support in the Wayland driver.
- Initial Vulkan video decoder support in WineD3D.
- Bundled Compiler-RT library for ARM builds.
- Header fixes for Winelib C++ support.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.3.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.3 (total 18):
- #3930 Miles Sound System (WAIL32.DLL) SuspendThread() deadlock in WINMM callback (silent black screen on HOMM startup)
- #8532 JawsEditor 2.5/3.0 reports "Invalid imagesize" on startup ('IPicture::SaveAsFile' method too stubby/incorrect)
- #38879 wbemprox fill_videocontroller calls are expensive
- #40523 legrand xlpro3 400 : unable to insert a pictogram
- #41427 [Game Maker Studio - Android] subst.exe is not implemented
- #45119 Multiple applications from Google sandbox-attacksurface-analysis-tools v1.1.x (targeting native API) need 'ntdll.NtGetNextProcess' implementation
- #50337 Roland Zenology Pro (VST3 plugin) used with carla-bridge fails to save files
- #50929 Silver Chains (GOG) crashes and start dumping memory in console
- #51121 HeidiSQL 11.0.0.5919 shows a blinking black screen and crashes without virtual desktop
- #52094 IDA Pro 7.6 crashes when loading idapython3.dll
- #56695 Unreal Engine game checks for a specific VC runtime regkey
- #57323 Windows 7 Card Games crash on start
- #57849 Multiple games: sleep accuracy is affected by mouse movement speed
- #57850 Reolink fails to load dll: err:module:import_dll Loading library libvips-42.dll
- #57854 Steam.exe fails to start (hangs upon loading) in Wine-10.2
- #57881 Wine10.2 Noble does not open Quicken 2004, qw.exe file
- #57899 R-Link 2 Toolbox crash
- #57903 kernel32:loader - test_export_forwarder_dep_chain fails on Windows 7
### Changes since 10.2:
```
Alexander Morozov (1):
wineusb.sys: Add support for URB_FUNCTION_VENDOR_ENDPOINT.
Alexandre Julliard (32):
ntdll: Fix pointer access in read_image_directory().
tomcrypt: Import code from upstream libtomcrypt version 1.18.2.
tomcrypt: Import code from upstream libtommath version 1.1.0.
bcrypt: Use the bundled tomcrypt library for hash algorithms.
ntdll: Use the bundled tomcrypt for the crc32 implementation.
rsaenh: Split encrypt and decrypt implementation functions.
rsaenh: Use the bundled tomcrypt to replace the local copy.
configure: Check that the 32- and 64-bit builds are using the same libdir.
ntdll: Add some missing Zw exports.
apisetschema: Add some new apisets, and old ones for recently added dlls.
dataexchange: Don't create an empty import lib.
makefiles: Import winecrt0 by default even with -nodefaultlibs.
tools: Avoid const strarray pointers in all functions.
include: Fix some invalid array definitions in PDB structures.
makefiles: Add support for assembly source files.
makefiles: Add support for optionally installing external libs.
libs: Import code from upstream compiler-rt version 8.0.1.
makefiles: Link to compiler-rt for builds in MSVC mode.
profapi: Don't create an empty importlib.
winedump: Fix dumping of empty values in version resources.
make_unicode: Generate the PostScript builtin font metrics.
wineps: Remove the old font generation code.
wineps: Move the generated glyph list to a separate glyphs.c file.
wineps: Update the glyph list to a more recent version.
wineps: Generate all core fonts metrics into a single file.
wineps: Reduce the size of the stored core fonts metrics data.
png: Import upstream release 1.6.47.
setupapi: Create fake dlls for missing dlls only if explicitly requested.
include: Import mmreg.h instead of duplicating definitions.
winegcc: PE targets always use msvcrt mode, remove redundant checks.
winegcc: Use -nodefaultlibs also for the linker tests.
winegcc: Merge the utility functions into the main file.
Alexandros Frantzis (8):
winewayland: Implement zwlr_data_control_device_v1 initialization.
winewayland: Support copying text from win32 clipboard to native apps.
winewayland: Generalize support for exporting clipboard formats.
winewayland: Support exporting various clipboard formats.
winewayland: Support copying data from native clipboard to win32 apps.
winewayland: Normalize received MIME type strings.
winewayland: Present EGL surfaces opaquely.
winewayland: Treat fully transparent cursors as hidden.
Alistair Leslie-Hughes (6):
include: Add Get/SetValue for gdiplus Color class.
include: Keep the same header order as SDK in gdiplus.h.
include: Add gdiplusbase.h.
include: Add a few sal.h defines.
include: Add stscanf_s define.
vbscript: Correct resource text for VBSE_PARAMETER_NOT_OPTIONAL.
Arkadiusz Hiler (1):
krnl386: Silence a warning in GetSystemDirectory16().
Attila Fidan (2):
winewayland: Update locked pointer position hint.
winewayland: Implement SetCursorPos via pointer lock.
Bernhard Kölbl (1):
wine.inf: Add VC runtime version key.
Bernhard Übelacker (11):
comctl32/tests: Skip a few tests in non-english locale.
user32/tests: Fix monitor dpi awareness test.
ntdll/tests: Skip FileFsFullSizeInformationEx test on older windows.
kernelbase/tests: Skip test if EnumSystemFirmwareTables is not available.
propsys/tests: Add broken for unexpected value in windows 7.
d2d1/tests: Adjust tolerance of a few float comparisons in windows 7.
ws2_32/tests: Allow WSAConnectByNameA test to fail with WSAEOPNOTSUPP.
propsys/tests: Fix check_PropVariantToBSTR2.
setupapi: Initialize the files member in SetupDuplicateDiskSpaceListW. (ASan).
setupapi/tests: Fix message of ok statement.
kernel32/tests: Add broken in test_IdnToNameprepUnicode.
Brendan McGrath (24):
mp3dmod/tests: Add tests for selecting an invalid stream.
mp3dmod: Check for invalid stream.
mp3dmod/tests: Add tests for GetInputCurrentType.
mp3dmod/tests: Add tests for GetOutputCurrentType.
mp3dmod: Implement GetInputCurrentType.
mp3dmod: Implement GetOutputCurrentType.
mp3dmod: Fix leak of previous outtype.
mfplat/tests: Add additional MFCreateWaveFormatExFromMFMediaType tests.
mfplat: Allow MF_MT_USER_DATA to be missing for all subtypes.
winedmo: Call avformat_find_stream_info for the mp3 format.
mp3dmod: Return S_OK in Allocate/Free Resources.
mp3dmod/tests: Add test for 32-bit sample size.
mp3dmod: Add support for 32-bit sample size.
mp3dmod/tests: Test different output sample rates.
mp3dmod: Return error if requested output format values don't agree.
mp3dmod: Only allow 1/2 and 1/4 subsampling.
mp3dmod/tests: Add test for nChannels = 0 on input.
mp3dmod: Ensure nChannels is greater than zero on input.
mf/tests: Test different length user_data against aac decoder.
winegstreamer: Validate the value of cbSize in aac decoder.
winegstreamer: Expand GST_ELEMENT_REGISTER* defines.
wined3d: Interpret Y'CbCr values as being from the reduced range.
mp3dmod: Implement an IMFTransform interface.
mfsrcsnk: Register the MP3 Byte Stream Handler class.
Brendan Shanks (9):
include: Add D3DKMT_WDDM_*_CAPS.
winemac: Remove pre-macOS 10.12 workarounds.
winemac: Always use notifications to detect window dragging.
winecoreaudio: Remove pre-macOS 10.12 workaround.
winegcc: Rename TOOL_ enum constants.
tools: Use _NSGetExecutablePath to implement get_bindir on macOS.
server: Use _NSGetExecutablePath to implement get_nls_dir on macOS.
loader: Use _NSGetExecutablePath to implement get_self_exe on macOS.
user32: Use the correct DPI in AdjustWindowRect(Ex) when DPI virtualization is active.
Charlotte Pabst (1):
winex11.drv: Weaken filter_event conditions for some events.
Connor McAdams (11):
d3dx9/tests: Add some more tests for saving surfaces as targa files.
d3dx9/tests: Add a test for saving a surface as D3DXIFF_DIB.
d3dx9/tests: Add tests for saving surfaces to non-DDS files.
d3dx9: Add TGA prefix to targa specific defines.
d3dx9: Add basic support for saving surfaces to targa files.
d3dx9: Add support for selecting a replacement pixel format when saving pixels to a file.
d3dx9: Add support for saving PNG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving JPG files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving BMP files in d3dx_save_pixels_to_memory().
d3dx9: Add support for saving paletted pixel formats in d3dx_pixels_save_wic().
d3dx9: Add support for saving DIB files in d3dx_save_pixels_to_memory().
Conor McCarthy (4):
ntdll/tests: Test NtQueryVolumeInformationFile() with FileFsFullSizeInformationEx.
kernel32/tests: Test GetDiskSpaceInformationA().
ntdll: Handle FileFsFullSizeInformationEx in NtQueryVolumeInformationFile().
kernelbase: Implement GetDiskSpaceInformationA/W().
Daniel Lehman (3):
dwrite: Fix spelling for Sundanese.
xml2: Import upstream release 2.12.9.
xml2: Import upstream release 2.12.10.
Dmitry Timoshkov (7):
oleaut32/tests: Add some tests for loading and saving EMF using IPicture interface.
oleaut32: Add support for loading and saving EMF to IPicture interface.
oleaut32: Implement a better stub for IPicture::SaveAsFile.
wbemprox: Add support for Win32_PhysicalMemoryArray.
windowscodecs: Make support for WICBitmapTransformRotate270 more explicit.
kernel32: SuspendThread() in Win9x mode should return 0 for current thread.
advapi32: Add CreateProcessWithLogonW() semi-stub.
Elizabeth Figura (27):
d3dx9/tests: Define D3DX_SDK_VERSION=36 for d3dx9_36.
d3dx9/tests: Test implicit truncation warnings.
vkd3d: Import vkd3d-utils.
d3dcompiler: Use D3DPreprocess() from vkd3d-utils.
d3dcompiler: Use D3DCompile2VKD3D() from vkd3d-utils.
d3dx9: Reimplement D3DXCompileShader() for versions before 42.
d3dx9: Link versions 42 and 43 to the corresponding d3dcompiler DLL.
wined3d: Use a separate format value for d3d10+ NV12.
wined3d: Separate a wined3d_texture_vk_upload_plane() helper.
wined3d: Separate a wined3d_texture_vk_download_plane() helper.
wined3d: Implement planar Vulkan uploads.
wined3d: Implement planar Vulkan downloads.
wined3d: Implement planar Vulkan blits.
wined3d: Enable KHR_sampler_ycbcr_conversion.
wined3d: Implement planar NV12 in the Vulkan renderer.
d3d11/tests: Extend NV12 tests.
setupapi/tests: Test disk space list APIs.
setupapi: Get rid of the DISKSPACELIST typedef.
setupapi: Implement SetupAddToDiskSpaceList().
setupapi: Correctly implement SetupQuerySpaceRequiredOnDrive().
d3d11: Implement ID3D11VideoDevice::GetVideoDecoderProfile[Count]().
wined3d: Introduce a Vulkan decoder backend.
d3d11: Create a wined3d_decoder object backing the d3d11 decoder object.
wined3d: Look for a video decode queue.
wined3d: Create a Vulkan video session backing the wined3d_decoder_vk.
d3d9/tests: Expand the YUV blit tests a bit.
ddraw/tests: Port yuv_layout_test() from d3d9.
Eric Pouech (4):
findstr/tests: Add test for default findstr regex vs text search mode.
findstr: Set default search mode to regex.
findstr/tests: Always set text/regex search mode in tests.
cmd: Open file in 'TYPE' with more sharing attributes.
Esme Povirk (4):
gdiplus: Stub GdipGetEffectParameters.
gdiplus/tests: Add tests for effect parameters.
gdiplus: Split effect parameter size into helper function.
gdiplus: Store parameters on effect objects.
Etaash Mathamsetty (2):
ntdll: Implement NtGetNextProcess.
ntdll/tests: Add NtGetNextProcess tests.
Eugene McArdle (2):
ntdll/tests: Test updated NtQueryDirectoryFile mask reset behaviour.
ntdll: Invalidate cached data in NtQueryDirectoryFile when mask is changed.
Floris Renaud (1):
po: Update Dutch translation.
Giovanni Mascellani (8):
dxgi: Submit Vulkan presentation as soon as possible.
dxgi: Set the frame latency even when increasing the frame latency.
dxgi: Do not bias the frame latency fence.
dxgi: Directly signal the frame latency fence.
dxgi: Remove the frame latency fence.
dxgi: Make the frame latency waitable a semaphore.
dxgi: Wait on the frame latency semaphore when the client doesn't do it.
dxgi/tests: Use an explicit frame latency waitable when testing the back buffer index.
Hajo Nils Krabbenhöft (1):
d2d1: Update DC target surface with current HDC contents on BeginDraw().
Hans Leidekker (7):
subst: Add basic implementation.
win32u: Also set DriverVersion for software devices such as llvmpipe.
wbemprox: Don't use DXGI adapter values for Win32_SoundDevice.
wbemprox: Get Win32_VideoController values from the registry.
wmic: Treat VT_I4 values as unsigned.
wbemprox: Fix format string.
wbemprox/tests: Avoid test failures on Windows 7.
Haoyang Chen (2):
comctl32: Fix Alloc/HeapAlloc mismatches.
cryptnet: Uniform return value that is the same as _wfsopen.
Henri Verbeet (1):
wined3d: Handle a NULL "push_constants" buffer in glsl_fragment_pipe_alpha_test_func().
Jacek Caban (13):
winegcc: Don't include host include paths when compiling with MSVCRT.
include: Use inline function for DeleteFile.
include: Use wchar_t for platform types on PE targets.
include: Add UnsignedMultiply128 and _umul128 support.
include: Add ShiftRight128 and __shiftright128 support.
include: Use inline functions for CopyFile and MoveFile.
include: Use struct inheritance for MONITORINFOEX declaration in C++.
include: Add isnormal C++ declaration.
include: Introduce minwindef.h header file.
include: Introduce fibersapi.h header file.
include: Add missing d3d8types.h defines.
include: Introduce minwinbase.h header file.
include: Introduce sysinfoapi.h header file.
Jinoh Kang (10):
ntdll: Sink module dependency registration towards the end of the function in find_forwarded_export().
ntdll: Don't re-add a module dependency if it already exists.
ntdll: Register module dependency for export forwarders regardless of whether the dependency is already loaded.
ntdll: Properly track refcount on static imports of export forwarders.
ntdll: Eagerly call process_attach() on dynamic imports of export forwarders.
ntdll: Explicitly ignore dynamic (GetProcAddress) importers as relay/snoop user module.
ntdll: Properly track refcount on dynamic imports of export forwarders.
ntdll: Remove superflous NULL check for importer.
kernel32/tests: Fix thread handle leak in store_buffer_litmus_test.
kernel32/tests: Work around Windows 7 issuing DllNotification even when loading with DONT_RESOLVE_DLL_REFERENCES.
Louis Lenders (1):
ntdll: Silence the noisy FIXME in RtlGetCurrentProcessorNumberEx.
Mark Jansen (2):
version/tests: Add a test for an empty value in VerQueryValueW.
kernelbase: Fix VerQueryValueW with no data.
Mohamad Al-Jaf (1):
makecab: Add stub program.
Nikolay Sivov (24):
windowscodecs/gif: Store Image descriptor offset when reading GIF data.
windowscodecs/metadata: Add an option to initialize reader from a memory block.
windowscodecs/decoder: Separate metadata block reader to a reusable structure.
windowscodecs/decoder: Add support for metadata block reader at decoder level.
windowscodecs/decoder: Add support for IWICBitmapDecoder::CopyPalette() in common decoder.
windowscodecs: Use common decoder for GIF format.
windowscodecs/decoder: Reuse metadata readers instances.
windowscodecs/decoder: Implement metadata readers enumerator for the common decoder.
msxml3/tests: Remove tests that already run for msxml6.
msxml6/tests: Move some of the SAXXMLReader60 tests.
rtworkq: Fix private queue id mask check.
mfplat/tests: Run tests modifying process state in separate processes.
d2d1/tests: Add some tests for device context handling in the DC target.
include: Add some flags constants used in pipes API.
windowscodecs: Implement query strings enumerator.
windowscodecs/tests: Add some more tests for query enumeration.
windowscodecs/metadata: Do not decorate 'wstr' items with a type name in returned queries.
windowscodecs: Implement CreateQueryWriterFromReader().
windowscodecs/tests: Add some tests for stream position handling when nested readers are used.
windowscodecs/metadata: Restore original stream position on GetStream().
windowscodecs/metadata: Replicate original stream position when creating writer instances from readers.
windowscodecs/tests: Add some tests for metadata handler GetClassID().
windowscodecs/metadata: Implement GetClassID().
windowscodecs: Implement GetPreferredVendorGUID().
Paul Gofman (5):
ntdll: Add stub for RtlDeriveCapabilitySidsFromName().
ntdll/tests: Add tests for RtlDeriveCapabilitySidsFromName().
ntdll: Implement RtlDeriveCapabilitySidsFromName().
kernelbase: Implement DeriveCapabilitySidsFromName().
kernelbase/tests: Add test for DeriveCapabilitySidsFromName().
Piotr Caban (9):
msvcr120: Simplify feupdateenv implementation.
ole32: Mark property storage dirty in PropertyStorage_ConstructEmpty.
ole32: Mark property storage not dirty after it's saved.
ole32: Remove end label from PropertyStorage_WriteToStream.
ole32: Reset output stream when wrting property storage.
whoami: Return non-zero value on error.
whoami: Handle arguments starting with '/' and '-'.
whoami: Parse and validate all command line arguments.
whoami: Support format specifiers when handling /user argument.
Raphael Riemann (1):
kernelbase: Add WerRegisterCustomMetadata stub.
Rémi Bernon (29):
winevulkan: Generate function pointers for required funcs.
winevulkan: Enable the VK_EXT_headless_surface extension.
win32u: Pass a vulkan_instance pointer to vulkan_surface_create.
win32u: Use VK_EXT_headless_surface for nulldrv surface.
winex11: Initialize window managed flag in create_whole_window.
winex11: Request managed/embedded in a new window_set_managed helper.
winex11: Check managed window changes in WindowPosChanged.
winex11: Pass fullscreen flag to is_window_managed.
winewayland: Pass fullscreen flag to is_window_managed.
wined3d: Avoid double-free of swapchain surface on error.
include: Add a MB_CUR_MAX definition in ctype.h.
include: Add some _BitScanForward(64) declarations in intrin.h.
include: Fix InlineIsEqualGUID C++ warning.
include: Fix wmemchr C++ warning.
winetest: Avoid underflow when computing filtered output size.
win32u: Move OpenGL initialization to a separate source.
win32u: Move dibdrv OpenGL functions to opengl.c.
win32u: Move OSMesa OpenGL functions to opengl.c.
win32u: Remove unncessary OSMesa indirections.
win32u: Guard OpenGL function pointers initialization.
wineandroid: Remove now unnecessary wine_get_wgl_driver init guard.
winemac: Remove now unnecessary wine_get_wgl_driver init guard.
winex11: Remove now unnecessary wine_get_wgl_driver init guard.
winewayland: Remove now unnecessary wine_get_wgl_driver init guard.
include: Add IID_PPV_ARGS macro.
include: Add QueryDisplayConfig declaration.
include: Add d3d8 interface GUIDs.
include: Add D3D9 interface GUIDs.
include: Fix D3DDEVINFO_D3DRESOURCEMANAGER type name.
Sebastian Lackner (1):
oleaut32: Implement SaveAsFile for PICTYPE_ENHMETAFILE.
Tim Clem (1):
wbemprox: Add Manufacturer and Speed to Win32_PhysicalMemory.
Vadim Kazakov (1):
include: Add definition of NEGOSSP_NAME.
Vibhav Pant (15):
winebth.sys: Store known devices per radio from org.bluez.Device1 objects on BlueZ.
winebth.sys: Add a basic implementation for IOCTL_BTH_GET_DEVICE_INFO.
winebth.sys: Add connection related properties for remote devices.
winebth.sys: Queue a DEVICE_ADDED event on receiving InterfacesAdded for objects that implement org.bluez.Device1.
winebth.sys: Remove the corresponding device entry for Bluetooth radios on receiving InterfacesRemoved for org.bluez.Device1 objects.
winebth.sys: Use the correct DBus property name in IOCTL_WINEBTH_RADIO_SET_FLAG.
winebth.sys: Initially set numOfDevices to 0 in IOCTL_BTH_GET_DEVICE_INFO.
winebth.sys: Don't iterate over the remaining radios once a local device has been removed.
winebth.sys: Use the "Name" property of a BlueZ adapter for the local radio name.
winebth.sys: Use the "Trusted" property from BlueZ device objects to set BDIF_PERSONAL.
winebth.sys: Set the device class for remote devices from BlueZ's "Class" property.
winebth.sys: Only set the updated properties for local radios on BLUETOOTH_WATCHER_EVENT_TYPE_RADIO_PROPERTIES_CHANGED.
winebth.sys: Update properties for tracked remote devices on receiving PropertiesChanged for org.bluez.Device1 objects from BlueZ.
ws2_32: Implement WSAAddressToString() for Bluetooth (AF_BTH) addresses.
ws2_32/tests: Add tests for Bluetooth addresses for WSAStringToAddress().
William Horvath (2):
server: Use a high precision timespec directly for poll timeouts on supported platforms.
server: Use epoll_pwait2 for the main loop on Linux.
Yuxuan Shui (1):
winegstreamer: Avoid large buffer pushes in wg_transform.
Zhiyi Zhang (8):
imm32/tests: Test that the IME UI window shouldn't be above normal windows at creation.
imm32: Move the IME UI window to the bottom at creation.
d3d11/tests: Test that the fallback device window shouldn't be above normal windows at creation.
dxgi: Move the fallback device window to the bottom at creation.
winex11.drv: Allow MWM_FUNC_MAXIMIZE when WS_MAXIMIZE is present.
win32u: Use the normal window rectangle to find monitor when a window is minimized.
win32u: Remove an unused parameter.
win32u: Don't use the current mode in the registry if it's a detached mode.
Ziqing Hui (4):
mfreadwrite/tests: Move writer creation tests to test_sink_writer_create.
mfreadwrite/tests: Test getting transforms and media sinks from writer.
mfreadwrite/tests: Test AddStream and SetInputMediaType for writer.
mfreadwrite/tests: Test sample processing for writer.
```
1
0
The Wine development release 10.2 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.15.
- Support for setting thread priorities.
- New Wow64 mode can be enabled dynamically.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.2.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.2 (total 20):
- #25872 Guild Wars 'test system' doesn't show test results
- #39474 MSWT Kart 2004 does not work
- #50152 YOU and ME and HER: Game crashes after launching from game launcher
- #56260 16-bit Myst deadlocks when entering Book
- #56464 vbscript: Join() builtin is not implemented
- #56951 psql 16: unrecognized win32 error code: 127 invalid binary: Invalid argument / could not find a "psql.exe" to execute
- #57310 wineboot failed to initialize a wine prefix
- #57625 Regression: some fullscreen games are displayed incorrectly upon switching from and back to game window
- #57787 Final Fantasy XI Online crashes with unhandled page fault on launch
- #57793 Wine Wordpad started with blank screen
- #57795 cmd lacks support for right-to-left handle redirection (2<&1)
- #57803 Sekiro: Shadows Die Twice crashes at launch with Xbox One controller connected
- #57804 cmd: '@echo off' gets propagated to parent on CALL instruction (CALL seems to freezes)
- #57809 cmd: Incorrect substring expansion of last character (e.g. `!MY_STR:~1!`)
- #57810 ITextStream::WriteBlankLines() needs to be implemented for libxml2's configure.js to work
- #57817 mvscp90 ::std::ifstream::seekg(0) crashes
- #57819 Wine unable to start when built with binutils 2.44
- #57824 SetThreadPriority unexpectedly fails on terminated threads instead of no-op
- #57834 Cyberpunk 2077 doesn't load with CyberEngine Tweaks
- #57847 Cross-compiled Wine no longer installs a 'wine' loader binary
### Changes since 10.1:
```
Adam Markowski (1):
po: Update Polish translation.
Aida Jonikienė (1):
wined3d: Add DXT format mappings in the Vulkan renderer.
Alex Henrie (6):
urlmon/tests: Use wide character string literals.
advapi32/tests: Use wide character string literals.
setupapi: Use wide character string literals.
msxml3: Use wide character string literals.
krnl386: Add a WOWCallback16Ex flag to simulate a hardware interrupt.
mmsystem: Simulate a hardware interrupt in MMSYSTDRV_Callback3216.
Alexandre Julliard (31):
user32: Set last error on failed window enumeration.
server: Fix desktop access check for window enumeration.
ntdll: Add a helper function to retrieve the .so directory.
ntdll: Add a helper function to get the alternate 32/64-bit machine.
ntdll: Set the WINELOADER variable on the PE side, using a Windows path.
loader: Install the Wine loader in the Unix lib directory.
tools: Add a simpler Wine launcher in the bin directory.
tools: Move the loader man pages to the new Wine loader directory.
dbghelp: Always use the WINELOADER variable for the loader name.
ntdll: Disable file system redirection until the initial exe is loaded.
ntdll: Look for a builtin exe corresponding to the loader basename.
makefiles: Install binaries as symlinks to wine.
ntdll: Allow forcing new wow64 mode by setting WINEARCH=wow64.
ntdll: Move setting DYLD_LIBRARY_PATH on macOS to the loader.
makefiles: Create wine as a symlink to tools/wine/wine.
makefiles: Link to the wine loader in the tools directory if it was built.
makefiles: Generate the wow64 symlinks from makedep.
makefiles: Generate more of the re-configure rules from makedep.
make_unicode: Update timezone data source to version 2025a.
makefiles: Don't clean files in other directories.
png: Import upstream release 1.6.45.
lcms2: Import upstream release 2.17.
faudio: Import upstream release 25.02.
rsaenh: Use RtlGenRandom() directly.
rsaenh: Don't use printf.
vkd3d: Import upstream release 1.15.
lcms2: Allow creating a transform without specifying input/output formats.
server: Support an arbitrary number of PE sections.
ntdll: Support an arbitrary number of PE sections.
vkd3d: Update version number.
makefiles: Fix the distclean target to clean everything.
Alexandros Frantzis (1):
winewayland: Don't crash on text input done events without focus.
Anton Baskanov (1):
winedbg: Make crash dialog topmost.
Attila Fidan (4):
winewayland: Enable/disable the zwp_text_input_v3 object.
winewayland: Post IME update for committed text.
winewayland: Implement SetIMECompositionRect.
winewayland: Post IME update for preedit text.
Austin English (1):
mshtml: Add registry association for .log files.
Bernhard Übelacker (3):
wbemprox: Increase buffer size one iteration earlier (ASan).
ntdll/tests: Skip leap secondInformation test with older Windows versions.
msvcrt/tests: Add missing parameter pmode to _open call (ASan).
Biswapriyo Nath (3):
include: Add UI Automation Style ID definitions.
include: Add IWiaDevMgr2 definition in wia_lh.idl.
include: Add missing structures for wiadef.h in wia_lh.idl.
Brendan McGrath (3):
winedmo: Explicitly set 'Data1' value for VP9 GUID.
mf/tests: Add tests using a new WMV decoder MFT.
winegstreamer: Store and use previous WMV stride value.
Brendan Shanks (2):
configure: MacOS is always darwin*.
winecoreaudio: Avoid duplicate Program Change or Channel Aftertouch MIDI messages.
Connor McAdams (2):
quartz/tests: Add a test for resetting stream position after receiving EC_COMPLETE.
quartz/filtergraph: Allow changing stream position after receiving EC_COMPLETE.
Conor McCarthy (16):
mfplat/tests: Test putting work on an undefined queue id.
rtworkq/tests: Test putting work on an undefined queue id.
rtworkq: Support putting work on RTWQ_CALLBACK_QUEUE_UNDEFINED.
rtworkq: Support putting work on any id in RTWQ_CALLBACK_QUEUE_PRIVATE_MASK.
mfplat/tests: Introduce a helper to check the platform lock count.
mfplat/tests: Test mixing of MF platform functions with their Rtwq equivalents.
mfplat/tests: Test platform startup and lock counts.
rtworkq/tests: Test work queue.
rtworkq: Introduce a platform startup count.
rtworkq: Introduce an async result object cache.
mfplat: Free the inner cookie passed to resolver_create_cancel_object().
mfplat/tests: Release callback2 in test_event_queue().
mfplat/tests: Check for async result release after canceling work and shutting down.
rtworkq/tests: Test scheduled items.
rtworkq/tests: Test queue shutdown with pending items.
rtworkq: Do not cancel pending callbacks when closing a thread pool.
Damjan Jovanovic (2):
scrrun: Implement ITextStream::WriteBlankLines().
cmd: Add support for right-to-left handle redirection (2<&1).
Dmitry Timoshkov (17):
windowscodecs/tests: Add some tests for IWICBitmapFlipRotator.
windowscodecs: Implement IWICBitmapFlipRotator(WICBitmapTransformFlipHorizontal) for bitmaps with bpp >= 8.
windowscodecs: Implement IWICBitmapFlipRotator(WICBitmapTransformRotate90) for bitmaps with bpp >= 8.
windowscodecs: Simplify a bit FlipRotator_CopyPixels() implementation.
wldap32: Enable libldap tracing with +wldap32 channel.
wldap32: Don't use win32 constant when calling into libldap.
oleaut32: Fix logic for deciding whether type description follows the name.
oleaut32: 'typekind' is the last field of SLTG_OtherTypeInfo structure.
oleaut32: Implement decoding of SLTG help strings.
oleaut32: Add support for decoding SLTG function help strings.
oleaut32: Add support for decoding SLTG variable help strings.
oleaut32: Make OleLoadPicture load DIBs using WIC decoder.
server: Add support for merging WM_MOUSEWHEEL messages.
oleaut32: Add missing fixup for SLTG typename offset.
oleaut32: Avoid double initialization of TypeInfoCount when reading SLTG typelib.
gdiplus: Add support for more image color formats.
gdiplus/tests: Add some tests for loading TIFF images in various color formats.
Elizabeth Figura (9):
shdocvw: Remove ParseURLFromOutsideSource() implementation.
shdocvw: Remove URLSubRegQueryA() implementation.
wined3d: Propagate a CLEARED location when blitting.
wined3d: Explicitly check for BUFFER/SYSMEM before calling wined3d_texture_download_from_texture().
wined3d: Introduce initial support for Direct3D 10+ 2-plane formats.
wined3d: Forbid creating unaligned planar textures.
wined3d: Forbid unaligned blits for planar textures.
wined3d: Implement creating views of planar resources.
d3d11: Implement D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT.
Eric Pouech (4):
cmd/tests: Add tests about echo mode persistence across batch calls.
cmd: Preserve echo mode across interactive batch invocation.
cmd/tests: Add tests wrt. variable expansion with substring modifition.
cmd: Fix substring substitution in variable expansion.
Esme Povirk (4):
comctl32: Test for an IAccessible interface on SysLink controls.
comctl32: Further testing of SysLink IAccessible.
comctl32: Stub IAccessible interface for SysLink controls.
comctl32: Implement accRole for SysLink controls.
Francis De Brabandere (1):
vbscript: Add Join implementation.
Gabriel Ivăncescu (2):
mshtml: Clear the documents list when detaching inner window.
jscript: Use as_jsdisp where object is known to be a jsdisp.
Gijs Vermeulen (1):
winegstreamer: Implement IWMSyncReader2::GetMaxOutputSampleSize.
Hans Leidekker (1):
sort: Support /+n option.
Jacek Caban (11):
ntdll: Pass WINE_MODREF to import_dll.
ntdll: Pass importer pointer to find_ordinal_export.
ntdll: Pass importer pointer to find_named_export.
ntdll: Pass importer pointer to find_forwarded_export.
ntdll: Pass importer pointer to build_import_name.
ntdll: Use NULL importer in LdrGetProcedureAddress.
ntdll: Remove no longer needed current_modref.
msvcp: Avoid explicitly aligning structs passed by value.
msvcp60: Avoid explicitly aligning structs passed by value.
ntdll: Use signed type for IAT offset in LdrResolveDelayLoadedAPI.
winebuild: Avoid using .idata section for delay-load import libraries.
Jinoh Kang (11):
server: Don't fail SetThreadPriority() on terminated threads.
kernel32/tests: Add a basic FlushProcessWriteBuffers stress test.
kernel32/tests: Add a store buffering litmus test involving FlushProcessWriteBuffers.
include: Fix ReadNoFence64 on i386.
server: Fix incorrect usage of __WINE_ATOMIC_STORE_RELEASE in SHARED_WRITE_BEGIN/SHARED_WRITE_END.
include: Prevent misuse of __WINE_ATOMIC_* helper macros for non-atomic large accesses.
kernel32/tests: Add basic tests for internal flags of modules loaded with DONT_RESOLVE_DLL_REFERENCES.
kernel32/tests: Test for unexpected LDR_PROCESS_ATTACHED flag in import dependency loaded with DONT_RESOLVE_DLL_REFERENCES.
kernel32/tests: Test for unexpected loader notification for import dependency loaded with DONT_RESOLVE_DLL_REFERENCES.
ntdll: Skip DLL initialization and ldr notification entirely if DONT_RESOLVE_DLL_REFERENCES is set.
ntdll: Remove redundant LDR_DONT_RESOLVE_REFS checks before calling process_attach().
Joe Souza (3):
cmd/tests: Add tests for command DIR /O.
cmd: Cleanup DIR /O logic.
cmd: Implement ability to abort lengthy directory operations via Ctrl-C.
Marc-Aurel Zent (5):
server: Also set thread priorities upon process priority change.
kernel32/tests: Setting process priority on a terminated process should succeed.
server: Implement apply_thread_priority on macOS for application priorities.
server: Implement apply_thread_priority on macOS for realtime priorities.
server: Apply Mach thread priorities after process tracing is initialized.
Martin Storsjö (2):
ntdll: Allow running arm/aarch64 in (old) wow64 mode.
server: Include ARMNT as one of the supported architectures on aarch64.
Michele Dionisio (2):
timeout: Add a timeout command.
timeout/tests: Add minimal test suite.
Mohamad Al-Jaf (14):
windows.web/tests: Remove superfluous cast.
windows.web/tests: Add IJsonValue::get_ValueType() tests.
windows.web: Implement IJsonValue::get_ValueType().
windows.web: Partially implement IJsonValueStatics::Parse().
windows.web: Add error handling in IJsonValue::GetArray().
windows.web: Add error handling in IJsonValue::GetObject().
windows.web: Implement IJsonValue::GetString().
windows.web: Implement IJsonValue::GetNumber().
windows.web: Implement IJsonValue::GetBoolean().
windows.web/tests: Add IJsonValueStatics::Parse() tests.
include: Reorder windows.storage.stream classes.
windows.storage: Add stub dll.
windows.storage: Move RandomAccessStreamReference class from wintypes.
windows.storage: Add error handling in IRandomAccessStreamReferenceStatics::CreateFromStream().
Nikolay Sivov (41):
windowscodecs: Implement CreateMetadataWriter().
windowscodecs/metadata: Create nested writer instances when loading IFD data.
windowscodecs/metadata: Add a stub for WICApp1MetadataWriter.
windowscodecs: Filter options in CreateMetadataWriter().
windowscodecs/metadata: Add initial implementation of CreateMetadataWriterFromReader().
windowscodecs/tests: Add an item enumeration test for the App1 reader.
windowscodecs/metadata: Implement SetValue().
maintainers: Add myself to the scrrun.dll section.
wbemprox: Fix a memory leak while filling Win32_PnPEntity fields.
windowscodecs/metadata: Recursively create nested writers in CreateMetadataWriterFromReader().
windowscodecs/tests: Use generic block writer for testing.
windowscodecs/tests: Add some tests for querying nested readers in App1 format.
windowscodecs/tests: Add some tests for the query writer used on App1 data.
windowscodecs/metadata: Handle nested metadata handlers lookup by CLSID.
windowscodecs/tests: Add a top level block enumerator for the test block writer.
windowscodecs/tests: Add some tests for handler objects enumerator.
windowscodecs: Add missing traces to the IWICEnumMetadataItem implementation.
msi: Avoid invalid access when handling format strings.
windowscodecs/tests: Add some query tests with the Unknown reader.
windowscodecs/metadata: Share implementation between query reader and writer objects.
windowscodecs/tests: Add some tests for CreateQueryWriter().
windowscodecs/tests: Add query reader tests for live block reader updates.
windowscodecs/tests: Add some tests for CreateQueryWriterFromReader().
windowscodecs/tests: Add some tests for the query reader container format.
windowscodecs/metadata: Use VT_LPWSTR type instead of BSTRs when parsing queries.
windowscodecs/metadata: Collect query components before assigning values.
windowscodecs/metadata: Add a helper to parse query index syntax.
windowscodecs/metadata: Use separate helpers to parse query items.
windowscodecs/metadata: Handle empty items in queries.
windowscodecs/metadata: Return query writer object from GetMetadataByName() when block writer is used.
windowscodecs/metadata: Base returned query handlers on metadata handlers.
windowscodecs: Implement CreateQueryWriter().
windowscodecs/tests: Add some tests for default metadata item set.
windowscodecs/metadata: Add flags mask to configure builtin handlers.
windowscodecs/metadata: Implement removing items with IWICMetadataWriter.
windowscodecs/tests: Add some tests for RemoveMetadataByName().
windowscodecs/metadata: Implement RemoveMetadataByName().
windowscodecs/tests: Remove WinXP workarounds from png metadata test.
windowscodecs/tests: Move non-specific CreateQueryReaderFromBlockReader() tests to a separate function.
windowscodecs/tests: Add a test for reader instances returned from the decoder.
windowscodecs: Remove TGA decoder.
Paul Gofman (24):
user32/tests: Test system generated WM_MOUSEMOVE with raw input.
server: Ignore WM_MOUSEMOVE with raw input / RIDEV_NOLEGACY.
dwmapi: Sleep in DwmFlush().
ntoskrnl.exe/tests: Open directory object with nonzero access in test_permanent().
httpapi: Don't open files with zero access.
kernel32: Don't open reg keys with zero access mask.
setupapi: Don't open reg keys with zero access mask.
devenum: Don't open reg keys with zero access mask.
quartz: Don't open reg keys with zero access mask.
wbemprox: Don't open reg keys with zero access mask.
shell32: Don't open reg keys with zero access mask.
server: Check for zero access in alloc_handle().
include: Add cfgmgr ID list filter constants.
setupapi: Implement CM_Get_Device_ID_List[_Size]W().
setupapi: Implement CM_Get_Device_ID_List[_Size]A().
setupapi: Make device instance handlers persistent.
setupapi: Implement CM_Locate_DevNode[_Ex]{A|W}().
winex11.drv: Sort Vulkan physical devices in get_gpu_properties_from_vulkan().
win32u: Sort Vulkan physical devices in get_vulkan_gpus().
crypt32/tests: Add test for chain engine cache update.
crypt32: Lock store in MemStore_deleteContext().
crypt32: Do not temporary delete contexts in I_CertUpdateStore().
crypt32: Only sync registry store if registry has changed.
crypt32: Resync world store for default engines in get_chain_engine().
Rémi Bernon (11):
win32u: Introduce a new add_virtual_mode helper.
win32u: Pass host enumerated display modes to get_virtual_modes.
win32u: Keep virtual screen sizes in a SIZE array.
win32u: Introduce a new get_screen_sizes helper.
win32u: Check generated sizes with the maximum display mode.
win32u: Generate fake resolution list from the host modes.
win32u: Generate modes for the host native frequency.
server: Introduce a new find_mouse_message helper.
winetest: Ignore success and color codes in tests output limit.
win32u: Drop now unnecessary WM_WINE_DESKTOP_RESIZED internal message.
winex11: Delay changing window config if win32 side is still minimized.
Sven Baars (2):
win32u: Fix an uninitialized variable warning on GCC 10.
winegstreamer: Fix a compiler warning with GStreamer 1.18 or lower.
Torge Matthies (2):
ntdll: Add sys_membarrier-based implementation of NtFlushProcessWriteBuffers.
ntdll: Add thread_get_register_pointer_values-based implementation of NtFlushProcessWriteBuffers.
Vibhav Pant (10):
winebth.sys: Don't call dbus_pending_call_set_notify with a NULL pending call.
winebth.sys: Implement IOCTL_WINEBTH_RADIO_SET_FLAG.
winebth.sys: Call bluez_watcher_close as part of bluetooth_shutdown.
bluetoothapis: Add stub for BluetoothEnableIncomingConnections.
bluetoothapis/tests: Add tests for BluetoothEnableIncomingConnections.
bluetoothapis: Implement BluetoothEnableIncomingConnections.
bluetoothapis: Add stub for BluetoothEnableDiscovery.
bluetoothapis/tests: Add tests for BluetoothEnableDiscovery.
bluetoothapis: Implement BluetoothEnableDiscovery.
winebth.sys: Free Unix handle to the local radio after updating its properties.
Wei Xie (1):
http.sys: Avoid crashes in complete_irp() if http header value is space.
Zhiyi Zhang (17):
prntvpt: Add a missing return (Coverity).
ntdll: Implement RtlEnumerateGenericTableWithoutSplaying().
ntdll/tests: Add RtlEnumerateGenericTableWithoutSplaying() tests.
ntdll: Implement RtlEnumerateGenericTable().
ntdll/tests: Add RtlEnumerateGenericTable() tests.
ntdll: Implement RtlGetElementGenericTable().
ntdll/tests: Add RtlGetElementGenericTable().
user32/tests: Test TME_LEAVE when the cursor is not in the specified tracking window.
win32u: Post WM_MOUSELEAVE immediately when the cursor is not in the specified tracking window.
include: Add D3DKMT_DRIVERVERSION.
gdi32/tests: Add D3DKMTQueryAdapterInfo() tests.
win32u: Support KMTQAITYPE_CHECKDRIVERUPDATESTATUS for NtGdiDdDDIQueryAdapterInfo().
win32u: Support KMTQAITYPE_DRIVERVERSION for NtGdiDdDDIQueryAdapterInfo().
winex11.drv: Go though WithdrawnState when transitioning from IconicState to NormalState.
d2d1: Add D2D1ColorMatrix effect stub.
d2d1: Add D2D1Flood effect stub.
d3d11/tests: Test D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT feature.
```
1
0
The vkd3d team is proud to announce that release 1.15 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Much more complete support for tessellation shaders in the HLSL compiler.
- Improved function overload resolution in the HLSL compiler.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.15.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.15
### libvkd3d
- New interfaces:
- vkd3d_queue_signal_on_cpu() allows a Direct3D 12 fence to be signalled
when all preceding work on a Direct3D 12 command queue has been submitted
to the corresponding Vulkan queue.
### libvkd3d-shader
- New features for the HLSL source type:
- ‘InputPatch’ and ‘OutputPatch’ tessellation shader objects. This was the
main feature required by most tessellation shaders that was still missing,
and tessellation shaders should be considered generally usable now.
- Unrolling of loops containing conditional jumps.
- Improved function overload resolution. Previously the compiler was unable
to decide between multiple function overloads with the same number of
parameters.
- The parser is able to continue parsing in a larger number of error cases.
This allows more issues in the input to be reported during a single
compilaton attempt.
- The following intrinsic functions are supported:
- GatherCmp()
- GatherCmpAlpha(), GatherCmpBlue(), GatherCmpGreen(), and GatherCmpRed()
- InterlockedAdd(), InterlockedAnd(), InterlockedCompareExchange(),
InterlockedCompareStore(), InterlockedExchange(), InterlockedMax(),
InterlockedMin(), InterlockedOr(), and InterlockedXor()
- isinf()
- Separate resource and sampler support for shader model 1-3 target
profiles.
- Casts on the left hand side of assignments.
- Reassociation and redistribution of constants in binary expressions, to
facilitate constant folding.
- Packing of interstage I/O variables with the ‘SV_IsFrontFace’,
‘SV_PrimitiveID’, ‘SV_RenderTargetArrayIndex’, ‘SV_SampleIndex’, and
‘SV_ViewPortArrayIndex’ semantics matches d3dcompiler/fxc more closely.
- Parser support for the ‘LineStream’, ‘PointStream’, and ‘TriangleStream’
Stream-Output objects.
- A number of instructions have been implemented for the experimental MSL
target. Although more and more shaders are starting to work, support is
still fairly limited. For example, shader resource views and unordered
access views are still entirely unsupported.
- Shader code generation for fixed-function fog. Like the existing shader code
generation for other fixed-function features, this is mainly relevant for
executing shader model 1-3 sources in modern target environments like
Vulkan.
- The ‘fx’ parser can parse binary effects containing inline shader blobs.
- Internal validator support for validating I/O signatures, as well as I/O
source and destination parameters. The validator is enabled by the
‘force_validation’ option, specified through the VKD3D_SHADER_CONFIG
environment variable.
- Internal validator support for validating the number of indices used with a
register, as well as basic bounds checking for static indices.
- New interfaces:
- The vkd3d_shader_scan_hull_shader_tessellation_info structure extends the
vkd3d_shader_compile_info structure, and can be used to retrieve the
output primitive type and partitioning mode used by a hull shader. This
information is particularly useful for specifying
vkd3d_shader_spirv_domain_shader_target_info structures when targetting
SPIR-V in OpenGL environments.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_FRAGMENT_MODE shader parameter
specifies the kind of fog to generate in a fragment shader.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_COLOUR shader parameter
specifies the fog colour.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_END shader parameter
specifies the ‘end’ parameter used for linear fog generation.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_SCALE shader parameter
specifies the ‘scale’ parameter used for fog generation.
- The VKD3D_SHADER_PARAMETER_NAME_FOG_SOURCE shader parameter
specifies the kind of fog coordinate to output from a pre-rasterisation
shader.
### vkd3d-compiler
- The new ‘dxbc-fx’ source type specifies an effect binary embedded in a DXBC
container. This is a convenience feature;
‘vkd3d-compiler -x dxbc-fx blob.dxbc’ is equivalent to
‘vkd3d-dxbc -x t:FX10 blob.dxbc | vkd3d-compiler -x fx’.
### Changes since vkd3d 1.14:
```
Anna (navi) Figueiredo Gomes (6):
vkd3d-shader/hlsl: Implement cast from bool to int for SM1.
tests/hlsl: Add GatherCmp() tests.
vkd3d-shader/hlsl: Implement the GatherCmp() methods.
tests/shader_runner: Add a "mesa<23.3" tag.
tests/hlsl: Add mixed argument size tests.
vkd3d-shader/hlsl: Consider conversions across all parameters in function_compare().
Conor McCarthy (29):
vkd3d: Store only a single vkd3d descriptor type in each Vulkan descriptor set.
vkd3d: Introduce struct vkd3d_vk_descriptor_pool_array.
vkd3d: Introduce vkd3d_vk_descriptor_pool_array_push_array().
vkd3d: Introduce vkd3d_vk_descriptor_pool_array_push().
vkd3d: Introduce vkd3d_vk_descriptor_pool_array_pop().
vkd3d: Introduce vkd3d_vk_descriptor_pool_array_destroy_pools().
vkd3d: Create separate descriptor pools for each vkd3d descriptor type.
vkd3d: Create descriptor pools of geometrically increasing size.
tests/hlsl: Add float64 wave op tests.
tests/hlsl: Add uint64 wave op tests.
tests/hlsl: Add int64 wave op tests.
vkd3d-shader/dxil: Implement DX intrinsic EvalSampleIndex.
vkd3d-shader/dxil: Implement DX intrinsic EvalCentroid.
vkd3d: Return the correct depth/stencil plane format from GetCopyableFootprints().
vkd3d: Return correctly aligned depth/stencil sizes from GetCopyableFootprints().
vkd3d: Do not require the ALLOW_DEPTH_STENCIL flag for depth/stencil formats in GetCopyableFootprints().
tests/hlsl: Add a test for SV_RenderTargetArrayIndex.
vkd3d-shader/dxil: Handle SV_RenderTargetArrayIndex.
tests/hlsl: Pass a profile string instead of a shader type to dxc_compiler_compile_shader().
tests/hlsl: Add some arithmetic uint16 shader tests.
tests/hlsl: Add more arithmetic uint16 tests.
tests/hlsl: Add arithmetic int16 tests.
tests/hlsl: Add arithmetic float16 tests.
tests/hlsl: Add a numeric types 16-bit test.
tests/hlsl: Add constant buffer 16-bit tests.
tests/hlsl: Add GetDimensions() 16-bit tests.
tests/hlsl: Add typed buffer UAV 16-bit tests.
tests/hlsl: Add a raw buffer UAV 16-bit test.
tests/hlsl: Add structured buffer UAV 16-bit tests.
Elizabeth Figura (65):
vkd3d-shader/spirv: Handle SSA registers in spirv_compiler_get_register_info().
vkd3d-shader/ir: Allow controlling fog through parameters.
vkd3d-shader/ir: Add a couple of traces for signature remapping.
vkd3d-shader/ir: Allow controlling the fog source through a parameter.
vkd3d-shader/ir: Implement exponential fog.
vkd3d-shader/hlsl: Do not abort when modifying a const expression.
vkd3d-shader/hlsl: Do not abort parsing when invalid modifiers are used.
vkd3d-shader/hlsl: Move the numeric type check to add_constructor().
vkd3d-shader/hlsl: Return an error expression when a function is used as a variable.
vkd3d-shader/hlsl: Translate invalid implicit-size arrays to an error type.
vkd3d-shader/d3dbc: Omit unnecessary instruction maximum versions.
vkd3d-shader/d3dbc: Mark some more instructions as version-limited.
vkd3d-shader: Fix the disassembly names of IFC and BREAKC.
vkd3d-shader: Correct the disassembly for POSITIONT.
tests: Add a reflection test for shader model 4.0.
vkd3d-shader/hlsl: Remove unused expr ops.
vkd3d-shader/ir: Always initialise "*control_point_count" in vsir_signature_from_register_type().
vkd3d-shader/hlsl: Document matrix swizzles.
vkd3d-shader/hlsl: Use a structure for matrix swizzles.
vkd3d-shader/hlsl: Use swizzle helpers in more places.
vkd3d-shader/hlsl: Store swizzles in vsir format.
tests/shader_runner: Use is_todo instead of separate shader states.
tests/shader_runner: Use a separate variable for shader type.
tests/shader_runner: Don't bother distinguishing directive substrings.
vkd3d-shader/d3dbc: Use struct vkd3d_shader_dst_param instead of struct sm1_dst_register.
vkd3d-shader/d3dbc: Use struct vkd3d_shader_src_param instead of struct sm1_src_register.
vkd3d-shader/d3dbc: Use struct vkd3d_shader_instruction instead of struct sm1_instruction.
tests/shader_runner: Record HLSL todo/fail state for each shader model.
tests/shader_runner: Test HLSL compilation in a separate pass.
tests/shader_runner: Test versions where the compilation result changes.
tests: Use fail(sm<5) instead of [require] for uav-atomics.
vkd3d-shader/spirv: Correctly implement DTOF.
vkd3d-shader/spirv: Correctly implement DTOI.
vkd3d-shader/spirv: Correctly implement DTOU.
tests/d3d12: Make the dtof test a bit more interesting.
vkd3d-shader: Explicitly translate between d3dbc and vsir register types.
vkd3d-shader/d3dbc: Normalize to a single VKD3DSPR_CONST register set when reading.
vkd3d-shader/d3d-asm: Define register names in a table.
vkd3d-shader/ir: Separate VKD3DSPR_ADDR and VKD3DSPR_TEXTURE.
vkd3d-shader/ir: Separate VKD3DSPR_OUTPUT and VKD3DSPR_TEXCRDOUT.
vkd3d-shader/d3dbc: Introduce d3dbc_parse_register().
vkd3d-shader/hlsl: Avoid some uses of the default case when switching over hlsl_base_type.
vkd3d-shader/d3dbc: Do not access the type dimensions for non-numeric types.
vkd3d-shader/hlsl: Move the "dimx" and "dimy" fields to the type-specific union.
tests: Adjust angle-unit.shader_test to pass with 1.x.
tests: Adjust arithmetic-float.shader_test to pass with 1.x.
tests: Adjust arithmetic-float-uniform.shader_test to pass with 1.x.
tests: Adjust arithmetic-int.shader_test to pass with 1.x.
tests: Adjust array-parameters.shader_test to pass with 1.x.
tests: Adjust array-size-expr.shader_test to pass with 1.x.
tests: Adjust abs.shader_test to pass with 1.x.
tests: Add another unrolling test.
vkd3d-shader/hlsl: Implement broadcasts in constant folding.
vkd3d-utils: Fix matrix packing precedence in D3DCompile2VKD3D().
vkd3d-shader/hlsl: Use the casted value in exp().
tests: Add some stress tests for scope and variable definition.
vkd3d-shader/hlsl: Do not define a separate scope for function parameters.
vkd3d-shader/hlsl: Factor out the error message into hlsl_add_var().
vkd3d-shader/hlsl: Do not abort on variable redefinition.
vkd3d-shader/hlsl: Handle error instructions in add_shader_compilation().
vkd3d-shader/hlsl: Add an add_switch() helper.
vkd3d-shader/hlsl: Handle error instructions in add_switch().
vkd3d-shader/hlsl: Pass the block to add_zero_mipmap_level().
vkd3d-shader/hlsl: Use a block in prepend_input_var_copy().
vkd3d-shader/hlsl: Use a block in hlsl_normalize_binary_exprs().
Feifan He (46):
vkd3d-shader/msl: Implement VKD3DSIH_ADD.
vkd3d-shader/msl: Implement support for VKD3DSPR_IMMCONST registers.
vkd3d-shader/msl: Implement support for VKD3DSPSM_ABS modifiers.
vkd3d-shader/msl: Implement VKD3DSIH_AND.
vkd3d-shader/msl: Implement VKD3DSIH_NEU.
vkd3d-shader/msl: Implement support for VSIR_DIMENSION_VEC4 immediate constants.
vkd3d-shader/msl: Implement VKD3DSIH_MUL.
vkd3d-shader/msl: Implement VKD3DSIH_INE.
vkd3d-shader/msl: Implement VKD3DSIH_OR.
vkd3d-shader/msl: Implement VKD3DSIH_DIV.
vkd3d-shader/msl: Implement support for VKD3DSPSM_NEG modifiers.
vkd3d-shader/msl: Implement VKD3DSIH_GEO.
vkd3d-shader/msl: Implement VKD3DSIH_FRC.
vkd3d-shader/msl: Implement VKD3DSIH_MOVC.
vkd3d-shader/msl: Implement VKD3DSIH_ITOF.
vkd3d-shader/msl: Implement VKD3DSIH_FTOI.
vkd3d-shader/msl: Implement VKD3DSIH_UTOF.
vkd3d-shader/msl: Implement VKD3DSIH_FTOU.
vkd3d-shader/msl: Implement VKD3DSIH_ROUND_PI.
vkd3d-shader/msl: Implement VKD3DSIH_ROUND_Z.
tests/shader_runner_metal: Implement depth texture and state.
tests/shader_runner_metal: Implement clears.
vkd3d-shader/msl: Implement support for the VKD3DSPR_DEPTHOUT register.
vkd3d-shader/msl: Implement VKD3DSIH_DP3.
vkd3d-shader/msl: Implement VKD3DSIH_DP4.
vkd3d-shader/msl: Implement VKD3DSIH_DP2.
vkd3d-shader/msl: Implement VKD3DSIH_SQRT.
vkd3d-shader/msl: Handle the VKD3DSIM_LINEAR interpolation modifier on inputs.
vkd3d-shader/msl: Implement VKD3DSIH_IEQ.
vkd3d-shader/msl: Implement VKD3DSIH_EXP.
vkd3d-shader/msl: Implement VKD3DSIH_LTO.
vkd3d-shader/msl: Implement VKD3DSIH_ROUND_NI.
vkd3d-shader/msl: Implement VKD3DSIH_IF and VKD3DSIH_ENDIF.
vkd3d-shader/msl: Implement VKD3DSIH_ROUND_NE.
vkd3d-shader/msl: Handle SV_IS_FRONT_FACE inputs.
vkd3d-shader/msl: Implement VKD3DSIH_LOG.
vkd3d-shader/msl: Implement VKD3DSIH_MAX.
vkd3d-shader/msl: Implement VKD3DSIH_MIN.
vkd3d-shader/msl: Implement VKD3DSIH_RSQ.
vkd3d-shader/msl: Implement VKD3DSIH_NOT.
vkd3d-shader/msl: Implement VKD3DSIH_ELSE.
vkd3d-shader/msl: Implement support for VKD3DSPDM_SATURATE modifiers.
vkd3d-shader/msl: Implement VKD3DSIH_MAD.
vkd3d-shader/msl: Implement VKD3DSIH_ISHL.
vkd3d-shader/msl: Implement VKD3DSIH_ISHR.
vkd3d-shader/msl: Implement VKD3DSIH_USHR.
Francisco Casas (55):
vkd3d-shader/tpf: Remove HLSL_IR_SWIZZLE handling.
vkd3d-shader/hlsl: Store SM4 stores in the vsir program.
vkd3d-shader/hlsl: Store SM4 loads in the vsir program.
vkd3d-shader/hlsl: Store SM4 resource stores in the vsir program.
tests: Test signature reflection for PRIMID, RTINDEX and VPINDEX.
vkd3d-shader/hlsl: Add special allocation rules for PRIMID, RTINDEX, and VPINDEX.
tests: Test allocation rules for FFACE and SAMPLE.
vkd3d-shader/hlsl: Add special allocation rules for FFACE and SAMPLE.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_LOADs in the vsir program.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_SAMPLEs in the vsir program.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_GATHERs in the vsir program.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_SAMPLE_INFOs in the vsir program.
vkd3d-shader/hlsl: Store SM4 HLSL_RESOURCE_RESINFOs in the vsir program.
vkd3d-shader/hlsl: Store SM4 jumps in the vsir program.
vkd3d-shader/tpf: Apply extra bits to all conditional ops.
vkd3d-shader/hlsl: Migrate SM4 control flow instructions to the vsir program.
vkd3d-shader/hlsl: Remove hlsl_ir_vsir_instruction_ref, again.
vkd3d-shader/dxbc: Parse the SFI0 ROV requirement.
vkd3d-shader/hlsl: Store ROV feature requirement in the vsir_program.
vkd3d-shader/hlsl: Store the global flags in the vsir program.
vkd3d-shader/hlsl: Store SM4 sampler declarations in the vsir program.
vkd3d-shader/hlsl: Store SM4 texture declarations in the vsir program.
tests: Add additional sampler allocation tests for SM1.
tests: Test sampler array allocation.
vkd3d-shader/hlsl: Lower separated samplers for SM1.
vkd3d-shader/hlsl: Support combined samplers from texture arrays.
vkd3d-shader/hlsl: Allocate samplers by decreasing bind count in SM1.
vkd3d-shader/hlsl: Allow lowering separate sampler arrays on deref offset 0.
vkd3d-shader/hlsl: Store SM4 constant buffer declarations in vsir program.
vkd3d-shader/hlsl: Generate RDEF outside tpf_compile().
vkd3d-shader/hlsl: Generate CTAB outside sm1_generate_vsir().
vkd3d-shader/hlsl: Store hull and domain shader properties in vsir_program.
vkd3d-shader/tpf: Remove hlsl_ctx from tpf_compiler.
vkd3d-shader/hlsl: Lower sample lods for SM1.
vkd3d-shader/ir: Properly lower texldb.
tests/hlsl: Test tex2Dproj().
vkd3d-shader/ir: Properly lower texldp.
vkd3d-shader: Avoid passing NULL to memcpy(). (ubsan)
vkd3d-shader: Avoid passing NULL to qsort(). (ubsan)
vkd3d-shader: Avoid passing NULL to memset(). (ubsan)
vkd3d-shader: Avoid left shifting signed integers. (ubsan)
tests: Test SampleGrad() on ps_3_0.
vkd3d-shader/hlsl: Lower separate SampleGrad() for SM1.
vkd3d-shader/hlsl: Don't lower separate samples with texel offsets.
tests: Test casting negative floats to int.
vkd3d-shader/hlsl: Properly lower casts to int for negative numbers.
vkd3d-shader/hlsl: Specialize lowering SM1 casts to int for vertex shaders.
tests/hlsl: Add lhs cast tests.
tests/hlsl: Test partial assignments due to lhs casts.
tests/hlsl: Add more function cast tests.
vkd3d-shader/hlsl: Delay lowering complex casts until after parse time.
vkd3d-shader/hlsl: Support non-size-changing lhs casts.
vkd3d-shader/hlsl: Don't count cast to param type on IN as part of OUT var's lhs.
vkd3d-shader/hlsl: Don't forbid first base type cast on var assignments.
tests/shader_runner: Pass the correct buffer size to swprintf() in dxc_compiler_compile_shader().
Giovanni Mascellani (87):
vkd3d-shader/ir: Validate the semantic index for tessellation system values.
vkd3d-shader/ir: Check that semantic indices for tessellation system values are not duplicated.
vkd3d-shader/ir: Keep track of the tessellator domain in struct vsir_program.
vkd3d-shader/ir: Validate tessellation system values for the given tessellator domain.
vkd3d-shader/ir: Check that tessellation system values only appear in the patch constant signature.
vkd3d-shader/ir: Validate index count for PRIMID registers.
vkd3d-shader/ir: Validate index count for OUTPOINTID registers.
vkd3d-shader/ir: Validate index count for FORKINSTID registers.
vkd3d-shader/ir: Validate index count for JOININSTID registers.
vkd3d-shader/ir: Validate index count for TESSCOORD registers.
vkd3d-shader/ir: Validate index count for THREADID registers.
vkd3d-shader/ir: Validate index count for THREADGROUPID registers.
vkd3d-shader/ir: Validate index count for LOCALTHREADID registers.
vkd3d-shader/ir: Validate index count for LOCALTHREADINDEX registers.
vkd3d-shader/ir: Check that all tessellation system values appear in the patch constant signature.
vkd3d-shader/ir: Check that tessellation system value registers are consecutive.
vkd3d-shader/ir: Validate index count for COVERAGE registers.
vkd3d-shader/ir: Validate index count for SAMPLEMASK registers.
vkd3d-shader/ir: Validate index count for GSINSTID registers.
vkd3d-shader/ir: Validate index count for WAVELANECOUNT registers.
vkd3d-shader/ir: Validate index count for WAVELANEINDEX registers.
vkd3d-shader/ir: Validate index count for OUTSTENCILREF registers.
vkd3d-shader/dxil: Emit register SAMPLEMASK for output sysval SV_Coverage.
vkd3d-shader/ir: Validate the register type for DCL_INPUT instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_SIV instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_SGV instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS_SIV instructions.
vkd3d-shader/ir: Validate the register type for DCL_INPUT_PS_SGV instructions.
vkd3d-shader/ir: Validate the register type for DCL_OUTPUT instructions.
vkd3d-shader/ir: Validate the register type for DCL_OUTPUT_SIV instructions.
vkd3d-shader/ir: Synthesize the default control point phase in the HS control point I/O normaliser.
vkd3d-shader/ir: Evaluate OUTCONTROLPOINT usage in the patch constant phase directly.
tests: Use plain skip() when skipping a test in the shader runner.
tests: Print the file name instead of the test name in test logs.
vkd3d-shader/spirv: Merge emitting input and output registers.
vkd3d-shader/ir: Encode I/O declarations in vsir_program.
vkd3d-shader/ir: Remove I/O declarations before I/O normalisation.
vkd3d-shader/ir: Remove I/O declarations before normalising hull shader control point I/O.
vkd3d-shader/ir: Remove I/O declarations before flattening hull shader phases.
vkd3d-shader/ir: Merge removing I/O declarations in the general instruction lowering pass.
vkd3d-shader/ir: Validate the control point index when it is statically known.
vkd3d: Do not use more than a few million descriptors in Vulkan heap set layouts.
vkd3d-shader/ir: Validate the array index when it is statically known.
vkd3d-shader/ir: Validate the register type for registers used as relative addresses.
vkd3d-shader/ir: Introduce a helper function to determine the signature for a register type.
vkd3d-shader/ir: Validate the DCL_INDEX_RANGE instruction.
vkd3d-shader/ir: Check that DCL_INDEX_RANGE ranges do not overlap with unrelated signature elements.
vkd3d-shader/spirv: Introduce a SPIR-V parser.
vkd3d-shader/spirv: Parse the SPIR-V magic number.
vkd3d-shader/spirv: Parse the SPIR-V version number.
vkd3d-shader/spirv: Parse the SPIR-V generator magic number.
vkd3d-shader/spirv: Parse the SPIR-V id bound.
vkd3d-shader/spirv: Parse the SPIR-V instruction schema.
vkd3d-shader/ir: Check that the DCL_INDEX_RANGE effective mask stabilizes after one iteration.
vkd3d-shader/ir: Check that signature element masks are left-aligned with in a DCL_INDEX_RANGE.
vkd3d-shader/ir: Validate the register index and count for signature elements.
vkd3d-shader/ir: Validate the signature element stream index.
vkd3d-shader/ir: Validate the signature element register index, for some sysvals.
vkd3d-shader/ir: Check that signature elements do not conflict with each other.
vkd3d-shader/ir: Give more meaningful names to I/O normalisation levels.
vkd3d-shader/d3dbc: Normalise I/O register write masks when not disassembling.
vkd3d-shader/ir: Represent information about I/O registers with a table.
vkd3d-shader/ir: Validate INPUT destination parameters using a uniform helper.
vkd3d-shader/ir: Validate PATCHCONST destination parameters using a uniform helper.
vkd3d-shader/ir: Validate OUTPUT destination parameters.
vkd3d-shader/ir: Validate INCONTROLPOINT destination parameters.
vkd3d-shader/ir: Validate OUTCONTROLPOINT destination parameters.
vkd3d-shader/ir: Remove a redundant assignment.
vkd3d-shader/ir: Simplify shader_register_normalise_arrayed_addressing().
tests/hlsl: Add tests for the EvaluateAttribute*() intrinsics.
tests/hlsl: Add some clip/cull distance tests.
vkd3d-shader/ir: Disallow array signature elements for normalisation levels < SM6.
vkd3d-shader/ir: Validate OUTPUT source parameters using a uniform helper.
vkd3d-shader/ir: Validate PATCHCONST source parameters using a uniform helper.
vkd3d-shader/ir: Validate INPUT source parameters.
vkd3d-shader/ir: Validate INCONTROLPOINT source parameters.
vkd3d-shader/ir: Validate OUTCONTROLPOINT source parameters.
vkd3d: Log the requested feature levels for D3D12_FEATURE_FEATURE_LEVELS.
vkd3d: Describe DXGI_UNKNOWN as having one plane.
vkd3d: Only call d3d12_fence_garbage_collect_vk_semaphores_locked() when using binary semaphores.
vkd3d: Release queued fences when stopping the fence worker.
vkd3d: Support signalling a fence once all outstanding work is submitted to Vulkan.
vkd3d: Explicitly call the appropriate waiting function in the fence worker.
vkd3d-shader/spirv: Interpret the write mask as a destination swizzle for double comparison operations.
vkd3d-common: Write a thread id in the log on macOS too.
ci: Explicitly install SPIRV-Tools in the macOS CI environment.
Henri Verbeet (31):
tests: Get rid of some redundant "glsl" todo's.
vkd3d-shader/hlsl: Use hlsl_error() instead of hlsl_fixme() for ambiguous function calls.
vkd3d-shader/hlsl: Introduce hlsl_dump_type().
vkd3d-shader/hlsl: Introduce hlsl_dump_ir_function_decl().
vkd3d-shader/hlsl: Output the candidates for ambiguous function calls.
vkd3d: Introduce d3d12_descriptor_set_layout_init().
vkd3d-shader/spirv: Parse SPIR-V instructions.
vkd3d: Drop smaller pools in d3d12_command_allocator_reset_descriptor_pool_array().
tests: Add yet more overload resolution tests.
vkd3d-shader/hlsl: Prefer overload candidates without component count narrowing.
vkd3d-shader/hlsl: Prefer overload candidates with matching component type classes.
vkd3d-shader/hlsl: Prefer overload candidates with matching component types.
vkd3d-shader/hlsl: Prefer overload candidates without component type narrowing.
vkd3d-shader/hlsl: Prefer overload candidates without component count widening.
vkd3d-shader/d3dbc: Separate writing the comment bytecode from write_sm1_uniforms().
vkd3d-shader/hlsl: Move CTAB generation to hlsl_codegen.c.
tests/shader_runner: Ignore the "backcompat" option for shader model 5.1+.
vkd3d-shader/hlsl: Make sm4_get_interpolation_mode() static.
vkd3d-shader/hlsl: Move sm4_get_extern_resources() to hlsl_codegen.c.
vkd3d-shader/hlsl: Move sm4_free_extern_resources() to hlsl_codegen.c.
tests/shader_runner: Do not use skip() for shader model requirements.
vkd3d-shader/hlsl: Move RDEF generation to hlsl_codegen.c.
demos: Use the assembler to embed HLSL sources.
vkd3d-shader/msl: Get rid of a stray vkd3d_string_buffer_printf() in the VEC4 UINT immediate constant handling.
vkd3d: Avoid freeing the input signature twice on error paths in d3d12_pipeline_state_init_graphics().
vkd3d-compiler: Store the target type as a struct target_type_info pointer.
vkd3d-compiler: Store the source type as a struct source_type_info pointer.
vkd3d-compiler: Introduce "dxbc-fx" as a source type.
include: Add vkd3d_shader_scan_hull_shader_tessellation_info to the list of chained compilation structures.
include: Add missing VKD3D_FORCE_32_BIT_ENUM enum elements.
vkd3d-shader/ir: Remove vForkInstanceId and vJoinInstanceId declarations in vsir_program_flatten_hull_shader_phases().
Nikolay Sivov (5):
vkd3d-shader/hlsl: Add parser support for stream-output object types.
vkd3d-shader/fx: Implement parsing inline shader blobs.
vkd3d-shader/fx: Remove newlines from the parser error messages.
vkd3d-compiler: Support fx_4_0 sources embedded in DXBC containers.
vkd3d-shader/hlsl: Implement the isinf() intrinsic.
Shaun Ren (43):
vkd3d-shader/dxil: Allow zero domain input control point count.
vkd3d-shader: Implement scanning hull shader tessellation information.
tests/shader_runner_vulkan: Enable patch list topology support.
tests/shader_runner_gl: Implement tessellation support.
vkd3d-shader/hlsl: Implement normalization of binary expressions.
vkd3d-shader/hlsl: Collect together terms with constant coefficients.
tests/shader_runner_vulkan: Check if create_shader_stage() fails in create_compute_pipeline().
tests/shader_runner_gl: Add "opengl" tag.
tests/shader_runner_gl: Bind buffer UAVs for compute shaders.
tests/hlsl: Add a test for UAV InterlockedCompareExchange().
tests/hlsl: Add tests to check the types of the value arguments of atomic ops.
tests/hlsl: Add tests to check the void return type of atomic ops.
tests/hlsl: Add tests for valid destination types of atomic operations.
vkd3d-shader/hlsl: Implement the InterlockedAdd() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedAnd() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedCompareExchange() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedCompareStore() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedExchange() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedMax() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedMin() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedOr() intrinsic.
vkd3d-shader/hlsl: Implement the InterlockedXor() intrinsic.
vkd3d-shader/spirv: Emit the tessellator domain for domain shaders.
vkd3d-shader/hlsl: Forbid declaring parameters as both out and const.
tests: Test invalid out const parameters.
vkd3d-shader/d3d-asm: Print vocp registers with subscript.
vkd3d-shader/hlsl: Forbid declaring const variables with no initializer.
tests/hlsl: Test invalid const variables with no initializer.
vkd3d-shader/hlsl: Parse InputPatch and OutputPatch objects.
vkd3d-shader/hlsl: Validate and record InputPatch/OutputPatch types.
tests/hlsl: Test the syntax of InputPatch/OutputPatch variables.
tests/hlsl: Test passthrough hull shader control point function.
tests/hlsl: Test hull shader control point function output parameters.
tests/hlsl: Test OutputPatch usage in patch constant functions.
vkd3d-shader/hlsl: Add an "is_patch_constant_func" field to struct hlsl_ctx.
vkd3d-shader/hlsl: Implement input semantic variable copies for patch variables.
vkd3d-shader/tpf: Improve readability of compat mapping in sm4_sysval_semantic_from_semantic_name().
vkd3d-shader/hlsl: Generate vsir signature entries for patch variables.
vkd3d-shader/hlsl: Declare semantics for patch variables in vsir.
vkd3d-shader/hlsl: Allocate semantic registers for patch variables.
tests/shader_runner: Support the negation of tag matches.
vkd3d-shader/hlsl: Generate vsir registers from patch variable derefs.
tests: Test signature reflection for patch inputs in hull/domain shaders.
Victor Chiletto (10):
tests: Add more function overloading tests.
vkd3d-shader/hlsl: Explicitly track the copy propagation state stack.
vkd3d-shader/hlsl: Allow copy propagation to be stopped early.
vkd3d-shader/hlsl: Constant fold casts to boolean.
vkd3d-shader/hlsl: Run copy propagation incrementally during loop unrolling.
vkd3d-shader/hlsl: Do not clone the entire program for loop unrolling.
vkd3d-shader/hlsl: Remove loop_unrolling_find_unrollable_loop().
vkd3d-shader/hlsl: Partially defer continue resolution.
vkd3d-shader/hlsl: Unroll loops with conditional jumps.
vkd3d-shader/hlsl: Drop the _ir_ infix from enum hlsl_loop_unroll_type.
```
1
0
The Wine development release 10.1 is now available.
What's new in this release:
- A wide range of changes that were deferred during code freeze.
- Root certificates fixes for Battle.net.
- Print Provider improvements.
- More progress on the Bluetooth driver.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.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-10.1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.1 (total 35):
- #27245 Internet Settings security zones not i18n-ed
- #35981 Battlefield: Bad Company 2 (Russian locale) updater has missing glyphs
- #39576 Sound in StarCraft 2 breaks after
- #39733 OpenGL Extensions Viewer 4.x (.NET 4.0 app) fails to start with Wine-Mono
- #41342 Build with winegcc is not reproducible
- #46580 HoMM3 WOG: can't enter russian text speaking with sphynx
- #46702 GNUTLS_CURVE_TO_BITS not found
- #52221 GameMaker 8: Missing sound effects
- #53644 vbscript can not compile classes with lists of private / public / dim declarations
- #54752 RUN Moldex3D Viewer will Crash
- #55155 Telegram can not be run in latest version wine, but ok in wine6.0.4
- #56530 Final Fantasy XI Online: Memory leak when Wine is built with CFLAGS="-g -mno-avx".
- #56559 iologo launcher cannot download setup program
- #56658 When using Kosugi for vertical writing, some punctuation marks are not placed correctly.
- #56703 Crash when installing Rhinoceros 8.6
- #56876 Paint Tool SAIv2 VirtualAlloc invalid address on commit
- #57191 Flickering image on Video-surveilance-Software
- #57338 wine-gecko/wine-mono don't cache their installers if using a username with unicode characters
- #57360 Wrong Combobox dropdown in 7zFM
- #57529 reMarkable application crash on new winehq-devel 10 RC1
- #57563 vbscript: mid() throws when passed VT_EMPTY instead of returning empty string
- #57626 SteuerErklarung 2025 halts: windows 8 is not compatible
- #57650 osu! stable: Insert key to minimize to tray does not hide game window (regression)
- #57664 New problems with SudoCue under Win 10.0 rc5
- #57675 err:virtual:virtual_setup_exception stack overflow 3072 bytes addr 0x7bd5b54c stack 0x81100400
- #57689 Menus misplaced on X11 when using dual monitor with right monitor as primary
- #57690 .NET Framework 4.8 installer hangs
- #57692 No context menu in Reason (DAW)
- #57698 Reason's (DAW) dialog windows stopped registering mouse events and open at screen's right edge
- #57704 Compile Error since 10.0rc5+
- #57710 Cannot open main menu via keyboard in Reason (DAW)
- #57711 The 32-bit wpcap program has a stack leakage issue
- #57766 Win3_BIOS most likely should be Win32_BIOS instead
- #57787 Final Fantasy XI Online crashes with unhandled page fault on launch
- #57794 WinHTTP implementation assumes HTTP response has a status text
### Changes since 10.0:
```
Akihiro Sagawa (2):
gdi32/tests: Add tests for script-independent vertical glyph lookup.
win32u: Use the first vertical alternates table regardless of script.
Alex Henrie (20):
concrt140: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcirt: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcp60: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcp90: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
msvcrt: Annotate allocators with __WINE_(ALLOC_SIZE|DEALLOC|MALLOC).
ntdll: Return an error if count is zero in NtRemoveIoCompletionEx.
shell32/tests: Add tests for StrRetToStrN null termination.
shlwapi: Correct return value of StrRetToBuf on an invalid type.
shell32: Use StrRetToBuf instead of reimplementing it.
comdlg32: Use StrRetToBuf instead of reimplementing it.
hhctrl: Fix spelling of "local" in OnTopicChange.
tapi32: Use wide character string literals.
winhlp32: Use wide character string literals.
shlwapi: Use wide character string literals.
cryptui: Use wide character string literals.
hhctrl: Use wide character string literals.
urlmon: Make security zone names and descriptions translatable.
ieframe: Use wide character string literals.
hhctrl: Fix window class name in HH_CreateHelpWindow.
hhctrl: Make "Select Topic" window title translatable.
Alexandre Julliard (39):
shell32: Move some function prototypes to shlwapi.h.
winedump: Dump MUI resources.
wrc: Remove the unused res_count structure.
include: Mark global asm functions as hidden.
kernel32: Implement RegisterWaitForInputIdle().
wineps: Don't store the glyph name or encoding for individual glyphs.
wineps: Don't parse the glyph name or encoding when loading AFM files.
wineps: Remove some unused AFM values.
wineps: Use simple strings for glyph names.
win32u: Implement NtUserDestroyCaret().
win32u: Implement NtUserReleaseCapture().
win32u: Implement NtUserGetThreadState().
win32u: Implement NtUserCreateMenu() and NtUserCreatePopupMenu().
win32u: Implement NtUserEnumClipboardFormats().
win32u: Implement NtUserMessageBeep().
win32u: Implement NtUserPostQuitMessage().
win32u: Implement NtUserRealizePalette().
win32u: Implement NtUserReplyMessage().
win32u: Implement NtUserSetCaretBlinkTime().
win32u: Implement NtUserSetCaretPos().
win32u: Implement NtUserSetProcessDefaultLayout().
win32u: Implement NtUserGetClipCursor().
win32u: Implement NtUserArrangeIconicWindows().
win32u: Implement NtUserDrawMenuBar().
win32u: Implement NtUserGetWindowContextHelpId().
win32u: Implement NtUserSetProgmanWindow() and NtUserSetTaskmanWindow().
win32u: Implement NtUserEnableWindow().
win32u: Implement NtUserSetWindowContextHelpId().
win32u: Implement NtUserShowOwnedPopups().
win32u: Implement NtUserUnhookWindowsHook().
win32u: Implement NtUserValidateRgn().
winedbg: Remove unneeded wrap around checks.
winegcc: Always specify the output file name when there's no spec file.
kernel32/tests: Remove some workarounds for old Windows versions.
kernel32/tests: Add tests for language-specific manifest lookup.
ntdll: Implement language-specific manifest lookup.
server: Do not allow creating mailslots with zero access.
server: Do not allow creating named pipes with zero access.
server: Skip non-accessible threads in NtGetNextThread().
Alexandros Frantzis (1):
winewayland: Round the Wayland refresh rate to calculate the win32 display frequency.
Arkadiusz Hiler (1):
jscript: Fix JSON.stringify for arrays longer than 10.
Bernhard Übelacker (1):
kernel32/tests: Match the value in the debug message the test condition.
Billy Laws (1):
ntdll: Detect kernel support before using ARM64 ID regs.
Brendan McGrath (2):
mfplat/tests: Add audio tests for MFInitMediaTypeFromAMMediaType.
mfplat: Add support for audio with NULL format to MFInitMediaTypeFromAMMediaType.
Brendan Shanks (2):
winemac: [NSWindow setAlphaValue:] must be called from the main thread.
winemac: [NSWindow contentView] must be called from the main thread.
Conor McCarthy (2):
mfsrcsnk: Release object queue objects on destruction.
mfsrcsnk: Release the async request popped sample after sending it.
Damjan Jovanovic (1):
user32: Copy the clipboard format iterator's position when cloning it.
Daniel Lehman (4):
msvcp140/tests: Add more tests for _Mtx_t.
msvcp140: Fix field order in _Mtx_t.
include: Add signbit declarations for c++.
msvcp140: Add padding to _Cnd_t.
Dean M Greer (2):
documentation: Mac OS X became macOS from 10.12.
readme: Update mac info section.
Dmitry Timoshkov (31):
wldap32: Avoid crashes in interact_callback() if defaults is NULL.
wldap32: Add stub for ldap_get_option(LDAP_OPT_GETDSNAME_FLAGS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_GETDSNAME_FLAGS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_PROMPT_CREDENTIALS).
wldap32: Add stub for ldap_set_option(LDAP_OPT_REFERRAL_CALLBACK).
prntvpt: Also initialize dmDefaultSource field.
prntvpt: Forward BindPTProviderThunk to PTOpenProviderEx.
prntvpt: Forward UnbindPTProviderThunk to PTCloseProvider.
prntvpt: Implement ConvertDevModeToPrintTicketThunk2.
prntvpt: Implement GetPrintCapabilitiesThunk2.
prntvpt: Implement ConvertPrintTicketToDevModeThunk2.
prntvpt: Prefer builtin.
prntvpt: Add version resource.
kerberos: Update sizes to match modern implementations.
secur32: Update max token size for Negotiate.
prntvpt: Implement writing PageMediaSize capabilities.
prntvpt: Implement writing PageImageableSize capabilities.
crypt32: Add support for CryptMsgControl(CMSG_CTRL_ADD_CERT) to a being decoded message.
crypt32: Add szOID_APPLICATION_CERT_POLICIES to the list of supported critical extensions.
crypt32: Ignore CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG and CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG in CryptFindOIDInfo().
crypt32: Add support for CryptMsgControl(CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR) to a being decoded message.
crypt32: Add support for CryptMsgGetParam(CMSG_ENCRYPTED_DIGEST) to a being decoded signed message.
crypt32: Add support for CryptMsgControl(CMSG_CTRL_DEL_CERT) to a being decoded message.
crypt32: CertVerifyCertificateChainPolicy() extensions are registered under "EncodingType 0" key.
crypt32: Do not reject key usage data longer than 1 byte.
compstui: Add more string resources.
netapi32: Add stubs for DsGetDcOpenA/W.
wldap32: Use correct host when connecting to Kerberos DC.
wldap32: ldap_init() should resolve NULL hostname to default Kerberos DC.
wldap32/tests: Add some tests for LDAP authentication to a Kerberos DC.
prntvpt: Use Windows 10 version numbers.
Ekaterine Papava (1):
po: Update Georgian translation.
Elizabeth Figura (21):
msi: Fix a spelling error in the name of MigrateFeatureStates.
wined3d: Feed WINED3D_RS_POINTSIZE through a push constant buffer.
wined3d: Implement point size in the HLSL FFP pipeline.
wined3d: Implement vertex blending in the HLSL FFP pipeline.
wined3d: Feed bumpenv constants through a push constant buffer.
wined3d: Implement bumpenv mapping in the HLSL FFP pipeline.
wined3d: Implement colour keying in the HLSL FFP pipeline.
wined3d: Bind the right push constant buffers when FFP is toggled.
wined3d: Use ps_compile_args in shader_spirv_compile_arguments.
wined3d/spirv: Implement flat shading.
wined3d/glsl: Move legacy alpha test to shader_glsl_apply_draw_state().
wined3d: Feed alpha ref through a push constant buffer.
wined3d/spirv: Implement alpha test.
d3d9: Fix IUnknown delegation in IDirect3DDevice9On12.
wined3d: Do not disable point sprite in wined3d_context_gl_apply_blit_state().
wined3d: Do not toggle point sprite.
wined3d: Remove the redundant per_vertex_point_size from vs_compile_args.
wined3d: Remove FOGVERTEXMODE handling from find_ps_compile_args().
d3d11/tests: Remove the workaround for RTVs in test_nv12().
wined3d: Use the correct pitch when downloading Vulkan textures.
wined3d: Factor out a get_map_pitch() helper.
Eric Pouech (3):
include: Add some new definitions for dbghelp.h.
include: Add a couple of definitions to mscvpdb.h.
include: Use flexible array-member in some structure declarations.
Esme Povirk (5):
gdiplus: AddClosedCurve always starts a new subpath.
gdiplus: GdipAddPathPie always starts a new figure.
appwiz.cpl: Account for unicode characters in XDG_CACHE_HOME.
user32/tests: Move a todo into the message sequence.
user32/tests: Account for Wine sometimes duplicating WM_PAINT.
Etaash Mathamsetty (3):
wine.inf: Add UBR key.
winecfg: Add support for UBR key.
twinapi.appcore/tests: Fix broken registry query.
Fabian Maurer (4):
mlang: In GetFontCodePages add another null check (Coverity).
include: Add IConnectionProfile2.
windows.networking.connectivity: Add IConnectionProfile2 stubs.
windows.networking.connectivity: Fake success for IsWwanConnectionProfile and IsWlanConnectionProfile.
Francis De Brabandere (1):
vbscript: Support multiple class declarations on a single line.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.307.
Hans Leidekker (9):
xcopy: Fix handling of quoted filenames.
wpcap: Fix callback signature.
wine.inf: Pass command line arguments to msiexec.
wbemprox: Read Win32_PnPEntity values from the registry.
wbemprox: Implement Win32_PnPEntity.Service.
wbemprox/tests: Fix typo.
wbemprox: Fix allocation size.
ntdll: Stub NtQuerySystemInformation(SystemLeapSecondInformation).
winhttp: Accept server response without status text.
Herman Semenov (1):
msvcrt: Add missing TRACE_ON check.
Jacek Caban (1):
wdscore: Don't export C++ symbols.
Jactry Zeng (7):
include: Don't import .idl when DO_NO_IMPORTS is defined.
wintypes/tests: Add interface tests.
wintypes: Reimplement Windows.Foundation.Metadata.{ApiInformation,PropertyValue} separately.
wintypes: Stub of Windows.Storage.Streams.DataWriter runtimeclass.
wintypes: Return S_OK from data_writer_activation_factory_ActivateInstance().
wintypes: Stub of Windows.Storage.Streams.RandomAccessStreamReference runtimeclass.
wintypes: Stub of IRandomAccessStreamReferenceStatics interface.
Jeff Smith (2):
windowscodecs: Make values returned from CanConvert consistent.
windowscodecs: Simplify png_decoder_get_metadata_blocks using realloc.
Jinoh Kang (3):
ntoskrnl.exe: Fix IRQL mismatch between cancel spin lock acquire and release.
kernel32/tests: Use win_skip() for missing PrefetchVirtualMemory API.
ntdll: Fix syscall_cfa offset in user_mode_abort_thread for ARM64.
Makarenko Oleg (2):
dinput/tests: Add more tests for force feedback.
dinput: Clamp FFB effect report value to the field range.
Marc-Aurel Zent (1):
server: Use setpriority to update thread niceness when safe.
Mohamad Al-Jaf (10):
windows.networking.hostname: Guard against WindowsDuplicateString() failure.
windows.ui: Stub IUISettings3::add_ColorValuesChanged().
windows.ui: Stub IUISettings3::remove_ColorValuesChanged().
windows.ui.xaml: Add stub dll.
windows.ui.xaml: Add IColorHelperStatics stub interface.
windows.ui.xaml/tests: Add IColorHelperStatics::FromArgb() tests.
windows.ui.xaml: Implement IColorHelperStatics::FromArgb().
include: Add d3d9on12.idl file.
d3d9: Implement Direct3DCreate9On12().
d3d9/tests: Add Direct3DCreate9On12() tests.
Nikolay Sivov (43):
oleaut32/tests: Use correct constants for IStream::Seek().
windowscodecs/tests: Use correct constants for IStream::Seek().
windowscodecs/metadata: Use correct constants for IStream::Seek().
windowscodecs/ddsformat: Use correct constants for IStream::Seek().
d2d1: Use correct constants for IStream::Seek().
dmloader: Use correct constants for IStream::Seek().
kernel32/tests: Use correct constants for SetFilePointer().
wintrust: Use correct constants for SetFilePointer().
storage: Use correct constants for SetFilePointer().
krnl386: Use correct constants for SetFilePointer().
shell32: Use correct constants for SetFilePointer().
dmloader: Use correct constants for SetFilePointer().
include: Update with newer Direct2D types.
include: Update with newer DirectWrite types.
propsys/tests: Add some tests for PropVariantChangeType(VT_UI4).
propsys: Implement PropVariantToStringAlloc(VT_UI2).
propsys: Implement PropVariantToStringAlloc(VT_I4).
propsys: Implement PropVariantToStringAlloc(VT_I2).
propsys: Implement PropVariantToStringAlloc(VT_I1).
propsys: Implement PropVariantToStringAlloc(VT_UI1).
propsys: Implement PropVariantToStringAlloc(VT_UI4).
propsys: Implement PropVariantToStringAlloc(VT_I8).
propsys: Implement PropVariantToStringAlloc(VT_UI8).
propsys: Remove FIXME() from PropVariantChangeType().
windowscodecs/metadatahandler: Implement GetPersistOptions().
windowscodecs/metadatahandler: Implement GetStream().
windowscodecs/metadata: Add registration information for the Gps reader.
windowscodecs/metadata: Add registration information for the Exif reader.
windowscodecs/metadata: Add initial implementation of the App1 reader.
po: Update some Russian strings.
windowscodecs: Move component info registry key cleanup to a common failure path.
windowscodecs: Move an hkey handle to the component info base structure.
windowscodecs: Add a stub for IWICMetadataWriterInfo.
windowscodecs/metadata: Add registration information for the "Unknown" writer.
windowscodecs/metadata: Add a stub for WICUnknownMetadataWriter.
windowscodecs/metadata: Add a stub for WICGpsMetadataWriter.
windowscodecs/metadata: Add a stub for WICExifMetadataWriter.
windowscodecs/metadata: Add a stub for WICIfdMetadataWriter.
windowscodecs: Fix a typo in metadata readers registration helper.
windowscodecs: Remove redundant guid-to-string conversion when writing readers registration entries.
winhttp: Check for the end of the text when stripping trailing newlines from headers (ASan).
gdiplus/tests: Extend a GdipGetPathGradientBlend() test with excessive output buffer size.
gdiplus: Use actual blend count for output copies in GdipGetPathGradientBlend() (ASan).
Paul Gofman (37):
crypt32: Factor out CRYPT_RegDeleteFromReg().
crypt32: Factor out CRYPT_SerializeContextToReg().
crypt32: Don't output the whole chains from check_and_store_certs().
crypt32: Do not use temporary store for updating root certificates.
crypt32: Do not delete root certs which were not imported from host in sync_trusted_roots_from_known_locations().
crypt32/tests: Add more tests for VerifyCertChainPolicy().
crypt32: Fix some error codes in verify_ssl_policy().
crypt32: Check CERT_TRUST_REVOCATION_STATUS_UNKNOWN instead of CERT_TRUST_IS_OFFLINE_REVOCATION in verify_ssl_policy().
crypt32: Favour CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG in verify_ssl_policy().
crypt32: Only mind end certificate when checking revocation status in verify_ssl_policy().
crypt32: Favour CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG in verify_ssl_policy().
crypt32: Use correct tag for OCSP basic response extensions.
crypt32: Use correct tag for OCSP single response extensions.
cryptnet: Retry OCSP request with POST if GET failed.
cryptnet: Do not perform OCSP requests with CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION flag.
ntdll: Add NtConvertBetweenAuxiliaryCounterAndPerformanceCounter() function.
kernelbase: Add ConvertAuxiliaryCounterToPerformanceCounter() / ConvertPerformanceCounterToAuxiliaryCounter().
wine.inf: Add Explorer\FileExts registry key.
win32u: Generate mouse events in the server when releasing capture.
server: Don't send WM_MOUSEMOVE for zero movement in queue_mouse_message().
crypt32: Release cert context in CertDeleteCertificateFromStore().
crypt32: Factor out memstore_free_context() function.
crypt32: Don't try to release zero-refcount context in MemStore_addContext().
crypt32: Release existing cert context in add_cert_to_store().
crypt32: Only remove cert from mem store list when deleting it.
crypt32/tests: Add a test for deleting and adding certs during enumeration.
crypt32: Don't assert in Context_Release() on invalid refcount.
win32u: Nullify surface hwnd when detaching Vulkan surface.
win32u: Check for NULL hwnd before calling vulkan_surface_presented() driver callback.
win32u: Don't invalidate existing Vulkan surface when a new one is created for window.
winex11: Attach currently active Vulkan onscreen surface in vulkan_surface_update_offscreen().
crypt32/tests: Avoid use after free in testEmptyStore().
win32u: Implement NtUserGetCurrentInputMessageSource().
winex11: Update window shape before putting surface image.
winex11.drv: Pass visual to is_wxrformat_compatible_with_visual.
winex11.drv: Choose alpha-enabled xrender format for argb drawables.
ntdll: Zero terminate return string for NtQueryInformationProcess( ProcessImageFileName[Win32] ).
Piotr Caban (10):
propsys: Add PropVariantGetStringElem implementation.
ole32: Support all PROPVARIANT vector types in propertystorage_get_elemsize.
ole32: Update read offset in propertystorage_read_scalar helper.
ole32: Pass MemoryAllocator class to PropertyStorage_ReadProperty.
ole32: Support more vector datatypes when reading property storage.
ole32: Add support for reading VT_VECTOR|VT_VARIANT property.
ole32: Add support for reading VT_R4 property.
ole32: Fix IPropertyStorage::ReadMultiple return value when some properties are missing.
ole32: Set property storage clsid on creation.
msvcr120: Remove MSVCR120_ prefix from creal().
Piotr Morgwai Kotarbinski (2):
wined3d: Add Nvidia RTX30xx series desktop models data.
wined3d: Add Nvidia RTX40xx series desktop models data.
Rémi Bernon (5):
winex11: Allow Withdrawn requests to override Iconic <-> Normal transitions.
winex11.drv: Use get_win_data directly in X11DRV_GetDC.
server: Introduce new set_thread_priority helper.
ntdll: Set RLIMIT_NICE to its hard limit.
server: Check wineserver privileges on init with -20 niceness.
Sebastian Scheibner (2):
wineboot: Add dummy entry for SystemBiosDate.
explorerframe: Return S_OK in more ITaskbarList3 functions.
Shaun Ren (6):
sapi: Adding missing interfaces for SpStream.
sapi: Implement ISpStream::Set/GetBaseStream.
sapi: Implement ISpStream::Close.
sapi: Implement ISpStream::GetFormat.
sapi: Implement IStream methods for SpStream.
sapi: Remove some unnecessary traces.
Stefan Dösinger (6):
wined3d: Support WINED3DFMT_B5G5R5A1_UNORM in the Vulkan backend.
wined3d: Use VK_FORMAT_R4G4B4A4_UNORM_PACK16 for WINED3DFMT_B4G4R4A4_UNORM.
gdi32: Windows adds an extra 4 bytes to EMREXTCREATEPEN.
gdi32: Set EMREXTCREATEPEN offBmi and offBits.
gdi32: EMREXTCREATEPEN contains a 32 bit EXTLOGPEN.
gdi32/tests: Add an EMREXTCREATEPEN test.
Stéphane Bacri (4):
msvcr120: Fix _Cbuild signature.
msvcr120: Add cimag() implementation.
msvcr120: Add _FCbuild() implementation.
msvcr120: Add crealf() and cimagf() implementation.
Tim Clem (1):
imm32: Always validate the IME UI window when painting.
Vibhav Pant (6):
bluetoothapis/tests: Add tests for BluetoothGetRadioInfo.
bluetoothapis: Implement BluetoothGetRadioInfo.
bluetoothapis: Add stubs for BluetoothIsConnectable, BluetoothIsDiscoverable.
bluetoothapis/tests: Add tests for BluetoothIsConnectable, BluetoothIsDiscoverable.
bluetoothapis: Implement BluetoothIsConnectable.
bluetoothapis: Implement BluetoothIsDiscoverable.
William Horvath (2):
ntdll/tests: Add tests for NtDelayExecution and Sleep(Ex).
ntdll: Fix the return value of NtDelayExecution.
Yuxuan Shui (2):
dmime: Handle IStream EOF correctly in MIDI parser.
dmime: Connect default collection to MIDI bandtrack.
Zhiyi Zhang (32):
d2d1/tests: Add ID2D1Device2_GetDxgiDevice() tests.
d2d1: Remove an unnecessary cast in d2d_device_context_init().
d2d1: Implement d2d_device_GetDxgiDevice().
include: Add splay link tree helpers.
ntdll: Implement RtlSubtreePredecessor().
ntdll/tests: Add RtlSubtreePredecessor() tests.
ntdll: Implement RtlSubtreeSuccessor().
ntdll/tests: Add RtlSubtreeSuccessor() tests.
ntdll: Implement RtlRealPredecessor().
ntdll/tests: Add RtlRealPredecessor() tests.
ntdll: Implement RtlRealSuccessor().
ntdll/tests: Add RtlRealSuccessor() tests.
win32u: Allocate a separate user buffer when packing a large WM_COPYDATA message for user32.
user32/tests: Add tests for WM_COPYDATA.
ntdll: Implement RtlSplay().
ntdll/tests: Add RtlSplay() tests.
ntdll: Implement RtlDeleteNoSplay().
ntdll/tests: Add RtlDeleteNoSplay() tests.
ntdll: Implement RtlDelete().
ntdll/tests: Add RtlDelete() tests.
light.msstyles: Use light blue as hot tracking color instead of grey.
include: Fix PRTL_GENERIC_ALLOCATE_ROUTINE prototype.
ntdll/tests: Add RtlInitializeGenericTable() tests.
ntdll/tests: Add RtlNumberGenericTableElements() tests.
ntdll: Implement RtlIsGenericTableEmpty().
ntdll/tests: Add RtlIsGenericTableEmpty() tests.
ntdll: Implement RtlInsertElementGenericTable().
ntdll: Implement RtlDeleteElementGenericTable().
ntdll/tests: Add RtlInsertElementGenericTable() tests.
ntdll/tests: Add RtlDeleteElementGenericTable() tests.
ntdll: Implement RtlLookupElementGenericTable().
ntdll/tests: Add RtlLookupElementGenericTable() tests.
Zsolt Vadasz (1):
ntdll: Add a character map name for Shift JIS.
```
1
0
The Wine team is proud to announce that the stable release Wine 10.0
is now available.
This release represents a year of development effort and over 6,000
individual changes. It contains a large number of improvements that
are listed below. The main highlights are the new ARM64EC
architecture and the high-DPI scaling support.
The source is available at <https://dl.winehq.org/wine/source/10.0/wine-10.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-10.0/AUTHORS
## What's new in Wine 10.0
### ARM64
- The ARM64EC architecture is fully supported, with feature parity with the
ARM64 support.
- Hybrid ARM64X modules are fully supported. This allows mixing ARM64EC and
plain ARM64 code into a single binary. All of Wine can be built as ARM64X
by passing the `--enable-archs=arm64ec,aarch64` option to configure. This
still requires an experimental LLVM toolchain, but it is expected that the
upcoming LLVM 20 release will be able to build ARM64X Wine out of the box.
- The 64-bit x86 emulation interface is implemented. This takes advantage of
the ARM64EC support to run all of the Wine code as native, with only the
application's x86-64 code requiring emulation.
No emulation library is provided with Wine at this point, but an external
library that exports the emulation interface can be used, by specifying
its name in the `HKLM\Software\Microsoft\Wow64\amd64` registry key. The
[FEX emulator][4] implements this interface when built as ARM64EC.
- It should be noted that ARM64 support requires the system page size to be
4K, since that is what the Windows ABI specifies. Running on kernels with
16K or 64K pages is not supported at this point.
[4]: https://fex-emu.com
### Graphics
- High-DPI support is implemented more accurately, and non-DPI aware windows
are scaled automatically, instead of exposing high-DPI sizes to
applications that don't expect it.
- Compatibility flags are implemented to override high-DPI support, either
per-application or globally in the prefix.
- Vulkan child window rendering is supported with the X11 backend, for
applications that need 3D rendering on child windows. This was supported
with OpenGL already, and the Vulkan support is now on par.
- The Vulkan driver supports up to version 1.4.303 of the Vulkan spec. It
also supports the Vulkan Video extensions.
- Font linking is supported in GdiPlus.
### Desktop integration
- A new opt-in modesetting emulation mechanism is available. It is very
experimental still, but can be used to force display mode changes to be
fully emulated, instead of actually changing the display settings.
The windows are being padded and scaled if necessary to fit in the
physical display, as if the monitor resolution were changed, but no actual
modesetting is requested, improving user experience.
- A new Desktop Control Panel applet `desk.cpl` is provided, to inspect and
modify the display configuration. It can be used as well to change the
virtual desktop resolution, or to control the new emulated display
settings.
- Display settings are restored to the default if a process crashes without
restoring them properly.
- System tray icons can be completely disabled by setting `NoTrayItemsDisplay=1`
in the `HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer`
key.
- Shell launchers can be disabled in desktop mode by setting `NoDesktop=1`
in the `HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer`
key.
### Direct3D
- The GL renderer now requires GLSL 1.20, `EXT_framebuffer_object`, and
`ARB_texture_non_power_of_two`. The legacy ARB shader backend is no longer
available, and the `OffscreenRenderingMode` setting has been removed.
- Shader stencil export is implemented for the GL and Vulkan renderers.
- A HLSL-based fixed function pipeline for Direct3D 9 and earlier is
available, providing support for fixed function emulation for the Vulkan
renderer. It can also be used for the GL renderer, by setting the D3D
setting `ffp_hlsl` to a nonzero value using the registry or the
`WINE_D3D_CONFIG` environment variable.
- The Vulkan renderer uses several dynamic state extensions, if available,
with the goal of reducing stuttering in games.
- An alternative GLSL shader backend using vkd3d-shader is now available,
and can be selected by setting the D3D setting `shader_backend` to
`glsl-vkd3d`. Current vkd3d-shader GLSL support is incomplete relative to
the built-in GLSL shader backend, but is being actively developed.
### Direct3D helper libraries
- Initial support for compiling Direct3D effects is implemented using
vkd3d-shader.
- D3DX 9 supports many more bump-map and palettized formats.
- D3DX 9 supports saving palettized surfaces to DDS files.
- D3DX 9 supports mipmap generation when loading volume texture files.
- D3DX 9 supports reading 48-bit and 64-bit PNG files.
### Wayland driver
- The Wayland graphics driver is enabled by default, but the X11 driver
still takes precedence if both are available. To force using the Wayland
driver in that case, make sure that the `DISPLAY` environment variable is
unset.
- Popup windows should be positioned correctly in most cases.
- OpenGL is supported.
- Key auto-repeat is implemented.
### Multimedia
- A new opt-in FFmpeg-based backend is introduced, as an alternative to the
GStreamer backend. It is intended to improve compatibility with Media
Foundation pipelines. It is still in experimental stage though, and more
work will be needed, especially for D3D-aware playback. It can be enabled
by setting the value `DisableGstByteStreamHandler=1` in the
`HKCU\Software\Wine\MediaFoundation` registry key.
- Media Foundation multimedia pipelines are more accurately implemented, for
the many applications that depend on the individual demuxing and decoding
components to be exposed. Topology resolution with demuxer and decoder
creation and auto-plugging is improved.
- DirectMusic supports loading MIDI files.
### Input / HID devices
- Raw HID devices with multiple top-level collections are correctly parsed,
and exposed as individual devices to Windows application.
- Touchscreen input and events are supported with the X11 backend, and basic
multi-touch support through the `WM_POINTER` messages is
implemented. Mouse window messages such as `WM_LBUTTON*`, `WM_RBUTTON*`,
and `WM_MOUSEMOVE` are also generated from the primary touch events.
- A number of USER32 internal structures are stored in shared memory, to
improve performance and reduce Wine server load by avoiding server
round-trips.
- An initial version of a Bluetooth driver is implemented, with some basic
functionality.
- The Joystick Control Panel applet `joy.cpl` enables toggling some advanced
settings.
- The Dvorak keyboard layout is properly supported.
### Internationalization
- Locale data is generated from the Unicode CLDR database version 46. The
following additional locales are supported: `kaa-UZ`, `lld-IT`, `ltg-LV`,
and `mhn-IT`.
- Unicode character tables are based on version 16.0.0 of the Unicode
Standard.
- The timezone data is based on version 2024a of the IANA timezone database.
### Internet and networking
- The JavaScript engine supports a new object binding interface, used by
MSHTML to expose its objects in a standard-compliant mode. This eliminates
the distinction between JavaScript objects and host objects within the
engine, allowing scripts greater flexibility when interacting with MSHTML
objects.
- Built-in MSHTML functions are proper JavaScript function objects, and
other properties use accessor functions where appropriate.
- MSHTML supports prototype and constructor objects for its built-in
objects.
- Function objects in legacy MSHTML mode support the `call` and `apply`
methods.
- The JavaScript garbage collector operates globally across all script
contexts within a thread, improving its accuracy.
- JavaScript ArrayBuffer and DataView objects are supported.
### RPC / COM
- RPC/COM calls are fully supported on ARM platforms, including features
such as stubless proxies and the typelib marshaler.
- All generated COM proxies use the fully-interpreted marshaling mode on all
platforms.
### C runtime
- C++ exceptions and Run-Time Type Information (RTTI) are supported on ARM
platforms.
- The ANSI functions in the C runtime support the UTF-8 codepage.
### Kernel
- Process elevation is implemented, meaning that processes run as a normal
user by default but can be elevated to administrator access when required.
- Disk labels are retrieved from DBus when possible instead of accessing the
raw device.
- Mailslots are implemented directly in the Wine server instead of using a
socketpair, to allow supporting the full Windows semantics.
- Asynchronous waits for serial port events are reimplemented. The previous
implementation was broken by the PE separation work in Wine 9.0.
- The full processor XState is supported in thread contexts, enabling
support for newer vector extensions like AVX-512.
### macOS
- When building with Xcode >= 15.3 on macOS, the preloader is no longer
needed.
- Syscall emulation for applications doing direct NT syscalls is supported
on macOS Sonoma and later.
### Builtin applications
- The input parser of the Command Prompt tool `cmd` is rewritten, which
fixes a number of long-standing issues, particularly with variable
expansion, command chaining, and FOR loops.
- The Wine Debugger `winedbg` uses the Capstone library to enable
disassembly on all supported CPU types.
- The File Comparison tool `fc` supports comparing files with default
options.
- The `findstr` application supports regular expressions and case
insensitive search.
- The `regsvr32` and `rundll32` applications can register ARM64EC modules.
- The `sort` application is implemented.
- The `where` application supports searching files with default options.
- The `wmic` application supports an interactive mode.
### Miscellaneous
- The ODBC library supports loading Windows ODBC drivers, in addition to
Unix drivers that were already supported through libodbc.so.
- Optimal Asymmetric Encryption Padding (OAEP) is supported for RSA
encryption.
- Network sessions are supported in DirectPlay.
### Development tools
- The IDL compiler generates correct format strings in interpreted stubs
mode (`/Oicf` in midl.exe) on all platforms. Interpreted mode is now the
default, the old mixed-mode stub generation can be selected with `widl
-Os`.
- The IDL compiler can generate typelibs in the old SLTG format with the
`--oldtlb` command-line option.
- The `winegcc` and `winebuild` tools can create hybrid ARM64X modules with
the `-marm64x` option.
- The `winedump` tool supports dumping minidump tables, C++ exception data,
CLR tables, and typelib resources.
### Build infrastructure
- The `makedep` tool generates a standard-format `compile_commands.json`
file that can be used with various IDEs.
- Using `.def` files as import libraries with `winegcc` is no longer
supported, all import libraries need to be in the standard `.a` format. If
necessary, it is possible to convert a `.def` library to `.a` format using
`winebuild --implib -E libfoo.def -o libfoo.a`.
- Static analysis is supported using the Clang Static Analyzer. It can be
enabled by passing the `--enable-sast` option to configure. This is used
to present Code Quality reports with the Gitlab CI.
### Bundled libraries
- The Capstone library version 5.0.3 is bundled and used for disassembly
support in the Wine Debugger, to enable disassembly of ARM64 code. This
replaces the bundled Zydis library, which has been removed.
- Vkd3d is updated to the upstream release [1.14][5].
- Faudio is updated to the upstream release 24.10.
- FluidSynth is updated to the upstream release 2.4.0.
- LDAP is updated to the upstream release 2.5.18.
- LCMS2 is updated to the upstream release 2.16.
- LibJpeg is updated to the upstream release 9f.
- LibMPG123 is updated to the upstream release 1.32.9.
- LibPng is updated to the upstream release 1.6.44.
- LibTiff is updated to the upstream release 4.7.0.
- LibXml2 is updated to the upstream release 2.12.8.
- LibXslt is updated to the upstream release 1.1.42.
- Zlib is updated to the upstream release 1.3.1.
[5]: https://gitlab.winehq.org/wine/vkd3d/-/releases/vkd3d-1.14
### External dependencies
- The FFmpeg libraries are used to implement the new Media Foundation
backend.
- A PE cross-compiler is required for 32-bit ARM builds, pure ELF builds are
no longer supported (this was already the case for 64-bit ARM).
- Libunwind is no longer used on ARM platforms since they are built as
PE. It's only used on x86-64.
1
0
The Wine development release 10.0-rc6 is now available. This is
expected to be the last release candidate before the final 10.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/10.0/wine-10.0-rc6.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.0-rc6/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc6 (total 18):
- #47036 C&C Red Alert 2 Yuri's Revenge missing graphical elements
- #48501 U.S. Naval Observatory MICA2 software has annoying error message upon closing
- #50398 Microsoft Office XP 2002 installer shows "Error 25504. Failed to set Feature xyz to the install state of Feature xyz for mode 2." message boxes since Wine 2.12
- #53567 The Medium crashes when starting new game
- #53891 user32:msg - test_swp_paint_regions() fails on Windows 7
- #55263 Boulder Remake doesn't recognise arrow keys (other keys work)
- #56452 Wingdings font seems not to be found; regression test done
- #57019 wineboot crashes in create_bios_processor_values() on 2013 Mac Pro
- #57076 Harmony Assistant 9.9.8d (64 bit) reports missing stoccata.ttf font on startup
- #57077 Micrografx Window Draw 4.0a crashes when backspacing while editing freeform text object
- #57179 File uploads in Hotline Client 1.2.3 hang after about 200 KB
- #57312 Rebuild 3: Broken texture filtering
- #57579 Deformed symbols in LTSpice
- #57610 No windows are shown when using a dual monitor setup
- #57632 fallout 3 radio broke with gstreamer 1.24.10 (9.22 silent, 10rc4 stalls)
- #57652 Some windows have cut bottom and right sides
- #57657 Null pointer dereference in traces
- #57661 Port Royale 2: black screen during intro videos
### Changes since 10.0-rc5:
```
Alexandre Julliard (3):
ieframe/tests: Fix more property change errors for the new test.winehq.org server.
wshom.ocx/tests: Mark a failing tests as todo.
winebth.sys: Don't print an error when Bluetooth is not available.
Bernhard Übelacker (2):
gdiplus/tests: Fix use-after-free of a graphics object (ASan).
kernel32/tests: Avoid stack buffer overflow in get_com_dir_size (ASan).
Elizabeth Figura (2):
msi/tests: Test msidbFeatureAttributesDisallowAdvertise.
msi: Set features to absent if advertising is disallowed.
Esme Povirk (1):
gdiplus/tests: Trace locked bitmap data on failure.
Rémi Bernon (5):
gdi32: Avoid crashing when tracing NULL xform.
configure: Use per-architecture cross flags if they are provided.
winex11: Adjust requested visible rect relative to the previous position.
winex11: Always blit offscreen over any other onscreen clients.
mf/topology_loader: Avoid modifying downstream media type when attempting to connect.
Santino Mazza (1):
gdiplus: Check for MapFont result in generate_font_link_info.
Zhiyi Zhang (1):
winex11.drv: Fix display name in X11DRV_UpdateDisplayDevices().
```
1
0
The Wine development release 10.0-rc5 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/10.0/wine-10.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-10.0-rc5/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc5 (total 31):
- #38975 Alpha Protocol launcher: menu options hidden behind grey boxes
- #48737 Microsoft Golf 2.0 demo crashes on startup
- #52542 NVIDIA GeForceNow Installer fails due to rundll32 problems
- #53352 Redefinition of typedef ‘D2D1_PROPERTY_BINDING’ breaks compilation with gcc 4.3.4
- #54717 dbghelp:dbghelp - SymRefreshModuleList() sometimes returns STATUS_INFO_LENGTH_MISMATCH on Windows
- #56205 The Egyptian Prophecy: The Fate of Ramses: text displayed without transparency
- #56474 Crowns and Pawns: Graphic bugs
- #56523 The Dark Pictures Anthology: Man of Medan hangs/crashes after company logo
- #56605 V-Rally 4 crashes right before starting a race
- #56627 Direct3D applications run out of memory on Windows XP
- #56770 Geneforge 4: stuttering in character and mouse movement
- #56886 Wincatalog can't scan folders
- #57207 Fallout 3: Regression spams console with errors
- #57274 Regression causing Obduction to hang and exit
- #57306 Multiple programs crash due to memory corruption since 5924ab4c515 (Nikon NX studio, Profit, Falcosoft's Soundfont Midi Player, IBExpert)
- #57333 Civilization IV fails to start (XML load Error)
- #57409 Interactivity The Interactive Experience from itch.io deadlocks (regression)
- #57476 Methods arguments attributes are missing from dwrite.idl
- #57522 Voltage sources have the wrong shapes in Micro-Cap 12.2.0.5 on Wine 9.21 and later
- #57549 Fighter Factory 3: Window Graphics don't display correctly after prolonged use.
- #57550 Geneforge 4 complains about resolution and crashes when run in virtual desktop
- #57551 10-rc2 regression: MS Office 2007/2010: some dialogs are only ~1/4 visible
- #57558 joy.cpl xinput joysticks circles are cropped by 1px on the bottom
- #57566 Silent crash for application attempting to use RSA
- #57582 Eschalon Book I: launcher menu flickering
- #57583 Truncated popup
- #57584 8-bit color mode is broken in Wine 9.11 and later
- #57599 HyperBall Shareware: black screen (regression)
- #57601 Touchscreen input broken for x11drv/mouse.c
- #57636 Black screen in menu until button click in Age of Empires
- #57649 call .bat doesn't propagate errorlevel
### Changes since 10.0-rc4:
```
Alexandre Julliard (7):
shell32: Look for the file name without extension also for the path search case.
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.
ieframe/tests: Allow more property changes with the new test.winehq.org server.
win32u: Fix stack corruption in NtUserScrollDC.
Anton Baskanov (2):
ddraw/tests: Test that releasing a primary surface invalidates the window.
ddraw: Invalidate the window when the primary surface is released.
Bernhard Übelacker (2):
d3dx9_36/tests: Fix test data buffer underflow (ASan).
gdi32: Explicitly check for negative text length in GetTextExtentExPointW().
Billy Laws (1):
ntdll: Emulate mrs xN, CurrentEL instructions.
Brendan McGrath (1):
mfmediaengine: Fix maths in scaling check.
Brendan Shanks (2):
wineboot: Correctly handle SMBIOS tables older than v3.0.
ntdll: On macOS, only use actual SMBIOS tables if they are v2.5 or higher.
Connor McAdams (1):
quartz/dsoundrender: Restart the render thread when clearing EOS in dsound_render_sink_end_flush().
Conor McCarthy (1):
mf: Do not clean up a session op if it was submitted to a work queue.
Dmitry Timoshkov (4):
rsaenh/tests: Add some tests for RC4 salt.
rsaenh/tests: Add a test for RC4 session key.
rsaenh/tests: Make RC4 tests more distinct.
rsaenh: CPGenKey() shouldn't generate RC4 key salt if not requested.
Elizabeth Figura (13):
Revert "win32u: Forward to Rectangle() if the ellipse width or height is zero.".
Revert "win32u: Do not convert back to integer before finding intersections.".
Revert "win32u: Correctly handle transforms which flip in get_arc_points().".
Revert "win32u: Normalize inverted rectangles in dibdrv_RoundRect().".
Revert "win32u: Always select the point that's closer to the ellipse.".
Revert "win32u: Allocate the whole max_points for the top_points array.".
Revert "win32u: Implement drawing transformed round rectangles.".
Revert "win32u: Implement drawing transformed arcs.".
gdi32: Trace more functions.
gdi32/tests: Add some arc tests.
ddraw/tests: Test preservation of the X channel when clearing.
wined3d: Separate a cpu_blitter_clear_texture() helper.
ddraw: Clear sysmem textures on the CPU.
Eric Pouech (4):
cmd/tests: Add more tests.
cmd: Skip trailing white spaces in FOR's option.
cmd: Fix some CALL errorlevel propagation.
cmd: Don't return syntax error code on empty lines.
Esme Povirk (1):
gdiplus: Use font linking only for missing glyphs.
Francis De Brabandere (3):
vbscript/tests: Refactor Mid() error tests.
vbscript: Fix Mid() empty and null handling.
vbscript: Remove trailing semicolon in parser.
Gabriel Ivăncescu (1):
winex11: Respect swp_flags when syncing window position.
Jactry Zeng (1):
po: Update Simplified Chinese translation.
Lauri Kenttä (2):
documentation: Update Linux and Mac OS X versions.
po: Update Finnish translation.
Nikolay Sivov (1):
include: Fix method arguments annotations in dwrite.idl.
Paul Gofman (5):
ddraw/tests: Test state application on multiple devices.
ddraw: Factor out d3d_device_apply_state().
ddraw: Correctly apply state when multiple devices are used.
winex11: Flush display when presenting offcreen drawable from wglFlush / wglFinish.
winex11: Call glFinish() when presenting offscreen drawable from wglFlush.
Rémi Bernon (5):
winex11: Check window region instead of forcing offscreen on parent.
winebus: Ignore unsupported hidraw touchscreen devices.
winex11: Map mouse/touch event coordinates even without a hwnd.
win32u: Initialize dibdrv info from the surface color bitmap.
winex11: Always fill the window surface color info.
Santino Mazza (1):
mmdevapi/tests: Fix audio clock adjustment tests failing in testbot.
William Horvath (1):
winex11: Use the win32 client rect in needs_client_window_clipping.
```
1
0
The Wine development release 10.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/10.0/wine-10.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-10.0-rc4/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc4 (total 13):
- #37372 Unexpected order of results in wildcard expansion
- #48877 Melodyne crashes when using the Pitch tool
- #51656 Gaea Installer crashes in riched when pressing enter
- #52447 64-bit .NET framework 2.0 installer hangs while generating/installing native images of 'System.Windows.Forms' assembly into GAC
- #53405 Into The Breach freezes when enabling fullscreen
- #54342 ws2_32:sock - test_WSARecv() sometimes fails with "got apc_count 1." on Windows
- #56531 Final Fantasy XI Online: Some textures are transparent, malformed, or misplaced.
- #56533 Final Fantasy XI Online: Incorrect/corrupt textures shown on models.
- #56885 WinCatalog has a crash at startup
- #57248 Rhinoceros 8.11 installer crashes on start
- #57568 Arcanum (and many other titles) crashes on start
- #57577 Minimised applications are restored with -4 vertical pixels.
- #57587 10.0-rc1 regression (dsoundrender): no audio or hangs in some videos
### Changes since 10.0-rc3:
```
Alexandre Julliard (3):
Update copyright info for 2025.
ntdll: Set the processor architecture variable from the current arch.
xml: Disable the non-determinist schema check.
André Zwing (6):
bluetoothapis/tests: Don't test functions directly when reporting GetLastError().
kernel32/tests: Don't test functions directly when reporting GetLastError().
iphlpapi/tests: Don't test functions directly when reporting GetLastError().
msvcr120/tests: Don't test function directly when reporting GetLastError().
msvcp140/tests: Don't test function directly when reporting GetLastError().
msvcp120/tests: Don't test function directly when reporting GetLastError().
Bernhard Übelacker (7):
mfplat/tests: Fix copy-paste release calls.
dwrite: Avoid stack-buffer-overflow in arabic_setup_masks.
comctl32/tests: Fix test array size (ASan).
comctl32/tests: Use sufficient user data buffer in the Tab tests (ASan).
comctl32/tests: Mark a test as broken on Windows.
dwrite: Fix off-by-one clustermap indexing (ASan).
uiautomationcore: Fix a double-free of advisers array (ASan).
Elizabeth Figura (1):
qasf/dmowrapper: Acquire new output samples for each ProcessOutput() call.
Eric Pouech (1):
kernelbase: Don't free pathname if query failed.
Etaash Mathamsetty (1):
nsiproxy: Set rcv/xmit speed to 1000000 on linux.
Floris Renaud (1):
po: Update Dutch translation.
Jinoh Kang (1):
user32/tests: Force window to be visible in subtest_swp_paint_regions.
Piotr Caban (2):
msvcr120/tests: Skip _fsopen tests if file can't be created.
msvcp120/tests: Skip _Fiopen tests if file can't be created.
Rémi Bernon (6):
winex11: Improve GetWindowStateUpdates traces.
win32u: Check window state updates again after applying new state.
win32u: Don't overwrite dummy vulkan window.
win32u: Always update the surface regions in apply_window_pos.
server: Remove now unnecessary needs_update member.
winex11: Don't re-create the GL drawable if pixel format didn't change.
Zhiyi Zhang (2):
d2d1/tests: Remove a duplicate test.
dxgi: Support more feature levels in debug_feature_level().
```
1
0
The Wine development release 10.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/10.0/wine-10.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-10.0-rc3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc3 (total 15):
- #11674 Dual-core unsupported in WoW and SC2
- #49473 Chaos Legion videos are played upside down
- #52738 No keyboard input in "STREET CHAVES - O LUTADOR DA VILA"
- #56319 Parallel Port Tester won't start (fails to locate driver "System32\Drivers\inpoutx64.sys", but changing to absolute path works)
- #56348 Bricks: moving a brick causes it to rapidly alternate positions
- #56471 starting of native program with "start /unix ..." is broken
- #56632 Explorer cannot run any files in Windows ME compatibility mode (or below)
- #56714 Startopia is stuck on a black screen on launch
- #57227 IL-2 1946 crash at startup
- #57286 Dark Age of Camelot - camelot.exe required igd10umd32.dll but the .dll file is not found.
- #57319 Painting in a proprietary application is broken with vulkan renderer
- #57515 desktop mode did not show taskbar anymore
- #57523 PokerTracker 4: cannot launch anymore
- #57525 Systray icons cannot be interacted with
- #57541 CMake doesn't find toolchain
### Changes since 10.0-rc2:
```
Akihiro Sagawa (1):
po: Update Japanese translation.
Alanas Tebuev (1):
comctl32/tests: Initialize hwnd to NULL before calling rebuild_toolbar().
Alexandre Julliard (6):
ntdll: Align heap virtual allocations to a multiple of the page size.
shell32: Don't call AW functions internally.
shell32: Return the file itself without extension if it exists.
propsys/tests: Fix a test that fails on some Windows versions.
win32u/tests: Mark the foreground thread test as flaky.
advapi32/tests: Use the correct key handle in the notify thread.
Alistair Leslie-Hughes (1):
msxml3: Correct looping of Document Element node map.
Bernhard Übelacker (4):
server: Avoid crash when handle table is allocated but not yet filled.
crypt32: Avoid stack-use-after-scope in CSignedEncodeMsg_GetParam (ASan).
d3dx9_36/tests: Fix logging of expected bytes in check_vertex_components. (ASan).
xmllite/tests: Avoid buffer overflow by using LONG_PTR (ASan).
Elizabeth Figura (2):
wined3d: Add nop state entries for states now invalidated on the client side.
Revert "wined3d: Use bindless textures for GLSL shaders if possible.".
Eric Pouech (3):
cmd/tests: Add more tests about variable expansion.
cmd: Fix regression in variable search in expansion.
winedump: Fix variable overwrite when dumping exception.
Esme Povirk (1):
gdiplus: GdipPathAddRectangle should close the path.
Gerald Pfeifer (1):
capstone: Avoid GCC being treated as old VisualStudio.
Jacek Caban (1):
mshtml: Ignore Gecko events on detached nodes.
Louis Lenders (1):
kernelbase: Don't try to print the path in the FIXME in GetTempPath2.
Nikolay Sivov (9):
windowscodecs/tests: Added some tests for Exif and Gps IFDs embedded in App1 blob.
windowscodecs/tests: Add some tests for CreateMetadataWriterFromReader().
windowscodecs/tests: Add some tests for CreateMetadataWriter().
windowscodecs/tests: Add some tests for metadata stream objects handling.
windowscodecs/tests: Add loading tests for the writers.
windowscodecs/tests: Check persist options after Load().
windowscodecs: Fix a typo in interface name.
include: Add methods arguments annotations for DirectWrite types.
dwrite/tests: Allocate test inline objects dynamically.
Owen Rudge (2):
odbc32: Avoid crashing if str is null in debugstr_sqlstr.
odbc32: Add null pointer checks to update_result_lengths helpers.
Paul Gofman (2):
winex11: Use NtUserReleaseDC() with hdc.
server: Cleanup all the global hooks owned by terminating thread.
Rémi Bernon (5):
winex11: Sync gl drawable outside of the win_data mutex.
winex11: Use DCX_USESTYLE when checking DC clipping regions.
winex11: Move GL/VK offscreen if the clipping region is NULLREGION.
dinput: Copy the device format if the user format is a subset of it.
dinput: Check that the device format data fits in the user format data.
```
1
0
The Wine development release 10.0-rc2 is now available.
What's new in this release:
- Bug fixes only, we are in code freeze.
The source is available at <https://dl.winehq.org/wine/source/10.0/wine-10.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-10.0-rc2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc2 (total 21):
- #28861 Final Fantasy XI hangs after character selection
- #47640 No Man's Sky (Beyond) does not start anymore: Unable to initialize Vulkan (vkEnumerateInstanceExtensionProperties failed)
- #51998 Unable to start CloneCD
- #53453 Command & Conquer 3: Tiberium Wars - fails to start (splash screen not even shown)
- #54437 ntoskrnl.exe:ntoskrnl breaks test_rawinput() [(RIM|WM)_INPUT] in user32:input for non-English locales on Windows 7
- #55583 d3d8:device - test_wndproc() often is missing a WM_WINDOWPOSCHANGING in Wine
- #56056 Exiting IrfanView full screen mode creates a redundant task bar "Untitled window" item which is not clickable
- #56325 Prefix path string in wineboot dialog is cut off
- #56940 vs_community.exe halts:"The application cannot find one of its required files, possibly because it was unable to create it in the folder."
- #57216 Mouse wheel input in IL-2 1946 is not applied consistently to UI elements and throttle
- #57285 Foxit Reader - maximized view don't work properly
- #57384 The shareware installer for Daytona (16-bit) hangs at the end of installing.
- #57418 PlayOnline Viewer throws an application error at launch.
- #57442 Several applications: abnormal input delay with Wine
- #57481 Prey (2016) X11 fullscreen fails in 9.22
- #57503 World in conflict has a frozen screen - updating only when alt-tabbing out and in
- #57504 Possible regression with Unity3D games: Framedrops when moving cursor.
- #57506 Wine doesn't show any window
- #57524 Commit c9592bae7f475c1b208de0a72ed29e94e3017094 breaks VKB Gladiator HIDRAW support
- #57527 Drop-down list appears behind the main window
- #57530 Regression: Tiny extra form displays in Delphi programs
### Changes since 10.0-rc1:
```
Alexandre Julliard (7):
user32: Fixup forwarded functions on 32-bit.
ntoskrnl: Support relative driver paths.
ntoskrnl: Fix off-by-one error in buffer size.
wineboot: Always wrap the wait dialog text.
wineboot: Resize the wait dialog to accommodate the text size.
wineboot: Scale the wait dialog icon with the dialog size.
winetest: Filter out color escapes for junit output.
Eric Pouech (2):
dbghelp: Fix error handling in PDB/FPO unwinder.
dbghelp: Lower vector allocation for local variables.
Esme Povirk (1):
mscoree: Use correct variable for codebase path.
Gabriel Ivăncescu (1):
mshtml: Remove unused MutationObserver DISPID and related hook.
Gerald Pfeifer (1):
webservices: Rename a struct member from bool to boolean.
Jacek Caban (1):
configure: Define _load_config_used symbol in the cross-compiler test program.
Louis Lenders (1):
shell32: Remove trailing spaces in SHELL_execute.
Marcus Meissner (1):
ucrtbase/tests: Use correct size to GetEnvironmentVariableW.
Nikolay Sivov (8):
windowscodecs/tests: Use test context in a few metadata tests.
windowscodecs/tests: Add some tests for GetContainerFormats().
windowscodecs/tests: Use a helper instead of a macro.
windowscodecs/tests: Remove endianess compile time checks from the tests.
windowscodecs/tests: Move IFD data tests to a helper.
windowscodecs/tests: Run data test on the Exif reader.
windowscodecs/tests: Add some tests for the Gps reader.
windowscodecs/tests: Add some tests for the App1 reader.
Piotr Caban (1):
msvcrt: Don't leak find handle or error in _findfirst().
Rémi Bernon (17):
win32u: Skip updating the cache on driver load if we're already updating it.
win32u: Release the Win16 mutex when yielding in peek_message.
win32u: Copy the shape from the old surface when surface is recreated.
server: Force surface region update when window region is modified.
win32u: Extend display_lock CS around winstation check.
server: Add a winstation monitor update serial counter.
win32u: Use the winstation monitor update serial to detect updates.
winex11: Request window config when it needs to be raised.
winebus: Wait until the device is started before processing reports.
dmloader: Remove redundant flag.
winex11: Fixup window config size back to 0x0 if we've requested 1x1.
winex11: Always check if the GL drawable offscreen state needs to be changed.
winex11: Skip offscreening if the children don't require clipping.
dinput: Queue the relative wheel motion as event data.
explorer: Avoid hiding the taskbar if it's enabled.
server: Allow merging WM_MOUSEMOVE across internal messages.
winex11: Fix inconsistent coordinates when reparenting host window.
Vibhav Pant (3):
winebth.sys: Fix new bluetooth events being incorrect set due to variable shadowing.
winebth.sys: Set the Information field in the IRP's STATUS_BLOCK after handling IOCTL_BTH_GET_LOCAL_INFO.
winebth.sys: Use the correct byte-ordering for setting the radio's address property.
William Horvath (2):
include: Use inline assembly on Clang MSVC mode in YieldProcessor().
win32u: Check for driver events more often.
Zhiyi Zhang (1):
win32u: Use width and height to check if the display mode is vertical.
```
1
0
The Wine development release 10.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 10.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 10.0 as good as possible.
What's new in this release:
- Bundled vkd3d upgraded to version 1.14.
- Mono engine updated to version 9.4.0.
- Initial version of a Bluetooth driver.
- UTF-8 support in the C runtime functions.
- Support for split debug info using build ids.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.0/wine-10.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-10.0-rc1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.0-rc1 (total 17):
- #43172 IDirectPlay4::EnumConnections needs to support wide string in DPNAME structure
- #56109 Broken Radiobutton navigation (Up/Down, Accelerators) in several InnoSetup installers
- #56709 PackTouchHitTestingProximityEvaluation not located in USER32.dll when attempting to run Clip Studio Paint 3.0
- #56838 FL Studio 21 gui problem
- #57064 Bloodrayne 2 (legacy and Terminal Cut): graphical issue (foggy screen)
- #57308 Cannot load split debug symbols under /usr/lib/debug
- #57401 Dragon Unpacker crashes on both wine devel and staging
- #57411 Heroes of the Storm: screen sporadically flickers black
- #57431 Links 2003 Crashes
- #57437 PStart isn't showing a menu in the tray bar
- #57453 Regression: TWM: Cursor position offset in *some* programs.
- #57457 Mathcad 15 crashes when enter trace tab
- #57463 winebus always crashing with unknown since 8b41c2cfddba1f9973246f61e39d4a4d92912da5
- #57472 Systray support is broken in Wine 9.22
- #57474 Windows disappear irreversibly when are not shown on a virtual desktop
- #57477 After commit of 484c61111ef32d75dcf5cf1656b4469b4de3ec37 game could not launch with dxvk
- #57493 Mathcad 15 crashes on startup due to unhandled domdoc MaxElementDepth property
### Changes since 9.22:
```
Aida Jonikienė (6):
dsound: Handle NaN values in the 3D code.
dsound: Add an angle check for SetOrientation().
dsound/tests: Add NaN tests for floating-point 3D functions.
dsound: Add non-NaN value tests for SetOrientation().
winevulkan: Mirror function handling in vk_is_available_instance_function32().
winevulkan: Use WINE_UNIX_LIB instead of WINE_VK_HOST.
Alexandre Julliard (20):
ntdll: Initial version of NtContinueEx().
ntdll: Always return the handle from NtCreateIoCompletion().
server: Do not allow to open an existing mailslot in NtCreateMailslotFile.
server: Fix a token reference leak.
ntdll/tests: Remove some workarounds for old Windows versions.
ntdll/tests: Add tests for opening objects with zero access.
vkd3d: Import upstream release 1.14.
server: Use the correct handle allocation pattern for all object types.
win32u: Add some access rights when creating a desktop object.
server: Make CurrentControlSet a symlink in new prefixes.
ntdll: Make a debug channel dynamically settable only if there's no specified class.
taskmgr: Only list dynamically settable debug channels.
server: Only store a Unix name for regular files.
widl: Avoid unused variable warning.
configure: Correctly check the --enable-build-id option.
winegcc: Remove support for .def files as import libraries.
winebuild: Remove support for .def files as import libraries.
wrc: Use the correct error function for syntax errors.
server: Print signal names in traces.
ntdll: Move update_hybrid_metadata() to the ARM64EC backend.
Alfred Agrell (2):
dsound/tests: Add nonlooping SetNotificationPositions test.
dsound: Fix SetNotificationPositions at end of nonlooping buffer.
Alistair Leslie-Hughes (3):
include: Add _WIN32_WINNT_ version defines.
include: Add DB_VARNUMERIC struct.
include: Add SQL_C_TCHAR define.
Andrew Nguyen (1):
msxml3: Accept the domdoc MaxElementDepth property.
Anton Baskanov (2):
dplayx/tests: Test client side of GetMessageQueue() separately.
dplayx: Support DPMESSAGEQUEUE_RECEIVE in GetMessageQueue().
Billy Laws (5):
msi: Dynamically determine supported package architectures.
ntdll: Test more ARM64 brk instruction exception behaviour.
ntdll: Fix reported exception code for some brk immediates.
ntdll: Add arm64ec_get_module_metadata helper.
ntdll: Force redirect all ARM64EC indirect calls until the JIT is ready.
Brendan McGrath (2):
mfmediaengine: Implement the Simple Video Renderer.
mfmediaengine: Fallback to sample copy if scaling is required.
Brendan Shanks (3):
include: Use %fs/%gs prefixes instead of a separate .byte 0x64/.byte 0x65.
ntdll: Use %fs/%gs prefixes instead of a separate .byte 0x64/.byte 0x65.
ntdll: Use sched_getcpu instead of the getcpu syscall.
Conor McCarthy (12):
winegstreamer: Handle null transform in video IMediaObject::Flush().
winegstreamer: Handle null transform in video IMFTransform::ProcessMessage() DRAIN.
winegstreamer: Handle null transform in video IMFTransform::ProcessMessage() FLUSH.
winegstreamer: Handle null transform in WMA IMediaObject::Flush().
winegstreamer: Return the result code from media_source_Pause().
mf/tests: Add tests for shutting down a media source used in a session.
mf: Handle media source EndGetEvent() failure due to shutdown.
mf: Handle media source BeginGetEvent() failure due to shutdown.
mf: Handle media source event subscription failure due to source shutdown.
mf: Handle media source Start() failure due to source shutdown.
mf: Introduce IMFMediaShutdownNotify for notification of media source shutdown.
winegstreamer: Send media source shutdown notification via IMFMediaShutdownNotify.
Daniel Lehman (5):
msvcr120/tests: Add tests for _fsopen.
msvcp120/tests: Add tests for _Fiopen.
ucrtbase/tests: Add tests for _fsopen.
msvcp140/tests: Add tests for _Fiopen.
msvcp140: Call into fopen from _Fiopen.
Dmitry Timoshkov (1):
ntdll: Add NtFlushBuffersFileEx() semi-stub.
Dāvis Mosāns (1):
ntdll/tests: Unify APC test functions.
Elizabeth Figura (14):
wined3d: Use wined3d_texture_download_from_texture() even if the dst texture map binding is not valid.
wined3d: Beginnings of an HLSL FFP pixel shader implementation.
wined3d: Implement pretransformed varyings in the HLSL FFP pipeline.
wined3d: Take the depth buffer into account for HLSL pretransformed draws.
wined3d: Implement lighting in the HLSL FFP pipeline.
wined3d: Implement vertex fog in the HLSL FFP pipeline.
quartz/dsoundrender: Always treat samples as continuous if they are late or out of order.
quartz/dsoundrender: Remove the unused "tStop" argument to send_sample_data().
quartz/dsoundrender: Play non-discontinuous samples consecutively.
quartz/tests: Test whether the DirectSound renderer provides a position.
quartz/dsoundrender: Do not provide time to the passthrough.
quartz/dsoundrender: Do not ignore preroll samples.
quartz/dsoundrender: Queue samples and render them on a separate thread.
quartz/dsoundrender: Use send_sample_data() to fill the buffer with silence at EOS.
Eric Pouech (11):
kernel32: Add tests for checking the exit code of default ctrl-c handlers.
kernelbase: Fix exit code for default ctrl-c handler.
ntdll/tests: Fix format warning with clang.
configure: Properly test clang for dwarf support.
winegcc: Remap build-id linker option for clang.
configure: Use -Wl,--build-id unconditionally if requested.
configure: Don't add -Wl,--build-id linker option to CFLAGS.
dbghelp: Extend search for buildid in system directories.
dbghelp: Search debug info with buildid for RSDS debug entry w/o filenames.
server: Ensure in pending delete on close that path to unlink are unique.
winedbg: Add support for dynamic debug channel.
Esme Povirk (1):
mscoree: Update Wine Mono to 9.4.0.
Evan Tang (2):
kernelbase: Properly return 0 from EnumSystemFirmwareTable on error.
kernelbase: Add test for EnumSystemFirmwareTables on missing provider.
Fabian Maurer (8):
dplayx: Add a few more locks (Coverity).
comctl32/tests: Add tests for radio button WM_SETFOCUS.
comctl32: Send parent BN_CLICKED notification when a radio button get focused.
user32/tests: Add tests for radio button WM_SETFOCUS.
user32: Send parent BN_CLICKED notification when a radio button get focused.
oleaut32: Make OleCreateFontIndirect return error if font name is missing.
oleaut32: Remove unneeded null checks.
d3dx9: Remove superfluous null check (Coverity).
Gabriel Ivăncescu (38):
mshtml: Move htmlcomment.c contents into htmltextnode.c.
mshtml: Add an internal IWineHTMLCharacterData interface and forward text node methods to it.
mshtml: Expose the props from the IWineHTMLCharacterData interface for CharacterDataPrototype.
mshtml: Don't expose toString from text nodes in IE9+ mode.
mshtml: Expose IHTMLCommentElement2 interface for comment elements.
mshtml: Don't expose 'atomic' prop from comment nodes in IE9+ modes.
mshtml: Don't expose element props from comment nodes in IE9+ modes.
mshtml: Implement get_data for legacy DOCTYPE comment elements.
mshtml: Expose ie9_char as char for KeyboardEvent.
mshtml: Make PageTransitionEvents only available in IE11 mode.
mshtml: Make ProgressEvent constructor only available in IE10+ modes.
mshtml: Expose respective props from Element prototype.
mshtml: Don't expose fireEvent from elements in IE11 mode.
mshtml: Don't expose onmspointerhover from elements in IE11 mode.
mshtml: Move toString from HTMLElement to HTMLAnchorElement or HTMLAreaElement in IE9+ modes.
mshtml: Move hasAttributes from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Move normalize from HTMLElement to HTMLDOMNode in IE9+ modes.
mshtml: Don't expose onpage from elements in IE9+ modes.
mshtml: Don't expose expression methods from elements in IE9+ modes.
mshtml: Don't expose some props from elements in IE10+ modes.
mshtml: Don't expose some props from elements in IE11 mode.
mshtml: Move HTMLTableDataCellElement prototype props to the HTMLTableCellElement prototype.
mshtml: Add IHTMLDOMNode2 in every mode in node's init_dispex_info.
mshtml: Get rid of HTMLELEMENT_TIDS.
mshtml: Move HTMLDocument prototype props to the Document prototype.
mshtml: Use DocumentPrototype as the document's prototype for modes prior to IE11.
mshtml: Expose the right props from document fragments.
mshtml: Don't expose some props from document prototype depending on mode.
mshtml/tests: Add more tests for the style aliased prop names.
mshtml: Expose respective props from MSCSSPropertiesPrototype.
mshtml: Prefer builtins for style aliases that have the same name.
mshtml: Move 'filter' prop to MSCSSPropertiesPrototype in IE9 mode.
mshtml: Don't expose 'behavior' prop from styles in IE11 mode.
mshtml: Don't expose the clip* props from style declaration or properties in IE9+ modes.
mshtml: Don't expose the *Expression methods from styles in IE9+ modes.
mshtml: Don't expose toString from styles in IE9+ modes.
mshtml: Expose respective props from StyleSheetPrototype.
mshtml: Get rid of unused HTMLElement_toString_dispids.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.303.
Gerald Pfeifer (3):
win32u: Don't use bool as member of a union type.
msi: Use mybool instead of bool as variable name.
winhlp32: Drop unused member of struct lexret.
Giovanni Mascellani (2):
user32/tests: Check that message-only windows ignore WS_EX_TOPMOST.
win32u/window: Ignore changing WS_EX_TOPMOST for message-only windows.
Hans Leidekker (2):
msi: Assume PLATFORM_INTEL if the template property is missing.
bcrypt: Trace returned handles.
Haoyang Chen (1):
gdiplus: Use the FormatID of the source image when cloning.
Henri Verbeet (3):
d3dcompiler/tests: Clean up tests fixed by vkd3d merges.
d3d10_1/tests: Clean up tests fixed by vkd3d merges.
d3dx11/tests: Clean up tests fixed by vkd3d merges.
Jacek Caban (18):
msvcrt/tests: Silence -Wformat-security Clang warning in test_snprintf.
include: Apply LONG_PTR format hack only to Wine build.
include: Use LONG_PTR format hack on Clang in MSVC mode.
include: Use format attribute on Clang in MSVC mode.
d3d11/tests: Always use a format string in winetest_push_context calls.
ddraw/tests: Always use a format string in winetest_push_context calls.
imagehlp: Cast AddressOfData to size_t in debug traces.
mmdevapi/tests: Use %u format for unsigned int arguments.
include: Enable format attributes for debug traces in Clang MSVC mode.
gdiplus: Cast enums to unsigned type when validating its value.
jscript: Avoid unused variable warning.
msi: Avoid unused variable warning.
msxml: Avoid unused variable warning.
vbscript: Avoid unused variable warning.
wbemprox: Avoid unused variable warning.
include: Use inline assembly on Clang MSVC mode in exception helpers.
jscript: Move property allocation to update_external_prop.
jscript: Add support for deleting host properties.
Louis Lenders (1):
msvcp140: Add a version resource.
Marc-Aurel Zent (8):
ntdll: Implement NtGetCurrentProcessorNumber for macOS on x86_64.
server: Do not suspend mach task in read_process_memory.
server: Use mach_vm_read_overwrite in read_process_memory.
server: Do not suspend mach task in get_selector_entry.
server: Use mach_vm_read_overwrite in get_selector_entry.
server: Do not suspend mach task in write_process_memory.
server: Do not page-align address in write_process_memory.
server: Work around macOS W^X limitations in write_process_memory.
Matteo Bruni (5):
d3dcompiler/tests: Clean up further tests fixed by vkd3d merges.
d3dx9_43: Generate an import library.
d3dx9/tests: Add d3dx9_43 tests.
d3dx9/tests: Test the 'double' HLSL data type.
d3dcompiler/tests: Test the 'double' HLSL data type.
Mohamad Al-Jaf (5):
windows.networking.connectivity: Add stub dll.
windows.networking.connectivity: Add INetworkInformationStatics stub interface.
windows.networking.connectivity: Implement INetworkInformationStatics::GetInternetConnectionProfile().
windows.networking.connectivity/tests: Add some INetworkInformationStatics::GetInternetConnectionProfile() tests.
windows.networking.connectivity: Implement IConnectionProfile::GetNetworkConnectivityLevel().
Nikolay Sivov (6):
d2d1/effect: Improve handling of blob properties.
windowscodecs/tests: Use string literals in the metadata tests.
windowscodecs/tests: Add some tests for CreateMetadataReader().
windowscodecs/tests: Add a basic test for CreateComponentEnumerator().
windowscodecs/metadata: Add a helper to iterate over components.
windowscodecs: Implement CreateMetadataReader().
Orin Varley (3):
msxml3/tests: Add indentation test.
comctl32/tests: Add tests for a small number of items but big size to the combobox dropdown size tests.
comctl32: Make CBS_NOINTEGRALHEIGHT only set minimum combobox height.
Paul Gofman (1):
explorer: Prevent apps from showing Wine specific shell tray window with no icons.
Piotr Caban (43):
include: Add ___lc_codepage_func() declaration.
msvcp60: Improve wcsrtombs implementation.
msvcp60/tests: Add wcsrtombs tests.
msvcrt: Call _wmkdir in _mkdir function.
msvcrt: Call _wrmdir in _rmdir function.
msvcrt: Call _wchdir in _chdir function.
msvcrt: Call _wgetcwd in _getcwd function.
msvcrt: Call _wgetdcwd in _getdcwd function.
msvcrt: Call _wfullpath in _fullpath function.
ole32: Fix unsupported vector elements detection in PropertyStorage_ReadProperty.
ole32/tests: Add FMTID_UserDefinedProperties property storage tests.
ole32: Read property storage section from correct location.
ole32/tests: Add more FMTID_UserDefinedProperties property storage tests.
msvcrt: Prepare _fsopen to handle UTF-8 strings.
msvcrt: Call _wunlink in _unlink function.
msvcrt: Call _waccess in _access function.
msvcrt: Call _wchmod in _chmod function.
msvcrt: Call _unlink in remove function.
msvcrt: Call _wunlink in _wremove function.
msvcrt: Prepare _mktemp to handle UTF-8 strings.
msvcrt: Prepare _mktemp_s to handle UTF-8 strings.
msvcrt: Call _wstat64 in _stat64 function.
msvcrt: Call _wrename in rename function.
msvcrt: Call _wtempnam in _tempnam function.
msvcrt: Don't return success on GetFullPathName error in _wsearchenv_s.
msvcrt: Prepare _searchenv_s() for utf-8 encoded filename.
include: Cleanup corecrt_io.h file and use it in io.h.
msvcrt: Call _wfindfirst32 in _findfirst32 function.
msvcrt: Call _wfindnext32 in _findnext32 function.
msvcrt: Call _wfindfirst64 in _findfirst64 function.
msvcrt: Call _wfindnext64 in _findnext64 function.
msvcrt: Call _wfindfirst64i32 in _findfirst64i32 function.
msvcrt: Call _wfindnext64i32 in _findnext64i32 function.
msvcrt: Add putenv() utf-8 tests.
msvcrt: Return error on NULL path parameter in _wsopen_dispatch.
msvcrt: Prepare _sopen_dispatch to handle utf-8 encoded path.
msvcrt: Prepare freopen to handle utf-8 encoded path.
msvcrt: Prepare _loaddll to handle utf-8 encoded path.
msvcrt: Prepare _spawnl to handle utf-8 encoded arguments.
msvcrt: Prepare _execle to handle utf-8 encoded arguments.
msvcrt: Prepare remaining process creation functions to handle utf-8 encoded arguments.
ucrtbase: Enable utf8 support.
ucrtbase: Always use CP_ACP when converting environment block.
Roman Pišl (1):
kernel32: Use a proper import for HeapFree.
Rémi Bernon (45):
winebus: Ignore reports with unexpected IDs.
winex11: Read _NET_SUPPORTED atom list on process attach.
winex11: Only request the supported _NET_WM_STATE atoms.
winevulkan: Add missing wine_vkGetPhysicalDeviceSurfaceFormatsKHR manual wrapper.
win32u: Use PFN_* typedefs for vulkan function pointers.
winevulkan: Get rid of the instance/device funcs structs.
winevulkan: Generate ALL_VK_(DEVICE|INSTANCE)_FUNCS in wine/vulkan.h.
winevulkan: Move vulkan_client_object header to wine/vulkan_driver.h.
winevulkan: Name wine_instance parameters and variables more consistently.
winevulkan: Hoist physical device array and client instance handle.
winevulkan: Introduce a new vulkan_instance base structure.
winevulkan: Introduce a new vulkan_physical_device base structure.
winevulkan: Name wine_device parameters and variables more consistently.
winevulkan: Introduce a new vulkan_device base structure.
winevulkan: Restore some wine_*_from_handle helpers.
winevulkan: Introduce a new vulkan_queue base structure.
winevulkan: Introduce a new vulkan_surface base structure.
winevulkan: Introduce a new vulkan_swapchain base structure.
winevulkan: Use a vulkan_object header for other wrappers.
winevulkan: Use the result to decide if creation failed.
winevulkan: Introduce a new vulkan_object_init helper.
winevulkan: Fix incorrect client queue pointers.
winevulkan: Avoid changing client command buffer pointer.
winevulkan: Get rid of unnecessary *to_handle helpers.
winevulkan: Use the vulkan object as the wrapper tree node.
winevulkan: Keep the host function pointers in devices and instances.
win32u: Move surface and swapchain wrappers from winevulkan.
winex11: Don't update Win32 window position for offscreen windows.
winex11: Do not use desired_state when computing state updates.
winex11: Set a non-transparent window background pixel color.
win32u: Let fullscreen windows cover entire monitors, keeping aspect ratio.
winex11: Use bilinear filtering in xrender_blit.
quartz/dsoundrender: Rename "This" to "filter".
quartz/dsoundrender: Add missing static qualifier to IDispatch methods.
quartz/dsoundrender: Make brace placement consistent.
quartz/dsoundrender: Use a consistent style for method names.
quartz/dsoundrender: Make trace messages more consistent.
win32u: Add a force parameter to lock_display_devices.
win32u: Implement update_display_cache with lock_display_devices.
win32u: Remove recursive lock_display_devices calls.
win32u: Hold the display_lock when checking the cache update time.
mfmediaengine: Implement D3D-aware video frame sink.
windows.networking.connectivity: Use %I64d instead of %llu.
winex11: Move the _NET_SUPPORTED information to the thread data.
winex11: Listen to root window _NET_SUPPORTED property changes.
Santino Mazza (2):
mmdevapi/tests: Test for IAudioClockAdjustment.
mmdevapi: Do not modify buffer size after sample rate change.
Sven Baars (1):
win32u: Allow unsetting the user driver.
Tim Clem (3):
explorer: Apply a default admin token when running for the desktop.
Revert "win32u: Create explorer with the thread effective access token.".
kernelbase: Improve logging of information classes in GetTokenInformation.
Tingzhong Luo (3):
dwrite/tests: Add a test for DrawGlyphRun() bounds.
dwrite/gdiinterop: Always return valid bounds from DrawGlyphRun on success.
dwrite/gdiinterop: Apply dpi scaling to the whole target transform.
Torge Matthies (2):
advapi32/tests: Add test for CurrentControlSet link.
loader: Add Default, Failed, and LastKnownGood values to HKLM\System\Select.
Vibhav Pant (15):
winebth.sys: Add base winebth.sys driver.
winebth.sys: Add a basic unixlib stub using DBus.
winebth.sys: Create radio PDOs from the list of org.bluez.Adapter1 objects on BlueZ.
winebth.sys: Derive a unique hardware ID for radio PDOs from their corresponding BlueZ object path.
winebth.sys: Register and enable BTHPORT_DEVICE and BLUETOOTH_RADIO interfaces for radio PDOs.
bluetoothapis/tests: Fix potential test failure from memcmp'ing uninitialized bytes.
bluetoothapis/tests: Add tests for BluetoothFindFirstRadio.
bluetoothapis/tests: Add tests for BluetoothFindNextRadio.
bluetoothapis/tests: Add tests for BluetoothFindRadioClose.
bluetoothapis: Implement BluetoothFindFirstRadio, BluetoothFindNextRadio, BluetoothFindRadioClose.
winebth.sys: Set radio PDO properties from the device's corresponding org.bluez.Adapter1 object properties.
winebth.sys: Create new radio PDOs on receiving InterfacesAdded for objects that implement org.bluez.Adapter1.
winebth.sys: Remove the corresponding radio PDO on receiving InterfacesRemoved for a org.bluez.Adapter1 object.
winebth.sys: Update radio PDO properties on receiving PropertiesChanged for an org.bluez.Adapter1 object.
winebth.sys: Implement IOCTL_BTH_GET_LOCAL_INFO.
Vijay Kiran Kamuju (2):
user32: Add PackTouchHitTestingProximityEvaluation stub.
user32: Add EvaluateProximityToRect stub.
Vladislav Timonin (1):
comctl32/edit: Scroll caret on Ctrl+A.
Zhiyi Zhang (2):
appwiz.cpl: Fix wine_get_version() function pointer check.
uxtheme: Check DrawThemeEdge() content rectangle pointer.
Ziqing Hui (5):
qasf: Return S_FALSE for flushing in dmo_wrapper_sink_Receive.
qasf/tests: Test dmo_wrapper_sink_Receive if downstream fail to receive.
qasf: Return failure in dmo_wrapper_sink_Receive if process_output fails.
qasf/tests: Add more tests for dmo_wrapper_sink_Receive.
qasf: Correctly return failure in process_output.
```
1
0
The Wine development release 9.22 is now available.
What's new in this release:
- Support for display mode virtualization.
- Locale data updated to Unicode CLDR 46.
- More support for network sessions in DirectPlay.
- Wayland driver enabled in default configuration.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.22.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.22/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.22 (total 19):
- #42606 wine doesn't *fully* respect locale settings in some corner cases
- #52105 Cygwin setup hangs (handle to \Device\NamedPipe\ used as the RootDirectory for NtCreateNamedPipeFile)
- #53019 MusicBee: inconsistent CJK/non-Latin support with Tahoma, no support on any other font.
- #53321 snakeqr: Unhandled page fault on write access in A_SHAFinal (needs NtdllDefWindowProc_A)
- #56466 Dark souls remastered crashing with winewayland when trying to open "pc settings" in game
- #56790 wine binds dedicatedServer.exe to "lo" adapter
- #56833 Installer of LabOne 24.04 stops with error " ... setup wizard ended prematurely ..."
- #57072 Window is flashing when painting transluent effects
- #57277 Wine 9.19 fails to compile
- #57290 String Substitution not working
- #57325 MS Office 2007 and MS Office 2013 setup fails
- #57334 FL Studio - huge graphical glitch when moving windows inside the app
- #57341 Heidisql 7.0 crashes
- #57370 The Steam systray icon does not respond to mouse clicks.
- #57382 World Of Warcraft no longer start
- #57388 Major perf loss with blocking ReadFile() & OVERLAPPED
- #57391 FSCTL_DISMOUNT_VOLUME does not work on drives with spaces in path
- #57407 Windows Movie Maker hangs in Win7 mode (regression)
- #57423 Active window no longer receives keyboard input after losing and regaining focus (only in virtual desktop)
### Changes since 9.21:
```
Agustin Principe (1):
d2d1: Accept DXGI_FORMAT_R8G8B8A8_UNORM format for WIC targets.
Alexandre Julliard (63):
user32: Add an ANSI version of the desktop window proc.
user32: Add an ANSI version of the icon title window proc.
user32: Add an ANSI version of the menu window proc.
user32: All builtin window procs are now dual A/W.
ntdll/tests: Use the function pointer for NtWow64QueryInformationProcess64.
server: Fix a thread reference leak.
ntdll: Add support for the builtin window procs table.
user32: Use the ntdll definitions for builtin windows procs.
user32: Use the ntdll function table for builtin window procs.
user32: Make the builtin window procs table layout compatible with Windows.
ntdll/tests: Add tests for the builtin window procs table.
user32/tests: Add tests for ntdll builtin window procs.
user32/tests: Remove some obsolete winproc tests.
kernel32/tests: Add some tests for EnumSystemFirmwareTables().
ntdll: Implement BIOS table enumeration.
kernelbase: Implement EnumSystemFirmwareTables().
tools: Download all Unicode data files before generating anything.
nls: Update locale data to CLDR version 46.
mpg123: Import upstream release 1.32.9.
fluidsynth: Import upstream release 2.4.0.
rundll32: Don't bother cleaning up at process exit.
rundll32: Use crt allocation functions.
rundll32: Rewrite command line parsing.
rundll32: Restart itself if the dll is for a different architecture.
ntdll: Always return 0 length on failure in SystemFirmwareTableInformation.
ntdll/tests: Fix a test failure on 64-bit Windows.
server: Print a warning if page size isn't 4k.
server: Move the generated part of request.h to a separate header.
server: Move the generated part of trace.c to a separate header.
server: Simplify updating the protocol version.
server: Use an explicit union instead of a typedef for APC calls.
server: Use an explicit union instead of a typedef for APC results.
server: Use an explicit struct instead of a typedef for user APCs.
server: Use an explicit struct instead of a typedef for async I/O data.
server: Use an explicit union instead of a typedef for message data.
server: Use an explicit union instead of a typedef for hardware input.
server: Use an explicit union instead of a typedef for debug event data.
server: Use an explicit union instead of a typedef for IRP params.
server: Use an explicit union instead of a typedef for select operations.
win32u: Implement NtUserBuildPropList().
win32u: Implement NtUserBuildNameList().
user32: Move PostQuitMessage() implementation to win32u.
user32: Move support for posting a DDE message to win32u.
user32: Don't use server data types in clipboard.c.
win32u: Implement NtUserQueryWindow().
server: Use an explicit struct instead of a typedef for generic access mappings.
server: Use an explicit struct instead of a typedef for process startup info.
server: Use an explicit struct instead of a typedef for PE image info.
server: Use an explicit struct instead of a typedef for window property data.
server: Use an explicit struct instead of a typedef for cursor positions.
win32u: Implement the remaining arguments of NtUserBuildHwndList().
user32: Reimplement the enum window functions using NtUserBuildHwndList().
user32: Reimplement GetDlgItem() using NtUserBuildHwndList().
user32: Reimplement WIN_ListChildren() using NtUserBuildHwndList().
user32: Move GetLastActivePopup() implementation to win32u.
user32: Move GetLastInputInfo() implementation to win32u.
server: Add a new request to find sibling windows by class name.
win32u: Reimplement list_window_children() using NtUserBuildHwndList().
server: Use an explicit union instead of a typedef for TCP connections.
server: Use an explicit union instead of a typedef for UDP endpoints.
server: Use an explicit struct instead of a typedef for object locators.
server: Use an explicit struct instead of a typedef for register contexts.
server: Use an explicit struct instead of a typedef for rectangles.
Alistair Leslie-Hughes (1):
user32: Implement GetDpiAwarenessContextForProcess.
Anton Baskanov (27):
dplayx/tests: Add missing pragma pack directives.
dplayx/tests: Check that groups from SUPERENUMPLAYERSREPLY are added to the session.
dplayx: Add group to the parent group in DP_CreateGroup().
dplayx: Set group data in DP_CreateGroup().
dplayx: Return HRESULT from DP_CreateGroup().
dplayx: Inform the SP about group creation in DP_CreateGroup().
dplayx: Add groups from SUPERENUMPLAYERSREPLY to the session.
dplayx: Respect enumeration flags in EnumGroups().
dplayx: Always set the data size in GetGroupData().
dplayx: Factor out a function for adding player to a group.
dplayx: Add group players from SUPERENUMPLAYERSREPLY to the group.
dplayx/tests: Test client side of AddPlayerToGroup() separately.
dplayx: Queue DPSYS_ADDPLAYERTOGROUP in DP_AddPlayerToGroup().
dplayx: Send ADDPLAYERTOGROUP in AddPlayerToGroup().
dplayx/tests: Test that group data is updated from GROUPDATACHANGED.
dplayx: Enter the critical section when accessing the group list.
dplayx: Handle GROUPDATACHANGED, update the group data and queue DPSYS_SETPLAYERORGROUPDATA.
dplayx: Factor out a function for reading service providers.
dplayx: Convert connection name to UNICODE when enumerating through UNICODE interface.
dplayx/tests: Test UNICODE version of EnumSessions().
dplayx: Convert session name and password to UNICODE when enumerating through UNICODE interface.
dplayx: Forward IDirectPlay3A to IDirectPlay4A.
dplayx: Cache connections.
dplayx: Read connection name from descriptionW and descriptionA when available.
dplayx: Use DP_GetRegValueW() to read SP GUID.
dplayx: Reimplement DirectPlayEnumerateAW() using DP_GetConnections().
dplayx: Reimplement DP_LoadSP() using DP_GetConnections().
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (4):
msvcrt: Do not create a separate heap in newer msvcrt versions.
kernel32/tests: Remove todo_wine from now succeeding heap test.
include: Add ucrt _sprintf_l declaration.
wineps.drv: Use locale aware variants _sprintf_l and _sscanf_l (ASan).
Billy Laws (1):
msi: Also set x64 properties for arm64 hosts.
Biswapriyo Nath (1):
include: Add UI Automation Annotation Type ID definitions.
Brendan McGrath (2):
mf: Retry PROCESSINPUTNOTIFY if TRANSFORM_TYPE_NOT_SET is returned.
mf: Send MEError when IMFStreamSink_ProcessSample fails.
Brendan Shanks (1):
Add .gitattributes file to mark generated files.
Charlotte Pabst (2):
jscript: Handle star and opt operators while matching global regex properly.
jscript/tests: Add tests for star and opt operators in global regex.
Connor McAdams (6):
d3dx9/tests: Include ddraw.h in surface.c for DDS header flag definitions.
d3dx9: Don't attempt to save palettized surfaces in D3DXSaveSurfaceToFileInMemory().
d3dx9/tests: Add more tests for saving surfaces as DDS files.
d3dx9: Improve save_dds_surface_to_memory().
d3dx9: Set the DDSCAPS_ALPHA flag when saving DDS files with a pixel format containing an alpha channel.
d3dx9: Add support for saving paletted surfaces to DDS files.
Daniel Lehman (2):
kernel32/tests: Add some tests for Thai and Mongolian codes.
nls: Set alpha bit on some Thai and Mongolian codes.
Elias Norberg (4):
wintrust: Implement CryptCATAdminAcquireContext2().
wintrust/tests: Add CryptCATAdminAcquireContext2() tests.
wintrust: Implement CryptCATAdminCalcHashFromFileHandle2().
wintrust/tests: Add CryptCATAdminCalcHashFromFileHandle2() tests.
Elizabeth Figura (17):
winevulkan: Use extend() instead of passing two separate roots to functions.
winevulkan: Use the correct logger method.
wined3d: Do not clamp fog in the VS.
wined3d: Calculate the texture matrix solely from the vertex declaration.
wined3d: Rewrite the comment in compute_texture_matrix().
wined3d: Clear caps to zero in shader caps query functions.
wined3d: Initialize max_blend_stages in the SPIRV fragment pipe.
wined3d: Move shader_trace().
wined3d: Move shader parsing to shader_set_function().
wined3d: Create stub FFP pixel shaders.
wined3d: Create stub FFP vertex shaders.
wined3d: Account for HLSL FFP shaders in find_ps_compile_args().
wined3d: Allow using the HLSL FFP replacement with GL.
wined3d: Use the FFP HLSL pipeline for pretransformed draws as well.
wined3d: Beginnings of an HLSL FFP vertex shader implementation.
include: Add dxvahd.idl.
dxva2: Stub DXVAHD_CreateDevice().
Eric Pouech (17):
kernel32/tests: Don't hardcode page size in buffer size.
advapi32/tests: Fix typo in manifest constant.
advapi32: Test some other cases of process access rights mapping.
server: Amend process rights mapping.
cmd/tests: Add tests about substring substitution in variable expansion.
cmd: Fix substring substitution in variable expansion.
cmd: Implement 'touch' equivalent in COPY builtin.
cmd/tests: Add test about IF EXIST.
cmd: Modifiers in tilde variable expansion are case insensitive.
cmd: Fix 'IF EXIST DIRECTORY' test condition evaluation.
dbghelp: Don't try to load PDB for a RSDS debug directory in .buildid section.
dbghelp: Only WARN on stripped PE images.
dbghelp/tests: Improve SymSrvGetFileIndexInfo tests.
dbghelp: Fill-in data in SymSrvGetFileIndexIndo if BAD_EXE_FORMAT.
dbghelp/tests: Add retry wrapper around SymRefreshModuleList().
dbghelp/tests: Add tests for SymRefreshModuleList().
dbghelp: Implement SymRefreshModuleList().
Etaash Mathamsetty (1):
explorer: Enable the Wayland driver.
Fabian Maurer (9):
net/tests: Add test for stopping non existing service.
net: Correct error code for stopping non existing service.
msi/tests: Add more tests for MsiSummaryInfoPersist.
msi: Make MsiGetSummaryInformationW open database as direct instead of transacted.
ieframe: Add IERefreshElevationPolicy stub.
comctl32/listbox: Close a few leaked window handles.
comctl32/combo: Add tests for keypresses showing search functionality.
comctl32/listbox: Add tests for keypresses showing search functionality.
msxml3: Undo removal of xmlThrDefTreeIndentString.
Floris Renaud (1):
po: Update Dutch translation.
Gabriel Ivăncescu (18):
mshtml: Reset builtin function props to their default values when deleted.
mshtml: Throw invalid action for IE8 window prop deletion.
jscript: Add basic semi-stub implementation of GetMemberProperties.
mshtml: Use BSTR to store global prop's name.
mshtml: Override window's element prop directly rather than using GLOBAL_DISPEXVAR.
mshtml: Check if window global prop still exists before returning its id.
mshtml: Forward deletion for GLOBAL_SCRIPTVAR to the script's object.
jscript: Delete external props before redefining them.
jscript: Make most builtin global objects configurable.
mshtml: Use actual referenced prop flags for window script props.
mshtml: Don't use cycle collection for nsChannel.
mshtml: Enumerate all own builtin props from host object's NextProperty.
mshtml/tests: Add initial tests for prototype chain props.
mshtml: Expose ownerDocument from NodePrototype.
mshtml: Don't expose removeNode from NodePrototype.
mshtml: Don't expose replaceNode from NodePrototype.
mshtml: Don't expose swapNode from NodePrototype.
mshtml: Set the name of the non-function constructors to the same as the object.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.302.
Gerald Pfeifer (3):
dpwsockx: Don't use true as a variable name.
msi: Don't use bool as a variable name.
jscript: Don't use bool as a variable name.
Hans Leidekker (3):
wininet: Accept UTC as the equivalent of GMT.
wininet: Use InternetTimeToSystemTimeW() to convert header values.
iphlpapi: Sort adapters by route metric in GetAdaptersAddresses().
Haoyang Chen (5):
winhttp/tests: Add some tests for WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_{put,get}_Option.
winhttp: Add support WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_put_Option.
winhttp: Add support WinHttpRequestOption_SslErrorIgnoreFlags in IWinHttpRequest_get_Option.
winex11: Fix URL encoding for non-ASCII characters.
wined3d: Fix a memory leak.
Jacek Caban (6):
configure: Use -ffunction-sections for PE targets.
winegcc: Pass -fms-hotpatch to the linker.
configure: Use -fms-hotpatch when available.
configure: Preserve original CFLAGS when adding LLVM flags.
ntdll: Use proper format string for ULONG type.
windowscodecs/tests: Always use a format string in winetest_push_context calls.
Jinoh Kang (2):
server: Don't crash when opening null path with a console handle as RootDirectory.
server: Don't crash when opening null path with a console server as RootDirectory.
John Chadwick (2):
wintab32: Align WTPACKET for 32/64-bit archs.
winex11: Remove stub tablet_get_packet wow64 thunk.
Marc-Aurel Zent (5):
winemac.drv: Allow symbol vkeys to match on Mac virtual key codes.
winemac.drv: Add Mac virtual key code information to the German layout.
winemac.drv: Add additional French symbol vkeys mappings.
include: Add Japanese IME virtual key codes to kbd.h.
winex11: Include kbd.h instead of ime.h.
Matteo Bruni (1):
wined3d: Allow reusing current GL context without a current RT.
Michael Müller (2):
ntdll: Implement HashLinks field in LDR module data.
ntdll: Use HashLinks when searching for a dll using the basename.
Mohamad Al-Jaf (3):
icmui: Add stub dll.
icmui: Add SetupColorMatchingW() stub.
icmui/tests: Add some SetupColorMatchingW() tests.
Nikolay Sivov (4):
dwrite/layout: Skip to the next typography range when current one has no features.
comctl32/listview: Initialize hot cursor handle.
comctl32/listview: Send LVN_HOTTRACK in response to mouse moves.
d2d1/tests: Add some tests for WIC target formats.
Paul Gofman (4):
kernel32/tests: Factor out is_old_loader_struct().
kernel32/tests: Add tests for module hash links.
server: Don't update cursor pos in set_window_pos() if window wasn't moved.
opengl: Avoid infinite recursion in bezier_approximate() in case of degraded curve.
Piotr Caban (2):
services: Sort services start order by start type.
wine.inf: Set MountMgr service start option to SERVICE_BOOT_START.
Pétur Runólfsson (1):
wtsapi32: Handle WTSSessionInfo class in WTSQuerySessionInformationW().
Rémi Bernon (63):
d3d9/tests: Avoid creating visible windows concurrently.
d3d9/tests: Use static class for the dummy window.
d3d8/tests: Avoid creating visible windows concurrently.
d3d8/tests: Use static class for the dummy window.
wined3d: Cast format_id when comparing it to the last format index.
winewayland: Fix surface scaling with HiDPI compositor.
win32u: Offset the new display modes relative to the primary source.
server: Use the monitor infos to map points from raw to virt.
win32u: Compute monitors raw DPI from the physical / current mode ratio.
win32u: Introduce a new registry setting to emulate modesetting.
desk.cpl: Expose the modesetting emulation registry setting.
winex11: Avoid requesting unnecessary _NET_WM_STATE changes.
winex11: Avoid requesting unnecessary window config changes.
winex11: Avoid updating _NET_WM_STATE on iconic windows.
winex11: Simplify the control flow in WM_STATE handlers.
winex11: Simplify the control flow in ConfigureNotify handlers.
winex11: Reset embedded window position to 0x0 before docking it.
winex11: Reset the window relative position when it gets reparented.
winex11: Introduce a new host_window_send_configure_events helper.
winex11: Retrieve the HWND for the host window's child window.
winex11: Avoid overriding previously received ConfigureNotify events.
winex11: Generate ConfigureNotify events for the children tree.
winex11: Always generate ConfigureNotify events for embedded windows.
winex11: Ignore focus changes during WM_STATE transitions.
winex11: Use the new window state tracker to get _NET_WM_STATE value.
winex11: Use the new window state tracker to get WM_STATE value.
winex11: Introduce a new window_update_client_state helper.
winex11: Introduce a new window_update_client_config helper.
winebus: Always return success from PID effect control.
winebus: Enable all PID effect types for wheel devices.
winebus: Build HID report descriptors on device creation.
winebus: Lookup device HID usage and usage page on the PE side.
winebus: Count HID buttons and pass it to is_hidraw_enabled.
winebus: Enable hidraw by default for various HOTAS controllers.
dinput: Assume that clipping the cursor uses the requested rectangle.
dinput: Only call SetCursorPos if ClipCursor fails.
winex11: Listen to PropertyNotify events on the virtual desktop window.
winex11: Don't expect WM_STATE events on override-redirect windows.
winex11: Wait for pending _NET_WM_STATE before updating the client state.
winex11: Wait for pending ConfigureNotify before updating the client state.
winex11: Update the window client config on window state changes.
winex11: Request window state updates asynchronously.
d3d9/tests: Flush events after minimizing and restoring focus window.
evr: Use D3DCREATE_MULTITHREADED device creation flag.
winex11: Use the state tracker to decide if changes can be made directly.
winex11: Update other window state properties within window_set_wm_state.
winex11: Call window_set_wm_state when unmapping embedded windows.
winex11: Get rid of the now unnecessary iconic field.
winex11: Get rid of the now unnecessary mapped field.
kernel32/tests: Check for the _SW_INVALID bit presence only.
gitlab: Wait for the fvwm process to start.
win32u: Check if parent is the desktop window in get_win_monitor_dpi.
win32u: Map cursor pos to raw DPI before calling drivers SysCommand.
secur32/tests: Update the tests to expect HTTP/2 headers.
urlmon/tests: Expect "Upgrade, Keep-Alive" connection string.
wininet: Parse multi-token Connection strings for Keep-Alive.
winex11: Introduce a new get_window_state_updates helper.
winex11: Generate GravityNotify events instead of ConfigureNotify.
winex11: Avoid sending WM_WINDOWPOSCHANGING when applying window manager config.
winex11: Delay window config request when restoring from fullscreen/maximized.
user32/tests: Workaround a FVWM maximized window state bug.
winex11: Update the Win32 window state outside of event handlers.
winex11: Remove now unnecessary WindowPosChanged re-entry guards.
Vibhav Pant (5):
setupapi: Add stub for SetupDiGetDevicePropertyKeys.
setupapi/tests: Add tests for SetupDiGetDevicePropertyKeys.
setupapi: Implement SetupDiGetDevicePropertyKeys.
threadpoolwinrt: Fix potential NULL dereference in QueryInterface for IAsyncAction.
threadpoolwinrt: Associate work items with the appropriate callback environment.
Vitor Ramos (2):
include: Add cpp header guard to the pathcch.h.
include: Use enum for PATHCCH_ options.
Yuxuan Shui (1):
dinput: Keep the module around while input thread is running.
Zhiyi Zhang (14):
urlmon: Support Uri_HOST_IDN.
urlmon: Support Uri_DISPLAY_NO_FRAGMENT.
urlmon: Support Uri_PUNYCODE_IDN_HOST.
urlmon: Support Uri_DISPLAY_IDN_HOST.
urlmon/tests: Test flags for getting properties.
ntdll/tests: Add NtSetIoCompletionEx() tests.
ntdll: Implement NtSetIoCompletionEx().
wintypes: Implement RoParseTypeName().
wintypes/tests: Add RoParseTypeName() tests.
win32u: Print the correct index when source_enum_display_settings() fails.
ntdll/tests: Remove a workaround for older systems.
ntdll/tests: Add more NtSetInformationFile() tests.
server: Set overlapped fd to signaled after setting completion information.
kernel32: Add GetCurrentPackageInfo() stub.
Ziqing Hui (6):
propsys: Add PropVariantToBSTR stub.
propsys/tests: Test PropVariantToBSTR.
propsys/tests: Test truncating for PropVariantToString.
propsys: Implement PropVariantToBSTR.
propsys: Use debugstr_variant for the trace in VariantToPropVariant.
propsys: Support converting to BSTR for PropVariantToVariant.
```
1
0
The vkd3d team is proud to announce that release 1.14 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:
- Disassembler support for binary effects.
- Initial support for Metal Shading Language output.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.14.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.14
### libvkd3d
- Depth bounds can be changed dynamically using the OMSetDepthBounds() method
of the ID3D12GraphicsCommandList1 interface.
- The new VKD3D_CAPS_OVERRIDE environment variable can be used to override the
value of capabilities like the maximum feature level and resource binding
tier reported to applications.
### libvkd3d-shader
- New features for the HLSL source type:
- Interstage I/O variable packing matches d3dcompiler/fxc more closely.
- The following intrinsic functions are supported:
- dst()
- f32tof16()
- mad()
- modf()
- sincos()
- ‘discard’ support for shader model 1-3 target profiles.
- The ‘SV_SampleIndex’ input semantic for fragment shaders.
- The ‘SV_GroupIndex’ input semantic for compute shaders.
- The ‘earlydepthstencil’ function attribute.
- Constant folding of expressions like ‘x && c’ and ‘x || c’, where ‘c’ is a
constant.
- Preprocessor support for namespaces in macro identifiers. I.e., syntax
like ‘#define NAME1::NAME2::NAME3 1’ works as intended now.
- Structure inheritance. Multiple inheritance is not supported.
- Register assignments for unused constant buffers are allowed to overlap
register assignments for used constant buffers.
- Instruction count reflection data for shader model 4+ target profiles.
This data is contained in the ‘STAT’ DXBC section, and can be queried with
the GetDesc() method of the ID3D11ShaderReflection and
ID3D12ShaderReflection interfaces. Note that the ID3D12ShaderReflection
implementation provided by vkd3d-utils does not currently correctly report
this information.
- ‘unorm’ and ‘snorm’ resource format modifiers. For example,
‘Texture2D<unorm float4> t;’
- Parser support for ‘ByteAddressBuffer’ resources, as well as their
Load()/Load2()/Load3()/Load4() methods.
- Parser support for ‘RWByteAddressBuffer’ resources, as well as their
Store()/Store2()/Store3()/Store4() methods.
- Parser support for the ‘compile’ keyword, as well as the CompileShader()
and ConstructGSWithSO() intrinsic functions. Actual compilation of
embedded shaders is not implemented yet, but parser support is sufficient
for allowing compilation of HLSL sources containing this syntax to succeed
when targetting shader target profiles like ‘vs_5_0’ or ‘ps_5_0’.
- Initial support for tessellation shaders. Only the most trivial shaders
are supported in this release. Perhaps most notably, both ‘InputPatch’ and
‘OutputPatch’ are not implemented yet.
- The new ‘fx’ source type can be used in combination with the ‘d3d-asm’
target type to disassemble binary effects.
- More complete support for fx_2_0 binary effect output, including support for
annotations, default values, as well as object initialiser data used for e.g.
string, texture, and shader objects.
- A significant number of instructions have been implemented for the
experimental GLSL target. The GLSL output currently targets version 4.40
without extensions, but the intention is to make this configurable in a
future release of vkd3d.
- Experimental support for Metal Shading Language (MSL) output, enabled by
building vkd3d with the ‘-DVKD3D_SHADER_UNSUPPORTED_MSL’ preprocessor
option. The current release is only able to compile the most basic shaders
when targetting MSL. Being an experimental feature, both the ABI and API may
change in future releases; the feature may even go away completely.
Nevertheless, we hope our users find this feature useful, and welcome
feedback and contributions.
- Shader code generation for various legacy fixed-function features, including
clip planes, point sizes, and point sprites. This is mainly relevant for
executing shader model 1-3 sources in modern target environments like
Vulkan, because those target environments do not implement equivalent
fixed-function features.
- The amount of shader validation done by the internal validator has been
greatly extended. The validator is enabled by the ‘force_validation’ option,
specified through the VKD3D_SHADER_CONFIG environment variable.
- New interfaces:
- The VKD3D_SHADER_COMPILE_OPTION_DOUBLE_AS_FLOAT_ALIAS flag specifies that
the ‘double’ type behaves as an alias for the ‘float’ type in HLSL sources
with shader model 1-3 target profiles.
- The VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32_VEC4 enumeration value
specifies that a shader parameter contains a 4-dimensional vector of
32-bit floating-point data.
- The VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_MASK shader parameter specifies
which clip planes are enabled.
- The VKD3D_SHADER_PARAMETER_NAME_CLIP_PLANE_[0-7] shader parameters specify
the corresponding clip planes.
- The VKD3D_SHADER_PARAMETER_NAME_POINT_SIZE shader parameter specifies the
point size to output when the source shader does not explicitly output a
point size.
- The VKD3D_SHADER_PARAMETER_NAME_POINT_SIZE_MIN shader parameter specifies
the minimum point size to clamp point size outputs to.
- The VKD3D_SHADER_PARAMETER_NAME_POINT_SIZE_MAX shader parameter specifies
the maximum point size to clamp point size outputs to.
- The VKD3D_SHADER_PARAMETER_NAME_POINT_SPRITE shader parameter specifies
whether texture coordinate inputs in fragment shaders should be replaced
with point coordinates.
- The VKD3D_SHADER_SOURCE_FX source type specifies binary Direct3D effects.
- The VKD3D_SHADER_TARGET_MSL target type specifies Metal Shading Language
shaders.
### libvkd3d-utils
- The GetDesc() method of the ID3D12ShaderReflection interface returned by
D3DReflect() returns shader version information.
- New interfaces:
- D3DCompile2VKD3D() is a variant of D3DCompile2() that allows targeting the
behaviour of a specific d3dcompiler version.
### vkd3d-compiler
- The ‘--alias-double-as-float’ option specifies that the ‘double’ type
behaves as an alias for the ‘float’ type in HLSL sources with shader model
1-3 target profiles.
- The ‘fx’ source type specifies binary Direct3D effects.
- The ‘msl’ target type specifies Metal Shading Language shaders.
### Changes since vkd3d 1.13:
```
Andrey Gusev (3):
vkd3d: Recognise VK_QUEUE_VIDEO_ENCODE_BIT_KHR in debug_vk_queue_flags().
vkd3d-utils: Store the actual serialisation return value in get_blob_part().
vkd3d-utils: Store the actual serialisation return value in D3DStripShader().
Anna (navi) Figueiredo Gomes (14):
vkd3d-shader/spirv: Pass a vkd3d_shader_descriptor_info1 structure to spirv_compiler_emit_resource_declaration().
vkd3d-shader/spirv: Pass a vkd3d_shader_descriptor_info1 structure to spirv_compiler_emit_cbv_declaration().
vkd3d-shader/spirv: Pass a vkd3d_shader_descriptor_info1 structure to spirv_compiler_emit_sampler_declaration().
vkd3d-shader/spirv: Pass a vkd3d_shader_descriptor_info1 structure to spirv_compiler_build_descriptor_variable().
vkd3d-shader/spirv: Break long assembly lines.
vkd3d/state: Replace ERR with WARN in vkd3d_validate_descriptor_set_count().
tests/shader_runner: Extract a pipeline creation function from d3d12_runner_draw().
tests/shader_runner: Use ID3D12Device2_CreatePipelineState() when available.
tests/shader_runner: Introduce a 'depth-bounds' test option.
tests/shader_runner: Introduce a "d3d12" tag.
tests: Test depth bounds.
vkd3d: Implement d3d12_command_list_OMSetDepthBounds().
tests/shader_runner: Test the "earlydepthstencil" attribute.
vkd3d-shader/hlsl: Implement the "earlydepthstencil" attribute.
Arkadiusz Hiler (1):
vkd3d-shader/preproc: Support namespaces in macro identifiers.
Atharva Nimbalkar (7):
vkd3d-shader/glsl: Implement VKD3DSIH_ADD.
vkd3d-shader/glsl: Implement support for VKD3DSPR_IMMCONST registers.
vkd3d-shader/glsl: Implement VKD3DSIH_AND.
vkd3d-shader/glsl: Implement support for VSIR_DIMENSION_VEC4 immediate constants.
vkd3d-shader/glsl: Implement VKD3DSIH_MOVC.
vkd3d-shader/glsl: Implement VKD3DSIH_ITOF.
vkd3d-shader/glsl: Implement VKD3DSIH_UTOF.
Conor McCarthy (21):
vkd3d-shader/ir: Free the semantic names of deleted signature elements in shader_signature_merge(). (Valgrind)
tests/d3d12: Test a bounded range at the same offset as an unbounded one in test_unbounded_resource_arrays().
vkd3d: Sort bounded descriptor ranges after unbounded ones of equal offset.
tests/d3d12: Test invalid bytecode in test_root_signature_byte_code().
vkd3d: Clear the output pointer on failure in vkd3d_create_versioned_root_signature_deserializer().
vkd3d-shader/dxil: Load forward-referenced comparands as value/type pairs in sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Load forward-referenced sources as value/type pairs in sm6_parser_emit_store().
tests: Move the dxc compilation helpers to utils.h.
tests/shader_runner: Introduce struct vulkan_test_context for the Vulkan runner.
tests/shader-runner: Move struct vulkan_test_context to vulkan_utils.h.
tests/shader-runner: Move the Vulkan helper functions to vulkan_utils.h.
tests/d3d12: Test buffer and texture SRVs in test_unbounded_resource_arrays().
vkd3d: Access the current range via the declared pointer in d3d12_root_signature_init_root_descriptor_tables().
vkd3d: Introduce a separate structure for storing Vulkan descriptor binding arrays.
vkd3d: Create a separate Vulkan descriptor binding array for each descriptor set.
vkd3d: Lay out virtual descriptor heap buffer and image bindings consecutively instead of interleaving them.
vkd3d: Zero the pipeline state UAV counter view array when the state is invalidated. (Valgrind)
tests: Use state RESOLVE_SOURCE for readback from multisampled textures.
vkd3d: Check the IASetVertexBuffers() view count against the device limits.
vkd3d-shader/ir: Add a secondary sort by sysval for signature element register merges.
vkd3d-shader/dxil: Implement DX intrinsic SampleIndex.
Elizabeth Figura (92):
vkd3d-utils: Add a D3DCompile2VKD3D() that allows configuring DLL version.
vkd3d-utils: Do not emit implicit truncation warnings from D3DCompile2VKD3D() before version 42.
build: Do not warn on incomplete documentation.
vkd3d-shader: Mention the structure name when referring to a struct field.
vkd3d-shader: Escape a hash in Doxygen documentation.
vkd3d-shader: Do not use \ref for parameters.
vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in write_atan_or_atan2().
vkd3d-shader/hlsl: Use elementwise_intrinsic_convert_args() in intrinsic_dst().
vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in intrinsic_faceforward().
vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in intrinsic_smoothstep().
vkd3d-shader/hlsl: Preserve halves in intrinsic_step().
vkd3d-shader/hlsl: Use elementwise_intrinsic_float_convert_args() in refract().
vkd3d-shader/hlsl: Use intrinsic_float_convert_arg() in write_acos_or_asin().
vkd3d-shader/hlsl: Use expr_common_base_type() in intrinsic_cross().
vkd3d-shader/hlsl: Preserve doubles in intrinsic_float_convert_arg().
vkd3d-shader/hlsl: Preserve doubles in elementwise_intrinsic_float_convert_args().
vkd3d-shader/hlsl: Preserve doubles in intrinsic_cross().
vkd3d-shader/hlsl: Preserve doubles in intrinsic_determinant().
vkd3d-shader/hlsl: Store a pointer to the block's "value" instruction in the block.
vkd3d-shader/hlsl: Return bool from add_assignment().
vkd3d-shader/hlsl: Do not create a copy in add_assignment().
vkd3d-shader/hlsl: Do not handle HLSL_CLASS_CONSTANT_BUFFER in copy_propagation_transform_load().
vkd3d-shader/hlsl: Clarify a comment.
vkd3d-shader/hlsl: Introduce the "error" type.
vkd3d-shader/hlsl: Return an "error" expression when constructing an arithmetic expression from incompatible types.
vkd3d-shader/hlsl: Handle error expressions in unary expressions.
vkd3d-shader/hlsl: Use add_cast() in append_conditional_break().
vkd3d-shader/hlsl: Fix a corner case in ternary type conversion.
vkd3d-shader/ir: Remove newlines from some vkd3d_shader_error() calls.
vkd3d-shader: Allow controlling clip planes through vkd3d-shader parameters.
tests: Test clip planes.
vkd3d-shader/hlsl: Free static initializers after functions.
vkd3d-shader/hlsl: Return an "error" expression when using an undeclared variable.
vkd3d-shader/hlsl: Handle error expressions in function calls.
vkd3d-shader/hlsl: Handle error expressions in binary expressions.
vkd3d-shader/hlsl: Handle error expressions in assignments.
vkd3d-shader/hlsl: Handle error expressions in method calls.
vkd3d-shader/preproc: Store argument values per expansion, not per macro.
vkd3d-shader/hlsl: Introduce an add_explicit_conversion() helper.
vkd3d-shader/hlsl: Handle error expressions in explicit casts.
vkd3d-shader/hlsl: Handle error expressions in array indexes.
vkd3d-shader/hlsl: Handle error expressions in subscripts.
vkd3d-shader/hlsl: Handle error expressions in increments.
vkd3d-shader/spirv: Always write the point size in vertex shaders.
tests: Add a test for shader point size output.
vkd3d-shader/spirv: Implement shader point size.
vkd3d-shader/ir: Allow controlling FFP point size through a vkd3d-shader parameter.
tests: Test FFP point size.
vkd3d-shader/ir: Allow controlling FFP point size clamping through vkd3d-shader parameters.
tests: Test FFP point size clamping.
vkd3d-shader/hlsl: Factor out an initialize_var() helper.
vkd3d-shader/hlsl: Store the initializer location in struct parse_initializer.
vkd3d-shader/hlsl: Factor the component count check into initialize_var().
vkd3d-shader/hlsl: Handle error expressions in initializers.
vkd3d-shader/hlsl: Handle error expressions in ternary expressions.
vkd3d-shader/ir: Allow controlling point sprite through a parameter.
tests: Test point sprite.
vkd3d-shader: Factor out a vsir_parse() helper.
vkd3d-shader: Validate the parsed shader in vsir_parse().
vkd3d-shader/hlsl: Handle error expressions in conditions.
vkd3d-shader/hlsl: Handle error expressions in return statements.
vkd3d-shader/hlsl: Handle error expressions in array sizes.
vkd3d-shader/hlsl: Return an error expression when an invalid subscript is used.
vkd3d-shader/hlsl: Avoid leaking the block in the subscript rule.
tests/shader_runner: Store shader caps using an array.
tests/shader_runner: Get rid of the "dxbc_ptr" parameter to create_shader_stage().
tests/shader_runner: Store shader sources as an array.
tests/shader_runner: Store the dxc_compiler in the shader_runner.
tests/shader_runner: Centralize the compile_hlsl() helper in shader_runner.c.
tests/shader_runner: Split HLSL and SPIRV compilation in the Vulkan shader runner.
tests/shader_runner: Compile HLSL for all stages before compiling SPIRV.
tests/shader_runner: Build a varying map in the Vulkan runner.
tests: Add a test for sm1 inter-stage interface matching.
vkd3d: Initialize vk_extensions in vk_init_device_caps().
vkd3d-shader/fx: Remove an unnecessary hlsl_is_numeric_type().
vkd3d-shader: Make an assert into an explicit check.
vkd3d-shader/hlsl: Use early return in allocate_register().
tests: Silence a bogus -Wmaybe-uninitialized.
tests: Add a test for uninitialized varyings.
vkd3d-shader: Always ensure a RET at the end of a program.
vkd3d-shader: Reduce masks to only read components in vsir_program_remap_output_signature().
vkd3d-shader: Write uninitialized components of COLOR0 as 1.
vkd3d-shader: Write zeroes for uninitialized outputs in vsir_program_remap_output_signature().
vkd3d-shader/fx: Fix checking for a GS with stream output.
tests: Add some tests for FOG and PSIZE writemask restrictions.
vkd3d-shader/hlsl: Enforce PSIZE component count for sm1 VS output.
vkd3d-shader/hlsl: Enforce FOG component count for sm1 VS output.
vkd3d-shader/ir: Force fog and point size to 1 component when normalizing I/O.
vkd3d-shader/hlsl: Write all writemask components for PSIZE and FOG outputs.
vkd3d-shader/ir: Add an is_pre_rasterization_shader() helper.
vkd3d-shader/hlsl: Silence a spurious -Wmaybe-uninitialized in sm4_generate_vsir_instr_dcl_semantic().
vkd3d-shader: Silence a spurious -Wmaybe-uninitialized in vsir_program_insert_alpha_test().
Evan Tang (4):
vkd3d-shader/ir: Remove an unnecessary typecast in shader_instruction_eliminate_phase_instance_id().
vkd3d-shader/ir: Don't shift register write masks by the component index in shader_dst_param_io_normalise().
tests: Add a test for shader interstage register packing.
tests: Add a test for writing patch constants during tessellation.
Feifan He (30):
vkd3d-shader: Introduce VKD3D_SHADER_TARGET_MSL.
vkd3d-shader/msl: Generate comments for unhandled instructions.
vkd3d-shader/msl: Call vsir_program_transform() before generating code.
vkd3d-shader/msl: Keep track of the current indentation level
vkd3d-shader/msl: Add vkd3d-shader version information to the generated shader.
vkd3d-shader/msl: Implement VKD3DSIH_NOP.
vkd3d-shader/msl: Implement VKD3DSIH_MOV.
vkd3d-shader/msl: Implement VKD3DSIH_RET.
vkd3d-shader/msl: Implement support for VKD3DSPR_TEMP registers.
vkd3d-shader/msl: Generate shader output structure declarations.
vkd3d-shader/msl: Generate shader input structure declarations.
vkd3d-shader/msl: Generate the shader entry point.
vkd3d-shader/msl: Generate the shader entry point epilogue.
vkd3d-shader/msl: Generate the shader entry point prologue.
vkd3d-shader/msl: Handle signature element masks in the prologue and epilogue.
vkd3d-shader/msl: Generate shader descriptor structure declarations.
vkd3d-shader/msl: Implement support for VKD3DSPR_CONSTBUFFER registers.
vkd3d-shader/msl: Implement support for VKD3DSPR_INPUT registers.
vkd3d-shader/msl: Implement support for VKD3DSPR_OUTPUT registers.
tests/shader_runner: Introduce a Metal shader runner.
vkd3d-shader/msl: Add the missing output register index in msl_generate_entrypoint_epilogue().
vkd3d-shader/msl: Use pointers for constant buffer descriptors.
tests/shader_runner_metal: Implement graphics shader compilation.
vkd3d-shader/msl: Output the generated shader code.
tests/shader_runner_metal: Create vertex descriptors.
tests/shader_runner_metal: Create Metal render targets.
tests/shader_runner_metal: Create Metal vertex buffers.
tests/shader_runner_metal: Implement render target readback.
tests/shader_runner_metal: Create Metal constant buffers.
tests/shader_runner_metal: Implement draws.
Francisco Casas (77):
vkd3d-shader/hlsl: Introduce hlsl_ir_vsir_instruction_ref.
vkd3d-shader/hlsl: Store SM1 constant dcls on the vsir_program.
vkd3d-shader/hlsl: Store SM1 sampler dcls on the vsir_program.
vkd3d-shader/hlsl: Save hlsl_ir_constants in the vsir_program for SM1.
vkd3d-shader/hlsl: Save hlsl_ir_loads in the vsir_program for SM1.
vkd3d-shader/hlsl: Save hlsl_ir_stores in the vsir_program for SM1.
vkd3d-shader/hlsl: Save hlsl_ir_swizzles in the vsir_program for SM1.
vkd3d-shader/hlsl: Parse the shader 'compile' syntax.
vkd3d-shader/hlsl: Parse the CompileShader() syntax.
vkd3d-shader/hlsl: Save simple hlsl_ir_exprs in the vsir_program for SM1.
vkd3d-shader/hlsl: Save per-component hlsl_ir_exprs in the vsir_program for SM1.
vkd3d-shader/hlsl: Save DOT hlsl_ir_exprs in the vsir_program for SM1.
vkd3d-shader/hlsl: Save COS_REDUCED and SIN_REDUCED in the vsir_program for SM1.
vkd3d-shader/hlsl: Save DP2ADD hlsl_ir_exprs in the vsir_program for SM1.
vkd3d-shader/hlsl: Save REINTERPRET hlsl_ir_exprs as vsir_program MOVs for SM1.
vkd3d-shader/hlsl: Save CAST hlsl_ir_exprs in the vsir_program for SM1.
vkd3d-shader/hlsl: Save hlsl_ir_resource_load in the vsir_program for SM1.
vkd3d-shader/hlsl: Save hlsl_ir_jump in the vsir_program for SM1.
vkd3d-shader/hlsl: Introduce enum hlsl_compile_type.
tests: Test ConstructGSWithSO() parsing.
vkd3d-shader/hlsl: Process GeometryShader as a valid stateblock lhs.
vkd3d-shader/hlsl: Parse ConstructGSWithSO().
vkd3d-shader/hlsl: Allow effect calls on default value initializers.
vkd3d-shader/hlsl: Save hlsl_ir_if in the vsir_program for SM1.
vkd3d-shader/hlsl: Remove hlsl_ir_vsir_instruction_ref.
vkd3d-shader/d3dbc: Remove ctx and entry_func args in d3dbc_compile().
tests/shader_runner: Skip the GLSL tests when GLSL support is not enabled.
tests/shader_runner: Skip the DXIL tests when DXIL support is not enabled.
tests/shader_runner: Use skip() when the d3d12 device doesn't support shader model 6.
tests/shader_runner: Query for GLSL target support instead of checking VKD3D_SHADER_UNSUPPORTED_GLSL.
tests/shader-runner: Query for SM6 support instead of checking VKD3D_SHADER_UNSUPPORTED_DXIL.
tests: Test sampler_state keyword syntax.
vkd3d-shader/hlsl: Process 'texture' as a valid stateblock lhs.
vkd3d-shader/hlsl: Parse sampler_state.
vkd3d-shader/hlsl: Fix the conditions to discard default values.
vkd3d-shader/tpf: Write sysval semantic consistently.
vkd3d-shader/tpf: Use dcl_input_ps_sgv for sv_isfrontface.
tests: Test interstage signature optimizations.
tests: Test interstage signature with arrays.
vkd3d-shader/d3dbc: Remove the "hlsl_" prefix from external functions.
vkd3d-shader/hlsl: Split hlsl_sm4_write().
vkd3d-shader/tpf: Rename "tpf_writer" to "tpf_compiler".
vkd3d-shader/tpf: Pass a tpf_compiler structure to tpf_compile() callees.
vkd3d-shader/tpf: Use the I/O signatures from the vsir program in tpf_write_signature().
vkd3d-shader/tpf: Replace uses of ctx->profile with tpf->program->shader_version.
vkd3d-shader/tpf: Make sysval_semantic_from_hlsl() independent of HLSL IR.
vkd3d-shader/tpf: Make hlsl_sm4_register_from_semantic() independent of HLSL IR.
tests: Add signature reflection test with structs.
vkd3d-shader/hlsl: Add mode field to register_allocator allocations.
vkd3d-shader/hlsl: Use a register_allocator to allocate semantic registers.
vkd3d-shader/hlsl: Also pass field storage modifiers to output signature elements.
vkd3d-shader/hlsl: Allow accounting for interpolation mode when allocating semantics.
vkd3d-shader/hlsl: Allow to force alignment on some semantic vars.
vkd3d-shader/hlsl: Allow prioritizing smaller writemasks when allocating signature elements.
vkd3d-shader/hlsl: Optimize interstage signatures.
vkd3d-shader/hlsl: Sort signature elements by register id.
vkd3d-shader/hlsl: Store the thread group size in the vsir program.
vkd3d-shader/hlsl: Introduce hlsl_ir_vsir_instruction_ref, again.
vkd3d-shader/hlsl: Store temp declarations in the vsir program.
vkd3d-shader/hlsl: Make allocation functions static again.
vkd3d-shader/tpf: Use instr.extra_bits for IF.
vkd3d-shader/hlsl: Store SM4 swizzles in the vsir program.
vkd3d-shader/hlsl: Introduce vsir_src_from_hlsl_node().
vkd3d-shader/hlsl: Store SM4 ABS instructions in the vsir program.
vkd3d-shader/hlsl: Run sm4_generate_vsir_block() recursively.
vkd3d-shader/tpf: Remove HLSL IR ABS handling.
vkd3d-shader/hlsl: Store simple SM4 expressions in the vsir program.
vkd3d-shader/hlsl: Store RASTERIZER_SAMPLE_COUNT in the vsir program.
vkd3d-shader/tpf: Use SCALAR swizzle dimension for RASTERIZER registers.
vkd3d-shader/hlsl: Store SM4 casts in the vsir program.
vkd3d-shader/hlsl: Store SM4 SIN and COS in the vsir program.
vkd3d-shader/hlsl: Store SM4 RCP in the vsir program.
vkd3d-shader/hlsl: Store SM4 SAT in the vsir program.
vkd3d-shader/hlsl: Store SM4 MUL in the vsir program.
vkd3d-shader/hlsl: Store SM4 DIV in the vsir program.
vkd3d-shader/hlsl: Store SM4 DOT in the vsir program.
vkd3d-shader/hlsl: Store SM4 MOD in the vsir program.
Giovanni Mascellani (203):
vkd3d-shader: Use a hash to build the filename when dumping shaders.
vkd3d-shader: Dump the converted shader too.
vkd3d-shader/ir: Emit a warning instead of an error on validation failures.
vkd3d-shader/ir: Do not decide the control flow type on NOPs.
vkd3d-shader/ir: Run validation after lowering instructions.
vkd3d-shader/ir: Run validation after materializing PHI SSAs to TEMPs.
vkd3d-shader/ir: Run validation after lowering switches to selection ladders.
vkd3d-shader/ir: Run validation after structurization.
vkd3d-shader/ir: Run validation after flattening control flow constructs.
vkd3d-shader/ir: Run validation after materializing undominated SSAs to TEMPs.
vkd3d-shader/ir: Assume that Hull Shaders have a control point phase in vsir_program_normalise_io_registers().
vkd3d-shader/ir: Run validation after remapping the output signature.
vkd3d-shader/ir: Run validation after flattening hull shader phases.
vkd3d-shader/ir: Run validation after normalising Hull Shader control points I/O registers.
vkd3d-shader/ir: Run validation after normalising I/O registers.
vkd3d-shader/ir: Run validation after normalising flat constants.
vkd3d: Directly call the function to update descriptors.
vkd3d: Do not keep track of descriptor heaps when using virtual heaps.
vkd3d-shader/ir: Run validation after removing dead code.
vkd3d-shader/ir: Run validation after normalising combined samplers.
vkd3d-shader/ir: Run validation after flattening control flow constructs.
vkd3d-shader/ir: Run validation after inserting the alpha test.
vkd3d-shader/ir: Rename vsir_program_normalise() to vsir_program_transform().
vkd3d-shader/ir: Print results as signed numbers.
vkd3d-shader/ir: Move the control flow type enumeration to vkd3d_shader_private.h.
vkd3d-shader/ir: Record the control flow type in the program.
vkd3d-shader/ir: Introduce a helper for validating DCL_TEMPS.
vkd3d-shader/ir: Introduce a helper for validating IF.
vkd3d-shader/ir: Introduce a helper for validating IFC.
vkd3d-shader/ir: Introduce a helper for validating ELSE.
vkd3d-shader/ir: Introduce a helper for validating ENDIF.
vkd3d-shader/ir: Introduce a helper for validating LOOP.
vkd3d-shader/ir: Introduce a helper for validating ENDLOOP.
vkd3d-shader/ir: Introduce a helper for validating REP.
vkd3d-shader/ir: Introduce a helper for validating ENDREP.
vkd3d-shader/ir: Introduce a helper for validating SWITCH.
vkd3d-shader/ir: Introduce a helper for validating ENDSWITCH.
vkd3d-shader/ir: Introduce a helper for validating RET.
vkd3d-shader/ir: Introduce a helper for validating LABEL.
vkd3d-shader/ir: Introduce a helper for validating BRANCH.
vkd3d-shader/ir: Introduce a helper for validating SWITCH_MONOLITHIC.
vkd3d-shader/ir: Introduce a helper for validating PHI.
vkd3d-shader/ir: Do not access a missing destination register when validating PHI.
vkd3d-shader/ir: Validate NOP instructions.
vkd3d-shader/ir: Record leaving a block in the relevant validation handlers.
vkd3d-shader/ir: Record entering a block in the LABEL validation handler.
vkd3d-shader/ir: Introduce a helper for validating DCL_HS_MAX_TESSFACTOR.
vkd3d-shader/ir: Introduce a helper for validating DCL_INPUT_PRIMITIVE.
vkd3d-shader/ir: Introduce a helper for validating DCL_VERTICES_OUT.
vkd3d-shader/ir: Introduce a helper for validating DCL_OUTPUT_TOPOLOGY.
vkd3d-shader/ir: Introduce a helper for validating DCL_GL_INSTANCES.
vkd3d-shader/ir: Introduce a helper for validating DCL_OUTPUT_CONTROL_POINT_COUNT.
vkd3d-shader/ir: Introduce a helper for validating DCL_TESSELLATOR_DOMAIN.
vkd3d-shader/ir: Introduce a helper for validating DCL_TESSELLATOR_OUTPUT_PRIMITIVE.
vkd3d-shader/ir: Introduce a helper for validating DCL_TESSELLATOR_PARTITIONING.
vkd3d-shader/ir: Introduce a helper for validating Hull Shader phases.
vkd3d-shader/ir: Allow failure in shader_signature_find_element_for_reg().
vkd3d-shader/spirv: Propagate errors from vkd3d_spirv_stream_append().
vkd3d-shader/spirv: Do not reallocate the SPIR-V program.
vkd3d-shader/spirv: Rewrite vkd3d_spirv_get_type_id_for_data_type() in terms of vkd3d_spirv_get_type_id().
vkd3d-shader/spirv: Cache numeric types without through the general declaration cache.
vkd3d-shader/spirv: Do not specify depth for SPIR-V images.
vkd3d-shader/dxil: Release memory on exceptional paths in sm6_parser_read_signature(). (Valgrind)
vkd3d-shader/dxil: Release memory on exceptional paths when parsing DXIL code. (Valgrind)
vkd3d-shader: Get rid of the SAMPLER data type.
vkd3d-shader: Get rid of the UAV data type.
vkd3d-shader: Get rid of the RESOURCE data type.
vkd3d-shader/ir: Do not allow NULL registers in source parameters.
vkd3d-shader/ir: Disallow SAMPLER registers in destination parameters.
vkd3d-shader/ir: Disallow RESOURCE registers in destination parameters.
vkd3d-shader/dxil: Emit RESOURCE and UAV registers with data type UNUSED.
vkd3d-shader/ir: Validate SAMPLER registers.
vkd3d-shader/ir: Validate RESOURCE registers.
vkd3d-shader/ir: Validate UAV registers.
vkd3d-shader/d3d-asm: Dump all indices when tracing VSIR code.
vkd3d-shader/tpf: Propagate validation errors after parsing.
vkd3d-shader/d3dbc: Trace the program when validation fails after parsing.
vkd3d-shader/dxil: Trace the program when validation fails after parsing.
vkd3d-shader/d3dbc: Do not emit indices for DEPTHOUT registers.
vkd3d-shader/ir: Validate index count for DEPTHOUT registers.
vkd3d-shader/ir: Validate index count for DEPTHOUTGE registers.
vkd3d-shader/ir: Validate index count for DEPTHOUTLE registers.
vkd3d-shader/ir: Validate index count for RASTOUT registers.
vkd3d-shader/ir: Validate index count for MISCTYPE registers.
readme: Move the "Developing vkd3d" section upwards.
readme: Document some preprocessor definitions used by vkd3d.
vkd3d-shader/spirv: Handle all possible destination modifiers.
vkd3d-shader/dxil: Emit SAMPLER, UAV and RESOURCE registers with only 2 indices.
vkd3d-shader/ir: Validate indices for SAMPLER registers.
vkd3d-shader/ir: Validate indices for RESOURCE registers.
vkd3d-shader/ir: Validate indices for UAV registers.
tests/shader-runner: Print the WARP driver version.
vkd3d-shader/dxil: Emit double arithmetic operations when appropriate.
vkd3d-shader/d3d-asm: Rename vkd3d_shader_trace() to vsir_program_trace().
vkd3d-shader/d3d-asm: Rename dump_signature() to dump_dxbc_signature().
vkd3d-shader/d3d-asm: Rename dump_signatures() to dump_dxbc_signatures().
vkd3d-shader/d3d-asm: Dump signatures when tracing a VSIR program.
vkd3d-shader/ir: Set the signature sort indices in shader_signature_merge().
vkd3d-shader: Ignore the patch constant signature when it doesn't make sense.
vkd3d-shader/ir: Allow a patch constant signature only for Hull and Domain Shaders.
vkd3d-shader/ir: Validate register counts in input signatures.
vkd3d-shader/ir: Validate register counts in output signatures.
vkd3d-shader/ir: Validate register counts in patch constant signatures.
vkd3d-shader/ir: Validate masks in shader signatures.
vkd3d-shader/spirv: Write spirv_compiler_emit_variable() in terms of spirv_compiler_emit_array_variable().
tests: Only destroy the device if the context has one in vulkan_test_context_destroy().
vkd3d-shader/ir: Do not emit an instruction number before starting validating instructions.
vkd3d-shader/ir: Validate usage masks in shader signatures.
vkd3d-shader/ir: Validate system value semantics in shader signatures.
vkd3d-shader/ir: Validate component types in shader signatures.
vkd3d-shader/ir: Validate minimum precision in shader signatures.
vkd3d-shader/ir: Validate interpolation mode in shader signatures.
vkd3d-shader/ir: Validate that constant interpolation is used with integer types.
vkd3d-shader/ir: Do not search for signature elements using a scalar write mask.
vkd3d-shader/ir: Disallow INPUT registers in destination parameters.
vkd3d-shader/ir: Disallow OUTPUT registers in source parameters.
vkd3d-shader/ir: Only allow PATCHCONST registers as source parameteres in Hull and Domain Shaders.
vkd3d-shader/ir: Only allow PATCHCONST registers as destination parameteres in Hull Shaders.
vkd3d-shader/ir: Introduce a helper for validating TEMP registers.
vkd3d-shader/ir: Introduce a helper for validating SSA registers.
vkd3d-shader/ir: Introduce a helper for validating LABEL registers.
vkd3d-shader/ir: Introduce a helper for validating registers without indices.
vkd3d-shader/ir: Introduce a helper for validating SAMPLER registers.
vkd3d-shader/ir: Introduce a helper for validating RESOURCE registers.
vkd3d-shader/ir: Introduce a helper for validating UAV registers.
vkd3d-shader/ir: Introduce a helper for validating RASTOUT registers.
vkd3d-shader/ir: Introduce a helper for validating MISCTYPE registers.
vkd3d-shader/ir: Validate the allowed signatures and stages for SV_Position.
vkd3d-shader/ir: Validate the allowed data type and component count for SV_Position.
vkd3d-shader/ir: Validate the allowed signatures and stages for SV_ClipDistance.
vkd3d-shader/ir: Validate the allowed data type and component count for SV_ClipDistance.
vkd3d-shader/ir: Validate the allowed signatures and stages for SV_CullDistance.
vkd3d-shader/ir: Validate the allowed data type and component count for SV_CullDistance.
vkd3d-shader/ir: Validate the input control point count.
vkd3d-shader/ir: Validate the output control point count.
vkd3d-shader/ir: Validate that signatures are sensible for shader type.
tests/shader-runner: Make geometry shaders optional.
vkd3d-shader/ir: Validate SV_TessFactor signature elements for quad domains.
vkd3d-shader/ir: Validate SV_InsideTessFactor signature elements for quad domains.
vkd3d-shader/ir: Validate SV_TessFactor signature elements for tri domains.
vkd3d-shader/ir: Validate SV_InsideTessFactor signature elements for tri domains.
vkd3d-shader/ir: Validate the line detail SV_TessFactor signature element for isolines domains.
vkd3d-shader/ir: Validate the line density SV_TessFactor signature element for isolines domains.
ci: Use the macOS image from the master vkd3d repository.
vkd3d: Introduce a helper function to add bindings to struct vk_binding_array.
vkd3d: Use vk_binding_array_add_binding() in d3d12_root_signature_init_static_samplers().
vkd3d: Use vk_binding_array_add_binding() in d3d12_root_signature_init_root_descriptors().
vkd3d: Create Vulkan bindings in d3d12_root_signature_append_vk_binding().
vkd3d-shader/d3dbc: Make signature masks contiguous.
vkd3d-shader/ir: Check that signature masks are contiguous.
tests: Test discontiguous signature masks with SM<4 shaders.
ci: Remove the tart username and password environment variables.
ci: Use widl from the mingw-w64 brew package on macOS.
ci: Stop building widl for the macOS image.
ci: Build the DirectX shader compiler for macOS.
ci: Test DXIL shaders on macOS.
vkd3d-shader: Keep track of whether programs have normalised I/O.
vkd3d-shader: Keep track of whether programs have normalised hull shader control point I/O.
vkd3d-shader/ir: Validate INPUT registers.
vkd3d-shader/ir: Validate OUTPUT registers.
vkd3d-shader/ir: Validate PATCHCONST registers.
vkd3d-shader/ir: Validate INCONTROLPOINT registers.
vkd3d-shader/ir: Validate OUTCONTROLPOINT registers.
vkd3d: Allow overriding the device capabilities.
tests: Mark a sampling test as buggy on llvmpipe.
tests: Mark creating an 8x MSAA render target as buggy on llvmpipe.
tests: Mark latching the predicated value as todo on llvmpipe.
vkd3d-shader/ir: Represent the normalisation level with an enumeration.
vkd3d/device: Trace which descriptor heap implementation is being used.
vkd3d: Disable push descriptors when that's helpful to stay within 8 descriptor sets.
tests: Compute the correct value for condition conjunctions.
tests: Use appropriate RTV formats in max-min.shader_test.
tests: Use the appropriate RTV format in minimum-precision.shader_test.
tests: Mark interface packing pipeline creation as todo on MoltenVK.
ci: Build DXC for release.
tests: Test mismatching RTV and pixel shader output types.
vkd3d: Introduce an enumerant for the mutable descriptor set.
vkd3d: Move descriptor sets backing the SRV-UAV-CBV heap at the end.
vkd3d: Only put the mutable descriptor set once in the pipeline layout.
vkd3d: Incorporate mutable descriptors in the push descriptor disabling logic.
vkd3d-shader: Do not dump the target shader if compilation failed.
vkd3d-shader: Warn instead of erroring out when failing to dump a shader.
tests: Consider LOD miscalculation a todo rather than a driver bug.
tests: Use the appropriate RTV format in bitwise.shader_test.
tests: Dispatch just four invocations when testing for wave reconvergence.
tests: Mark geometry.shader_test as todo on MoltenVK.
tests: Mark tessellation.shader_test as todo on MoltenVK.
ci: Update the DXC version used on the CI to 1.8.2407.
tests: Mark tessellation-patch-vars.shader_test as todo on MoltenVK.
ci: Error out on Objective-C warnings.
tests: Mark fog.shader_test as todo with MSL.
tests: Use the appropriate RTV format in f32tof16.shader_test.
tests: Mark some tests in wave-reconvergence.shader_test as buggy on MoltenVK.
tests: Work around a Metal bug in switch.shader_test.
tests: Mark a couple of tests in register-reservations-numeric.shader_test as todo with MSL.
tests/shader_runner_vulkan: Avoid using ok() for shader compilation failues in create_graphics_pipeline().
tests: Remove some todo markings on MoltenVK in interface-packing.shader_test.
vkd3d-shader/spirv: Get rid of the "offset_component_count" field of struct vkd3d_spirv_resource_type.
tests: Mark a conditional rendering test as buggy on llvmpipe.
ci: Update Mesa to version 24.2.4.
vkd3d: Use WARN rather than ERR in vkd3d_instance_init().
vkd3d-shader/ir: Move applying flat interpolation to a dedicated pass.
vkd3d-shader/ir: Return an error when the FLAT_INTERPOLATION parameter is invalid.
Henri Verbeet (130):
vkd3d-shader/tpf: Return a vkd3d_shader_sysval_semantic from hlsl_sm4_usage_from_semantic().
vkd3d-shader/d3dbc: Return a vkd3d_decl_usage from hlsl_sm1_usage_from_semantic().
vkd3d-shader/tpf: Use enum vkd3d_shader_component_type in write_sm4_signature().
vkd3d-shader/tpf: Use enum vkd3d_sm4_data_type in sm4_resource_format().
vkd3d-shader/d3dbc: Store a enum vkd3d_sm1_opcode in struct sm1_instruction.
vkd3d-shader/d3dbc: Use VKD3D_SM1_INSTRUCTION_LENGTH_SHIFT instead of D3DSI_INSTLENGTH_SHIFT.
vkd3d-shader/d3dbc: Avoid D3DVS_VERSION and D3DPS_VERSION.
vkd3d-shader/d3dbc: Use VKD3D_SM1_REGISTER_TYPE_SHIFT and related constants in sm1_encode_register_type().
vkd3d-shader/d3dbc: Use enum vkd3d_shader_dst_modifier in struct sm1_dst_register.
vkd3d-shader/d3dbc: Use enum vkd3d_shader_src_modifier in struct sm1_src_register.
vkd3d-shader/d3dbc: Use VKD3D_SM1_DCL_USAGE_SHIFT and VKD3D_SM1_DCL_USAGE_INDEX_SHIFT in d3dbc_write_semantic_dcl().
vkd3d-shader/tpf: Include vkd3d_d3dcommon.h only from tpf.c.
vkd3d-shader/ir: Move the source parameter helpers up.
vkd3d-shader/ir: Move the destination parameter helpers up.
vkd3d-shader/ir: Move the instruction helpers together.
vkd3d-shader/ir: Introduce vsir_src_param_init_resource().
vkd3d-shader/ir: Introduce vsir_src_param_init_sampler().
vkd3d-shader/ir: Merge vsir_program_normalise_combined_samplers() into vsir_program_lower_instructions().
vkd3d-shader/glsl: Implement support for VKD3DSPR_INPUT registers.
vkd3d-shader/glsl: Implement support for VKD3DSPR_OUTPUT registers.
build: Use a tab to indent the "tests/hlsl/constructgswithso.shader_test" line in Makefile.am.
vkd3d-shader/d3dbc: Introduce enum vkd3d_sm1_misc_register.
vkd3d-shader/glsl: Handle SV_TARGET outputs.
vkd3d-shader/glsl: Implement support for VKD3DSPR_CONSTBUFFER registers.
vkd3d-shader/glsl: Implement support for VKD3DSPSM_ABS modifiers.
vkd3d-shader/d3dbc: Introduce enum vkd3d_sm1_rastout_register.
vkd3d-shader/glsl: Implement VKD3DSIH_NEU.
vkd3d-shader/glsl: Implement VKD3DSIH_MUL.
vkd3d-shader/glsl: Implement VKD3DSIH_INE.
vkd3d-shader/glsl: Implement VKD3DSIH_OR.
vkd3d-utils: Make D3D12CreateDevice a variadic macro, if possible.
vkd3d-shader/glsl: Implement VKD3DSIH_DIV.
vkd3d-shader/glsl: Implement support for VKD3DSPSM_NEG modifiers.
vkd3d-shader/glsl: Implement VKD3DSIH_GEO.
vkd3d-shader/glsl: Implement VKD3DSIH_FRC.
vkd3d-shader/d3dbc: Write the actual constant info offset in write_sm1_uniforms().
vkd3d-shader/glsl: Implement VKD3DSIH_FTOI.
vkd3d-shader/glsl: Implement VKD3DSIH_FTOU.
vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_PI.
vkd3d-shader/ir: Properly check the register bounds in shader_signature_find_element_for_reg().
vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_Z.
vkd3d-shader/glsl: Implement support for the VKD3DSPR_DEPTHOUT register.
vkd3d-shader/glsl: Implement VKD3DSIH_DP3.
vkd3d-shader/glsl: Implement VKD3DSIH_DP4.
vkd3d-shader/glsl: Implement VKD3DSIH_DP2.
vkd3d-shader/glsl: Implement VKD3DSIH_SQRT.
vkd3d-shader/glsl: Implement VKD3DSIH_DCL_INPUT_PS.
vkd3d-shader/glsl: Implement VKD3DSIH_IEQ.
vkd3d-shader/glsl: Implement VKD3DSIH_EXP.
vkd3d-shader/glsl: Implement VKD3DSIH_LTO.
vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_NI.
vkd3d-shader/glsl: Implement VKD3DSIH_IF and VKD3DSIH_ENDIF.
vkd3d-shader/glsl: Implement VKD3DSIH_ROUND_NE.
vkd3d-shader/glsl: Handle SV_IS_FRONT_FACE inputs.
vkd3d-shader/glsl: Implement VKD3DSIH_LOG.
vkd3d-shader/glsl: Implement VKD3DSIH_MAX.
vkd3d-shader/glsl: Implement VKD3DSIH_MIN.
vkd3d-shader/glsl: Implement VKD3DSIH_RSQ.
vkd3d-shader/glsl: Implement VKD3DSIH_NOT.
vkd3d-shader/glsl: Implement VKD3DSIH_ELSE.
vkd3d-shader/glsl: Implement support for VKD3DSPDM_SATURATE modifiers.
vkd3d-shader/glsl: Implement VKD3DSIH_MAD.
vkd3d-shader/glsl: Implement VKD3DSIH_ISHL.
vkd3d-shader/glsl: Implement VKD3DSIH_ISHR.
vkd3d-shader/glsl: Implement VKD3DSIH_USHR.
vkd3d-shader/glsl: Implement VKD3DSIH_LD.
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE.
vkd3d-shader/glsl: Implement VKD3DSIH_IGE.
vkd3d-shader/glsl: Implement VKD3DSIH_ILT.
vkd3d-shader/glsl: Implement VKD3DSIH_IMUL.
vkd3d-shader/glsl: Implement VKD3DSIH_EQO.
vkd3d-shader/glsl: Handle SV_VERTEX_ID inputs.
vkd3d-shader/glsl: Add interpolation modifiers to interstage inputs and outputs.
vkd3d-shader/glsl: Implement VKD3DSIH_IADD.
vkd3d-shader/glsl: Implement support for VKD3DSPR_IDXTEMP registers.
vkd3d-shader/glsl: Handle SV_POSITION inputs in fragment shaders.
vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_UINT outputs.
vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_UINT inputs.
vkd3d-shader/glsl: Implement VKD3DSIH_INEG.
vkd3d-shader/glsl: Implement VKD3DSIH_IMAX.
vkd3d-shader/ir: Store the thread group size in struct vsir_program.
vkd3d-shader/glsl: vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_INT inputs.
vkd3d-shader/glsl: Implement loops.
vkd3d-shader/glsl: Implement switches.
vkd3d-shader/glsl: Implement VKD3DSIH_ULT.
vkd3d-shader/glsl: Implement VKD3DSIH_CONTINUE.
vkd3d-shader/ir: Remove VKD3DSIH_DCL_UAV_TYPED instructions.
vkd3d-shader/glsl: Use VKD3D_SHADER_ERROR_GLSL_UNSUPPORTED for unsupported CBV descriptor arrays.
vkd3d-shader/glsl: Use the semantic index for shader_out_* declarations.
vkd3d-shader/glsl: Implement VKD3DSIH_STORE_UAV_TYPED.
vkd3d-shader/glsl: Implement support for compute shaders.
tests/shader_runner: Trace the "clip-planes" cap.
build: Actually run interface-packing.shader_test and tessellation-patch-vars.shader_test.
tests: Add a basic shader model 6 interface packing test as well.
vkd3d-shader/dxil: Shift register write masks by the component index in sm6_parser_emit_dx_store_output().
vkd3d-shader/d3dbc: Avoid D3DXSHADER_CONSTANTTABLE.
vkd3d: Slightly simplify the SRV/UAV logic in vk_write_descriptor_set_from_d3d12_desc().
vkd3d-shader/glsl: Implement VKD3DSIH_LD_UAV_TYPED.
vkd3d-shader/glsl: Implement support for the VKD3DSPR_THREADID register.
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_B.
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_C.
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_C_LZ.
vkd3d-shader/ir: Store the global flags in struct vsir_program.
vkd3d-shader/glsl: Implement VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL.
vkd3d-shader/glsl: Implement VKD3DSIH_UMAX and VKD3DSIH_UMIN.
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_LOD.
vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE_GRAD.
vkd3d-shader/glsl: Implement VKD3DSIH_GATHER4.
tests/shader_runner: Print the test context in fatal_error().
vkd3d-shader/d3d-asm: Implement support for VKD3DSPR_PARAMETER registers.
vkd3d-shader/spirv: Handle oPts in spirv_compiler_get_register_name().
tests/shader_runner: Handle render target sizes other than 640x480.
tests/shader_runner_d3d12: Introduce a helper to get the default resource state for a resource.
tests: Add a test for actual multisample loads.
tests/shader_runner: Set "properties2.sType" in get_physical_device_info() in the Vulkan runner.
tests/shader_runner: Print "(none)" for an empty caps list in trace_shader_caps().
tests/shader_runner: Check whether copy/dispatch/draw succeeded in parse_test_directive().
vkd3d-shader/ir: Specifically search for SV_POSITION0 in vsir_program_insert_clip_planes().
vkd3d-shader/ir: Search for SV_TARGET0 vsir_program_insert_alpha_test().
vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_INT outputs.
vkd3d-shader/glsl: Implement VKD3DSIH_GATHER4_PO.
vkd3d-shader/glsl: Implement support for static texel offsets in shader_glsl_sample().
vkd3d-shader/glsl: Handle SV_SAMPLE_INDEX inputs.
vkd3d-shader/glsl: Implement VKD3DSIH_LD2DMS.
tests/shader_runner: Slightly simplify dxc handling.
tests/shader_runner_metal: Get rid of some stray semicolons.
vkd3d-shader/msl: Implement VKD3DSIH_DCL_INPUT.
vkd3d-shader/msl: Implement VKD3DSIH_DCL_OUTPUT_SIV.
vkd3d-shader/msl: Implement VKD3DSIH_DCL_OUTPUT.
include: Document the binary effect transformations supported by vkd3d_shader_compile().
Nikolay Sivov (61):
vkd3d-shader/fx: Set structure field offsets in bytes.
vkd3d-shader/fx: Only add numeric variables when writing buffers.
vkd3d-shader/fx: Expand BlendState array fields for fx_4_1 as well.
vkd3d-shader/fx: Fix the unpacked size and stride fields of the fx_4_0 types.
vkd3d-shader/tpf: Fix a typo when adding the SFI0 section.
vkd3d-shader: Handle the SV_SampleIndex semantic.
vkd3d-shader/hlsl: Implement the mad() intrinsic.
vkd3d-shader/fx: Check modifiers when reusing types.
vkd3d-shader/tpf: Create a stub STAT section.
vkd3d-shader/tpf: Handle conversion instructions in STAT.
vkd3d-shader/tpf: Handle arithmetic instructions in STAT.
vkd3d-shader/tpf: Handle 'emit' and 'cut' in STAT.
vkd3d-shader/tpf: Handle 'movc' in STAT.
vkd3d-shader/tpf: Handle texture instructions in STAT.
vkd3d-shader/d3d-asm: Tweak some GS declaration names.
vkd3d-shader/tpf: Handle GS reflection fields in the STAT section.
vkd3d-shader/tpf: Handle bitwise instructions in STAT.
vkd3d-shader/tpf: Handle atomic instructions in STAT.
vkd3d-shader/tpf: Handle tessellation stage fields in STAT.
vkd3d-shader/tpf: Handle barrier instructions in STAT.
vkd3d-shader/tpf: Add a 'lod' counter to the STAT.
vkd3d-shader/tpf: Set 'gather' instructions counter in the STAT.
vkd3d-shader/tpf: Move STAT fields update to a separate helper.
vkd3d-shader/tpf: Set temps count in the STAT section.
vkd3d-shader: Explicitly set indices for the numeric type names array.
tests: Add some more tests for type name handling.
vkd3d-shader/hlsl: Remove the 'double' keyword.
vkd3d-shader/d3dbc: Add an option to treat doubles as floats.
tests: Add some tests for initial values in effects.
vkd3d-shader/fx: Handle the 'half' type in fx_4+.
vkd3d-shader/fx: Add initial support for writing default values for fx_2_0.
vkd3d-shader/fx: Add support for writing annotations for fx_2_0.
vkd3d-shader/hlsl: Move default values indexing fixup to the tpf writer stage.
tests: Add some tests for state value assignments.
vkd3d-shader/hlsl: Do not lower index expressions for effects.
vkd3d-shader/fx: Handle assignments with array RHS indexed with a constant or a single variable.
vkd3d-shader/fx: Implement writing fx_2_0 object initializer data sections.
vkd3d-shader/hlsl: Remove the type equality assertion for binary expression arguments.
tests: Add a test for uniform array indexing.
vkd3d-shader/fx: Introduce a parser/disassembler.
vkd3d-shader/fx: Add support for parsing constant buffer elements.
vkd3d-shader/fx: Add support for tracing string variables.
vkd3d-shader/hlsl: Implement the modf() intrinsic.
vkd3d-shader/fx: Add support for tracing annotations.
vkd3d-compiler: Add missing 'fx' source type to the CLI output.
vkd3d-shader/fx: Implement parsing groups and techniques.
vkd3d-shader/hlsl: Handle snorm/unorm types as resource formats.
vkd3d-shader/hlsl: Implement the f32tof16() intrinsic.
vkd3d-shader/hlsl: Handle SV_GroupIndex.
vkd3d-shader/hlsl: Use a more compact way to store object method configurations.
vkd3d-shader/hlsl: Add parser support for the RWByteAddressBuffer type.
tests: Add some more tests for RWByteAddressBuffer store methods.
vkd3d-shader/hlsl: Implement RWByteAddressBuffer.Store*() methods.
vkd3d-shader/fx: Implement parsing shader objects.
vkd3d-shader/fx: Implement parsing shader resources types.
vkd3d-shader/hlsl: Accept multiple colon-separated attributes.
vkd3d-shader/spriv: Only lookup resource symbols for UAVs in the ld_raw/ld_structured handler.
vkd3d-shader/hlsl: Add parser support for the ByteAddressBuffer type.
vkd3d-shader/hlsl: Implement the ByteAddressBuffer.Load*() methods.
vkd3d-shader/fx: Implement parsing the remaining fx_5_0 object types.
vkd3d-shader/fx: Implement parsing states objects.
Petrichor Park (2):
vkd3d-shader/hlsl: Implement the dst() intrinsic.
vkd3d-shader/hlsl: Implement the sincos() intrinsic.
Shaun Ren (36):
vkd3d-shader/hlsl: Check for duplicate attributes in function declaration.
tests: Test hull shader attributes.
tests: Test hull shader function overloads.
vkd3d-shader/hlsl: Introduce parse_entry_function_attributes() helper.
vkd3d-shader/hlsl: Parse the domain attribute.
vkd3d-shader/hlsl: Parse the outputcontrolpoints attribute.
vkd3d-shader/hlsl: Parse the outputtopology attribute.
vkd3d-shader/hlsl: Parse the partitioning attribute.
vkd3d-shader/hlsl: Parse the patchconstantfunc attribute.
vkd3d-shader/hlsl: Validate hull shader attributes.
vkd3d-shader/hlsl: Introduce process_entry_function() helper.
vkd3d-shader/hlsl: Clone static_initializers for each entry function.
vkd3d-shader/hlsl: Record semantic extern vars separately for each entry function.
vkd3d-shader/hlsl: Track whether a variable is read in any entry function.
vkd3d-shader/hlsl: Allocate temporary registers separately for each entry function.
vkd3d-shader/hlsl: Invoke prepend_uniform_copy() only once for global uniforms.
tests: Test struct single inheritance.
vkd3d-shader/hlsl: Implement struct single inheritance.
vkd3d-shader/tpf: Write hull shader declarations.
vkd3d-shader/tpf: Implement semantics for hull shaders.
tests: Test hull shader uniform input parameters.
vkd3d-shader/hlsl: Process the patch constant function in hlsl_emit_bytecode().
vkd3d-shader/tpf: Introduce tpf_write_shader_function().
vkd3d-shader/tpf: Determine SIV from SV and index in write_sm4_dcl_semantic().
tests: Test signature reflection for hull shaders.
vkd3d-shader/tpf: Write the patch constant function in hull shaders.
vkd3d-utils: Implement version reflection.
vkd3d-utils: Return correct use masks during reflection.
vkd3d-shader/ir: Validate control point counts correctly.
vkd3d-shader/tpf: Write the input signature of domain shaders as PCSG.
vkd3d-shader/tpf: Use vpc input registers for domain shaders.
vkd3d-shader/tpf: Write domain shader declarations.
vkd3d-shader/tpf: Implement semantics for domain shaders.
tests: Test signature reflection for domain shaders.
vkd3d-shader/hlsl: Support discard for SM1.
vkd3d-shader/hlsl: Store SM4 semantic declarations in the vsir program.
Victor Chiletto (3):
vkd3d-shader/hlsl: Fold logic AND and logic OR identities.
tests: Add a test for unused overlapping cbuffer reservations.
vkd3d-shader/hlsl: Allow cbuffer reservations to overlap if only one of them is allocated.
```
1
0
The Wine development release 9.21 is now available.
What's new in this release:
- More support for network sessions in DirectPlay.
- Header fixes for C++ compilation.
- I/O completion fixes.
- More formats supported in D3DX9.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.21.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.21/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.21 (total 16):
- #27933 Implement sort.exe command
- #47776 Multiple games crash on unimplemented function D3DXOptimizeVertices (Timeshift, Call of Duty 2 modding tools, Rise of Nations: Rise of Legends 2010)
- #48235 Multiple applications need 'ntdll.NtWow64QueryInformationProcess64' (IP Camera Viewer 4.x)
- #48796 Saints Row 2 needs GUID_WICPixelFormat48bppRGB
- #52078 MusicBee: exception when attempting to drag tabs ( (QueryInterface for the interface with IID '{83E07D0D-0C5F-4163-BF1A-60B274051E40}' gives Exception E_NOINTERFACE))
- #54295 Touhou Puppet Dance Performance: Shard of Dreams Can't Locate Base Game Data After Installation
- #54623 MediRoutes crashes on unimplemented function websocket.dll.WebSocketCreateClientHandle
- #56219 Paint Shop Pro 9.01, printing function doesn't work
- #57164 Can't start RtlpWaitForCriticalSection
- #57183 9.17-devel: Drag and Drop no longer works on Ubuntu 24.04 Noble
- #57275 Black screen when using full-screen mode from version 9.18
- #57292 unimplemented function apphelp.dll.SdbSetPermLayerKeys
- #57296 WineHQ-devel-9.19: Renders Distorted Radio Buttons on WinXP Solitaire
- #57314 Metal Gear Solid V gametrainer needs wmi Win32_Process executablepath property
- #57355 Window-resize won't refresh controls on mainform
- #57392 AnyRail msi crashes
### Changes since 9.20:
```
Alex Henrie (2):
ntdll: Implement NtWow64QueryInformationProcess64.
include: Annotate PFN_CMSG_ALLOC with __WINE_ALLOC_SIZE.
Alexandre Julliard (22):
winetest: Remove strmake() len argument for consistency with other modules.
winetest: Get default tag and URL from Gitlab CI variables.
capstone: Allow callers to specify their memory allocators.
capstone: Comment out error printfs.
opengl32: Cache downloaded files in make_opengl.
opencl: Cache downloaded files in make_opencl.
winevulkan: Cache downloaded files in make_vulkan.
include: Use __attribute__ in preference to __declspec.
wow64: Fix handle conversion in NtWow64QueryInformationProcess64.
wow64: Move NtWow64QueryInformationProcess64 to process.c.
user32: Add some new entry points and ordinals.
gdi32: Add some new entry points and ordinals.
win32u: Add some new stub entry points.
ntdll/tests: Skip the syscall relocation test if the file on disk is not updated.
kernel32/tests: Search the current directory for newly-created dlls.
netstat: Use wide character string literals.
notepad: Use wide character string literals.
oleview: Use wide character string literals.
services: Use wide character string literals.
taskmgr: Use wide character string literals.
winefile: Use wide character string literals.
wordpad: Use wide character string literals.
Alexey Prokhin (1):
kernelbase: Set the proper error code in GetQueuedCompletionStatus{Ex} when the handle is closed.
Alistair Leslie-Hughes (11):
include: Add rstscr.idl.
include: Add rstxsc.idl.
include: Add rstfnd.idl.
include: Add rstidn.idl.
include: Add DBGUID_DBSQL define.
include: Add DB_S_ROWLIMITEXCEEDED define.
include: Dbs.idl: Added DBVECTOR/DB_VARNUMERIC types.
include: Move ISAXXMLFilter interface to after base ISAXXMLReader.
dplayx: Use a single reference count for IDirectPlay interfaces.
dplayx: Remove numIfaces variable in IDirectPlayLobby.
dplayx: Use default DllCanUnloadNow implementation.
Anton Baskanov (31):
dplayx: Inline logic from CreatePlayer() functions into DP_IF_CreatePlayer().
dplayx: Allow storing group SP data.
dpwsockx: Get player address from SP header and use it in SendEx().
dpwsockx: Add partial SendToGroupEx() implementation.
dplayx: Send CREATEPLAYER instead of ADDFORWARDREQUEST in CreatePlayer().
dplayx: Queue DPSYS_CREATEPLAYERORGROUP on player creation.
dplayx: Remove received message from the queue.
dplayx: Set message sender and receiver IDs in Receive().
dplayx: Make a deep copy of the message.
dplayx: Set message data size in Receive().
dplayx: Set flags correctly in CreatePlayer().
dplayx: Always set the data size in GetPlayerData().
dplayx/tests: Test that player from CREATEPLAYER is added to the session.
dplay: Handle CREATEPLAYER and add player to the session.
dplayx/tests: Use the correct system player ID in sendSuperEnumPlayersReply().
dplayx/tests: Test client side of Send() separately.
dplayx: Queue the message for local players in SendEx().
dplayx: Remove the separate branch for DPID_ALLPLAYERS in SendEx().
dplayx: Send the message in SendEx().
dplayx/tests: Test client side of Receive() separately.
dplayx: Handle game messages.
dplayx: Check the buffer size in Receive().
dplayx: Return DPERR_BUFFERTOOSMALL from Receive() if data is NULL.
dplayx: Handle DPRECEIVE_TOPLAYER and DPRECEIVE_FROMPLAYER in Receive().
dplayx: Enter the critical section in DP_IF_Receive().
dplayx/tests: Test non-guaranteed Send().
dpwsockx: Support non-guaranteed delivery.
dplayx/tests: Test receiving UDP messages.
dpwsockx: Receive UDP messages.
dplayx/tests: Test that PINGREPLY is sent in reply to PING.
dplayx: Handle PING and send PINGREPLY.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bartosz Kosiorek (2):
gdiplus: Add GdipGetEffectParameterSize stub and fix GdipDeleteEffect.
gdiplus/tests: Add GdipGetEffectParameterSize test.
Biswapriyo Nath (2):
include: Add new property keys in propkey.h.
include: Add windows.applicationmodel.datatransfer.idl.
Brendan Shanks (2):
ntdll/tests: Add test for direct syscalls on x86_64.
ntdll: Add SIGSYS handler to support syscall emulation on macOS Sonoma and later.
Christian Costa (1):
d3dx9: Add semi-stub for D3DXOptimizeVertices().
Connor McAdams (10):
d3dx9: Introduce d3dx_pixel_format_id enumeration.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the d3dx_image structure.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the DDS pixel format lookup structure.
d3dx9: Use the d3dx_pixel_format_id enumeration inside of the WIC pixel format lookup structure.
d3dx9/tests: Add more tests for handling JPG/PNG files.
d3dx9: Report 24bpp RGB as 32bpp XRGB for JPG and PNG files.
d3dx9: Add support for decoding 64bpp RGBA PNG files.
d3dx9: Add support for decoding 48bpp RGB PNG files.
d3dx9: Add support for loading surfaces from 48bpp RGB PNG files.
d3dx9: Add support for loading volumes from 48bpp RGB PNG files.
Elizabeth Figura (7):
win32u: Normalize inverted rectangles in dibdrv_RoundRect().
win32u: Correctly handle transforms which flip in get_arc_points().
win32u: Do not convert back to integer before finding intersections.
win32u: Forward to Rectangle() if the ellipse width or height is zero.
wmilib.sys: Add stub DLL.
ntoskrnl: Stub PoRequestPowerIrp().
ntdll: Do not queue completion for a synchronous file.
Eric Pouech (2):
midiseq: Reduce race window when closing sequencer.
kernelbase: Add undocumented EXTENDED_FLAGS to process attribute list.
Fabian Maurer (13):
comdlg32/tests: Fix compilation for gcc 4.7.
mf/tests: Fix compilation for gcc 4.7.
wbemprox/tests: Add test for Win32_Process querying "ExecutablePath" propery.
wbemprox: Add property "ExecutablePath" to Win32_Process.
userenv/tests: Add another test for GetProfilesDirectoryA.
ntdll/tests: Add more tests for RtlExpandEnvironmentStrings/_U.
kernel32/tests: Add tests for ExpandEnvironmentStringsW.
kernel32/tests: Add more tests for ExpandEnvironmentStringsA.
kernel32/tests: Add ExpandEnvironmentStringsA tests for japanese.
ntdll: Rework RtlExpandEnvironmentStrings/_U to account for corner cases.
kernel32: Rework ExpandEnvironmentStringsW error handling.
kernel32: Rework ExpandEnvironmentStringsA to return ansi size and fix corner cases.
userenv: Fix GetProfilesDirectoryA return value.
Hans Leidekker (2):
fc: Support /c option.
wintypes/tests: Add tests for RoResolveNamespace().
Jacek Caban (2):
winecrt0: Use version 2 of CHPE metadata.
winegcc: Skip --no-default-config in find_libgcc.
Jactry Zeng (11):
msvcrt/tests: Test tolower() with DBCS.
msvcrt: Improve DBCS support for _tolower_l().
msvcrt/tests: Test _tolower_l() with DBCS.
msvcrt: Correct the result of non-ASCII characters for _strnicmp_l().
msvcrt/tests: Test _stricmp() with multiple bytes characters.
include: Add _strnicmp_l() declaration.
msvcrt/tests: Add tests of _strnicmp_l().
msvcrt/tests: Test toupper() with DBCS.
msvcrt: Improve DBCS support for _toupper_l().
msvcrt/tests: Add tests for locale information.
msvcrt: Try to generate CTYPE data according to the given codepage.
Jinoh Kang (2):
server: Allow creating named pipes using \Device\NamedPipe\ as RootDirectory.
server: Implement more FSCTLs on \Device\NamedPipe and \Device\NamedPipe\.
Matteo Bruni (2):
d3dx9/tests: Disable test sometimes crashing on Windows.
winegstreamer: Split large WMA samples.
Maxim Karasev (1):
klist: Migrate to KerbQueryTicketCacheExMessage.
Michael Lelli (1):
ntdll: Use __wine_unix_spawnvp() to invoke unmount command.
Paul Gofman (7):
ntdll: Introduce a separate per-thread object for internal completion waits.
ntdll: Assign completion to thread when wait for completion is satisfied.
ntdll: Handle user APCs explicitly in NtRemoveIoCompletionEx().
server: Signal completion port waits on handle close.
ntdll/tests: Add tests for completion port signaling.
server: Sync cursor position on window position change.
mountmgr.sys: Stub StorageDeviceSeekPenaltyProperty query.
Piotr Caban (1):
kernelbase: Support backslashes when parsing relative URL in UrlCombine.
Rémi Bernon (59):
win32u: Do not adjust old valid rect when moving child window bits.
winex11: Introduce a new struct host_window for host-only windows.
winex11: Create host windows recursively up to root_window.
winex11: Keep track of the host window children of interest.
winex11: Keep track of the host windows relative rects.
winex11: Keep track of the host windows children window rects.
winex11: Use the new host windows to register foreign window events.
winex11: Generate relative ConfigureNotify on parent ConfigureNotify events.
winex11: Get rid of the now unnecessary foreign windows.
windows.gaming.input: Invoke event handlers outside of the critical section.
windows.devices.enumeration: Invoke event handlers outside of the critical section.
windows.media.speech: Invoke event handlers outside of the critical section.
winex11: Avoid processing RRNotify events in xrandr14_get_id.
winemac: Merge DND structures and rename constants / functions.
winemac: Introduce a new QUERY_DRAG_DROP_ENTER query.
winemac: Use the new win32u drag'n'drop interface.
winex11: Set configure_serial when resizing on display mode change.
winex11: Rename read_net_wm_state to get_window_net_wm_state.
winex11: Move ConfigureNotify checks after computing visible rect.
winex11: Move embedded check in update_net_wm_states / sync_window_style.
winex11: Register PropertyChangeMask for unmanaged windows.
win32u: Clear display device before refreshing the registry cache.
win32u: Allocate device manager context gpu dynamically.
win32u: Keep the source registry key on the source struct.
win32u: Allocate device manager context source dynamically.
win32u: Allocate device manager context monitors dynamically.
winex11: Track WM_STATE window property requests and updates.
winex11: Track _XEMBED_INFO window property changes.
winex11: Introduce a new window_set_wm_state helper.
winex11: Introduce a new window_set_net_wm_state helper.
winex11: Track _NET_WM_STATE window property requests and updates.
winex11: Introduce a new window_set_config helper.
winex11: Track window config requests and updates.
win32u: Introduce a NTGDI_RGN_MONITOR_DPI flag for NtGdiGetRandomRgn.
winex11: Compute absolute rect using the window data window rects.
winex11: Use the toplevel window drawable to create DCs.
winex11: Remove now unused child_window_from_point helper.
win32u: Compute the owner window hint on behalf of the drivers.
include: Add __pctype_func declaration.
include: Add some localized ctype.h function declarations.
include: Add some struct timespec definitions.
include: Add some ___mb_cur_max_func declarations.
include: Add some __sys_nerr declaration.
include: Fix _strtod_l/strtold/_strtold_l declarations.
include: Remove non-existing _atold definition.
include: Add math.h _(l|f)dtest function declarations.
include: Add wcscat_s C++ wrapper definitions.
include: Add abs C++ wrapper definitions.
include: Add atan2l inline definition.
include: Add max_align_t definition.
include: Add CaptureStackBackTrace macro definition.
include: Add SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE flag.
include: Fix IMAGE_IMPORT_BY_NAME declaration.
win32u: Implement get_win_monitor_dpi.
win32u: Use MDT_RAW_DPI monitor DPI type in the drivers.
win32u: Move some monitor info getter code around.
win32u: Inform wineserver about the winstation monitors.
server: Use the monitor infos to compute the virtual screen rect.
winex11: Skip faking ConfigureNotify if state/config change is expected.
Sebastian Krzyszkowiak (1):
mciseq: Don't seek to the end of the root chunk in RMID files.
Semenov Herman (Семенов Герман) (1):
ole32: Fixed copy paste error with OFFSET_PS_MTIMEHIGH in UpdateRawDirEntry.
Vijay Kiran Kamuju (11):
gdiplus: Add GdipCreateEffect implementation.
gdiplus: Partial implementation of GdipGetEffectParameterSize.
apphelp: Add stub SdbSetPermLayerKeys().
apphelp: Add stub SdbGetPermLayerKeys().
apphelp: Add stub SetPermLayerState().
include: Add missing defines and enums for IDragSourceHelper2.
websocket: Add stub for WebCreateClientHandle.
websocket: Add stub for WebSocketAbortHandle.
websocket: Add stub for WebSocketDeleteHandle.
taskschd: Implement IDailyTrigger_put_EndBoundary.
taskschd: Implement IDailyTrigger_get_EndBoundary.
Zhiyi Zhang (30):
include: Add Windows.Foundation.PropertyValue runtime class.
wintypes: Use DEFINE_IINSPECTABLE.
wintypes: Add IPropertyValueStatics stub.
wintypes: Support IPropertyValue primitive objects.
wintypes: Support IPropertyValue primitive array objects.
wintypes: Implement IReference<boolean>.
wintypes: Implement IReference<HSTRING>.
wintypes: Implement IReference<DOUBLE>.
wintypes: Add IPropertyValueStatics tests.
include: Add windows.applicationmodel.datatransfer.dragdrop.idl.
include: Add windows.applicationmodel.datatransfer.dragdrop.core.idl.
include: Add dragdropinterop.idl.
dataexchange: Add initial dll.
dataexchange: Add ICoreDragDropManagerStatics stub.
dataexchange: Add IDragDropManagerInterop stub.
dataexchange: Implement dragdrop_manager_interop_GetForWindow().
dataexchange/tests: Add ICoreDragDropManagerStatics tests.
dataexchange/tests: Add ICoreDragDropManager tests.
dataexchange: Make core_dragdrop_manager_add_TargetRequested() return S_OK.
iertutil: Add IUriRuntimeClassFactory stub.
iertutil: Implement uri_factory_CreateUri().
iertutil: Implement uri_RawUri().
iertutil: Add uri_AbsoluteUri() semi-stub.
iertutil/tests: Add IUriRuntimeClassFactory tests.
iertutil/tests: Add IUriRuntimeClass tests.
user32: Add EnableMouseInPointerForThread() stub.
user32: Add RegisterTouchPadCapable() stub.
include: Add IAgileReference and INoMarshal.
combase: Implement RoGetAgileReference().
combase/tests: Add RoGetAgileReference() tests.
```
1
0
The Wine development release 9.20 is now available.
What's new in this release:
- Bundled Capstone library for disassembly in WineDbg.
- More formats supported in D3DX9.
- Static analysis and JUnit test reports in Gitlab CI.
- More support for network sessions in DirectPlay.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.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-9.20/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.20 (total 15):
- #39848 Victoria 2 (Steam) fails to start with Wine-Mono
- #50850 Just Cause crashes when starting new game (D3DXCreateTexture unsupported format, fallback format crashes)
- #56372 musl based exp2() gives very inaccurate results on i686
- #56645 unimplemented function httpapi.dll.HttpSendResponseEntityBody
- #56973 Building wine with mingw/gcc 14.1.1 fails with error '-Wimplicit-function-declaration'
- #57233 Multiple games show black screen/window on startup (BeamNG.drive, Wargaming.net games)
- #57245 Can't recognize executables/scripts with a dot in the name...
- #57250 Rhinoceros installers crash with bad_alloc
- #57269 wine-9.19 build with ffmpeg fails in winedmo in Ubuntu 20.04
- #57271 `winetricks -q art2kmin` shows several popups -- Unable to load dll
- #57293 Helicon Focus 8.2.0 regression: open images hangs the application
- #57294 Wine 9.13+ freezes in some applications using WMA Lossless audio
- #57300 KnightOfKnights crashes once entering the game
- #57302 In Notepad++ find window gets glitched after losing and regaining focus
- #57311 Nikon NX Studio Overlay windows incorrectly shown.
### Changes since 9.19:
```
Aida Jonikienė (1):
winex11: Properly handle minimized windows in update_net_wm_fullscreen_monitors().
Alex Henrie (2):
winebus: Allow any free device index to be reused immediately.
explorer: Support the NoDesktop registry setting.
Alexandre Julliard (21):
gitlab: Add support for static analysis using Clang.
gitlab: Add a daily sast build.
gitlab: Add a daily mac build.
faudio: Import upstream release 24.10.
mpg123: Import upstream release 1.32.7.
png: Import upstream release 1.6.44.
tiff: Import upstream release 4.7.0.
ldap: Import upstream release 2.5.18.
fluidsynth: Import upstream release 2.3.6.
xslt: Import upstream release 1.1.42.
libs: Import the Capstone library version 5.0.3.
winedbg: Switch to the Capstone disassembler.
libs: Remove the no longer used Zydis library.
widl: Use plain inline instead of defining a macro.
include: Remove custom stdcall/cdecl definition for ARM platforms.
include: Assume that nameless unions/structs are supported.
include: Stop using WINAPIV in msvcrt headers.
xml2: Import upstream release 2.12.8.
makefiles: Use llvm-strip in MSVC mode.
tools: Update the install-sh script.
wow64: Add missing ThreadIdealProcessorEx class.
Alistair Leslie-Hughes (1):
dplayx/tests: Correct Enum tests.
Anton Baskanov (27):
dplayx: Use DP_CreatePlayer() in DP_SecureOpen().
dplayx: Free the old session desc in DP_SecureOpen().
dplayx: Free resources on error paths in DP_SecureOpen().
dplayx: Send password in player creation forward request.
dplayx: Check REQUESTPLAYERREPLY size before access.
dplayx: Free message header on error path in DP_MSG_SendRequestPlayerId().
dplayx: Use the documented reply layout in DP_MSG_SendRequestPlayerId().
dplayx: Check reply result in DP_MSG_SendRequestPlayerId().
dplayx/tests: Test receiving REQUESTPLAYERREPLY with error result.
dplayx: Handle ADDFORWARDREPLY and return error.
dplayx/tests: Test receiving ADDFORWARDREPLY.
dplayx/tests: Wait for Open() to finish when forward request is not expected.
dplayx/tests: Correctly report lines in check_Open().
dplayx/tests: Send correct port in requests in check_Open().
dplayx: Don't crash on unknown command ids.
dplayx/tests: Test that ADDFORWARDACK is sent in reply to ADDFORWARD.
dplayx: Keep track of the connection status in bConnectionOpen.
dplayx: Enter the critical section when accessing the session desc.
dplayx: Enter the critical section when accessing the player list.
dplayx: Remove const from message body and header parameters of DP_HandleMessage().
dplayx: Handle ADDFORWARD, add player to the session and send ADDFORWARDACK.
dplayx: Prevent multiplication overflow in DP_MSG_ReadSuperPackedPlayer().
dplayx/tests: Use DPENUMPLAYERS_LOCAL and DPENUMPLAYERS_REMOTE to check player flags in checkPlayerList().
dplayx: Respect enumeration flags in EnumPlayers().
dplayx: Return DPERR_INVALIDPARAM from CreatePlayer() if session is not open.
dplayx/tests: Test client side of CreatePlayer() separately.
dplayx: Remove the unused lpMsgHdr parameter from DP_IF_CreatePlayer().
Bernhard Übelacker (1):
msvcrt: Initialize locale data in new threads.
Biswapriyo Nath (7):
include: Add windows.data.xml.dom.idl.
include: Add windows.security.authorization.appcapabilityaccess.idl.
include: Fix base class of ICompositorInterop interface.
include: Add windows.ui.notifications.idl.
include: Add IUISettings4 definition in windows.ui.viewmanagement.idl.
include: Add IUISettings5 definition in windows.ui.viewmanagement.idl.
include: Add IUISettings6 definition in windows.ui.viewmanagement.idl.
Charlotte Pabst (5):
riched20/tests: Test that ScrollWindowEx and GetClientRect are only called when control is in-place active.
riched20: Exit from editor_ensure_visible when control is not in-place active.
riched20: Only call ME_SendRequestResize when control is in-place active.
comdlg32: Fix buffer overflow when current_filter is longer than MAX_PATH.
comdlg32/tests: Add tests for itemdlg filters longer than MAX_PATH.
Connor McAdams (28):
d3dx9: Add pixel_format_desc type checking helper functions.
d3dx9: Rework pixel_format_desc structure format type value.
d3dx9: Always align and mask channel bits in format_to_d3dx_color().
d3dx9: Get rid of la_{to,from}_rgba format callbacks.
d3dx9: Get rid of index_to_rgba callback.
d3dx9: Add support for D3DFMT_X8L8V8U8.
d3dx9: Add support for D3DFMT_A2W10V10U10.
d3dx9: Add support for D3DFMT_A8P8.
d3dx9: Add support for D3DFMT_V16U16.
d3dx9: Add support for D3DFMT_Q16W16V16U16.
d3dx9/tests: Add tests for DDS files containing indexed pixel formats.
d3dx9: Include color palette size when validating the size of DDS files with indexed pixel formats.
d3dx9: Add support for retrieving pixels from DDS files with indexed pixel formats.
d3dx9: Add support for D3DFMT_A8P8 DDS files.
d3dx9/tests: Add more DDS pixel format tests.
d3dx9/tests: Add file size validation tests for DDS files containing packed pixel formats.
d3dx9: Validate the size of DDS files containing packed pixel formats.
d3dx9: Rework conversion to/from D3DFORMAT from/to DDS pixel format.
d3dx9: Add support for more DDS pixel formats.
d3dx9: Do not use WIC to detect image file format.
d3dx9/tests: Add TGA header image info tests.
d3dx9: Use d3dx9 to get image information for targa files.
d3dx9/tests: Remove now unused arguments from check_tga_image_info().
d3dx9/tests: Add more tests for loading targa files.
d3dx9: Add support for loading basic targa images without WIC.
d3dx9: Add support for decoding targa files with different pixel orders in d3dx9.
d3dx9: Add support for decoding targa files with run length encoding in d3dx9.
d3dx9: Add support for decoding targa files with a color map in d3dx9.
Daniel Lehman (4):
msvcp90/tests: Add tests for string length.
msvcp90/tests: Add some tests for num_put on ints.
msvcp90: Exclude sign from count in num_put.
msvcp90/tests: Add tests for int in num_put.
Dmitry Timoshkov (1):
gdiplus: Add support for EmfPlusRecordTypeSetRenderingOrigin record playback.
Elizabeth Figura (6):
wined3d: Move rasterizer state invalidation to wined3d_stateblock_set_render_state().
ddraw: Do not apply the entire stateblock when clearing.
d3d8: Do not apply the stateblock when clearing.
d3d9: Do not apply the stateblock when clearing.
win32u: Allocate the whole max_points for the top_points array.
win32u: Always select the point that's closer to the ellipse.
Eric Pouech (3):
dbghelp: Protect against buffer overflow in traces.
dbghelp: Add a couple of TRACE().
dbghelp: Fix a couple a typos.
Esme Povirk (1):
comctl32: Implement WM_GETOBJECT for buttons.
Gabriel Ivăncescu (7):
jscript: Allow ES5 keywords as identifiers in variable declarations.
jscript: Allow ES5 keywords as identifiers in catch statements.
jscript: Allow ES5 keywords as identifiers in function expressions.
jscript: Allow ES5 keywords as identifiers in function parameter lists.
jscript: Allow ES5 keywords as identifiers in labelled statements.
jscript: Allow ES5 keywords as identifiers in expressions.
mshtml: Make sure disp_invoke is called before locking the document mode.
Hans Leidekker (4):
msiexec: Remove quotes from all filenames.
findstr: Fix codepage passed to WideCharToMultiByte().
ntdll: Add a stub implementation of NtQueryInformationThread(ThreadIdealProcessorEx).
sort: New program.
Haoyang Chen (1):
mlang: Check handle validity in IMLangFontLink_GetFontCodePages.
Martin Storsjö (1):
musl: Fix limiting the float precision in intermediates.
Paul Gofman (15):
wininet: Validate pointers in InternetReadFile().
user32/tests: Add tests for QueryDisplayConfig( QDC_VIRTUAL_MODE_AWARE ).
win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserGetDisplayConfigBufferSizes().
win32u: Support QDC_VIRTUAL_MODE_AWARE in NtUserQueryDisplayConfig().
ntdll/tests: Add more tests for printf format.
ntdll: Fix passing char argument to pf_handle_string_format().
ntdll: Output unrecognized format symbol in pf_vsnprintf().
ntdll: Make 'l' modifier also affect char wideness.
ntdll: Make 'h' take precedence over 'l' in pf_vsnprintf().
shlwapi: Use printf implementation from ntdll.
windowscodecs: Implement 48bppRGB -> 64bppRGBA conversion.
ddraw/tests: Fix texture interface IID in test_multiple_devices() for ddraw1.
ddraw: Use global handle table in d3d_device2_SwapTextureHandles().
ddraw: Validate handles in d3d_device2_SwapTextureHandles().
ddraw: Update state if d3d_device2_SwapTextureHandles() results in texture change.
Piotr Caban (2):
advapi32: Don't trace password in CreateProcessWithLogonW stub.
conhost: Start input thread for GetNumberOfConsoleInputEvents.
Rémi Bernon (49):
win32u: Use an internal message for XIM IME notifications.
win32u: Add winevulkan/driver entry points to sync surfaces with the host.
winemac: Stop mapping toplevel window rects to parent window.
winemac: Use NtUserSetWindowPos when DPI awareness is unnecessary.
winex11: Use NtUserSetWindowPos when DPI awareness is unnecessary.
winex11: Use XTranslateCoordinates to compute relative coordinates.
win32u: Introduce a new NtUserSetRawWindowPos call for the drivers.
win32u: Pass a rect to SetIMECompositionWindowPos.
win32u: Pass absolute rect to SetIMECompositionRect.
winemac: Use SetIMECompositionRect to keep track of IME position.
win32u: Notify the drivers of destroyed windows on thread detach.
winedmo: Check and guard libavcodec/bsf.h inclusion.
winex11: Move the XDND IDataObject implementation around.
winex11: Cleanup XDND IDataObject methods and variables.
winex11: Use the IDataObject interface to check for CF_HDROP format.
winex11: Cleanup variable names in X11DRV_XDND_SendDropFiles.
winex11: Use IDataObject to get CF_HDROP format for WM_DROPFILES.
winex11: Allocate the XDND data object dynamically.
winex11: Pass window_rects structs parameters to move_window_bits.
win32u: Copy the entire window rect when the whole window is moved.
win32u: Adjust the valid rects to handle visible rect changes.
winex11: Only enter the CS to get a reference on the data object.
winex11: Assume that PostMessageW WM_DROPFILES succeeds.
winex11: Get rid of X11DRV_XDND_SendDropFiles helper.
winex11: Clear the XDND data object on drop event.
winex11: Use a custom IEnumFORMATETC interface implementation.
winex11: Get rid of X11DRV_XDND_HasHDROP helper.
win32u: Use parent-relative coordinates for old window rectangles.
win32u: Avoid crashing when creating a new layered window surface.
winetest: Add printf attributes to strmake.
winetest: Add printf attributes to xprintf.
winetest: Always use a temporary file for test output.
winetest: Pass output file handle to xprintf.
winetest: Introduce some test report helpers.
winetest: Implement JUnit report output mode.
gitlab: Use winetest JUnit output mode.
winex11: Keep the target window on the data object.
winex11: Keep the target window point on the data object.
winex11: Keep the target effect on the data object.
winex11: Keep the IDropTarget pointer instead of HWND/accepted.
winex11: Keep the IDropTarget pointer on the data object.
winegstreamer: Use wmaversion = 4 for MFAudioFormat_WMAudio_Lossless.
win32u: Introduce a new NtUserDragDropCall message call.
winex11: Compute DND drop point earlier when dropping files/urls.
winex11: Query the DndSelection property value earlier.
winex11: Lookup for files/urls DND target window in user32.
win32u: Move the PE side DND callbacks to user32.
win32u: Map points from window monitor DPI to thread DPI.
user32/tests: Flush events after test_SetForegroundWindow.
Santino Mazza (2):
gdiplus: Assign box height when bounding box height is larger.
mmdevapi: Fix buffer overflow in pulse_set_sample_rate.
Vibhav Pant (1):
bluetoothapis/tests: Redefine SDP type descriptor constants to compile with older GCC versions.
Zhiyi Zhang (4):
gitlab: Update generated files for static analysis.
ntdll/tests: Add reserve object tests.
ntdll: Implement NtAllocateReserveObject().
ntdll/tests: Add NtAllocateReserveObject() tests.
Ziqing Hui (4):
propsys/tests: Add tests for PropVariantToVariant.
propsys/tests: Test converting clsid to string.
propsys: Support converting clsid to string for PropVariant.
propsys: Initially implement PropVariantToVariant.
```
1
0
The Wine development release 9.19 is now available.
What's new in this release:
- Character tables updates to Unicode 16.0.0.
- Better window positioning in the Wayland driver.
- More support for network sessions in DirectPlay.
- Support for plug&play device change notifications.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.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-9.19/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.19 (total 11):
- #41268 Songr 1 installation fails
- #52208 Malus crashes on unimplemented function WS2_32.dll.WSCGetApplicationCategory
- #56875 WordSmith 9.0 shows error message on start
- #56975 Death to Spies: black screen during video playback
- #57079 Quicken WillMaker Plus 2007 requires unimplemented msvcp70.dll.?getline(a)std@@YAAAV?$basic_istream(a)DU?$char_traits(a)D@std@@@1(a)AAV21@AAV?$basic_string(a)DU?$char_traits(a)D@std@@V?$allocator(a)D@2@@1@@Z
- #57139 SET changes errorlevel in .bat files
- #57147 exit /B doesn't break for loop
- #57205 FL Studio - ALL RECENT VERSIONS - After Wine 9.17 I cannot drag and drop audio files from file manager into the app, and then file manager crashes
- #57215 cnc-ddraw OpenGL renderer is broken again in 9.18
- #57240 Wine 9.18 - Regression - FL Studio (and probably other apps) don't export correct file formats anymore
- #57242 Quicken WillMaker Plus 2007 requires unimplemented msvcp70.dll.??0?$basic_ofstream(a)DU?$char_traits(a)D@std@@@std@@QAE(a)PBDH@Z
### Changes since 9.18:
```
Aida Jonikienė (1):
server: Move last_active variable initialization (Valgrind).
Alexandre Julliard (14):
include: Use __readfsdword intrinsic on MSVC.
include: Remove some obsolete MSVC version checks.
widl: Output statements contained inside modules.
gitlab: Add 'build' tag on Linux build jobs.
tools: Upgrade the config.guess/config.sub scripts.
server: Match formatting of the English manpage.
programs: Formatting tweaks in the man pages.
tools: Formatting tweaks in the man pages.
loader: Formatting tweaks in the man pages.
kernel32/tests: Use a different invalid character since u1806 is now valid.
gitlab: Remove make -j options.
documentation: Update URLs to point to the Gitlab Wiki.
appwiz.cpl: Update URLs to point to the Gitlab Wiki.
winedbg: Update URLs to point to the Gitlab Wiki.
Andrew Nguyen (2):
wininet: Add additional tests for handling of user agent configuration in requests.
wininet: Only include non-empty session user agent string in request headers.
Anton Baskanov (36):
dplayx/tests: Test client-side of Open() separately.
dplayx: Check session desc size first in DP_SecureOpen().
dplayx: Return DPERR_NOSESSIONS from DP_SecureOpen() when there are no sessions.
dpwsockx: Store name server address in Open().
dpwsockx: Start listening for incoming TCP connections in Open().
dplayx: Unlink and clean up the reply struct on error paths in DP_MSG_ExpectReply().
dplayx: Return and check HRESULT from DP_MSG_ExpectReply().
dplayx: Allow specifying multiple reply command ids in DP_MSG_ExpectReply().
dplayx: Expect SUPERENUMPLAYERSREPLY in DP_MSG_ForwardPlayerCreation().
dpwsockx: Return DP_OK from CreatePlayer().
dpwsockx: Add a partial SendEx() implementation.
dplayx: Use SendEx() instead of Send().
dplayx: Initialize the unknown field in DP_MSG_ForwardPlayerCreation().
dpwsockx: Set player data in CreatePlayer().
dplayx: Use the documented message layout in DP_MSG_ForwardPlayerCreation().
dplayx: Merge DP_CalcSessionDescSize() into DP_CopySessionDesc().
dplayx: Add a session duplication helper function and use it in DP_SetSessionDesc() and NS_AddRemoteComputerAsNameServer().
dplayx: Return SP message header from NS_WalkSessions() and get rid of NS_GetNSAddr().
dplayx: Set session desc when joining a session.
dplayx/tests: Test Open() with two enumerated sessions.
dplayx: Find the matching session instead of using the first one.
dplayx/tests: Test that players from SUPERENUMPLAYERSREPLY are added to the session.
dplayx: Don't enumerate system players.
dplayx: Add player to the system group in DP_CreatePlayer().
dplayx: Set player data in DP_CreatePlayer().
dplayx: Return HRESULT from DP_CreatePlayer().
dplayx: Inform the SP about player creation in DP_CreatePlayer().
dplayx: Set SP data in DP_CreatePlayer().
dplayx: Return message header from DP_MSG_ExpectReply().
dplayx: Parse SUPERENUMPLAYERSREPLY and add players to the session.
dplayx/tests: Also check the names returned by GetPlayerName() in checkPlayerListCallback().
dplayx: Don't check dwSize in DP_CopyDPNAMEStruct().
dplayx: Add a name copying helper function and use it in DP_IF_GetGroupName() and DP_IF_GetPlayerName().
dplayx: Store the names contiguously.
dplayx: Store the names as both Unicode and ANSI.
dplayx: Pass ANSI name when enumerating through ANSI interface.
Bernhard Kölbl (1):
mscoree: Register mono log handler callback.
Bernhard Übelacker (2):
ntdll: Add warning if dlopen of unixlib failed.
mmdevapi: Add error if no driver could be initialized.
Billy Laws (3):
ntdll: Match the new ARM64 KiUserExceptionDispatcher stack layout.
regsvr32: Explicitly specify the target machine when relaunching.
msi: Disable WOW64 redirection for all 64-bit package archs.
Biswapriyo Nath (9):
include: Add new value in DWRITE_GLYPH_IMAGE_FORMATS in dcommon.idl.
include: Add UI Automation Text Attribute ID definitions.
include: Add UI Automation Landmark Type ID definitions.
include: Add IDWriteFontFace7 definition in dwrite_3.idl.
include: Add ISystemMediaTransportControls2 definition in windows.media.idl.
include: Add DataWriter runtimeclass in windows.storage.streams.idl.
include: Add IRandomAccessStreamReferenceStatics in windows.storage.streams.idl.
include: Add IRandomAccessStreamReference in windows.storage.streams.idl.
include: Add IOutputStream in windows.storage.streams.idl.
Charlotte Pabst (2):
comdlg32: Update current itemdlg filter in SetFileTypeIndex.
comdlg32/tests: Add test for SetFileTypeIndex updating current filter.
Connor McAdams (7):
d3dx9/tests: Add more d3d format conversion tests.
d3dx9/tests: Add format conversion tests for premultiplied alpha DXTn formats.
d3dx9: Clamp source components to unorm range.
d3dx9: Store pixel value range alongside pixel values when reading pixels.
d3dx9: Add support for D3DFMT_Q8W8V8U8.
d3dx9: Add support for D3DFMT_V8U8.
d3dx9: Use format_from_d3dx_color() instead of fill_texture().
Dmitry Timoshkov (1):
msi: Also set "MsiTrueAdminUser" property.
Elizabeth Figura (11):
d3d11: Stub ID3D11VideoDecoder.
d3d11: Stub ID3D11VideoDecoderOutputView.
d3d11: Stub ID3D11VideoContext.
wined3d: Invalidate the FFP VS when diffuse presence changes.
wined3d: Move geometry_shader_init_stream_output().
wined3d: Call geometry_shader_init_stream_output() from shader_set_function().
wined3d: Remove the redundant "device" parameter to shader_set_function().
wined3d: Merge the rest of vertex_shader_init() into shader_set_function().
wined3d: Merge the rest of pixel_shader_init() into shader_set_function().
win32u: Implement drawing transformed arcs.
win32u: Implement drawing transformed round rectangles.
Eric Pouech (17):
cmd: Rewrite part of WCMD_expand_envvar.
cmd: Fix consecutive ! in variable expansion.
cmd: Add tests for 'EXIT /B' inside FOR loops.
cmd: EXIT /B shall break FOR loops.
cmd/tests: Add tests for running .BAT files.
cmd: Don't always set errorlevel for some builtin commands.
cmd: Extend tests for FOR loop variables.
cmd: Extend the range of usable variables in FOR loops.
cmd: Better detection of %~ as modifier.
cmd: Rewrite parsing of tokens= options in FOR /F loop.
kernel32: Correctly advertize unicode environment for AeDebug startup.
cmd/tests: Add test about external commands with dots.
cmd: Fix searching external commands with dots in their basename.
cmd/tests: Add more tests for SET command.
cmd: Use CRT memory function for environment.
cmd: Free environment strings.
cmd: Fix 'SET =' invocation.
Esme Povirk (2):
comctl32: Implement MSAA events for buttons.
comctl32/tests: Test MSAA events for buttons.
Gabriel Ivăncescu (5):
mshtml: Don't make hidden props enumerable.
mshtml: Move lookup_dispid and get_dispid calls out of get_builtin_id.
mshtml: Fix builtin style translation in removeAttribute for IE9+ modes.
mshtml: Move the hook invocations inside of the builtin_prop* helpers.
mshtml: Add support for host object accessor props.
Georg Lehmann (2):
winevulkan: Avoid empty struct extension conversions.
winevulkan: Update to VK spec version 1.3.296.
Hans Leidekker (11):
winedump: Dump CLR metadata.
fc: Add support for comparing files with default options.
fc/tests: Add tests.
findstr: Support case insensitive search.
findstr: Support search with regular expressions.
crypt32/tests: Fix a test failure.
ntdll: Return success for NtSetInformationProcess(ProcessPowerThrottlingState).
findstr: Preserve line endings.
cmd: Call ReadConsoleW() with standard input handles only.
imagehlp: Add a test to show that ImageGetDigestStream() supports 64-bit images.
wine.inf: Add a couple of NTFS registry values.
Jinoh Kang (1):
win32u: Don't release surface before passing it to create_offscreen_window_surface().
Louis Lenders (1):
kernelbase: Add stub for FindFirstFileNameW.
Matteo Bruni (3):
d3dx9/tests: Handle uncommon test results in test_D3DXCheckTextureRequirements().
d3dx9/tests: Handle lack of support for D3DFMT_A1R5G5B5 in test_D3DXFillCubeTexture().
d3dx9: Clean up color key handling in convert_argb_pixels() and point_filter_argb_pixels().
Nikolay Sivov (1):
unicode: Update to Unicode 16.0.0.
Owen Rudge (2):
odbc32: Wrap dlerror in debugstr_a to avoid potential buffer overflow.
odbc32: Return SQL_NO_DATA from SQLGetDiagRec if no active connection.
Paul Gofman (18):
ntdll: Implement RtlRbInsertNodeEx().
ntdll: Implement RtlRbRemoveNode().
ntdll/tests: Add tests for RTL RB tree.
ntdll: Fill LDR_DATA_TABLE_ENTRY.BaseAddressIndexNode.
ntdll: Use base address tree in get_modref().
ntdll: Use base address tree in LdrFindEntryForAddress().
ntdll/tests: Add more tests for process instrumentation callback.
ntdll: Call instrumentation callback from wine_syscall_dispatcher on x64.
ntdll: Call instrumentation callback for KiUserExceptionDispatcher on x64.
ntdll: Call instrumentation callback for LdrInitializeThunk on x64.
ntdll: Call instrumentation callback for KiUserModeCallback on x64.
ntdll: Support old parameter layout for NtSetInformationProcess( ProcessInstrumentationCallback ).
wow64: Fix length check in wow64_NtSetInformationProcess().
uxtheme: Better detect the presence of default transparent colour in prepare_alpha().
win32u: Call set_active_window() helper directly from handle_internal_message().
win32u: Correctly fill new foreground window TID in WM_ACTIVATEAPP.
kernel32/tests: Add test for finding loaded module when the module file is renamed.
ntdll: Skip dll file search when getting module handle from short name.
Piotr Caban (2):
msvcp70: Export std::getline function.
msvcp70: Add basic_ofstream constructor implementation.
Rémi Bernon (69):
mfplat/tests: Add tests for VIDEOINFOHEADER(2) user data conversion.
mfplat: Fill user data when converting VIDEOINFOHEADER formats.
winedmo: Avoid printing errors on expected statuses.
winedmo: Set the buffer size to zero on read failure.
mfsrcsnk: Send EOS event only when there is no more samples queued.
mfsrcsnk: Fill the stream mapping for unknown stream types too.
winex11: Avoid recreating the offscreen GL window if not necessary.
win32u: Notify drivers of the child surfaces state when their ancestor moves.
winewayland: Use window DPI for the OpenGL client surface size.
winewayland: Call ensure_window_surface_contents with the toplevel window.
winewayland: Keep the toplevel hwnd on the wayland_client_surface.
winewayland: Update the client separately from the window surface updates.
winewayland: Split wayland_win_data_update_wayland_surface helper.
winewayland: Pass the client surface rect to wayland_surface_reconfigure_client.
winewayland: Attach client client surfaces to their toplevel surface.
winewayland: Let the render threads commit changes to client surfaces.
winegstreamer: Pass H264 codec data as streamheader.
mfsrcsnk: Serialize stream sample requests with the state callbacks.
winedmo: Hoist the demuxer input format.
winedmo: Simplify demuxer creation error handling.
winedmo: Allocate a dedicated demuxer structure.
winedmo: Move the last packet to the demuxer struct.
winedmo: Create bitstream filters for demuxer streams.
winedmo: Pass demuxer packets through the bitstream filters.
winedmo: Convert H264 streams to Annex B format.
winex11: Use NtUserGetDpiForWindow when only checking for empty rect.
win32u: Keep per display source monitor DPI values.
win32u: Introduce a new NtUserGetWinMonitorDpi call for drivers.
win32u: Only reuse scaling target surface if it matches the monitor rect.
win32u: Update the window state when display settings changes.
user32: Stub DisplayConfigSetDeviceInfo.
user32/tests: Add more tests for GetDpiForMonitorInternal.
user32/tests: Add more tests with display source DPI scaling.
user32/tests: Add tests with windows and monitor DPI scaling.
winewayland: Move surface title change to wayland_surface_make_toplevel.
winewayland: Call wayland_surface_clear_role in wayland_surface_destroy.
winewayland: Introduce a new wayland_surface role enumeration.
winewayland: Introduce a new wayland_surface_reconfigure_xdg helper.
winewayland: Introduce a new update_wayland_surface_state_toplevel helper.
winewayland: Use subsurfaces for unmanaged windows.
user32/tests: Load more DPI-related functions dynamically.
user32/tests: Move the monitor DPI tests below others.
user32/tests: Use more commonly available resolutions.
mfplat/tests: Test source resolver bytestream interactions.
mfplat: Seek byte stream to the start for URL hint detection.
win32u: Make sure to load drivers when updating the display cache.
win32u: Always write the source current mode to the registry.
win32u: Keep the source depth separately from the current mode.
win32u: Remove now unnecessary GetDisplayDepth driver entry.
win32u: Cache display source current display settings.
win32u: Remove unnecessary GetCurrentDisplaySettings call.
win32u: Add virtual modes when drivers report a single display mode.
win32u: Keep track of the display source physical display mode.
win32u: Use the current display mode as monitor rect.
winemac: Remove unnecessary MoveWindowBits implementation.
win32u: Pass rects in window DPI to MoveWindowBits.
win32u: Pass a MONITOR_DPI_TYPE param to monitor_get_dpi.
win32u: Pass a MONITOR_DPI_TYPE param to monitor_get_rect.
win32u: Pass a MONITOR_DPI_TYPE param to NtUserGetVirtualScreenRect.
win32u: Pass a MONITOR_DPI_TYPE param to get_monitor_from_rect.
win32u: Use the parent window monitor DPI for child windows.
win32u: Pass a MONITOR_DPI_TYPE param to NtUserGetWinMonitorDpi.
dinput/tests: Add tests for IoReportTargetDeviceChange(Asynchronous).
sechost: Pass individual parameters to I_ScRegisterDeviceNotification.
sechost: Filter the device notifications before copying them.
sechost: Keep device notification temporary copies in a list.
sechost: Get rid of the device_notification_details internal struct.
plugplay: Pass a device path to plugplay notifications.
win32u: Read AppCompatFlags DPI awareness overrides from the registry.
Sergei Chernyadyev (5):
shell32: Move icon related fields in notify_data into separate struct.
shell32: Introduce a new get_bitmap_info helper.
shell32: Cleanup some local variable names.
shell32: Introduce a new fill_icon_info helper.
shell32: Add support for balloon icon copying.
Tim Clem (6):
nsiproxy: Only set the connection count from tcp_conns_enumerate_all when appropriate.
nsiproxy: Only set the endpoint count from udp_endpoint_enumerate_all when appropriate.
advapi32: Use CreateProcessAsUser to implement CreateProcessWithToken.
user32/tests: Test that shell windows are per-desktop and should be set on the default desktop.
server: Make shell, taskman, and progman windows per-desktop.
explorer: Set the shell window when creating the Default desktop.
Vibhav Pant (17):
bluetoothapis: Add stub for BluetoothSdpGetElementData.
bluetoothapis/tests: Add tests for BluetoothSdpGetElementData.
bluetoothapis: Implement BluetoothSdpGetElementData.
bluetoothapis: Add stub for BluetoothSdpGetContainerElementData.
bluetoothapis/tests: Add tests for BluetoothSdpGetContainerElementData.
bluetoothapis: Implement BluetoothSdpGetContainerElementData.
bluetoothapis: Add stub for BluetoothSdpEnumAttributes.
bluetoothapis/tests: Add tests for BluetoothSdpEnumAttributes.
bluetoothapis: Implement BluetoothSdpEnumAttributes.
bluetoothapis: Add stub for BluetoothSdpGetAttributeValue.
bluetoothapis/tests: Add tests for BluetoothSdpGetAttributeValue.
bluetoothapis: Implement BluetoothSdpGetAttributeValue.
ntoskrnl: Add stub for IoReportTargetDeviceChange.
plugplay: Only broadcast WM_DEVICECHANGE for DBT_DEVTYP_DEVICEINTERFACE.
sechost: Add support for DBT_DEVTYP_HANDLE notifications.
user32: Add support for DBT_DEVTYP_HANDLE notifications.
ntoskrnl: Implement IoReportTargetDeviceChange.
Vijay Kiran Kamuju (3):
ws2_32: Add stub WSCGetApplicationCategory().
windows.ui: Add stubs for UIViewSettings class.
windows.ui: Add stub IInputPaneStatics implementation.
Yuxuan Shui (1):
d3d11: Stub ID3D11VideoDevice1.
Zhiyi Zhang (9):
user32/tests: Test that DragDetect() uses client coordinates instead of screen coordinates.
ntdll/tests: Add RtlConvertDeviceFamilyInfoToString() tests.
ntdll: Implement RtlConvertDeviceFamilyInfoToString().
include: Add Windows.ApplicationModel.DesignMode runtime class.
include: Add more Windows.Foundation.IReference<> interfaces.
include: Add windows.ui.xaml.interop.idl.
include: Add windows.ui.xaml.idl.
include: Add Windows.Globalization.ApplicationLanguages runtime class.
windows.ui: Register Windows.UI.Core.CoreWindow.
```
1
0
The Wine development release 9.18 is now available.
What's new in this release:
- New Media Foundation backend using FFMpeg.
- Initial support for network sessions in DirectPlay.
- New Desktop Control Panel applet.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.18.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.18/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.18 (total 18):
- #10648 gRPC library fails to send RPC packets correctly (nonblocking send() should not perform partial writes)
- #53727 TreeView doesn't check the return value of TREEVIEW_SendExpanding
- #55347 widl generated winrt headers fails to compile with C++ code
- #56596 Keyboard keypress generates NumLock keypress for all keys
- #56873 WordSmith 9.0 doesn't show text in installer
- #57136 Steinberg Download Assistant crashes (part 2)
- #57141 Repaper Studio crashes on unimplemented function USER32.dll.CreateSyntheticPointerDevice
- #57155 Gigapixel ai crashes on startup in win7 mode
- #57158 HID devices not detected after removal until Wine processes restart
- #57160 16-bit color no longer works when using Xephyr
- #57163 msiexec sometimes fails with unquoted filenames
- #57173 Wine-dev 9.17 does not allow drag-and-drop of files into LTspice
- #57181 PathGradientBrushTest:Clone fails with InvalidParameter
- #57189 Caesar 3, Neighbours from Hell 1-2: screen cropped
- #57190 Configure ends with: Do '' to compile Wine.
- #57195 wineconsole is broken Wine 9.17 after moving its window (Far File Manager is broken as well, as a result)
- #57199 Window surface leaks with DPI unaware apps
- #57200 Warlords III: Darklords Rising shows distorted image
### Changes since 9.17:
```
Aida Jonikienė (1):
winewayland: Make the pointer protocols optional.
Alexandre Julliard (47):
combase: Avoid modifying input object attributes in create_key (Clang).
ole32: Avoid modifying input object attributes in create_key (Clang).
odbc32: Avoid buffer overflow on empty connection string (Clang).
ntdll: Remove some dead initializations (Clang).
configure: Re-generate with autoconf 2.72.
configure: Disable misguided autoconf error on wow64 builds without large time_t.
configure: Use the compiler instead of the preprocessor to check CPU defines.
configure: Remove some no longer used defines.
server: Add a helper to append data to a buffer.
server: Remove some dead initializations (Clang).
server: Avoid a redundant list check (Clang).
server: Avoid memcpy with null pointer (Clang).
server: Make masks unsigned (Clang).
mf/tests: Remove todo_wine from a test that succeeds now.
ntoskrnl/tests: Mark some failing tests as todo_wine.
comctl32/tests: Skip hotkey test if window is not foreground.
comctl32/tests: Wait a bit more for the tooltip to appear.
d3dx9: Use sizeof on the correct type in malloc (Clang).
dsound: Use sizeof on the correct type in malloc (Clang).
gdiplus: Use sizeof on the correct type in malloc (Clang).
hidclass.sys: Use sizeof on the correct type in malloc (Clang).
msi: Use sizeof on the correct type in malloc (Clang).
msvcrt: Use sizeof on the correct type in malloc (Clang).
wintrust: Use sizeof on the correct type in malloc (Clang).
win32u: Use the correct type in malloc (Clang).
mscoree: Use the correct size in malloc (Clang).
winex11: Use the correct type in malloc (Clang).
winecfg: Use the correct type in malloc (Clang).
comctl32/tests: Skip tests if tooltip isn't displayed.
comctl32/tests: Make some messages optional in propsheet display sequence.
urlmon/tests: Skip test if ftp connection fails.
ntdll: Avoid closing an invalid handle (Clang).
regedit: Fix potential buffer overflow (Clang).
oleaut32: Fix potential double free (Clang).
msvcrt: Mark _CxxThrowException noreturn (Clang).
configure: Update make command in final message.
configure: Add /usr/share/pkgconfig to the pkg-config path.
comctl32/tests: Add more optional propsheet messages.
nsi/tests: Properly cancel all change notifications.
comctl32/tests: Fix an optional propsheet message id.
cmd/tests: Comment out test that shows a popup on Windows.
po: Update files for previous commit.
sc/tests: Remove todo from a test that succeeds now.
ntdll/tests: Remove an unreliable test.
configure: Remove some obsolete checks.
configure: Remove some no longer needed program checks.
configure: Remove some no longer needed header checks.
Alexey Lushnikov (1):
gdi32: Actually return the device context and bitmap from get_bitmap_info().
Alistair Leslie-Hughes (3):
dplayx: Merged IDirectPlayLobby/2A in to IDirectPlayLobby3A.
dplayx: Use a single reference count for IDirectPlayLobby interfaces.
dplayx: Merged IDirectPlayLobby/2 in to IDirectPlayLobby3.
Anton Baskanov (26):
dpwsockx: Remove endianness conversion macros.
dpwsockx: Remove unused DPWS_DATA fields.
dplayx: Don't crash if sdesc is NULL in EnumSessions().
dplayx/tests: Use CRT allocation functions.
dplayx/tests: Test client-side of EnumSessions() separately.
dplayx: Check dwSize of DPSESSIONDESC2 in EnumSessions().
dpwsockx: Call WSACleanup() in ShutdownEx().
dpwsockx: Start listening for incoming TCP connections in EnumSessions().
dpwsockx: Broadcast enumeration request in EnumSessions().
dplayx/tests: Report lines correctly in session enumeration callback.
dplayx/tests: Retry enumeration manually instead of returning TRUE from the callback.
dpwsockx: Add a background thread.
dpwsockx: Accept incoming TCP connections.
dpwsockx: Receive TCP messages.
dplayx: Add a separate session list for walking.
dplayx: Put the sync enumeration code before the async one.
dplayx: Move enumeration reset and prune out of DP_InvokeEnumSessionCallbacks().
dplayx: Enter critical section when accessing the session cache.
dplayx: Restart session enumeration when the callback returns TRUE.
dplayx: Respect timeout set by session enumeration callback.
dplayx: Add a string copying helper function and use it in DP_CalcSessionDescSize() and DP_CopySessionDesc().
dplayx: Reduce nesting of the async enumeration code.
dplayx: Send password in session enumeration request.
dplayx/tests: Correctly compute session enumeration reply size.
dplayx: Check the message size before access.
dplayx: Check ENUMSESSIONSREPLY size before access.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Biswapriyo Nath (3):
include: Add Calendar runtimeclass in windows.globalization.idl.
include: Add DXVA_PicParams_HEVC_RangeExt declaration in dxva.h.
include: Add new GUIDs in dxva.h.
Brendan Shanks (8):
winemac: Marshal user-mode callback pointers in macdrv_init wow64 thunk.
Revert "configure: Don't define HAVE_CLOCK_GETTIME on macOS.".
ntdll: Always use mach_continuous_time() on macOS.
sfnt2fon: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
widl: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
winebuild: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
wmc: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
wrc: Replace sprintf with snprintf to avoid deprecation warnings on macOS.
Charlotte Pabst (2):
comdlg32: Allow entering a filter in the itemdlg file name field.
comdlg32/tests: Add tests for itemdlg file name field filters.
Danyil Blyschak (1):
mlang: Use EnumFontFamiliesEx() in map_font().
Dmitry Timoshkov (4):
msiexec: Avoid crash if PackageName is NULL.
advapi32/tests: Add some tests for SERVICE_CONFIG_DELAYED_AUTO_START_INFO.
services: Add support for ChangeServiceConfig2(SERVICE_CONFIG_DELAYED_AUTO_START_INFO).
services: Add support for QueryServiceConfig2(SERVICE_CONFIG_DELAYED_AUTO_START_INFO).
Elizabeth Figura (14):
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when light state changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when the light type changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when the vertex declaration changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_TSS_TEXCOORD_INDEX changes.
wined3d: Add an append_structure() helper for get_physical_device_info().
wined3d: Don't use structures from unsupported extensions in get_physical_device_info().
wined3d: Do not require EXT_vertex_attribute_divisor.
winevulkan: Separate a parse_array_len() helper.
winevulkan: Handle multidimensional static arrays.
wined3d: Use W as a fog source with shaders and a non-orthogonal matrix.
wined3d: Use output specular W as a fog source if the shader does not output oFog.
wined3d: Invalidate STATE_SHADER when WINED3D_TS_PROJECTION changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when fog states change.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_RS_VERTEXBLEND changes.
Eric Pouech (10):
cmd/tests: Add some more tests.
cmd: Expand command before searching for builtin commands.
cmd: Introduce internal command to change drive.
cmd: Introduce helper to search for external program.
cmd: Introduce helper for running a builtin command.
cmd: Integrate builtin command search in search_program() helper.
cmd: Speed-up external command look up.
cmd: Get rid of circular ref for internal/external commands.
winedbg: Give user feedback when attaching to a second process.
dbghelp: Fix discrimination of local variable / parameter in PDB files.
Esme Povirk (3):
msiexec: Fix allocation to include NULL terminator.
user32: Implement listbox MSAA events on click.
gdiplus: Fix assignment of result in GdipCloneBrush.
Francisco Casas (3):
quartz: Emit FIXME when the rendering surface is smaller than the source in VMR7.
quartz: Properly copy data to render surfaces of planar formats in VMR7.
quartz: Align src_pitch for planar formats.
Gabriel Ivăncescu (13):
mshtml: Don't cast to int to bound the timer.
mshtml: Remember if timer was blocked.
mshtml: Don't process tasks recursively.
mshtml: Don't process tasks recursively from script runners.
mshtml: Don't process tasks recursively from Gecko events.
mshtml: Use designated initializers for function_dispex.
mshtml: Move formatting of the builtin func disp string to a helper.
mshtml: Implement retrieving the builtin method props for the legacy function objects.
jscript: Use proper dispatch flags to retrieve the enumerator.
jscript: Use deferred fill-in if available to fill the exception info.
mshtml/tests: Add more host object related tests for IE9+ modes.
mshtml: Return MSHTML_E_INVALID_PROPERTY when trying to construct a legacy function object.
jscript: Return JS_E_OBJECT_NOT_COLLECTION when object has no DISPID_NEWENUM.
Gijs Vermeulen (1):
user32: Add CreateSyntheticPointerDevice stub.
Hans Leidekker (1):
odbc32: Only call process_detach() if the unixlib was successfully loaded.
Jacek Caban (7):
include: Define __imp_aux symbols in __ASM_DEFINE_IMPORT macro on ARM64EC.
widl: Use alias qualified names in winrt mode in write_type_left.
tools: Use GetModuleFileNameA in get_bindir on Windows targets.
tools: Use /proc/self/exe in get_bindir on Cygwin targets.
include: Use __has_declspec_attribute in corecrt.h.
include: Remove DECLSPEC_ALIGN define from sys/stat.h.
include: Use __has_declspec_attribute in basetsd.h.
Louis Lenders (1):
uxtheme: Add stub for FlushMenuThemes.
Michael Ehrenreich (2):
kernelbase: Fix EnumSystemLocalesA/W filtering of default/alternate sort orders.
kernel32/tests: Add basic tests for EnumSystemLocalesA/W.
Nikolay Sivov (1):
d2d1/tests: Add a few tests for ComputeArea().
Owen Rudge (2):
sc: Return error value rather than 1 on failure.
ntdll: Ensure Unix path strings are wrapped with debugstr_a in traces.
Paul Gofman (6):
ntdll: Do not call LDR notifications during process shutdown.
ws2_32/Tests: Add tests for send buffering.
ntdll: Avoid short writes on nonblocking sockets.
ntdll: Locally duplicated socket fd for background send.
ntdll: Don't cancel background socket sends.
server: Correct STATUS_NOT_FOUND return from (cancel_async).
Rémi Bernon (112):
winex11: Resize offscreen client surfaces after they are presented.
winex11: Create OpenGL client windows in window DPI units.
winex11: Detach offscreen OpenGL windows after creation.
winex11: Introduce a new present_gl_drawable helper.
winex11: Implement offscreen window presents with NtGdiStretchBlt.
winex11: Drop now unnecessary X11DRV_FLUSH_GL_DRAWABLE ExtEscape.
winex11: Use offscreen rendering to scale DPI-unaware GL windows.
winedmo: Introduce a new internal DLL.
winedmo: Link and initialize FFmpeg on load.
winedmo: Export a new winedmo_demuxer_check function.
mfsrcsnk: Stub byte stream handlers if demuxing is supported.
winewayland: Move wayland_surface_get_client to window.c.
winewayland: Introduce a new wayland_client_surface_attach helper.
winewayland: Pass hwnd to and return client rect from wayland_surface_get_client.
winewayland: Move client surface to wayland_win_data struct.
winewayland: Detach client surfaces when they are not visible.
mfsrcsnk: Stub the source IMFByteStreamHandler interface.
mfsrcsnk: Stub the media source IMFMediaSource interface.
mfsrcsnk: Implement IMFMediaSource_Shutdown for the media sources.
mfsrcsnk: Implement IMFMediaSource_GetCharacteristics for the media sources.
mfsrcsnk: Stub the media source IMFGetService interface.
mfsrcsnk: Stub the media source IMFRateSupport interface.
mfsrcsnk: Stub the media source IMFRateControl interface.
winex11: Use the correct dnd_drop_event user dispatch callback.
win32u: Leave window surface alpha bits to -1 when unset.
hidclass: Combine waits for pending IRP and I/O thread shutdown.
mfsrcsnk: Get the IMFByteStream url from MF_BYTESTREAM_ORIGIN_NAME.
mfsrcsnk: Seek and get the media source IMFByteStream length.
winedmo: Export new winedmo_demuxer_(create|destroy) functions.
mfsrcsnk: Create a winedmo_demuxer object on the media sources.
winedmo: Implement FFmpeg seek and read with user callbacks.
winedmo: Allocate a client-side stream context with the demuxers.
winedmo: Use the stream context to track stream position.
winedmo: Use the stream context as a buffer for larger reads.
winedmo: Introduce a winedmo_stream callback interface for I/O.
winedmo: Return detected MIME type from winedmo_demuxer_create.
winedmo: Improve MIME type detection with the stream url.
winedmo: Detect and return stream count from winedmo_demuxer_create.
winedmo: Compute and return total duration from winedmo_demuxer_create.
winedmo: Export a new winedmo_demuxer_stream_type function.
mfsrcsnk: Initialize a stream map, sorted for specific mime types.
winevulkan: Use client rect in window DPI instead of monitor DPI.
win32u: Pass vulkan driver private data to vulkan_surface_presented.
winex11: Use a dedicated structure for vulkan surface private data.
winex11: Update the vulkan surface size when it is presented.
winex11: Update the GL client window size when it is presented.
winex11: Only update the client window position in sync_client_position.
winex11: Move offscreen client window helpers to init.c.
winex11: Implement vulkan DPI scaling and child window rendering.
winedmo: Pass stream size by value to winedmo_demuxer_create.
winedmo: Implement video media type conversion.
winedmo: Implement audio media type conversion.
mfsrcsnk: Stub IMFMediaStream objects for the media source.
mfsrcsnk: Create stream descriptors for the media source streams.
winedmo: Implement more compressed audio/video formats conversion.
conhost: Advertise system DPI awareness.
win32u: Lock the window when removing a vulkan surface from its list.
winex11: Move update_gl_drawable_size helper around.
winex11: Resize GL drawable when necessary, if wglSwapBuffer isn't called.
include: Introduce a new __has_declspec_attribute macro.
include: Use winnt.h DECLSPEC_UUID definition in rpcndr.h.
include: Use winnt.h DECLSPEC_NOVTABLE definition in rpcndr.h.
include: Add DECLSPEC_UUID/DECLSPEC_NOVTABLE to MIDL_INTERFACE.
include: Remove __need_wint_t/__need_wchar_t definitions.
include: Don't import atexit from CRTs.
include: Define __cpuid(ex) as intrinsics when possible.
win32u: Avoid leaking window surface references with DPI scaling.
winedmo: Fix winedmo_demuxer_create prototype in spec file.
winedmo: Export a new winedmo_demuxer_stream_name function.
mfsrcsnk: Fill the stream descriptors MF_SD_STREAM_NAME attribute.
winedmo: Export a new winedmo_demuxer_stream_lang function.
mfsrcsnk: Fill the stream descriptors MF_SD_LANGUAGE attribute.
mfsrcsnk: Select one stream of each time, exclude others.
win32u: Use map_dpi_rect in map_dpi_create_struct.
win32u: Use map_dpi_rect in map_dpi_winpos.
win32u: Split monitor_from_rect logic to a separate helper.
win32u: Split get_monitor_info into separate helpers.
win32u: Use get_monitor_from_handle in get_monitor_dpi.
win32u: Introduce a new monitor_dpi_from_rect helper.
win32u: Introduce a new monitor_info_from_rect helper.
win32u: Introduce a new monitor_info_from_window helper.
joy.cpl: Refresh devices list when they are plugged in or out.
joy.cpl: Cleanup the main panel control IDs and text.
joy.cpl: Reduce the height of some main panel controls.
joy.cpl: Add advanced settings controls in the main panel.
win32u: Fix inverted return condition in get_cursor_pos.
winex11: Also resize or re-create the GL drawable with XComposite child windows.
mfsrcsnk: Implement asynchronous media source start operation.
mfsrcsnk: Implement asynchronous media source stop operation.
mfsrcsnk: Implement asynchronous media source pause operation.
winedmo: Export a new winedmo_demuxer_seek function.
winedmo: Export a new winedmo_demuxer_read function.
winedmo: Read sample flags, timestamps and duration.
mfsrcsnk: Read samples from the media source demuxer.
include: Define NULL as 0LL in C++ on 64bit archs.
win32u: Use get_virtual_screen_rect directly within the module.
win32u: Use is_window_rect_fullscreen directly in clip_fullscreen_window.
win32u: Use get_window_rect directly in clip_fullscreen_window.
win32u: Pass whether a window is fullscreen to drivers WindowPosChanged.
winewayland: Use the new fullscreen flag instead of NtUserIsWindowRectFullScreen.
winex11: Use the new fullscreen flag instead of NtUserIsWindowRectFullScreen.
win32u: Remove now unused NtUserIsWindowRectFullScreen call.
desk.cpl: Introduce new control panel applet.
desk.cpl: Enumerate the desktop display devices.
desk.cpl: Display the virtual desktop and monitors rects.
desk.cpl: Implement monitor highlight and selection.
desk.cpl: Enumerate and display available resolutions.
desk.cpl: Add a reset button to discard display settings changes.
desk.cpl: Update the monitor rects when changing resolutions.
desk.cpl: Keep the monitor rectangles snapped together.
desk.cpl: Implement monitor rectangle positioning.
desk.cpl: Add a button to apply display settings changes.
Stefan Dösinger (1):
netapi32: Add a stub NetFreeAadJoinInformation function.
```
1
0
The Wine development release 9.17 is now available.
What's new in this release:
- Window surface scaling on High DPI displays.
- Bundled vkd3d upgraded to version 1.13.
- Mono engine updated to version 9.3.0
- Improved CPU detection on ARM64.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.17.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.17 (total 29):
- #11770 mapi32.dll.so does not support attachments for sending mail
- #18154 cmd.exe: failure to handle file extension association
- #18846 Anti-Grain Geometry gdiplus Demo does not render correctly
- #26813 Multiple programs ( python-3.1.3.amd64.msi, scoop) need support for administrative install (msiexec.exe /a )
- #42601 Foxit Reader 8.2 crashes after running for an extended period of time (>30 minutes)
- #43472 Several apps (R-Link 2 Toolbox, Mavimplant 1.0, Kundenkartei 5) crash on startup (Wine's 'packager.dll' is preferred over native, causing failure to load app provided library with same name)
- #48404 Can't close free game notifications from Epic Games Store
- #49244 GdipDeleteFontFamily is declared, but does nothing
- #50365 Starcraft Remastered black screen on launch or window only mode
- #52687 OpenKiosk installer not working
- #53154 Crash of EpicOnlineServicesUserHelper.exe" --setup
- #54212 Nexus ECU Tuning Software for HALTECH ECU
- #55322 SBCL 2.3.4: unattended msiexec in administrator mode fails
- #55343 Game Constantine doesn't respond to key inputs.
- #55410 msi:package fails on w8adm
- #55804 DICOM Viewer (eFilm Workstation 2.x/3.x) aborts because libxml2 doesn't like "ISO8859-1" (builtin msxml6).
- #55936 Sven Bømwøllen series: Several games crash after loading screen
- #55964 wine-mono: Dlls include reference to filenames different to the files in wine-mono-8.1.0-dbgsym.tar.xz
- #56102 Comdlg32/Color - Out of bound value is used
- #56103 PropertySheet - CTRL+TAB and CTRL+SHIFT+TAB not processed
- #56352 comctl32: Handle progress bar state messages
- #57096 Hogia Hemekonomi does not start
- #57102 Textbox-border is missing if textbox is on topmost layer of e. g. a TabControl.
- #57103 "opengl32.dll" failed to initialize with WOW64 on Wayland
- #57117 BsgLauncher cannot launch due to unhandled exception in System.Security.Cryptography (.NET48)
- #57119 WPF app (VOCALOID) fails to initialize Markup
- #57127 Dutch button labels are cut off in Wine Internet Explorer
- #57140 ADOM fails to launch
- #57145 Quicktime 3.02 (16-bit) setup hangs
### Changes since 9.16:
```
Aida Jonikienė (4):
explorer: Make the driver error message more neutral.
msvcrt: Print less FIXMEs for ThreadScheduler_ScheduleTask*().
msvcrt: Remove FIXME for _StructuredTaskCollection_dtor().
msvcrt: Only print FIXME once for Context_Yield().
Alex Henrie (5):
explorer: Make the "Wine Desktop" window title translatable.
explorer: Don't display "Default" in the virtual desktop window title.
ieframe: Widen toolbar buttons to accommodate Dutch translation.
explorer: Return void from show_icon and hide_icon.
explorer: Support the NoTrayItemsDisplay registry setting.
Alexandre Julliard (3):
vkd3d: Import upstream release 1.13.
ntdll: Use custom x64 thunks for syscall exports.
ntdll: Add custom x64 thunk for KiUserExceptionDispatcher.
Alexandros Frantzis (1):
winewayland: Rename surface buffer size to content size.
Alistair Leslie-Hughes (9):
odbccp32: Return false on empty string in SQLValidDSNW.
odbccp32: Check for valid DSN before delete in SQLRemoveDSNFromIniW.
odbccp32: Correctly handle config_mode in SQLWrite/RemoveDSNFromIniW.
odbc32: Pass through field id SQL_MAX_COLUMNS_IN_TABLE in SQLColAttribute/W.
odbc32: Correcly convert columns ID in SQLColAttribute/W for ODBC v2.0.
odbccp32: Only append slash if required in write_registry_values.
include: Move ColorChannelLUT outside of if __cplusplus.
include: Add basic constructors for Rect/RectF.
include: Add class SizeF.
Andrew Eikum (1):
mmdevapi: Add stub IAudioClockAdjustment implementation.
Andrew Nguyen (2):
msi/tests: Add additional test cases for validating package template summary info strings.
msi: Allow package template summary info strings without semicolon separator.
Arkadiusz Hiler (2):
mmdevapi/tests: Add more IAudioClock tests.
winepulse.drv: Implement set_sample_rate.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
msxml3: Allow encoding name "ISO8859-1".
Billy Laws (2):
ntdll: Populate the SMBIOS with ARM64 ID register values.
wineboot: Populate ARM64 ID register registry keys using SMBIOS info.
Biswapriyo Nath (3):
include: Add http3 flag in winhttp.h.
include: Add input assembler related constants in d3d11.idl.
include: Add ISelectionProvider2 definition in uiautomationcore.idl.
Brendan McGrath (2):
windows.gaming.input: Zero 'value' in GetCurrentReading until first state change.
winegstreamer: Allow application to drain queue.
Brendan Shanks (2):
winemac.drv: Call CGWindowListCreateImageFromArray through a dlsym-obtained pointer.
secur32: Ensure unixlib function tables and enum stay in sync.
Dmitry Timoshkov (2):
dssenh: Add support for enumerating algorithms.
dssenh: Add support for CPGetProvParam(PP_NAME).
Dylan Donnell (1):
winegstreamer: Support IYUV alias for I420.
Elizabeth Figura (12):
cmd/tests: Save and restore the drive when performing drive change tests.
cmd: Do not try to handle ERROR_FILE_NOT_FOUND from CreateProcessW().
cmd: Separate a run_full_path() helper.
cmd: Run files with ShellExecute() if CreateProcess() fails.
wined3d: Invalidate STATE_SHADER instead of STATE_POINT_ENABLE.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when texture states change.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when WINED3D_RS_COLORKEYENABLE changes.
wined3d: Invalidate the PS from wined3d_device_apply_stateblock() when the texture changes.
wined3d: Invalidate the VS from wined3d_device_apply_stateblock() when WINED3D_RS_NORMALIZENORMALS changes.
cmd: Allow deleting associations via ftype.
cmd: Report an error from ftype or assoc if the value is empty.
winegstreamer: Append HEAACWAVEINFO extra bytes to AAC user data.
Eric Pouech (5):
cmd: Don't display dialog boxes.
cmd/tests: Add some more tests.
cmd: Minor fix to the lexer.
cmd: Fix reading some input in CHOICE command.
cmd: Strip leading white spaces and at-sign from command nodes.
Esme Povirk (2):
mscoree: Update Wine Mono to 9.3.0.
user32: Implement EVENT_OBJECT_FOCUS for listbox items.
Etaash Mathamsetty (1):
win32u: Implement NtGdiDdDDIEnumAdapters.
Fabian Maurer (5):
comctl32/tests: Add test for propsheet hotkey navigation.
comclt32: Allow hotkeys for propsheet navigation.
comdlg32: Update luminosity bar when changing hue/sat/lum manually.
comdlg32: Prevent recursion inside CC_CheckDigitsInEdit.
comdlg32: Properly handle out of bounds values.
Garrett Mesmer (1):
ntdll: Determine the available address space dynamically for 64bit architectures.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.3.295.
Hans Leidekker (14):
rsaenh: Return an error on zero length only when decrypting the final block.
wmiutils: Handle paths with implied key.
msi: Remove traces from a couple of helpers.
msi: Add support for the ADMIN top level action.
msi: Implement the InstallAdminImage action.
msiexec: Remove an obsolete fixme.
msiexec: Don't remove quotes from properties passed on the command line.
msi/tests: Test escaped double quote on the command line.
msi: Bump version to 5.0.
wpcap/tests: Skip tests when pcap_can_set_rfmon() returns PCAP_ERROR_PERM_DENIED.
msiexec: Don't quote property values if already quoted.
odbc32: Fix a memory leak.
odbc32: Fix driver name query.
odbc32: Load libodbc dynamically.
Haoyang Chen (1):
gdiplus: Check if graphics is occupied in GdipDrawString.
Huw D. M. Davies (11):
nsiproxy: Add linux guards for the IPv6 forward info.
win32u: Use unsigned bitfields.
widl: Remove unused variable.
winedump: Remove unused variable.
opengl32: Test the unix call function table sizes.
combase: Group the post quit info in a structure.
include: Always declare the imagelist read and write functions.
winemapi: Don't write past the end of the argv array.
secur32: Simplify the cred_enabled_protocols logic slightly.
winecoreaudio: Set the synth volume to the greater of the left and right channels.
widl: Avoid using sprintf() to add a single character.
Jacob Czekalla (4):
user32/tests: Add test for edit control format rect size.
user32/edit: Fix incorrect size for format rect when it is smaller than text.
comctl32/tests: Add test for edit control format rect size.
comctl32/edit: Fix incorrect size for format rect when it is smaller than text.
Jason Edmeades (2):
cmd: Skip directories when looking for an openable file.
cmd/tests: Test running a file with an association.
Jeremy White (1):
winemapi: Directly use xdg-email if available.
Martin Storsjö (3):
ntdll: Improve ARM feature checking from /proc/cpuinfo.
include: Add new PF_* constants.
arm64: Detect new processor features.
Nikolay Sivov (8):
d3dx9/tests: Use explicit numeric values as expected test results.
d3dx9/tests: Remove unused fields from effect values test data.
d3dx9/tests: Add a test for matrix majority class.
d3d10/effect: Rename some variable array fields to better reflect their meaning.
d3d10/effect: Simplify setting GlobalVariables value.
d3d10/tests: Compile some of test effects.
d3d10/tests: Fully check matrix types.
d3d10/tests: Fully check scalar and vector types.
Paul Gofman (10):
concrt140: Don't forward _IsSynchronouslyBlocked functions.
dxcore: Prefer native.
kernel32/tests: Add a test for TLS links.
ntdll: Reserve space for some TLS directories at once.
ntdll: Iterate TEBs only once in alloc_tls_slot().
ntdll: Do not use TlsLinks for enumerating TEBs.
ntdll: Ignore HW breakpoints on the Unix side.
uxtheme: Define a constant for default transparent colour.
uxtheme: Try to avoid TransparentBlt() when possible.
ntdll: Allow sending to port 0 on UDP socket to succeed.
Rémi Bernon (69):
win32u: Only allow a custom visible rect for toplevel windows.
win32u: Add missing thunk lock parameters callback.
opengl32: Add missing WOW64 process_attach unixlib entry.
opengl32: Remove unnecessary function addresses.
winex11: Wrap x11drv_dnd_drop_event params in a struct.
winex11: Wrap x11drv_dnd_enter_event params in a struct.
winex11: Wrap x11drv_dnd_post_drop params in a struct.
winex11: Use a UINT64 for the foreign_window_proc parameter.
winex11: Route kernel callbacks through user32.
mfmediaengine: Remove duplicate classes IDL.
mfplat: Fix pointer dereference when caching buffer data.
win32u: Map window region DPI before calling into the drivers.
win32u: Map window rects DPI before calling into the drivers.
win32u: Move window_surface creation helper to dce.c.
win32u: Implement DPI scaled window surface.
explorer: Use the EnableShell option to show or hide the taskbar.
mfreadwrite: Always try inserting a converter for non-video streams.
winewayland: Require the wp_viewporter protocol.
winewayland: Set the window viewport source rectangle.
winewayland: Create the window surface buffer queue unconditionally.
winewayland: Avoid recreating window surface buffer queues.
mfsrcsnk: Refactor sink class factory helpers.
mfsrcsnk: Register the AVI Byte Stream Handler class.
mfsrcsnk: Register the WAV Byte Stream Handler class.
mfmp4srcsnk: Register the MPEG4 Byte Stream Handler class.
mfasfsrcsnk: Register the Asf Byte Stream Handler class.
mfmp4srcsnk: Register the MP3 and MPEG4 sink factory classes.
winewayland: Remove unnecessary logical to physical DPI mapping.
winex11: Map message pos to physical DPI in move_resize_window.
win32u: Map rect to window DPI in expose_window_surface.
win32u: Pass window_from_point dpi to list_children_from_point.
server: Pass window's per-monitor DPI in set_window_pos.
user32: Move dpiaware_init to SYSPARAMS_Init.
explorer: Make the desktop thread per-monitor DPI aware.
win32u: Stop setting DPI_PER_MONITOR_AWARE by default.
colorcnv: Register the Color Converter DMO class.
msvproc: Register the Video Processor MFT class.
resampledmo: Register the Resampler DMO class.
wmadmod: Register the WMA Decoder DMO class.
msauddecmft: Register the AAC Decoder MFT class.
wmvdecod: Register the WMV Decoder DMO class.
msmpeg2vdec: Register the H264 Decoder MFT class.
mfh264enc: Register the H264 Encoder MFT class.
gitlab: Install FFmpeg development libraries.
winewayland: Post WM_WAYLAND_CONFIGURE outside of the surface lock.
winewayland: Introduce a new ensure_window_surface_contents helper.
winewayland: Introduce a new set_window_surface_contents helper.
winewayland: Introduce a new get_window_surface_contents helper.
winewayland: Reset the buffer damage region immediately after copy.
winewayland: Move window contents buffer to wayland_win_data struct.
winewayland: Get rid of wayland_surface reference from window_surface.
winewayland: Get rid of window_surface reference from wayland_win_data.
winewayland: Introduce a new wayland_client_surface_create helper.
winewayland: Get rid of the window surface individual locks.
include: Declare D3DKMT resource creation functions.
include: Declare D3DKMT keyed mutex creation functions.
include: Declare D3DKMT sync object creation functions.
win32u: Stub D3DKMTShareObjects.
win32u: Stub D3DKMT resource creation functions.
win32u: Stub D3DKMT keyed mutex creation functions.
win32u: Stub D3DKMT sync object creation functions.
quartz: Simplify the filter registration code.
quartz: Move registration code to main.c.
quartz: Register the MPEG1 Splitter class.
quartz: Register the AVI Splitter class.
quartz: Register the WAVE Parser class.
quartz: Register the MPEG Audio Decoder class.
quartz: Register the MPEG Video Decoder class.
l3codecx.ax: Register the MP3 Decoder class.
Sebastian Lackner (1):
packager: Prefer native version.
Sergei Chernyadyev (2):
comctl32/tooltip: Support large standard title icons.
explorer: Support large tooltip icons.
Tim Clem (5):
nsiproxy: Implement TCP table on top of a server call.
nsiproxy: Implement UDP table on top of a server call.
nsiproxy: Remove now unused git_pid_map and find_owning_pid.
iphlpapi/tests: Confirm that GetExtendedTcpTable associates a socket with the correct PID.
iphlpapi/tests: Confirm that GetExtendedUdpTable associates a socket with the correct PID.
Topi-Matti Ritala (1):
po: Update Finnish translation.
Torge Matthies (2):
winemac: Route kernel callbacks through user32.
user32: Remove NtUserDriverCallback* kernel callbacks.
Vibhav Pant (2):
ntoskrnl: Implement IoGetDevicePropertyData().
ntoskrnl/tests: Add test for getting and setting device properties.
Ziqing Hui (4):
mf/tests: Test h264 encoder sample processing.
mf/tests: Test codecapi for h264 encoder.
winegstreamer/video_encoder: Add ICodecAPI stubs.
winegstreamer/video_encoder: Initially implement ProcessOutput.
```
1
0
The vkd3d team is proud to announce that release 1.13 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:
- Basic loop unrolling support in the HLSL compiler.
- Effects compiler support for several version 4.0+ state objects.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.13.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.13
### libvkd3d
- The ID3D12CommandList6 interface is supported.
- Block-compressed textures can be created with unaligned dimensions. This
corresponds to
D3D12_FEATURE_D3D12_OPTIONS8.UnalignedBlockTexturesSupported.
- Some minor issues pointed out by the Vulkan validation layers have been
addressed. These are not known to affect applications in practice, but
should make libvkd3d slightly more well-behaved.
### libvkd3d-shader
- New features for the HLSL source type:
- Basic loop unrolling support. Some of the more complicated cases like
loops containing conditional jumps are still unsupported.
- Initialisation values for global variables, function parameters, and
annotation variables are parsed and stored in output formats supporting
them.
- Shader model 5.1 register spaces are supported when using the
corresponding target profiles, as well as shader model 5.1 reflection
data.
- Register reservations support expressions as offsets. For example:
‘float f : register(c0[1 + 1 * 2]);’
- The tex1D(), tex2D(), tex3D(), and texCUBE() intrinsic function variants
with explicit derivatives are supported.
- The following intrinsic functions are supported:
- asint()
- f16tof32()
- faceforward()
- GetRenderTargetSampleCount()
- rcp()
- tex2Dbias()
- tex1Dgrad(), tex2Dgrad(), tex3Dgrad(), and texCUBEgrad()
- The sin() and cos() intrinsic functions are supported in shader model
1-3 profiles. These were already supported in shader model 4+ profiles.
- The following features specific to effects target profiles:
- Types supported in version 4.0+:
- BlendState
- ComputeShader, DomainShader, GeometryShader, and HullShader
- DepthStencilState
- RasterizerState
- State application functions implemented for version 4.0+ effects:
- OMSetRenderTargets()
- SetBlendState()
- SetComputeShader(), SetDomainShader(), SetGeometryShader(),
SetHullShader(), SetPixelShader(), and SetVertexShader()
- SetDepthStencilState()
- SetRasterizerState()
- String types. These are mainly used for annotations.
- Annotations on global variables.
- Support for the ‘Texture’ field of the ‘SamplerState’ type.
- Support for NULL values.
- Stores to swizzled matrix variables.
- The ‘unsigned’ type modifier is supported. (For example,
‘unsigned int’.) Note that ‘uint’ and related types were already
supported.
- ‘ConstantBuffer<>’ types.
- The ‘SV_Coverage’ output semantic for fragment shaders.
- The experimental DXIL source type supports quad group operations.
- The Direct3D shader model 2-3 ‘texldb’ instruction is correctly disassembled
when outputting Direct3D shader assembly.
- New interfaces:
- The vkd3d_shader_parameter_info structure extends the
vkd3d_shader_compile_info structure, and can be used to specify shader
parameters. This is a more generic version of the shader parameter
interface for SPIR-V targets in struct vkd3d_shader_spirv_target_info.
- The VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32 enumeration value specifies
that a shader parameter contains 32-bit floating-point data.
- The VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC shader parameter
specifies the alpha test function.
- The VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF shader parameter
specifies the alpha test reference value.
- The VKD3D_SHADER_PARAMETER_NAME_FLAT_INTERPOLATION shader parameter
specifies the interpolation mode for colour inputs in Direct3D shader
model 1-3 fragment shaders.
- The VKD3D_SHADER_PARAMETER_TYPE_BUFFER enumeration value specifies that
the value of a shader parameter is provided at run-time through a buffer
resource.
### Changes since vkd3d 1.12:
```
Anna (navi) Figueiredo Gomes (6):
vkd3d-shader/ir: Periodically flush buffers when tracing blocks.
Add a .editorconfig file.
vkd3d: Use D3D12_SHADER_VISIBILITY_ALL for 32-bit root constants when using vk_heaps.
vkd3d-shader/spirv: Avoid decorating variables multiple times with NonReadable.
vkd3d-shader/spirv: Use unique SPIR-V variables for descriptors where visibility differs.
vkd3d-shader/spirv: Avoid decorating variables multiple times with Coherent.
Atharva Nimbalkar (2):
vkd3d-shader/glsl: Implement VKD3DSIH_MOV.
vkd3d-shader/glsl: Implement support for VKD3DSPR_TEMP registers.
Conor McCarthy (16):
vkd3d-shader/dxil: Implement DX intrinsic QuadOp.
vkd3d-shader/spirv: Implement the QUAD_READ_ACROSS_* instructions.
vkd3d-shader/dxil: Implement DX intrinsic QuadReadLaneAt.
vkd3d-shader/spirv: Implement the QUAD_READ_LANE_AT instruction.
tests/d3d12: Check for unaligned block texture support in test_create_committed_resource().
vkd3d: Allow block compressed textures to have unaligned width and height.
tests/d3d12: Test a null vertex buffer 'views' pointer on multiple slots.
vkd3d: Interpret a null vertex buffer 'views' pointer as a null buffer.
tests/shader-runner: Set the correct flag and format for raw UAVs.
tests/shader-runner: Create a new runner object for the shader model 6 tests.
vkd3d: Create a descriptor pool for static samplers when Vulkan-backed heaps are used.
tests: Add a test for clearing a large buffer UAV.
vkd3d: Limit the workgroup X count for buffer UAV clears to the supported max.
vkd3d: Add support for the ID3D12CommandList6 interface.
vkd3d-shader/spirv: Free the spirv parameter info.
vkd3d: Free descriptor range information on error paths in d3d12_root_signature_info_from_desc(). (Valgrind)
Elizabeth Figura (39):
vkd3d-shader/hlsl: Add a hlsl_fixme() for 5.1 resource arrays.
vkd3d-shader/hlsl: Put constant buffers into the extern_resources struct.
vkd3d-shader: Write SM5.1 register indices.
vkd3d-shader/hlsl: Allocate register spaces for constant buffers.
vkd3d-shader/hlsl: Allocate register spaces for objects.
vkd3d-shader: Write SM5.1 register spaces.
vkd3d-shader/hlsl: Write SM5.1 binding reflection data.
tests: Add reflection tests for register space.
vkd3d-shader/hlsl: Always initialize $$ when parsing modifiers from an arbitrary string.
tests: Stop probing all pixels when drawing a uniform colour.
tests: Run combined-samplers.shader_test on sm1 as well.
tests: Add another combined sampler test.
vkd3d-shader/hlsl: Respect the coords writemask in write_sm1_resource_load().
vkd3d-shader/hlsl: Only allocate the aligned size for uniforms.
vkd3d-shader/hlsl: Separate an "array" rule.
vkd3d-shader/d3dbc: Use enum vkd3d_shader_register_type in struct sm1_instruction.
tests/shader_runner: Use resource->width instead of resource->size for buffer width.
tests/shader_runner: Factor out a resource_desc structure.
tests: Implement multisampling in the Vulkan renderer.
tests: Implement multisampling in the GL renderer.
vkd3d-shader/hlsl: Implement the GetRenderTargetSampleCount() intrinsic.
vkd3d-shader/hlsl: Implement output SV_Coverage.
vkd3d-shader: Introduce struct vkd3d_shader_parameter_info and struct vkd3d_shader_parameter1.
include: Document shader parameters.
vkd3d-shader/spirv: Support passing shader parameters through uniform buffers.
tests: Add a test for the vkd3d_shader_parameter APIs.
vkd3d-shader/spirv: Respect VKD3D_SHADER_CONDITIONAL_OP_Z when discard has a bool argument.
vkd3d-shader: Allow controlling alpha test through vkd3d-shader parameters.
tests: Offset the viewport by 0.5 when running d3dbc shaders.
tests: Factor out a set_default_target() helper.
tests: Test alpha test.
vkd3d-shader/spirv: Allocate output_info after normalization.
vkd3d-shader: Factor out a vsir_program_get_parameter() helper.
vkd3d-shader/spirv: Pass a vkd3d_data_type to spirv_compiler_emit_shader_parameter().
vkd3d-shader: Do not make the alpha test ref parameter VSIR_DIMENSION_VEC4.
vkd3d-shader: Use the program parameters in spirv_compiler_alloc_spec_constant_id().
vkd3d-shader: Allow controlling d3d color shade mode through vkd3d-shader parameters.
tests: Test shade mode.
vkd3d-shader: Use an extended version of vkd3d_shader_immediate_constant in vkd3d_shader_parameter1.
Francisco Casas (52):
vkd3d-shader/hlsl: Record default values for uniforms and constant buffers.
vkd3d-shader/hlsl: Initialize default values with braceless initializers.
tests: Test default values using reflection.
vkd3d-shader/tpf: Write default values for SM4.
vkd3d-shader/d3dbc: Write default values for SM1.
tests: Test matrix default value initializers.
vkd3d-shader/hlsl: Fix numeric register offset for matrix components.
vkd3d-shader/hlsl: Reorder default values for matrices for SM4.
tests: Test register reservations on unused variables.
vkd3d-shader/hlsl: Only error out on bind_count register reservation overlaps for SM1.
vkd3d-shader/d3dbc: Split hlsl_sm1_write().
vkd3d-shader/hlsl: Generate CTAB outside d3dbc_compile().
vkd3d-shader/d3dbc: Introduce struct d3dbc_compiler.
vkd3d-shader/d3dbc: Use program->shader_version instead of ctx->profile.
vkd3d-shader/d3dbc: Don't require a hlsl_semantic to get register and usage.
vkd3d-shader/d3dbc: Use vsir_program I/O signatures to write dcls.
vkd3d-shader/d3dbc: Don't write inconsequential MOVs.
vkd3d-shader/hlsl: Free array sizes on function parameters (Valgrind).
tests: Separate the valid stateblock function names test from the string arg test.
vkd3d-shader/hlsl: Parse function call syntax on state blocks.
tests: Test whether valid state block function names are case-sensitive.
vkd3d-shader/hlsl: Validate state block function calls.
vkd3d-shader/hlsl: Add missing src1 and src2 constants to sincos on SM2.
tests: Test string escape sequences.
vkd3d-shader/hlsl: Parse string constants.
vkd3d-shader/hlsl: Parse string escape sequences.
vkd3d-shader/hlsl: Parse string type.
tests: Add missing double precission require directives.
tests: Report tests skipped because of missing capabilities.
tests/shader-runner: Add missing trace for wave_ops caps.
tests: Introduce VKD3D_TEST_DETAILED for the test driver.
vkd3d-shader/hlsl: Avoid dereferencing rel_offset if it is NULL.
tests: Add additional non-constant array indexing tests.
vkd3d-shader/hlsl: Lower non-constant array loads for SM1.
vkd3d-shader/hlsl: Remove SM1 fixme for matrix writemasks.
vkd3d-shader/hlsl: Lower non-constant row_major matrix loads for SM1.
tests: Add additional string tests.
vkd3d-shader/hlsl: Parse string default values.
vkd3d-shader/hlsl: Skip writing string default values.
vkd3d-shader/hlsl: Always work with the extern resource's component type.
vkd3d-shader: Avoid div by zero on assert in vkd3d_calloc() (ubsan).
tests: Add additional tests for function calls in state block rhs.
tests: Test shader compilation within function definitions.
tests: Test compile syntax on effects.
tests: Test shader compilation within braces.
tests: Test shader compilation with default values.
tests/shader_runner: Require explicit formats for UAV resources.
tests/shader_runner: Move parse_format() up.
tests/shader_runner: Replace spaces with dashes in format names.
tests/shader_runner: Don't skip shader compilation on missing caps.
tests/shader_runner: Explicitly require UAV load support.
tests/test-driver: Avoid double space when printing details.
Giovanni Mascellani (57):
tests: Mark some root signature unbounded range failures as todo on MoltenVK.
vkd3d: Do not request VK_EXT_debug_marker if debug is disabled.
vkd3d: Enable VK_KHR_portability_subset if available.
vkd3d: Do not synchronize with the geometry shader stage if it's not enabled.
ci: Assume an Apple Silicon-based environment for the macOS CI job.
tests: Skip sampling cube textures on Qualcomm.
tests: Transition resources to PIXEL_SHADER_RESOURCE in test_sample_c_lz().
tests: Check that depth/stencil formats are supported before using them.
vkd3d: Do not synchronize with the tessellation shader stages if they're not enabled.
tests: Improve feedback when enabling d3d12 debug layers.
tests: Enable the d3d12 debug layer message callbacks.
tests: Support using the Agility SDK in the crosstests.
vkd3d: Propagate a failure in d3d12_descriptor_heap_init().
tests: Define WIDL macros in utils.h.
vkd3d: Allocate temporary arrays on the stack in d3d12_command_list_update_push_descriptors().
tests: Pad the constant buffer in test_update_compute_descriptor_tables() to 256 bytes.
tests: Terminate the Agility SDK path with a slash.
vkd3d: Document how to install "Graphics Tools" to use the Agility SDK.
vkd3d: Rebuild the vkd3d_physical_device_info chain before creating the device.
vkd3d: Remove the temporary pointers in vkd3d_physical_device_info_init().
vkd3d: Propagate errors out of d3d12_root_signature_append_vk_binding().
vkd3d: Disable WARN_ON() when VKD3D_NO_DEBUG_MESSAGES is defined.
vkd3d: Disable FIXME_ONCE() when VKD3D_NO_DEBUG_MESSAGES is defined.
vkd3d: Allow disabling ERR() by defining VKD3D_NO_ERROR_MESSAGES.
vkd3d: Introduce debug severity MESSAGE.
vkd3d: Introduce a softer form of assertion.
vkd3d: Allow aborting on ERR().
vkd3d: Emit an ERR() when reaching unreachable code.
ci: Abort on assertions on the CI.
tests: Test register conflicts in a root signature.
vkd3d: Replace assert() with VKD3D_ASSERT() in command.c.
vkd3d: Replace assert() with VKD3D_ASSERT() in resource.c.
vkd3d: Replace assert() with VKD3D_ASSERT() in state.c.
vkd3d: Replace assert() with VKD3D_ASSERT() in utils.c.
vkd3d: Replace assert() with VKD3D_ASSERT() in vkd3d_private.h.
vkd3d-common: Remove an assertion in vkd3d_dbg_printf().
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in checksum.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in d3d_asm.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in d3dbc.c
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in dxbc.c.
tests: Mark a couple of tests as working on recent NVIDIA GPUs.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in dxil.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in fx.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl_codegen.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl_constant_ops.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl.h.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in hlsl.y.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in ir.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.h.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.l.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in preproc.y.
vkd3d: Check the entire root signature for register conflicts.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in spirv.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in tpf.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in vkd3d_shader_main.c.
vkd3d-shader: Replace assert() with VKD3D_ASSERT() in vkd3d_shader_private.h.
Henri Verbeet (9):
vkd3d-shader/ir: Rename the "handler_idx" field of struct vkd3d_shader_instruction to "opcode".
vkd3d: Always use UINT views to clear UAVs with integer formats.
vkd3d-shader/ir: Remove VKD3DSIH_DCL instructions.
vkd3d-shader/ir: Remove VKD3DSIH_DCL_SAMPLER instructions.
vkd3d-common: Replace assert() with VKD3D_ASSERT().
vkd3d-shader/fx: Replace assert() with VKD3D_ASSERT().
vkd3d: Do not include assert.h.
build: Actually run bitwise-assignment.shader_test.
vkd3d-shader/spirv: Decorate non-array descriptor variables as well.
Nikolay Sivov (66):
vkd3d-shader/hlsl: Handle "unsigned int" type.
tests: Add some basic tests for ConstantBuffer type.
tests: Add a few tests for the NULL value.
vkd3d-shader/fx: Do not write shared buffers block when not compiling as a child effect.
vkd3d-shader/hlsl: Implement tex2Dbias().
vkd3d-shader/asm: Output 'bias' flag for 'texld'.
vkd3d-shader/d3dbc: Write load instruction for tex2Dbias().
vkd3d-shader/hlsl: Store original semantic name.
vkd3d-shader/fx: Use original full semantic name.
vkd3d-shader/fx: Set EXPLICIT_BIND_POINT flag for packoffset() reservations as well.
vkd3d-shader/fx: Fix variable buffer offset value.
vkd3d-shader/hlsl: Add support for ConstantBuffer<> type.
vkd3d-shader/fx: Cast state block field values to target type.
vkd3d-shader/fx: Add support for writing DepthStencilState objects.
vkd3d-shader/hlsl: Add RasterizerState type.
vkd3d-shader/fx: Add support for writing RasterizerState objects.
vkd3d-shader: Implement tex*() functions variants with gradient arguments.
vkd3d-shader/hlsl: Implement tex*grad() functions.
vkd3d-shader/fx: Fix structure type data written for fx_4.
vkd3d-shader/fx: Write default numeric values.
vkd3d-shader/fx: Fix packed size for fx_4+ types.
vkd3d-shader/fx: Preserve parsing order of initializer components.
vkd3d-shader/fx: Add missing fields for structure types on fx_5_0.
vkd3d-shader/hlsl: Do not crash on initialization of a redefined variable.
vkd3d-shader/hlsl: Set default values for annotations variables.
vkd3d-shader/fx: Write annotations for fx_4+ profiles.
tests: Add some fx profiles tests for structure types containing objects.
vkd3d-shader: Disallow object structure fields for fx profiles.
vkd3d-shader/fx: Do not output empty strings for missing semantics for fx_2_0.
vkd3d-shader/hlsl: Allow annotations on global variables.
vkd3d-shader/fx: Correct empty pass check.
vkd3d-shader/fx: Set total pass count for fx_2_0.
vkd3d-shader/fx: Correct one of the object counters in the fx_2_0 header.
vkd3d-shader/fx: Decompose function-style state assignments to individual states.
vkd3d-shader/fx: Handle SetRasterizerState().
vkd3d-shader/hlsl: Add parser support for ComputeShader, DomainShader, and HullShader types.
vkd3d-shader/fx: Fix state block entry array shifting when decomposing.
vkd3d-shader/fx: Add support for SetDomainShader(), SetComputeShader(), and SetHullShader() states.
vkd3d-shader/fx: Handle "Texture" field of the sampler state objects.
vkd3d-shader/fx: Use more descriptive names for FX-specific types.
vkd3d-shader/fx: Add an array size field to the states description table.
vkd3d-shader/fx: Add support for the OMSetRenderTargets() state.
vkd3d-shader/hlsl: Add parser support for GeometryShader type.
vkd3d-shader/fx: Check destination array index when checking for duplicate state entries.
vkd3d-shader/hlsl: Add parser support for BlendState type.
vkd3d-shader/fx: Enable writing BlendState variables.
vkd3d-shader/fx: Run full set of constants passes on state block entries values.
vkd3d-shader/fx: Handle states of a BlendState object.
vkd3d-shader/fx: Explicitly handle bool values in state entries.
vkd3d-shader/fx: Turn assignments to arrays to element assignments for certain states.
vkd3d-shader/hlsl: Check MS texture declaration without sample count only for used variables.
vkd3d-shader/hlsl: Handle NULL constants.
vkd3d-shader/hlsl: Add a test for assigning to DSV and RTV variables.
vkd3d-shader/hlsl: Tokenize 'String' the same as 'string'.
vkd3d-shader/hlsl: Treat "string" type name as case-insensitive.
vkd3d-shader/fx: Enable writing string objects for fx_4+.
vkd3d-shader/fx: Support string annotations for fx_4+.
vkd3d-shader/fx: Handle SetBlendState().
vkd3d-shader/fx: Handle SetPixelShader() and SetVertexShader().
vkd3d-shader/hlsl: Adjust NULL type properties to make it usable in transformations.
vkd3d-shader/fx: Support NULL constants for object fields.
vkd3d-shader/fx: Resolve NULL values for SamplerState.Texture field.
vkd3d: Fix a few typos in the comments.
vkd3d-shader/glsl: Fix a typo in a few messages.
include: Fix a few typos in the IDL files.
vkd3d-shader/fx: Fix the matrix type class for fx_2_0.
Petrichor Park (5):
vkd3d-shader/hlsl: Implement the faceforward() intrinsic.
vkd3d-shader/hlsl: Implement tests for the rcp() intrinsic.
vkd3d-shader/hlsl: Implement the rcp() intrinisic.
vkd3d-shader/tpf: Implmenent HLSL_OP1_RCP.
vkd3d-shader/hlsl: Factor out add_binary_expr() and use it for assignment operators.
Shaun Ren (6):
vkd3d-shader/ir: Lower SM1 SINCOS to SM4 SINCOS.
vkd3d-shader/hlsl: Implement sin/cos for SM1.
vkd3d-shader/d3dbc: Implement HLSL_OP3_MAD for SM1.
vkd3d-shader/hlsl: Allocate registers for HLSL_OP1_{COS,SIN}_REDUCED with the required writemasks.
vkd3d-shader/d3dbc: Implement HLSL_OP1_{COS,SIN}_REDUCED for SM1.
vkd3d-shader/hlsl: Support default values for function parameters.
Stefan Dösinger (2):
include: Get rid of the RB_FOR_EACH* macros.
vkd3d: Pass a proper struct shader_cache_key * to rb_put() in vkd3d_shader_cache_add_entry().
Victor Chiletto (20):
tests: Add more register reservations tests.
vkd3d-shader/hlsl: Support expressions as register offsets.
vkd3d-shader/hlsl: Pass a pointer to struct hlsl_reg_reservation in parse_reservation_index.
vkd3d-shader/hlsl: Ignore bracket offsets for 'b' register types prior to SM 5.1.
vkd3d-shader/hlsl: Do not immediately fail parsing for malformed 'b' register reservations.
vkd3d-shader/hlsl: Validate cbuffer register allocations.
vkd3d-shader/hlsl: Reserve register slots for unused buffers.
tests: Add reflection tests for register expressions.
vkd3d-shader/d3dbc: Fix implicit enum conversion warning.
tests/hlsl: Add a test for dynamically indexed multisampled texture loads.
vkd3d-shader/hlsl: Use a switch in validate_static_object_references().
vkd3d-shader/hlsl: Defer bounds checks to after copy propagation.
vkd3d-shader/hlsl: Pull evaluate_static_expression_as_uint() upwards.
vkd3d-shader/hlsl: Parse loop and unroll loop attributes.
vkd3d-shader/hlsl: Allow cloned blocks to contain external references.
vkd3d-shader/hlsl: Implement loop unrolling.
tests/hlsl: Test loop unrolling edge cases.
vkd3d-shader/hlsl: Implement the asint() intrinsic.
vkd3d-shader/hlsl: Push a new scope when compiling internal functions.
vkd3d-shader/hlsl: Implement f16tof32 intrinsic.
Yuxuan Shui (2):
tests: Pass the correct buffer size to vsnprintf() in vkd3d_test_push_context().
vkd3d-shader/hlsl: Implement storing to a swizzled matrix.
```
1
0
The Wine development release 9.16 is now available.
What's new in this release:
- Initial Driver Store implementation.
- Pbuffer support in the Wayland driver.
- More prototype objects in MSHTML.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.16.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.16 (total 25):
- #30938 Update a XIM candidate position when cursor location changes
- #37732 Corel Paint Shop Pro X7 Installer fails
- #41607 Piggi 2 Demo version fails to start and throws runtime and fatal error
- #42997 Opera Neon Installation throws backtrace
- #43251 Anarchy Online Login Window Play and Settings button disapper after minimising and maximising window
- #44516 Anarchy Online doesn't start in Windows7 prefix
- #45105 heap-buffer overflow in gdi32 (CVE-2018-12932)
- #45106 OOB write in gdi32 (CVE-2018-12933)
- #45455 Multiple DIFxApp-based USB hardware driver installers fail due to missing 'setupapi.dll.DriverStoreFindDriverPackageW' stub (Cetus3D-Software UP Studio 2.4.x, Plantronics Hub 3.16)
- #46375 Vietcong: game save thumbnails (screenshots) have corrupted colors
- #48521 StaxRip 2.0.6.0 (.NET 4.7 app) reports 'System.ComponentModel.Win32Exception (0x80004005): Invalid function' when converting AVI (PowerRequest stubs need to return success)
- #53839 Anarchy Online (Old Engine) Installer hangs after downloading game files
- #54587 GMG-Vision - ShellExecuteEx failed: Bad EXE format for install.exe.
- #55841 Lotus Approach: print "Properties" button ignored
- #56622 Systray icons now have black background without compositor, and on some panels can be misaligned or don't redraw, becoming invisible
- #56825 Unable to see screen for Harmony Assistant version 9.9.8d (64 bit)
- #56884 FoxitPDFReaderUpdateService shows crash dialog
- #57003 Naver Line tray icon is always gray since 9.13
- #57036 Splashtop RMM client crashes on Wine 9.14
- #57055 Window surfaces are empty
- #57059 Regression - UI broken with winewayland
- #57070 cnc-ddraw OpenGL performance regression in Wine 9.15
- #57071 Incorrect window drawing
- #57073 StaxRip 2.0.6.0 crashes inside gdiplus
- #57083 ClickStamper: stamp circle is missing.
### Changes since 9.15:
```
Aida Jonikienė (1):
win32u: Initialize parent_rect variables in window.c.
Akihiro Sagawa (5):
oleaut32/tests: Add OLE Picture object tests using DIB section.
oleaut32: Convert 32-bit or 16-bit color bitmaps to 24-bit color DIBs when saving.
oleaut32: Initialize reserved members before saving.
gdiplus/metafile: Fix DrawEllipse record size if compressed.
gdiplus/metafile: Fix FillEllipse record size if compressed.
Alex Henrie (3):
rpcrt4/tests: Correct a comment in test_pointer_marshal.
rpcrt4/tests: Test whether Ndr(Get|Free)Buffer calls StubMsg.pfn(Allocate|Free).
rpcrt4/tests: Allocate stub buffers with NdrOleAllocate.
Alexandre Julliard (15):
ntdll: Avoid nested ARM64EC notifications.
ntdll: Support STATUS_EMULATION_SYSCALL exception on ARM64EC.
ntdll: Add a test for BeginSimulation().
wow64: Fetch the initial thread context from the CPU backend.
wow64: Only update necessary registers when raising exceptions.
include: Unify the syscall thunk on x86-64.
include: Clean up formatting of long asm statements.
ntdll: Allocate the ARM64EC code map in high memory.
ntdll: Allocate the x64 context on the asm side of KiUserExceptionDispatcher.
ntdll: Pass the full exception record to virtual_handle_fault().
ntdll: Implement Process/ThreadManageWritesToExecutableMemory.
ntdll: Implement NtSetInformationVirtualMemory(VmPageDirtyStateInformation).
ntdll/tests: Add tests for Process/ThreadManageWritesToExecutableMemory.
ntdll: Read the Chpev2ProcessInfo pointer before accessing the data.
shell32/tests: Delete a left-over file.
Alexandros Frantzis (5):
winewayland: Store all window rects in wayland_win_data.
winewayland: Support WGL_ARB_pbuffer.
winewayland: Support WGL_ARB_render_texture.
winewayland: Advertise pbuffer capable formats.
winewayland: Fix off-by-one error in format check.
Alfred Agrell (2):
mountmgr.sys: Read and use disk label from dbus.
kernelbase: Delete now-inaccurate 'FS volume label not available' message.
Alistair Leslie-Hughes (4):
odbccp32: Support driver config in SQLGet/WritePrivateProfileStringW.
odbccp32: Correctly hanndle ODBC_BOTH_DSN in SQLWritePrivateProfileStringW.
odbccp32: Fall back to ConfigDSN when ConfigDSNW cannot be found.
kernel32: Return a valid handle in PowerCreateRequest.
Anders Kjersem (2):
reg/tests: Wait for process termination.
wscript: Implement Sleep.
Andrey Gusev (1):
wined3d: Fix return for WINED3D_SHADER_RESOURCE_TEXTURE_2DMSARRAY.
Bernhard Übelacker (1):
userenv: Avoid crash in GetUserProfileDirectoryW.
Billy Laws (4):
include: Move arm64ec_shared_info to winternl and point to it in the PEB.
ntdll: Initialize dll search paths before WOW64 init.
ntdll: Call the exception preparation callback on ARM64EC.
configure: Don't use CPPFLAGS for PE cross targets.
Brendan McGrath (3):
mf/tests: Test video processor with 2D buffers.
mf/tests: Test 1D/2D output on 2D buffers.
mf/tests: Test 2D buffers can override stride.
Daniel Lehman (3):
odbc32: Support {}'s in Driver connection string.
msvcr120: Add feholdexcept stub.
msvcr120: Implement feholdexcept.
Danyil Blyschak (4):
win32u: Don't check ansi_cp when adding fallback child font.
win32u: Include Microsoft Sans Serif as a child font.
win32u: Include Tahoma and its linked fonts in child font list.
mlang: Use larger destination buffer with WideCharToMultiByte().
Dmitry Timoshkov (10):
gdiplus: Add a couple of missing gdi_dc_release().
msv1_0: Make buffer large enough to hold NTLM_MAX_BUF bytes of base64 encoded data.
secur32/tests: Don't load secur32.dll dynamically.
secur32/tests: Avoid assigning a 4-byte status to an 1-byte variable.
secur32/tests: Don't use fake user/domain/password in NTLM tests.
secur32/tests: Fix a typo.
secur32/tests: Separate NTLM signature and encryption tests.
secur32/tests: Make NTLM encryption tests work on newer Windows versions.
kernel32/tests: Fix compilation with a PSDK compiler.
kernel32: EnumCalendarInfo() should ignore CAL_RETURN_NUMBER flag.
Elizabeth Figura (17):
widl: Explicitly check for top-level parameters before adding FC_ALLOCED_ON_STACK.
widl: Get rid of the write_embedded_types() helper.
widl: Ignore strings in is_embedded_complex().
widl: Propagate attrs to inner pointer types.
setupapi: Move INF installation functions to devinst.c.
setupapi: Separate a copy_inf() helper.
setupapi: Add an any_version_is_compatible() helper.
setupapi: Implement DriverStoreAddDriverPackage().
setupapi: Implement DriverStoreDeleteDriverPackage().
setupapi: Implement DriverStoreFindDriverPackage().
setupapi: Uninstall from the driver store in SetupUninstallOEMInf().
setupapi: Install to the driver store in SetupCopyOEMInf().
setupapi: Add stub spec entries for DriverStoreEnumDriverPackage().
setupapi/tests: Add Driver Store tests.
winevulkan: Strip the name tail when parsing members.
winevulkan: Add video interfaces.
winevulkan: Fix pointer arithmetic in debug utils callback marshalling.
Eric Pouech (1):
winedump: Get rid of GCC warning.
Esme Povirk (5):
user32: Implement EVENT_OBJECT_STATECHANGE for BM_SETSTYLE.
user32: Implement EVENT_SYSTEM_DIALOGEND.
user32: Implement EVENT_OBJECT_CREATE for listboxes.
user32: Implement EVENT_OBJECT_DESTROY for listboxes.
user32: Implement MSAA events for LB_SETCURSEL.
Etaash Mathamsetty (1):
netapi32: Move some implementations to netutils.
Fabian Maurer (1):
printdlg: Allow button id psh1 for "Properties" button.
Gabriel Ivăncescu (6):
mshtml: Avoid calling remove_target_tasks needlessly.
mshtml: Don't return default ports from location.host in IE10+ modes.
mshtml: Implement EmulateIE* modes for X-UA-Compatible.
mshtml/tests: Accept rare return value from ReportResult on native.
jscript: Don't use call frame for indirect eval calls for storing variables.
jscript: Restrict the allowed escape characters of JSON.parse in html mode.
Hans Leidekker (18):
odbc32: Add locking around driver calls.
odbc32: Remove unused Unix calls.
odbc32: Try the DRIVER attribute if the DSN attribute is missing.
odbc32: Fail freeing an object while child objects are alive.
odbc32: Call the driver function in SQLBindCol().
odbc32: Add support for descriptor handles in SQLGet/SetStmtAttr().
odbc32: Parse incoming connection string in SQLBrowse/DriverConnct().
odbc32: Set win32_funcs on the descriptors returned from SQLGetStmtAttr().
odbc32: Implicit descriptors can be retrieved but not set.
odbc32: Connection string keywords are case insensitive.
odbccp32: Respect config mode in SQLGet/WritePrivateProfileString().
odbccp32: Use wide character string literals.
odbccp32/tests: Get rid of a workaround for XP.
odbccp32: Handle NULL DSN in SQLValidDSN().
odbc32: Handle missing SQLSetConnect/EnvAttr().
odbc32: Set initial login timeout to 15 seconds.
odbc32: Map SQLColAttributes() to SQLColAttribute().
odbc32: Map SQLGetDiagRec() to SQLError().
Ilia Docin (3):
comctl32/tests: Add rebar chevron visibility test.
comctl32/tests: Add LVM_GETNEXTITEM test.
comctl32/listview: Do not return items count on getting next item for last one.
Ivo Ivanov (3):
winebus.sys: Pass each input report regardless of report ID to the pending read IRQ.
winebus.sys: Add devtype parameter to get_device_subsystem_info().
winebus.sys: Read vendor/product/serial strings from the usb subsystem.
Jacek Caban (33):
mshtml: Add support for MSEventObj prototype objects.
mshtml: Add support for Event prototype objects.
mshtml: Add support for UIEvent prototype objects.
mshtml: Add support for mouse event prototype objects.
mshtml: Add support for keyboard event prototype objects.
mshtml: Add support for page transition event prototype objects.
mshtml: Add support for custom event prototype objects.
mshtml: Add support for message event prototype objects.
mshtml: Add support for progress event prototype objects.
mshtml: Add support for storage event prototype objects.
mshtml: Add support for screen prototype objects.
mshtml: Add support for history prototype objects.
mshtml: Add support for plugins collection prototype objects.
mshtml: Add support for MIME types collection prototype objects.
mshtml: Add support for performance timing prototype objects.
mshtml: Add support for performance navigation prototype objects.
mshtml: Add support for performance prototype objects.
mshtml: Add support for namespace collection prototype objects.
mshtml: Add support for console prototype objects.
mshtml: Add support for media query list prototype objects.
mshtml: Add support for client rect list prototype objects.
mshtml: Add support for DOM token list prototype objects.
mshtml: Add support for named node map prototype objects.
mshtml: Add support for element collection prototype objects.
mshtml: Add support for node list prototype objects.
mshtml: Add support for text range prototype objects.
mshtml: Add support for range prototype objects.
mshtml: Add support for selection prototype objects.
mshtml: Increase buffer size in dispex_to_string.
mshtml: Add support for unknown element prototype objects.
mshtml: Add support for comment prototype objects.
mshtml: Add support for attribute prototype objects.
mshtml: Add support for document fragment prototype objects.
Jacob Czekalla (4):
comctl32/tests: Add tests for progress bar states.
comctl32/progress: Add states for progress bar.
comctl32/tests: Add test to check if treeview expansion can be denied.
comctl32/treeview: Allow treeview parent to deny treeview expansion.
Louis Lenders (3):
kernel32: Fake success in PowerCreateRequest.
kernel32: Fake success in PowerSetRequest.
kernel32: Fake success in PowerClearRequest.
Martin Storsjö (1):
ucrtbase: Export powf on i386.
Nikolay Sivov (7):
include: Add IWICStreamProvider definition.
windowscodecs/tests: Add a helper to check for supported interfaces.
windowscodecs/tests: Remove noisy traces from the test stubs.
windowscodecs/tests: Add some tests for IWICStreamProvider interface availability.
windowscodecs/metadata: Add a stub for IWICStreamProvider.
windowscodecs/metadata: Reset the handler on LoadEx(NULL).
windowscodecs/tests: Add some more tests for the IWICStreamProvider methods.
Paul Gofman (25):
qcap/tests: Fix test failure in testsink_Receive() on some hardware.
qcap/tests: Add a test for simultaneous video capture usage.
quartz: Propagate graph start error in MediaControl_Run().
qcap: Delay setting v4l device format until stream start.
gdi32/tests: Add test for Regular TTF with heavy weight.
win32u: Always set weight from OS/2 header in freetype_set_outline_text_metrics().
win32u: Do not embolden heavy weighted fonts.
kernelbase: Better match Windows behaviour in PathCchStripToRoot().
kernelbase: Better match Windows behaviour in PathCchRemoveFileSpec().
kernelbase: Better match Windows behaviour in PathCchIsRoot().
kernelbase: Reimplement PathIsRootA/W() on top of PathCchIsRoot().
kernelbase: Reimplement PathStripToRootA/W() on top of PathCchStripToRoot().
kernelbase: Remimplement PathRemoveFileSpecA/W().
kernelbase/tests: Add more tests for some file manipulation functions.
shell32: Register ShellItem coclass.
include: Add some shell copy engine related constants.
shell32/tests: Add tests for IFileOperation_MoveItem.
shell32/tests: Add tests for IFileOperation_MoveItem notifications.
shell32: Implement file_operation_[Un]Advise().
shell32: Store operation requested in file_operation_MoveItem().
shell32: Partially implement MoveItem file operation execution.
shell32: Implement directory merge for MoveItem.
shell32: Support sink notifications for file MoveItem operation.
ws2_32/tests: Test UDP broadcast without SO_BROADCAST.
server: Support IPV4 UDP broadcast on connected socket without SO_BROADCAST.
Piotr Caban (6):
ntdll: Accept UNC paths in LdrGetDllPath.
ntdll: Accept UNC paths in LdrAddDllDirectory.
msi: Fix msi_add_string signature.
msi: Fix row index calculation when stringtable contains empty slots.
vcruntime140_1: Handle empty catchblock type_info in validate_cxx_function_descr4.
vcruntime140_1: Store exception record in ExceptionInformation[6] during unwinding.
Rozhuk Ivan (1):
wineoss: Store the OSS device in midi_dest.
Rémi Bernon (59):
win32u: Don't request a host window surface for child windows.
win32u: Avoid crashing with nulldrv when creating offscreen surface.
mfplat/tests: Add more tests for MFCreateMediaBufferFromMediaType.
mfplat: Implement MFCreateMediaBufferFromMediaType for video formats.
mf/tests: Cleanup the video processor test list.
win32u: Introduce a new window rects structure.
win32u: Use window_rects struct in set_window_pos.
win32u: Use window_rects struct in update_window_state.
win32u: Use window_rects struct in NtUserCreateWindowEx.
win32u: Pass a window_rects struct to calc_winpos helper.
winex11: Check whether the window surface needs to be re-created.
win32u: Fix CreateWindowSurface call when updating layered surfaces.
winex11: Avoid moving embedded windows in the systray dock.
winex11: Don't call X11DRV_SET_DRAWABLE with invalid drawable.
win32u: Split driver side window bits move to a separate entry.
win32u: Use window_rects structs in apply_window_pos.
win32u: Pass window_rects structs to create_window_surface.
win32u: Pass a window_rects struct to WindowPosChanged driver entry.
win32u: Pass a window_rects struct to WindowPosChanging driver entry.
win32u: Pass a window_rects struct to MoveWindowBits driver entry.
win32u: Introduce new get_(client|window)_rect_rel helpers.
win32u: Pass a window_rects struct from get_window_rects helper.
win32u: Pass a window_rects struct to calc_ncsize helper.
win32u: Keep a window_rects struct in the WND structure.
winebus.sys: Always parse uevent PRODUCT= line on input subsystem.
mfplat/tests: Add missing todo_wine for MFCreateMediaBufferFromMediaType.
mf/tests: Load MFCreateMediaBufferFromMediaType dynamically.
win32u: Get visible and client rects in parent-relative coordinates.
winex11: Discard previous surface when window is directly drawn to.
win32u: Flush window surface after UpdateLayeredWindow.
winex11: Remove now unnecessary window surface flushes.
winemac: Remove unused unminimized window surface.
winemac: Remove unnecessary window surface invalidation.
winex11: Fix the exposed window surface region combination.
win32u: Introduce a new NtUserExposeWindowSurface call.
wineandroid: Remove now unnecessary window surface pointer.
winemac: Remove now unnecessary window surface pointer.
winex11: Remove now unnecessary window surface pointer.
win32u: Allocate and initialize window surface in window_surface_create.
wineandroid: Keep a window_rects struct in the driver window data.
winemac: Remove unnecessary window data rects update.
winemac: Keep a window_rects struct in the driver window data.
winemac: Use the window rects to convert host visible to window rect.
winemac: Use the window rects to convert window to host visible rect.
win32u: Keep SetIMECompositionWindowPos with other IME entries.
winex11: Keep a window_rects struct in the driver window data.
winex11: Use the driver rects to convert from host visible to window rect.
winemac: Return a macdrv_window_features from get_cocoa_window_features.
win32u: Move visible rect computation out of the drivers.
win32u: Move the "Decorated" driver registry option out of the drivers.
mfplat: Add MFCreateLegacyMediaBufferOnMFMediaBuffer stub.
mfplat/tests: Test MFCreateLegacyMediaBufferOnMFMediaBuffer.
mfplat: Implement MFCreateLegacyMediaBufferOnMFMediaBuffer.
user32: Pass a free_icon_params struct to User16CallFreeIcon.
user32: Pass a thunk_lock_params struct to User16ThunkLock.
user32: Introduce a generic KeUserDispatchCallback kernel callback.
user16: Use NtUserDispatchCallback instead of User16ThunkLock.
winevulkan: Route kernel callbacks through user32.
opengl32: Route kernel callbacks through user32.
Sven Püschel (11):
dssenh/tests: Remove skipping sign tests.
dssenh/tests: Remove unnecessary verify test cases.
dssenh/tests: Move test loop out of sub function.
dssenh/tests: Remove redundant hash test.
dssenh: Finish hash in the SignHash function.
dssenh/tests: Fix signLen usage.
dssenh/tests: Set 0xdeadbeef last error before function execution.
dssenh/tests: Remove redundant signature verification.
dssenh/tests: Separate the public key export from the signhash test.
dssenh/tests: Add test for VerifySignatureA.
dssenh: Swap the endianness of the signature.
Tim Clem (1):
winemac.drv: Better detect whether to unminimize a window when the app becomes active.
Tom Helander (4):
httpapi: Add tests for HttpResponseSendEntityBody.
http.sys: Skip clean up if HTTP_SEND_RESPONSE_FLAG_MORE_DATA is set.
httpapi: Handle HTTP_SEND_RESPONSE_FLAG_MORE_DATA flag.
httpapi: Implement HttpSendResponseEntityBody.
Torge Matthies (1):
wineandroid: Route kernel callbacks through user32.
Zhiyi Zhang (6):
riched20: Release IME input context when done using it.
user32/tests: Add more display DC bitmap tests.
win32u: Use a full size bitmap for display device contexts.
win32u: Support setting host IME composition window position for ImmSetCompositionWindow().
win32u: Set host IME composition window position in set_caret_pos().
win32u: Set host IME composition window position in NtUserShowCaret().
```
1
0
The Wine development release 9.15 is now available.
What's new in this release:
- Prototype and constructor objects in MSHTML.
- More support for ODBC Windows drivers.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.15.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.15 (total 18):
- #35991 WinProladder v3.x crashes during 'PLC connect check' (async event poll worker writes to user event mask buffer whose lifetime is limited)
- #39513 Desperados: input lag after resuming from pause
- #51704 Final Fantasy XI Online: Short Freezes / Stutters Every Second
- #53531 FTDI Vinculum II IDE gets "Out of memory" error on startup
- #54861 UK's Kalender: Crashes when adding or changing event category - comctl32 related
- #56140 ListView with a custom column sorter produces wrong results
- #56494 Splashtop RMM v3.6.6.0 crashes
- #56811 Jade Empire configuration tool fails to show up (only in virtual desktop mode)
- #56984 Star Wars: Knights of the Old Republic (Steam, GOG): broken rendering when soft shadows enabled
- #56989 Doom 3: BFG Edition fails to start in virtual desktop
- #56993 Can not change desktop window resolution (pixel size)
- #57005 Wine segfaults on macOS when run from install
- #57008 _fdopen(0) does not return stdin after it was closed
- #57012 Astra 2 needs kernel32.SetFirmwareEnvironmentVariableA
- #57026 compile_commands.json change causes segmentation faults when running configure.
- #57028 LTSpice will not print with WINE 9.xx on Ubuntu 24.04
- #57033 ChessBase 17 crashes after splash screen again
- #57042 rsaenh RSAENH_CPDecrypt crashes when an application tries to decrypt an empty string
### Changes since 9.14:
```
Alex Henrie (2):
atl: Correct comment above AtlModuleRegisterTypeLib function.
atl: Only warn in AtlModuleGetClassObject if the class was not found.
Alexandre Julliard (2):
makedep: Don't add empty cflags to a compile command.
dnsapi/tests: Update tests for winehq.org DNS changes.
Alistair Leslie-Hughes (2):
include: Add *_SHIFT macros.
include: Forward declare all gdiplus classes.
Billy Laws (1):
configure: Test PE compilers after setting their target argument.
Brendan Shanks (5):
include: Ensure that x86_64 syscall thunks have a consistent length when built with Clang.
ntdll: Use environ/_NSGetEnviron() directly rather than caching it in main_envp.
ntdll: Use _NSGetEnviron() instead of environ when spawning the server on macOS.
msv1_0: Use _NSGetEnviron() instead of environ on macOS.
mmdevapi: Remove unused critical section from MMDevice.
Connor McAdams (9):
d3dx9/tests: Add tests for D3DXLoadSurfaceFromMemory() with a multisampled surface.
d3dx9: Return success in D3DXLoadSurfaceFromMemory() for multisampled destination surfaces.
d3dx9: Return failure from D3DXLoadSurfaceFromMemory() if d3dx_load_pixels_from_pixels() fails.
d3dx9/tests: Add d3dx filter argument value tests.
d3dx9: Introduce helper function for retrieving the mip filter value in texture from file functions.
d3dx9: Further validate filter argument passed to D3DXFilterTexture().
d3dx9: Validate filter argument in D3DXLoadVolumeFrom{Volume,FileInMemory,Memory}().
d3dx9: Validate filter argument in D3DXLoadSurfaceFrom{Surface,FileInMemory,Memory}().
d3dx9: Validate filter argument in texture from file functions.
Dmitry Timoshkov (1):
sechost: Check both lpServiceName and lpServiceProc for NULL in StartServiceCtrlDispatcher().
Elizabeth Figura (14):
wined3d: Invalidate push constant flags only for the primary stateblock.
wined3d: Feed the material through a push constant buffer.
wined3d: Move get_projection_matrix() to glsl_shader.c.
wined3d: Feed the projection matrix through a push constant buffer.
wined3d: Do not use the normal or modelview matrices when drawing pretransformed vertices.
wined3d: Feed modelview matrices through a push constant buffer.
wined3d: Pass d3d_info and stream_info pointers to wined3d_ffp_get_[vf]s_settings().
wined3d: Feed the precomputed normal matrix through a push constant buffer.
wined3d: Store the normal matrix as a struct wined3d_matrix.
wined3d: Hardcode 1.0 point size for shader model >= 4.
wined3d: Feed point scale constants through a push constant buffer.
d3d9/tests: Test position attribute W when using the FFP.
wined3d: Use 1.0 for position W when using the FFP.
d3d9/tests: Add comprehensive fog tests.
Eric Pouech (1):
cmd: Fix test failures for SET /P command.
Esme Povirk (6):
comctl32: Handle WM_GETOBJECT in tab control.
gdi32: Fix out-of-bounds write in EMR_ALPHABLEND handling.
win32u: Implement EVENT_SYSTEM_CAPTURESTART/END.
user32: Implement EVENT_OBJECT_STATECHANGE for BST_PUSHED.
user32: Implement EVENT_OBJECT_STATECHANGE for BM_SETCHECK.
gdi32: Bounds check EMF handle tables.
Fabian Maurer (5):
kernel32: Add SetFirmwareEnvironmentVariableA stub.
odbc32: In get_drivers prevent memory leak in error case (coverity).
odbc32: In get_drivers simplify loop condition.
iphlpapi: Add stub for SetCurrentThreadCompartmentId.
win32u: Remove superflous null check (coverity).
Gabriel Ivăncescu (1):
jscript: Implement arguments.caller.
Gerald Pfeifer (1):
nsiproxy.sys: Fix the build on non-Apple, non-Linux systems.
Hans Leidekker (25):
odbc32: Forward SQLGetConnectAttr() to the Unicode version if needed.
odbc32: Forward SQLGetConnectOption() to the Unicode version if needed.
odbc32: Forward SQLGetCursorName() to the Unicode version if needed.
odbc32: Forward SQLGetDescField() to the Unicode version if needed.
odbc32: Forward SQLGetDescRec() to the Unicode version if needed.
odbc32: Forward SQLGetDescField() to the Unicode version if needed.
odbc32: Forward SQLGetInfo() to the Unicode version if needed.
odbc32: Forward SQLGetStmtAttr() to the Unicode version if needed.
odbc32: Forward SQLGetTypeInfo() to the Unicode version if needed.
odbc32: Forward SQLNativeSql() to the Unicode version if needed.
odbc32: Forward SQLPrepare() to the Unicode version if needed.
odbc32: Forward SQLPrimaryKeys() to the Unicode version if needed.
odbc32: Forward SQLProcedureColumns() to the Unicode version if needed.
odbc32: Forward SQLProcedures() to the Unicode version if needed.
odbc32: Make the driver loader thread-safe.
odbc32: Return an error when a required driver entry point is missing.
odbc32: Forward SQLSetConnectAttr() to the Unicode version if needed.
odbc32: Forward SQLSetConnectOption() to the Unicode version if needed.
odbc32: Forward SQLSetCursorName() to the Unicode version if needed.
odbc32: Forward SQLSetDescField() to the Unicode version if needed.
odbc32: Forward SQLSetStmtAttr() to the Unicode version if needed.
odbc32: Forward SQLSpecialColumns() to the Unicode version if needed.
odbc32: Forward SQLStatistics() to the Unicode version if needed.
odbc32: Forward SQLTablePrivileges() to the Unicode version if needed.
odbc32: Forward SQLTables() to the Unicode version if needed.
Herman Semenov (1):
gdiplus: Fixed order of adding offset and result ternary operator.
Jacek Caban (83):
mshtml: Use dispex_next_id in NextProperty implementation.
jscript: Ensure that external property is still valid in jsdisp_next_prop.
mshtml: Use host object script bindings for storage objects.
mshtml: Use host object script bindings for frame elements.
mshtml: Use host object script bindings for iframe elements.
mshtml: Introduce get_outer_iface and use it instead of get_dispatch_this.
jscript: Allow host objects to specify an outer interface.
mshtml: Return E_UNEXPECTED for unknown ids in JSDispatchHost_CallFunction.
mshtml: Use get_prop_descs for window object.
mshtml: Use host object script bindings for Window object.
mshtml: Introduce get_script_global and use it instead of get_compat_mode.
mshtml: Use HTMLPluginContainer for DispatchEx functions in object element.
mshtml: Store property name in HTMLPluginContainer.
mshtml: Use host object script bindings for object elements.
mshtml: Use host object script bindings for select elements.
mshtml: Use host object script bindings for HTMLRect.
mshtml: Use host object script bindings for DOMTokenList.
mshtml: Use dispex_index_prop_desc for HTMLFiltersCollection.
mshtml: Use host object script bindings for HTMLAttributeCollection.
mshtml: Use dispex_index_prop_desc for HTMLElementCollection.
mshtml: Use host object script bindings for HTMLDOMChildrenCollection.
mshtml: Use host object script bindings for HTMLStyleSheetsCollection.
mshtml: Use host object script bindings for HTMLStyleSheet.
mshtml: Use host object script bindings for HTMLStyleSheetRulesCollection.
mshtml: Use host object script bindings for HTMLStyleSheetRule.
mshtml: Use get_prop_desc for legacy function object implementation.
mshtml: Use host object script bindings for style objects.
mshtml: Add initial constructor implementation.
mshtml: Store vtbl in dispex_data_t.
mshtml: Split ensure_dispex_info.
mshtml: Factor out init_dispatch_from_desc.
mshtml: Add initial support for MSHTML prototype objects.
mshtml: Don't expose prototype properties directly from object instances.
mshtml: Store name in dispex_data_t.
mshtml: Use proper prototype names.
jscript: Allow using MSHTML constructors in instanceof expressions.
maintainers: Remove shdocvw from WebBrowser control section.
mshtml: Add support for navigator prototype objects.
mshtml: Add support for HTMLBodyElement object.
mshtml: Add initial support for prototype chains.
mshtml: Add support for Element and Node prototype objects.
mshtml: Add support for Storage prototype objects.
mshtml: Add support for document prototype objects.
mshtml: Add support for window prototype objects.
include: Always declare _setjmp in setjmp.h on i386 targets.
mshtml: Add support for image element prototype objects.
jscript: Introduce HostConstructor function type.
mshtml: Use host constructor script bindings for Image constructor object.
mshtml: Use host constructor script bindings for XMLHttpRequest constructor object.
mshtml: Add support for option element prototype objects.
mshtml: Use host object script bindings for Option constructor object.
mshtml: Add support for MutationObserver consturctor and prototype objects.
include: Add DECLSPEC_CHPE_PATCHABLE definition.
mshtml/tests: Use winetest.js helpers in xhr.js.
mshtml: Add support for anchor element prototype objects.
mshtml: Add support for area element prototype objects.
mshtml: Add support for form element prototype objects.
mshtml: Add support for frame elements prototype objects.
mshtml: Add support for head elements prototype objects.
mshtml: Add support for input elements prototype objects.
mshtml: Add support for link element prototype objects.
mshtml: Add support for object and embed element prototype objects.
mshtml: Add support for script element prototype objects.
mshtml: Add support for select element prototype objects.
mshtml: Add support for style element prototype objects.
mshtml: Add support for table and tr element prototype objects.
mshtml: Add support for td element prototype objects.
mshtml: Add support for textarea element prototype objects.
mshtml: Add support for svg element prototype objects.
mshtml: Add support for circle SVG element prototype objects.
mshtml: Add support for tspan SVG element prototype objects.
mshtml: Add support for document type node prototype objects.
mshtml: Add support for text node prototype objects.
mshtml: Get object name from its ID when possible.
mshtml: Add support for computed style prototype objects.
mshtml: Add support for style prototype objects.
mshtml: Add support for current style prototype objects.
mshtml: Add support for style sheet prototype objects.
mshtml: Add support for style sheet list prototype objects.
mshtml: Add support for CSS rule list prototype objects.
mshtml: Add support for CSS rule prototype objects.
mshtml: Add support for rect prototype objects.
mshtml: Make mutation_observer_ctor_dispex_vtbl const.
Jacob Czekalla (6):
comctl32/tests: Add test for listview sorting order.
comctl32: Fix sorting for listview.
comctl32/tests: Add test for propsheet page creation when propsheet gets initialized.
comctl32/propsheet: Create pages with PSP_PREMATURE on initialization.
comctl32/tests: Add test for PSN_QUERYINITIALFOCUS for the propsheet.
comctl32: Add handling for PSN_QUERYINITIALFOCUS in prop.c.
Jactry Zeng (1):
ntdll: Try to use page size from host_page_size() for macOS.
Jakub Petrzilka (1):
rsaenh: Don't crash when decrypting empty strings.
Kieran Geary (1):
shell32: Make SHGetStockIconInfo() attempt to set icon.
Martino Fontana (2):
dinput/tests: Update tests for DIPROP_SCANCODE.
dinput: Implement DIPROP_SCANCODE.
Matteo Bruni (1):
d3dx9: Don't silently ignore d3dx_calculate_pixel_size() errors.
Matthias Gorzellik (3):
hidparse: Pre-process descriptor to find TLCs.
winebus: Store pending reads per report-id.
hidclass: Create a child PDO for each HID TLC.
Nikolay Sivov (3):
d3dx9/effect: Document one remaining header field.
d3dx9/tests: Add some tests for D3DXEFFECT_DESC fields.
d3dx9/effect: Return creator string from GetDesc().
Paul Gofman (11):
nsiproxy.sys: Only get owning pid when needed in udp_endpoint_enumerate_all().
mmdevapi: Return stub interface from ASM_GetSessionEnumerator().
mmdevapi: Add implementation for IAudioSessionEnumerator.
mmdevapi/tests: Add test for IAudioSessionEnumerator.
ntdll: Stub NtQuerySystemInformation[Ex]( SystemProcessorIdleCycleTimeInformation ).
kernel32: Implement QueryIdleProcessorCycleTime[Ex]().
ntdll: Implement NtQuerySystemInformationEx( SystemProcessorIdleCycleTimeInformation ) on Linux.
ntdll: Raise exception on failed CS wait.
mmdevapi: Unlock session in create_session_enumerator().
mmdevapi: Implement control_GetSessionIdentifier().
mmdevapi: Implement control_GetSessionInstanceIdentifier().
Piotr Caban (4):
msvcrt: Reuse standard streams after they are closed.
ntdll: Optimize NtReadVirtualMemory for in-process reads.
kernel32/tests: Test ReadProcessMemory on PAGE_NOACCESS memory.
wineps.drv: Fix EMR_SETPIXELV record playback.
Rémi Bernon (27):
win32u: Simplify offscreen surface previous surface reuse check.
winex11: Rely on win32u previous surface reuse.
wineandroid: Rely on win32u previous surface reuse.
winewayland: Rely on win32u previous surface reuse.
winemac: Remove unnecessary old window surface bounds copy.
winemac: Rely on win32u previous surface reuse.
win32u: Avoid sending WM_PAINT to layered window surfaces.
win32u: Merge drivers CreateLayeredWindow with CreateWindowSurface.
dinput/tests: Add more tests reading multiple TLCs reports.
hidparse: Use ExFreePool to free preparsed data.
hidclass: Keep HID device desc on the FDO device.
hidclass: Start PDO thread in IRP_MN_START_DEVICE.
hidclass: Allocate child PDOs array dynamically.
win32u: Force updating the display cache when virtual desktop state changes.
hidclass: Use poll_interval == 0 for non-polled devices.
hidclass: Read reports with the largest input report size over TLCs.
hidclass: Use a single lock for PDO queues and removed flag.
hidclass: Pass HIDP_DEVICE_DESC to find_report_with_type_and_id.
hidclass: Start the HID device thread with the FDO.
win32u: Always use the dummy surface if a surface isn't needed.
win32u: Fix a typo in read_source_from_registry.
win32u: Always enumerate the primary source first.
win32u: Remove unnecessary UpdateLayeredWindow driver entry args.
wineandroid: Remove now unnecessary WindowPosChanging checks.
winemac: Remove now unnecessary WindowPosChanging checks.
winewayland: Remove now unnecessary WindowPosChanging checks.
winex11: Remove now unnecessary WindowPosChanging checks.
Spencer Wallace (2):
shell32/tests: Add tests for moving dir(s) to destination(s) with conflicting dir.
shell32: Fix FO_MOVE when destination has conflicting directory.
Sven Baars (1):
ntdll: Use the module debug channel in virtual_map_builtin_module().
Vijay Kiran Kamuju (4):
include: Add more Task Scheduler Trigger interface definitions.
include: Add ISessionStateChangeTrigger declaration.
include: Added IEventTrigger declaration.
include: Add gdiplus effect parameter structs.
Ziqing Hui (14):
propsys: Add stubs for variant conversion functions.
propsys/tests: Add tests for VariantToPropVariant.
propsys: Initially implement VariantToPropVariant.
include: Fix name of CODECAPI_AVDecVideoAcceleration_H264.
include: Add video encoder statistical guids.
include: Add video encoder header guids.
include: Add video encoder chroma defines.
include: Add video encoder color defines.
include: Add video encode guids.
include: Add video encoder max guids.
include: Add video encoder inverse telecine guids.
include: Add video encoder source defines.
include: Add more video encoder codec api guids.
winegstreamer/quartz_parser: Handle 0 size in read_thread.
Đorđe Mančić (1):
kernelbase: Implement GetTempPath2A() and GetTempPath2W().
```
1
0
The Wine development release 9.14 is now available.
What's new in this release:
- Mailslots reimplemented using server-side I/O.
- More support for ODBC Windows drivers.
- Still more user32 data structures in shared memory.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.14.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.14 (total 20):
- #11268 Civilization I for Windows (16-bt) incorrectly displays some dialogues
- #32679 cmd.exe Add support for || and &&
- #48167 1000 Mots V4.0.2 freeze when 3 words are pronounced - Underrun of data
- #48455 Multiple .inf driver installers hang due to missing handling of architecture-specific SourceDisks{Names,Files} .inf sections (Native Instruments Native Access 1.9, WinCDEmu 4.1)
- #49944 Multiple games fail to detect audio device (Tom Clancy's Splinter Cell: Conviction, I Am Alive)
- #50231 Ys: Origin shows black screen during video playback
- #54735 AOL (America Online) Desktop Beta fails when installing .net 4.8
- #54788 AOL 5.0 Installation fails
- #55662 Different behaviour of "set" command
- #55798 Unreal Engine 5.2: Wine minidumps take hours to load into a debugger
- #56751 New WoW64 compilation fails on Ubuntu Bionic
- #56861 Background color of selected items in ListView(or ListCtrl) is white
- #56954 Regression causes wine to generate ntlm_auth <defunct> processes
- #56956 MSVC cl.exe 19.* fails to flush intermediate file
- #56957 CEF application (BSG Launcher) freezes on mouse hover action
- #56958 ChessBase 17 crashes after splash screen
- #56969 Act of War (Direct Action, High Treason) crashes in wined3d when loading the mission
- #56972 Warlords III: Darklords Rising shows empty screen in virtual desktop
- #56977 accept()-ed socket fds are never marked as cacheable
- #56994 mbstowcs for UTF8, with an exact (not overallocated) output buffer size fails
### Changes since 9.13:
```
Alex Henrie (1):
shell32: Put temp directory in %LOCALAPPDATA%\Temp by default.
Alexandre Julliard (3):
ntdll: Implement KiUserEmulationDispatcher on ARM64EC.
urlmon/tests: Fix a test that fails after WineHQ updates.
ntdll: Always clear xstate flag on collided unwind.
Alexandros Frantzis (2):
winex11: Query proper GLX attribute for pbuffer bit.
opengl32: Fix match criteria for WGL_DRAW_TO_PBUFFER_ARB.
Alistair Leslie-Hughes (5):
odbc32: Handle NULL handles in SQLError/W.
odbc32: Fake success for SQL_ATTR_CONNECTION_POOLING in SQLSetEnvAttr.
odbc32: Handle NULL EnvironmentHandle in SQLTransact.
msado15: Fake success in _Recordset::CancelUpdate.
msado15: Report we support all options in _Recordset::Supports.
Arkadiusz Hiler (1):
ntdll: Use the correct io callback when writing to a socket.
Billy Laws (1):
ntdll: Map PSTATE.SS to the x86 trap flag on ARM64EC.
Biswapriyo Nath (1):
include: Fix return type of IXAudio2MasteringVoice::GetChannelMask in xaudio2.idl.
Brendan Shanks (1):
wine.inf: Don't register wineqtdecoder.dll.
Connor McAdams (14):
d3d9/tests: Add tests for IDirect3DDevice9::UpdateSurface() with a multisampled surface.
d3d9: Return failure if a multisampled surface is passed to IDirect3DDevice9::UpdateSurface().
ddraw/tests: Add tests for preserving d3d scene state during primary surface creation.
d3d9/tests: Add a test for device reset after beginning a scene.
d3d8/tests: Add a test for device reset after beginning a scene.
wined3d: Clear scene state on device state reset.
d3dx9/tests: Make some test structures static const.
d3dx9/tests: Reorder test structure members.
d3dx9/tests: Add more D3DXCreateCubeTextureFromFileInMemory{Ex}() tests.
d3dx9: Refactor texture creation and cleanup in D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Cleanup texture value argument handling in D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateCubeTextureFromFileInMemoryEx().
d3dx9: Add support for specifying which array layer to get pixel data from to d3dx_image_get_pixels().
d3dx9: Add support for loading non-square cubemap DDS files into cube textures.
Daniel Lehman (3):
odbc32: Handle NULL attribute in SQLColAttribute[W].
odbc32: Return success for handled attributes in SQLSetConnectAttrW.
mshtml: Add application/pdf MIME type.
Dmitry Timoshkov (3):
odbc32: Correct 'WINAPI' placement for function pointers.
light.msstyles: Use slightly darker color for GrayText to make text more readable.
dwrite: Return correct rendering and gridfit modes from ::GetRecommendedRenderingMode().
Elizabeth Figura (32):
setupapi/tests: Add more tests for SetupGetSourceFileLocation().
setupapi: Correctly interpret the INFCONTEXT parameter in SetupGetSourceFileLocation().
setupapi: Return the file's relative path from SetupGetSourceFileLocation().
setupapi: Use SetupGetIntField() in SetupGetSourceFileLocation().
ddraw: Call wined3d_stateblock_texture_changed() when the color key changes.
wined3d: Store all light constants in a separate structure.
wined3d: Store the cosines of the light angle in struct wined3d_light_constants.
wined3d: Feed light constants through a push constant buffer.
wined3d: Sort light constants by type.
wined3d: Transform light coordinates by the view matrix in wined3d_device_apply_stateblock().
setupapi: Use SetupGetSourceFileLocation() in get_source_info().
setupapi: Use SetupGetSourceInfo() in get_source_info().
setupapi/tests: Test installing an INF file with architecture-specific SourceDisks* sections.
setupapi: Fix testing for a non-empty string in get_source_info().
ntoskrnl/tests: Remove unnecessary bits from add_file_to_catalog().
setupapi/tests: Make function pointers static.
setupapi/tests: Move SetupCopyOEMInf() tests to devinst.c.
setupapi/tests: Use a randomly generated directory and hardcoded file paths in test_copy_oem_inf().
setupapi/tests: Use a signed catalog file in test_copy_oem_inf().
wined3d: Avoid division by zero in wined3d_format_get_float_color_key().
wined3d: Don't bother updating the colour key if the texture doesn't have WINED3D_CKEY_SRC_BLT.
wined3d: Move clip plane constant loading to shader_glsl_load_constants().
wined3d: Correct clip planes for the view transform in wined3d_device_apply_stateblock().
wined3d: Pass stream info to get_texture_matrix().
wined3d: Do not use the texture matrices when drawing pretransformed vertices.
wined3d: Feed texture matrices through a push constant buffer.
server: Make pipe ends FD_TYPE_DEVICE.
kernel32/tests: Add more mailslot tests.
server: Treat completion with error before async_handoff() as error.
ntdll: Respect the "options" argument to NtCreateMailslotFile.
server: Reimplement mailslots using server-side I/O.
ntdll: Stub NtQueryInformationToken(TokenUIAccess).
Eric Pouech (20):
winedump: Protect against corrupt minidump files.
winedump: Dump comment streams in minidump.
cmd: Add success/failure tests for pipes and drive change.
cmd: Set success/failure for change drive command.
cmd: Run pipe LHS & RHS outside of any batch context.
cmd: Better test error handling for pipes.
cmd: Enhance CHOICE arguement parsing.
cmd: Implement timeout support in CHOICE command.
include/mscvpdb.h: Use flexible array members for all trailing array fields.
include/msvcpdb.h: Use flexible array members for codeview_fieldtype union.
include/mscvpdb.h: Use flexible array members for codeview_symbol union.
include/mscvpdb.h: Use flexible array members for codeview_type with variable.
include/mscvpdb.h: Use flexible array members for the rest of structures.
cmd: Some tests about tampering with current batch file.
cmd: Link env_stack to running context.
cmd: Split WCMD_batch() in two functions.
cmd: Introduce helpers to find a label.
cmd: No longer pass a HANDLE to WCMD_ReadAndParseLine.
cmd: Save and restore file position from BATCH_CONTEXT.
cmd: Don't keep batch file opened.
Esme Povirk (3):
win32u: Implement EVENT_OBJECT_DESTROY.
win32u: Implement EVENT_OBJECT_STATECHANGE for WS_DISABLED.
win32u: Implement EVENT_OBJECT_VALUECHANGE for scrollbars.
Fabian Maurer (1):
ntdll: Prevent double close in error case (coverity).
Fan WenJie (1):
win32u: Fix incorrect comparison in add_virtual_modes.
Francisco Casas (2):
quartz: Emit FIXME when the rendering surface is smaller than the source in VMR9.
quartz: Properly copy data to render surfaces of planar formats in VMR9.
François Gouget (1):
wineboot: Downgrade the wineprefix update message to a trace.
Gabriel Ivăncescu (11):
mshtml: Make sure we aren't detached before setting interactive ready state.
jscript: Make JS_COUNT_OPERATION a no-op.
mshtml: Implement event.cancelBubble.
mshtml: Implement HTMLEventObj's cancelBubble on top of the underlying event's cancelBubble.
mshtml: Fix special case between stopImmediatePropagation and setting cancelBubble to false.
mshtml: Use bitfields for the event BOOL fields.
mshtml: Don't use -moz prefix for box-sizing CSS property.
mshtml/tests: Add more tests with invalid CSS props for (get|set)PropertyValue.
mshtml: Compactify the style_props expose tests for each style object into a single function.
mshtml: Implement style msTransition.
mshtml: Implement style msTransform.
Hans Leidekker (27):
odbc32: Fix a couple of spec file entries.
odbc32: Use LoadLibraryExW() instead of LoadLibraryW().
odbc32: Forward SQLDriverConnect() to the Unicode version if needed.
odbc32: Forward SQLGetDiagRec() to the Unicode version if needed.
odbc32: Forward SQLBrowseConnect() to the Unicode version if needed.
odbc32: Forward SQLColAttributes() to the Unicode version if needed.
odbc32: Forward SQLColAttribute() to the Unicode version if needed.
odbc32: Properly handle string length in traces.
winhttp/tests: Mark a test as broken on old Windows versions.
winhttp/tests: Fix test failures introduced by the server upgrade.
odbc32: Forward SQLColumnPrivileges() to the Unicode version if needed.
odbc32: Forward SQLColumns() to the Unicode version if needed.
odbc32: Forward SQLConnect() to the Unicode version if needed.
odbc32: Forward SQLDescribeCol() to the Unicode version if needed.
odbc32: Forward SQLError() to the Unicode version if needed.
odbc32: Handle missing Unicode driver entry points.
odbc32: Forward SQLExecDirect() to the Unicode version if needed.
odbc32: Forward SQLForeignKeys() to the Unicode version if needed.
odbc32: Avoid a clang warning.
odbc32: Get rid of the wrappers for SQLGetDiagRecA() and SQLDataSourcesA().
odbc32/tests: Add tests for SQLTransact().
odbc32: Fix setting the Driver registry value.
odbc32: Find the driver filename through the ODBCINST.INI key.
secur32: Handle GNUTLS_MAC_AEAD.
secur32/tests: Switch to TLS 1.2 for connections to test.winehq.org.
winhttp/tests: Mark more test results as broken on old Windows versions.
secur32/tests: Mark some test results as broken on old Windows versions.
Herman Semenov (3):
dbghelp: Fix misprint access to struct with invalid case.
dplayx: Fix check structure before copy.
gdiplus: Fixed order of adding offset and result ternary operator.
Jacek Caban (32):
mshtml: Use host object script bindings for Attr class.
mshtml: Use host object script bindings for event objects.
mshtml: Use host object script bindings for PluginArray class.
mshtml: Use host object script bindings for MimeTypeArray class.
mshtml: Use host object script bindings for MSNamespaceInfoCollection class.
mshtml: Use host object script bindings for MSEventObj class.
mshtml: Use host object script bindings for XMLHttpRequest class.
mshtml: Directly use dispex_prop_put and dispex_prop_get in HTMLElement implementation.
mshtml: Factor out dispex_next_id.
mshtml: Don't use BSTR in find_dispid.
mshtml: Don't use BSTR in lookup_dispid.
mshtml: Don't use BSTR in get_dispid.
mshtml: Factor out dispex_get_id.
mshtml: Use dispex_prop_put in HTMLDOMAttribute_put_nodeValue.
mshtml: Factor out dispex_prop_name.
jscript: Check if PROP_DELETED is actually an external property in find_prop_name.
mshtml: Use host object script bindings for DOM nodes.
mshtml: Use dispex_get_id in JSDispatchHost_LookupProperty.
mshtml: Introduce get_prop_desc call.
mshtml: Use host object script bindings for HTMLRectCollection.
jscript: Make sure to use the right name for a prototype reference in find_prop_name_prot.
jscript: Fixup prototype references as part of lookup.
jscript: Use a dedicated jsclass_t entry for host objects.
jscript: Improve invoke_prop_func error handling.
mshtml: Explicitly specify case insensitive search in GetIDsOfNames.
jscript: Treat external properties as volatile.
jscript: Suport deleting host object properties.
jscript: Support configuring host properties.
jscript: Allow host objects to implement fdexNameEnsure.
mshtml: Use host object script bindings for HTMLFormElement.
mshtml: Use ensure_real_info in dispex_compat_mode.
mshtml: Use host object script bindings for document nodes.
Jinoh Kang (1):
server: Mark the socket as cacheable when it is an accepted or accepted-into socket.
Nikolay Sivov (2):
winhttp/tests: Add some more tests for string options in WinHttpQueryOption().
winhttp: Handle exact buffer length match in WinHttpQueryOption().
Paul Gofman (2):
mshtml: Check get_document_node() result in get_node().
dxdiagn: Fill szHardwareId for sound render devices.
Piotr Caban (4):
ucrtbase: Fix mbstowcs on UTF8 strings.
msvcrt: Use thread-safe functions in _ctime64_s.
msvcrt: Use thread-safe functions in _ctime32_s.
msvcrt: Don't access input string after NULL-byte in mbstowcs.
Rémi Bernon (16):
ddraw/tests: Make sure the window is restored after some minimize tests.
winex11: Reset empty window shape even without a window surface.
server: Expose the thread input keystate through shared memory.
win32u: Introduce a new NtUserGetAsyncKeyboardState call.
win32u: Use the thread input shared memory in GetKeyboardState.
win32u: Use the desktop shared memory in get_async_keyboard_state.
server: Make the get_key_state request key code mandatory.
server: Expose the thread input keystate lock through shared memory.
win32u: Use the thread input shared memory for GetKeyState.
winemac: Use window surface shape for color key transparency.
winemac: Use window surface shape for window shape region.
winevulkan: Fix incorrect 32->64 conversion of debug callbacks.
winevulkan: Use integer types in debug callbacks parameter structs.
winevulkan: Serialize debug callbacks parameter structures.
opengl32: Use integer types in debug callbacks parameter structs.
opengl32: Serialize debug callbacks message string.
Santino Mazza (1):
gdiplus: Support string alignment in GdipMeasureString.
Tim Clem (2):
nsiproxy.sys: Use the pcblist64 sysctl to enumerate TCP connections on macOS.
nsiproxy.sys: Use the pcblist64 sysctl to enumerate UDP connections on macOS.
Vijay Kiran Kamuju (1):
cmd: Do not set enviroment variable when no input is provided by set /p command.
Zhiyi Zhang (3):
light.msstyles: Add Explorer::ListView subclass.
comctl32/tests: Add more treeview background tests.
comctl32/treeview: Use window color to fill background.
Ziqing Hui (5):
include: Add encoder codec type guids.
include: Add encoder common format guids.
include: Add encoder common attribute defines.
include: Add H264 encoder attribute guids.
include: Add video encoder output frame rate defines.
```
1
0
The Wine development release 9.13 is now available.
What's new in this release:
- Support for loading ODBC Windows drivers.
- More user32 data structures in shared memory.
- More rewriting of the CMD.EXE engine.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.13.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.13 (total 22):
- #21344 Buffer overflow in WCMD_run_program
- #35163 Victoria 2: A House Divided crashes on start with built-in quartz
- #39206 Lylian demo hangs after intro video
- #44315 Buffer maps cause CPU-GPU synchronization (Guild Wars 2, The Witcher 3)
- #44888 Wrong texture in Assassin's Creed : Revelations
- #45810 WINEPATH maximums
- #52345 Unclosed right-side double quote in if command breaks wine cmd
- #52346 Filename completion is not supported in cmd
- #54246 Full Metal Daemon Muramasa stuck at black screen at boot
- #54499 Native ODBC drivers should be able be used.
- #54575 False positive detection of mmc reader as hard drive since kernel 6.1
- #55130 IF EXIST fails when its argument ends on a slash
- #55401 CMD 'for loop' params are not recognized
- #56575 CUERipper 2.2.5 Crashes on loading WMA plugin
- #56600 MEGA TECH Faktura Small Business: Access violation in module kernelbase.dll
- #56617 Photoshop CC 2024: crashes after a short period (Unimplemented function NETAPI32.dll.NetGetAadJoinInformation)
- #56882 ConEmu errors: Injecting hooks failed
- #56895 So Blonde (demo): font display bug (regression)
- #56938 msiexec crashes with stack overflow when installing python 3.11+ dev.msi
- #56945 Multiple UI elements in builtin programs is missing (taskbar in Virtual Desktop, right-click menu in RegEdit)
- #56948 Intel Hardware Accelerated Execution Manager needs unimplemented function ntoskrnl.exe.KeQueryGroupAffinity
- #56952 PS installer crashes inside msi (regression)
### Changes since 9.12:
```
Alex Henrie (11):
msi: Initialize size argument to RegGetValueW.
shell32: Pass size in bytes to RegGetValueW.
twinapi.appcore: Initialize size argument to RegGetValueW.
mscoree: Pass size in bytes to RegGetValueW.
wineboot: Correct size argument to SetupDiSetDeviceRegistryPropertyA.
advapi32/tests: Test RegGetValue[AW] null termination.
advapi32/tests: Drop security test workarounds for Windows <= 2000.
windowscodecs: Use RegQueryValueExW in ComponentInfo_GetStringValue.
kernelbase: Ensure null termination in RegGetValue[AW].
ntdll: Double-null-terminate registry multi-strings in RtlQueryRegistryValues.
ntdll/tests: Remove unused WINE_TODO_DATA flag.
Alexandre Julliard (26):
kernelbase: Mask extra protection flags in WriteProcessMemory.
wow64: Call pre- and post- memory notifications also in the current process case.
wow64: Add more cross-process notifications.
ntdll/tests: Add tests for in-process memory notifications on ARM64.
wow64: Add a helper to get the 32-bit TEB.
ntdll: Always set the dll name pointer in the 32-bit TEB.
wow64: Fix NtMapViewOfSection CPU backend notifications.
wow64: Add NtReadFile CPU backend notifications.
wow64cpu: Simplify the Unix call thunk.
xtajit64: Add stub dll.
ntdll: Load xtajit64.dll on ARM64EC.
ntdll/tests: Add some tests for xtajit64.
ntdll: Create the cross-process work list at startup on ARM64EC.
ntdll: Support the ARM64EC work list in RtlOpenCrossProcessEmulatorWorkConnection.
ntdll: Call the processor information callback on ARM64EC.
ntdll: Load the processor features from the emulator on ARM64EC.
ntdll: Call the flush instruction cache callback on ARM64EC.
ntdll: Call the memory allocation callbacks on ARM64EC.
ntdll: Call the section map callbacks on ARM64EC.
ntdll: Call the read file callback on ARM64EC.
ntdll: Implement ProcessPendingCrossProcessEmulatorWork on ARM64EC.
wininet/tests: Update issuer check for winehq.org certificate.
wow64: Fix prototype for the NtTerminateThread CPU backend notification.
wow64: Add NtTerminateProcess CPU backend notifications.
ntdll: Call the terminate thread callback on ARM64EC.
ntdll: Call the terminate process callback on ARM64EC.
Alexandros Frantzis (4):
opengl32: Add default implementation for wglChoosePixelFormatARB.
winex11: Remove driver wglChoosePixelFormatARB implementation.
winewayland: Support WGL_ARB_pixel_format.
winewayland: Support WGL_ARB_pixel_format_float.
Alfred Agrell (10):
include: Fix typo in DXGI_DEBUG_APP.
include: Fix typo in IID_IDWriteStringList.
include: Fix typo in IID_IAudioLoudness.
include: Fix typo in GUID_DEVCLASS_1394DEBUG.
include: Fix typo in IID_IRemoteDebugApplication.
include: Fix typos in MF_MT_VIDEO_3D and MF_MT_AUDIO_FOLDDOWN_MATRIX.
include: Fix typos in IID_IMimeWebDocument and IID_IMimeMessageCallback.
include: Fix typos in IID_IPropertyEnumType2 and CLSID_PropertySystem.
include: Fix typo in MEDIASUBTYPE_P408.
include: Fix typo in CLSID_WICXMPMetadataReader.
Austin English (2):
netapi32: Add NetGetAadJoinInformation stub.
ntoskrnl.exe: Add a stub for KeQueryGroupAffinity.
Biswapriyo Nath (5):
include: Add flags for ID3D11ShaderReflection::GetRequiresFlags method in d3d11shader.h.
include: Add macros for d3d12 shader version in d3d12shader.idl.
include: Add new names in D3D_NAME enum in d3dcommon.idl.
include: Fix typo with XINPUT_DEVSUBTYPE_FLIGHT_STICK name in xinput.h.
include: Fix typo with X3DAUDIO_EMITTER structure in x3daudio.h.
Brendan McGrath (3):
winegstreamer: Use process affinity to calculate thread_count.
winegstreamer: Use thread_count to determine 'max-threads' value.
winegstreamer: Set 'max_threads' to 4 for 32-bit processors.
Connor McAdams (14):
d3dx9/tests: Move the images used across multiple test files into a shared header.
d3dx9/tests: Add more D3DXLoadVolumeFromFileInMemory() tests.
d3dx9: Use shared code in D3DXLoadVolumeFromFileInMemory().
d3dx9/tests: Add more tests for D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Refactor texture creation and cleanup in D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Cleanup texture value argument handling in D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9: Add support for mipmap generation to D3DXCreateVolumeTextureFromFileInMemoryEx().
d3dx9/tests: Add tests for DDS skip mip level bits.
d3dx9: Apply the DDS skip mip level bitmask.
d3dx9/tests: Add more DDS header tests for volume texture files.
d3dx9: Check the proper flag for DDS files representing a volume texture.
d3dx9/tests: Add more DDS header tests for cube texture files.
d3dx9: Return failure if a cubemap DDS file does not contain all faces.
Dmitry Timoshkov (3):
msv1_0: Add support for SECPKG_CRED_BOTH.
kerberos: Add support for SECPKG_CRED_BOTH.
crypt32: Make CertFindCertificateInStore(CERT_FIND_ISSUER_NAME) work.
Elizabeth Figura (19):
d3dcompiler/tests: Use the correct interfaces for some COM calls.
mfplat/tests: Use the correct interfaces for some COM calls.
d3dx9: Use the correct interfaces for some COM calls.
d3dx9/tests: Define COBJMACROS.
mfplat/tests: Add more tests for compressed formats.
winegstreamer: Check the version before calling wg_format_from_caps_video_mpeg1().
winegstreamer: Implement MPEG-4 audio to wg_format conversion.
winegstreamer: Implement H.264 to wg_format conversion.
winegstreamer: Implement H.264 to IMFMediaType conversion.
winegstreamer: Implement AAC to IMFMediaType conversion.
winegstreamer: Implement WMV to IMFMediaType conversion.
winegstreamer: Implement WMA to IMFMediaType conversion.
winegstreamer: Implement MPEG-1 audio to IMFMediaType conversion.
wined3d: Invalidate the FFP VS when diffuse presence changes.
wined3d: Destroy the push constant buffers on device reset.
wined3d: Feed the fragment part of WINED3D_RS_SPECULARENABLE through a push constant buffer.
wined3d: Feed the FFP color key through a push constant buffer.
wined3d: Reorder light application in wined3d_device_apply_stateblock().
wined3d: Feed WINED3D_RS_AMBIENT through a push constant buffer.
Eric Pouech (49):
cmd: Add success/failure tests for file related commands.
cmd: Set success/failure return code for TYPE command.
cmd: Set success/failure return code DELETE command.
cmd: Set success/failure return code for MOVE command.
cmd: Set success/failure return code for RENAME command.
cmd: Set success/failure return code for COPY command.
cmd: Add success/failure tests for dir related commands.
cmd: Add success/failure return code for MKDIR/MD commands.
cmd: Set success/failure return code for CD command.
cmd: Set success/failure return code for DIR command.
cmd: Set success/failure return code for PUSHD command.
cmd: Add some more tests for success/failure.
cmd: Return tri-state for WCMD_ReadParseLine().
cmd: Improve return code / errorlevel handling.
cmd: Set success/failure return_code for POPD command.
cmd: Set success/failure return code for RMDIR/RD command.
cmd: Don't set ERRORLEVEL in case of redirection error.
cmd/tests: Test success / failure for more commands.
cmd: Set success/failure return code for SETLOCAL/ENDLOCAL commands.
cmd: Set success/failure return code for DATE/TIME commands.
cmd: Set success/failure return code for VER command.
cmd: Set success/failure return code for VERIFY command.
cmd: Set success/failure return code for VOL command.
cmd: Set success/failure return code for LABEL command.
cmd/tests: Add more tests for success/failure.
cmd: Set success/failure return code of PATH command.
cmd: Set success/failure return code for SET command.
cmd: Set success/failure return code for ASSOC,FTYPE commands.
cmd: Set success/failure return code for SHIFT command.
cmd: Set success/failure return code for HELP commands.
cmd: Set success/failure return_code for PROMPT command.
cmd: Add tests for screen/interactive builtin commands.
cmd: Set success/failure return code for CLS command.
cmd: Set success/failure return code for COLOR command.
cmd: Set success/failure return code for TITLE command.
cmd: Use the correct output handle in pipe command.
cmd: Set success/failure return code for CHOICE command.
cmd: Set success/failure return code for MORE command.
cmd: Set success/failure return code for PAUSE command.
cmd: Get rid of CTTY command.
cmd: Add more tests for return codes in builtin commands.
cmd: Set success/failure return code for MKLINK command.
cmd: Set success/failure return code for START command.
cmd: Move empty batch command handling to WCMD_batch() callers.
cmd: Improve return code/errorlevel support for external commands.
cmd: Cleanup transition bits.
cmd: Get rid for CMD_COMMAND structure.
cmd: When parsing, dispose created objects on error path.
cmd: Fix a couple of issues with redirections.
Fabian Maurer (6):
cmd: Close file opened with popen with correct function (coverity).
mlang/tests: Add test for GetGlobalFontLinkObject allowing IID_IMultiLanguage2.
mlang/tests: Add tests showing which interface is returned by GetGlobalFontLinkObject.
mlang: Return the correct interface in GetGlobalFontLinkObject.
d3dx9: Remove superflous nullcheck (coverity).
msv1_0: Set mode in ntlm_check_version.
Hans Leidekker (25):
msi: Avoid infinite recursion while processing the DrLocator table.
odbc32: Turn SQLBindParam() into a stub.
odbc32: Replicate Unix data sources to the ODBC Data Sources key.
odbc32: Reimplement SQLDrivers() using registry functions.
odbc32: Reimplement SQLDataSources() using registry functions.
odbc32: Introduce a Windows driver loader and forward a couple of functions.
odbc32: Forward more functions to the Windows driver.
odbc32: Forward yet more functions to the Windows driver.
odbc32: Forward the remaining functions to the Windows driver.
odbc32/tests: Add tests.
msi: Handle failure from MSI_RecordGetInteger().
msi: Load DrLocator table in ITERATE_AppSearch().
winhttp: Implement WinHttpQueryOption(WINHTTP_OPTION_URL).
odbc32: Implement SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION).
odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_LOGIN_TIMEOUT).
odbc32: Implement SQLGet/SetConnectAttr(SQL_ATTR_CONNECTION_TIMEOUT).
odbc32: Stub SQLGetEnvAttr(SQL_ATTR_CONNECTION_POOLING).
odbc32: Handle options in SQLFreeStmt().
odbc32: Default to ODBC version 2.
odbc32: Implement SQLGetInfo(SQL_ODBC_VER).
odbc32: Factor out helpers to create driver environment and connection handles.
odbc32: Accept SQL_FETCH_NEXT in SQLDataSources/Drivers() if the key has not been opened.
odbc32: Set parent functions before creating the environment handle.
odbc32: Use SQLFreeHandle() instead of SQLFreeEnv/Connect().
odbc32: Use SQLSetConnectAttrW() instead of SQLSetConnectAttr() if possible.
Ilia Docin (1):
comctl32/rebar: Hide chevron if rebar's band is resized back to full size with gripper.
Jacek Caban (38):
jscript: Factor out find_external_prop.
jscript: Rename PROP_IDX to PROP_EXTERN.
jscript: Introduce lookup_prop callback.
jscript: Factor out lookup_dispex_prop.
jscript: Introduce next_property callback.
jscript: Factor out handle_dispatch_exception.
jscript: Use to_disp in a few more places.
mshtml: Factor out dispex_prop_put.
mshtml: Factor out dispex_prop_get.
mshtml: Factor out dispex_prop_call.
jscript: Allow objects to have their own addref and release implementation.
jscript: Introduce IWineJSDispatch insterface.
mshtml: Allow external properties to have arbitrary names.
jscript: Introduce HostObject implementation.
jscript: Support converting host objects to string.
jscript: Support host objects in disp_cmp.
jscript: Use jsdisp_t internally for host objects that support it.
mshtml: Implement jscript IWineJSDispatchHost.
mshtml: Pass an optional script global window to init_dispatch.
mshtml: Support using IWineJSDispatch for DispatchEx implementation.
mshtml: Use IWineJSDispatch for screen object script bindings.
jscript: Factor out native_function_string.
jscript: Add support for host functions.
mshtml/tests: Make todo_wine explicit in builtin_toString tests.
mshtml: Use host object script bindings for DOMImplementation class.
mshtml: Use host object script bindings for History class.
mshtml: Use host object script bindings for PerformanceNavigation class.
mshtml: Use host object script bindings for PerformanceTiming class.
mshtml: Use host object script bindings for Performance class.
mshtml: Store document node instead of GeckoBrowser in DOMImplementation.
mshtml/tests: Add script context test.
mshtml: Store script global object pointer in document object.
mshtml: Use host object script bindings for MediaQueryList class.
mshtml: Use host object script bindings for Navigator class.
mshtml: Use host object script bindings for Selection class.
mshtml: Use host object script bindings for TextRange class.
mshtml: Use host object script bindings for Range class.
mshtml: Use host object script bindings for Console class.
Marc-Aurel Zent (4):
ntdll: Prefer futex for thread-ID alerts over kqueue.
ntdll: Use USE_FUTEX to indicate futex support.
ntdll: Simplify futex interface from futex_wake() to futex_wake_one().
ntdll: Implement futex_wait() and futex_wake_one() on macOS.
Matthias Gorzellik (2):
winebus.sys: Fix rotation for angles < 90deg.
winebus.sys: Align logical max of angles to physical max defined in dinput.
Mohamad Al-Jaf (7):
include: Add windows.data.json.idl file.
windows.web: Add stub DLL.
windows.web: Implement IActivationFactory::ActivateInstance().
include: Add IJsonValueStatics interface definition.
windows.web: Add IJsonValueStatics stub interface.
windows.web/tests: Add IJsonValueStatics::CreateStringValue() tests.
windows.web: Implement IJsonValueStatics::CreateStringValue().
Nikolay Sivov (2):
winhttp/tests: Add some tests for querying string options with NULL buffer.
winhttp: Fix error handling when returning string options.
Paul Gofman (14):
ntdll: Report the space completely outside of reserved areas as allocated on i386.
psapi/tests: Add tests for QueryWorkingSetEx() with multiple addresses.
ntdll: Validate length in get_working_set_ex().
ntdll: Factor OS-specific parts out of get_working_set_ex().
ntdll: Iterate views instead of requested addresses in get_working_set_ex().
ntdll: Limit vprot scan range to the needed interval in get_working_set_ex().
ntdll: Fill range of output in fill_working_set_info().
ntdll: Buffer pagemap reads in fill_working_set_info().
winhttp/tests: Add test for trailing spaces in reply header.
winhttp: Construct raw header from the parse result in read_reply().
winhttp: Skip trailing spaces in reply header names.
win32u: Use FT_LOAD_PEDANTIC on first load try in freetype_get_glyph_outline().
ntdll: Better track thread pool wait's wait_pending state.
ntdll: Make sure wakeups from already unset events are ignored in waitqueue_thread_proc().
Piotr Caban (9):
ucrtbase: Store exception record in ExceptionInformation[6] during unwinding.
xcopy: Exit after displaying help message.
xcopy: Exit on invalid command line argument.
xcopy: Strip quotes only from source and destination arguments.
xcopy: Introduce get_arg helper that duplicates first argument to new string.
xcopy: Handle switch options concatenated with path.
xcopy: Add support for parsing concatenated switches.
kernel32/tests: Fix CompareStringW test crash when linguistic compressions are used.
ucrtbase: Fix FILE no buffering flag value.
Rémi Bernon (60):
server: Move thread message queue masks to the shared mapping.
win32u: Read the thread message queue masks from the shared memory.
server: Move thread message queue bits to the shared mapping.
win32u: Use the thread message queue shared memory in get_input_state.
win32u: Use the thread message queue shared memory in NtUserGetQueueStatus.
win32u: Use the thread message queue shared memory in wait_message_reply.
mf/session: Don't update transform output type if not needed.
mf/session: Implement D3D device manager propagation.
winegstreamer: Translate GstCaps directly to MFVIDEOFORMAT / WAVEFORMATEX in wg_transform.
winegstreamer: Translate MFVIDEOFORMAT / WAVEFORMATEX directly to GstCaps in wg_transform.
winegstreamer: Create transforms from MFVIDEOFORMAT / WAVEFORMATEX.
winegstreamer: Only use pool and set buffer meta for raw video frames.
winegstreamer: Use a new wg_video_buffer_pool class to add buffer meta.
winegstreamer: Keep the input caps on the transform.
winegstreamer: Use video info stride in buffer meta rather than videoflip.
winegstreamer: Normalize both input and output media types stride at once.
winegstreamer: Normalize video processor and color converter apertures.
winegstreamer: Respect video format padding for input buffers too.
server: Move the desktop flags to the shared memory.
win32u: Use the shared memory to read the desktop flags.
server: Create a thread input shared mapping.
server: Move active window to input shared memory.
server: Move focus window to input shared memory.
server: Move capture window to input shared memory.
server: Move caret window and rect to input shared memory.
win32u: Use input shared memory for NtUserGetGUIThreadInfo.
win32u: Move offscreen window surface creation fallback.
win32u: Split a new create_window_surface helper from apply_window_pos.
win32u: Pass the window surface rect for CreateLayeredWindow.
win32u: Pass whether window is shaped to drivers WindowPosChanging.
win32u: Introduce a new window surface helper to set window shape.
win32u: Use a 1bpp bitmap to store the window surface shape bits.
win32u: Update the window surface shape with color key and alpha.
win32u: Pass the shape bitmap info and bits to window_surface flush.
mfreadwrite/reader: Look for a matching output type if setting it failed.
winex11: Reset window shape whenever window surface is created.
mf/tests: Remove static specifier on variables referencing other variables.
win32u: Allocate heap in peek_message only when necessary.
win32u: Use the thread message queue shared memory in peek_message.
win32u: Simplify the logic for driver messages polling.
ddraw/tests: Make sure the window is restored after some minimize tests.
ddraw/tests: Flush messages and X11 events between some tests.
server: Add a foreground flag to the thread input shared memory.
server: Add cursor handle and count to desktop shared memory.
win32u: Use the thread input shared memory for NtUserGetForegroundWindow.
win32u: Use the thread input shared memory for NtUserGetCursorInfo.
win32u: Use the thread input shared memory for NtUserGetGUIThreadInfo.
server: Use a shared_object_t for the dummy object.
win32u: Check the surface layered nature when reusing window surface.
win32u: Update the window state when WS_EX_LAYERED window style changes.
win32u: Update the layered surface attributes in apply_window_pos.
winex11: Rely on win32u layered window surface attribute updates.
wineandroid: Rely on win32u layered window surface attribute updates.
winemac: Rely on win32u layered window surface attribute updates.
winegstreamer/video_decoder: Generate timestamps relative to the first input sample.
mfreadwrite/reader: Send MFT_MESSAGE_NOTIFY_START_OF_STREAM on start or seek.
mf/tests: Reduce the mute threshold for the transform tests.
win32u: Fix initial value when checking whether WS_EX_LAYERED changes.
win32u: Use the dummy surface for empty layered window surfaces.
maintainers: Remove MF GStreamer section.
Shaun Ren (1):
dinput: Call handle_foreground_lost() synchronously in cbt_hook_proc().
Stefan Dösinger (1):
ddraw: Set dwMaxVertexCount to 2048.
Zhiyi Zhang (1):
winemac.drv: Remove the clear OpenGL views to black hack.
Ziqing Hui (18):
winegstreamer/video_encoder: Implement GetInputAvailableType.
winegstreamer/video_encoder: Implement SetInputType.
winegstreamer/video_encoder: Implement GetInputCurrentType.
mf/tests: Add more tests for h264 encoder type attributes.
winegstreamer/video_encoder: Introduce create_input_type.
winegstreamer/video_encoder: Check more attributes in SetInputType.
winegstreamer/video_encoder: Implement GetInputStreamInfo.
winegstreamer/video_encoder: Implement GetOutputStreamInfo.
winegstreamer/video_encoder: Rename create_input_type to video_encoder_create_input_type.
winegstreamer/video_encoder: Clear input type when setting output type.
winegstreamer/video_encoder: Create wg_transform.
winegstreamer/video_encoder: Implement ProcessInput.
winegstreamer/video_encoder: Implement ProcessMessage.
winegstreamer/video_encoder: Use MF_ATTRIBUTES_MATCH_INTERSECTION to compare input type.
winegstreamer/video_encoder: Set output info cbSize in SetOutputType.
winegstreamer/wg_transform: Introduce transform_create_decoder_elements.
winegstreamer/wg_transform: Introduce transform_create_converter_elements.
winegstreamer/wg_transform: Support creating encoder transform.
```
1
0
The Wine development release 9.12 is now available.
What's new in this release:
- Initial support for user32 data structures in shared memory.
- Mono engine updated to version 9.2.0.
- Rewrite of the CMD.EXE engine.
- Fixed handling of async I/O status in new WoW64 mode.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.12.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.12 (total 24):
- #43337 Conditional command with parentheses not working.
- #44063 Parentheses cause cmd.exe failing to recognize '2>&1'
- #47071 Nest or mixed "FOR" and "IF" command sometimes get different result in Wine and Windows.
- #47798 Incorrect substring result using enableDelayedExpansion
- #49993 CUERipper 2.1.x does not work with Wine-Mono
- #50723 Can't recognize ... as an internal or external command, or batch script
- #52344 Can't substitute variables as a command
- #52879 ESET SysInspector 1.4.2.0 crashes on unimplemented function wevtapi.dll.EvtCreateRenderContext
- #53190 cmd.exe incorrectly parses a line with nested if commands
- #54935 Rewrite (VN): black screen videos with WMP backend and gstreamer
- #55947 Serial port event waits should use async I/O
- #56189 quartz:vmr7 - test_default_presenter_allocate() fails on Windows 7
- #56389 Assassin's Creed & Assassin's Creed: Revelations do not run under new WoW64
- #56698 SuddenStrike 3 crashes when opening the intro movie
- #56763 Firefox 126.0.1 crashes on startup
- #56769 Death to Spies: intro videos have audio only but no video
- #56771 Receiving mail in BeckyInternetMail freezes
- #56827 Window borders disappear
- #56836 Assassin's Creed III stuck on loading screen (Vulkan renderer)
- #56838 FL Studio 21 gui problem
- #56839 App packager from Windows SDK (MakeAppx.exe) 'pack' command crashes due to unimplemented functions in ntdll.dll
- #56840 Apps don't launch with wayland driver
- #56841 virtual desktop "explorer.exe /desktop=shell,1920x1080" broken
- #56871 The 32-bit wpcap program is working abnormally
### Changes since 9.11:
```
Aida Jonikienė (1):
ntdll: Fix params_mask type in NtRaiseHardError().
Alex Henrie (6):
ntdll: Fix multi-string callbacks in RtlQueryRegistryValues.
ntdll: Double-null-terminate multi-strings when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Fix handling of non-string types with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Don't write partial strings with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Fix type and size of expanded strings in RtlQueryRegistryValues.
ntdll: Don't special-case default values in RtlQueryRegistryValues.
Alexandre Julliard (28):
ntdll/tests: Add test for cross-process notifications on ARM64EC.
kernel32/tests: Add some tests for WriteProcessMemory/NtWriteVirtualMemory.
kernelbase: Make memory writable in WriteProcessMemory if necessary.
kernelbase: Send cross process notifications in WriteProcessMemory on ARM64.
kernelbase: Send cross process notifications in FlushInstructionCache on ARM64.
kernelbase: Don't use WRITECOPY protection on anonymous mappings.
ntdll: Add helper macros to define syscalls on ARM64EC.
ntdll: Send cross-process notification in memory functions on ARM64EC.
ntdll: Fix the fake 32-bit %cs value on ARM64EC.
ntdll: Don't set the TEB ExceptionList to -1 on 64-bit.
ntdll: Simplify preloader execution using HAVE_WINE_PRELOADER.
ntdll: Export a proper function for RtlGetNativeSystemInformation.
ntdll: Move RtlIsProcessorFeaturePresent implementation to the CPU backends.
ntdll: Move the IP string conversion functions to rtlstr.c.
makedep: Add a helper to get a root-relative directory path.
makefiles: Hardcode the fonts directory.
makefiles: Hardcode the nls directory.
makefiles: Hardcode the dll directory.
makefiles: Generate rules to build makedep.
tools: Add helper functions to get the standard directories.
ntdll: Build relative paths at run-time instead of depending on makedep.
loader: Build relative paths at run-time instead of depending on makedep.
server: Build relative paths at run-time instead of depending on makedep.
makefiles: No longer ignore makedep.c.
configure: Disable non-PE import libraries if compiler support is missing.
makedep: Remove the -R option.
makedep: Generate rules for make depend.
makedep: Generate a compile_commands.json file.
Alexandros Frantzis (5):
opengl32: Add default implementation for wglGetPixelFormatAttribivARB.
opengl32: Add default implementation for wglGetPixelFormatAttribfvARB.
winex11: Update describe_pixel_format coding style.
winex11: Pass wgl_pixel_format to describe_pixel_format.
winex11: Use default wglGetPixelFormatAttribivARB implementation.
Alfred Agrell (10):
quartz: Implement AMT/WMT differences for WMV media type.
winegstreamer: Implement AM_MEDIA_TYPE to wg_format converter for Cinepak video.
winegstreamer: Make AVI splitter use end of previous frame if the current frame doesn't have a timestamp.
quartz/tests: Add Cinepak test to avi splitter.
iccvid: Reject unsupported output types.
msvfw32/tests: Test that Cinepak rejects unsupported output types.
quartz: Allow concurrent calls to AVI decoder qc_Notify and Receive.
quartz/tests: Test that avi_decompressor_source_qc_Notify does not deadlock if called from a foreign thread during IMemInput_Receive.
winegstreamer: Recalculate alignment and bytes per second, instead of copying from input.
mf/tests: Clobber the alignment and bytes per second, to test if the DMO fixes it.
Alistair Leslie-Hughes (11):
oledb32: Support multiple values when parsing the property Mode.
oledb32: When creating a Data Source, handle non fatal errors.
msado15: Use the correct version when loading the typelib.
odbccp32: Look at the Setup key to find the driver of ODBC config functions.
odbccp32: SQLConfigDataSource/W fix crash with passed NULL attribute parameter.
msado15: Implement _Recordset get/put CacheSize.
msado15: Implement _Recordset get/put MaxRecords.
msado15: Support interface ADOCommandConstruction in _Command.
msado15: Implement _Command::get_Parameters.
msado15: Implement Parameters interface.
msado15: Implement _Command::CreateParameter.
Arkadiusz Hiler (2):
bcp47langs: Add stub dll.
apisetschema: Add api-ms-win-appmodel-runtime-internal-l1-1-1.
Aurimas Fišeras (3):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Biswapriyo Nath (6):
include: Add Windows.Graphics.Capture.IGraphicsCaptureSession2 definition.
include: Add Windows.Graphics.Capture.IGraphicsCaptureSession3 definition.
include: Add windows.graphics.idl file.
include: Add Windows.Graphics.Capture.GraphicsCaptureItem runtimeclass.
include: Add Windows.Graphics.Capture.Direct3D11CaptureFrame runtimeclass.
include: Add Windows.Graphics.Capture.Direct3D11CaptureFramePool runtimeclass.
Brendan McGrath (3):
mf/tests: Add additional tests for MESessionClosed event.
mf: Handle MediaSession Close when state is SESSION_STATE_RESTARTING_SOURCES.
mf: Handle an error during Media Session Close.
Brendan Shanks (9):
dbghelp: Add ARM/ARM64 machine types for Mach-O.
ntdll: Make __wine_syscall_dispatcher_return a separate function to fix Xcode 16 build errors.
configure: Don't build wineloader on macOS with '-pie'.
configure: Remove warning when not using preloader on macOS.
configure: Rename wine_can_build_preloader to wine_use_preloader, and also use it for Linux.
configure: Define HAVE_WINE_PRELOADER when the preloader is being built.
loader: Use zerofill sections instead of preloader on macOS when building with Xcode 15.3.
winemac.drv: Fix warning in [WineWindow grabDockIconSnapshotFromWindow:force:].
winemac.drv: Fix warning in [WineContentView viewWillDraw].
Connor McAdams (8):
d3dx9/tests: Add tests for the source info argument of D3DXCreateTextureFromFileInMemoryEx().
d3dx9/tests: Add more tests for loading files with multiple mip levels into textures.
d3dx9: Refactor texture creation and cleanup in D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Use d3dx_image structure inside of D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Use struct volume inside of struct d3dx_image for storing dimensions.
d3dx9: Add support for specifying a starting mip level when initializing a d3dx_image structure.
d3dx9: Cleanup texture value argument handling in D3DXCreateTextureFromFileInMemoryEx().
d3dx9: Add support for specifying which mip level to get pixel data from to d3dx_image_get_pixels().
Daniel Lehman (3):
odbc32: Handle both directions for SQLBindParameter().
odbc32: Numeric attribute pointer may be null if not a numeric type in SQLColAttribute().
odbc32: StrLen_or_Ind passed to SQLBindCol can be NULL.
Danyil Blyschak (1):
gdi32/uniscribe: Ensure the cache is initialised.
Davide Beatrici (7):
mmdevapi: Set the default period to a minimum of 10 ms.
winepulse: Don't set a floor for the period(s).
mmdevapi: Return errors early in adjust_timing().
mmdevapi: Introduce helper stream_init().
mmdevapi: Complete IAudioClient3_InitializeSharedAudioStream.
mmdevapi: Complete IAudioClient3_GetSharedModeEnginePeriod.
mmdevapi: Implement IAudioClient3_GetCurrentSharedModeEnginePeriod.
Elizabeth Figura (41):
server: Check for an existing serial wait ioctl within the ioctl handler.
server: Directly wake up wait asyncs when the serial mask changes.
ntdll/tests: Use NtReadFile to test WoW64 IOSB handling.
ntdll/tests: Test IOSB handling for a synchronous write which cannot be satisfied immediately.
ntdll/tests: Test IOSB handling with NtFlushBuffersFile.
maintainers: Remove myself as a winegstreamer maintainer.
ntdll: Remove the redundant filling of the IOSB in NtDeviceIoControlFile().
ntdll: Do not fill the IOSB or signal completion on failure in cdrom_DeviceIoControl().
ntdll: Do not fill the IOSB or signal completion on failure in serial_DeviceIoControl().
ntdll: Do not fill the IOSB or signal completion on failure in tape_DeviceIoControl().
ntdll: Do not fill the IOSB in NtFsControlFile() on failure.
ntdll: Do not queue an IOCP packet in complete_async() if an APC routine is specified.
ntdll: Move complete_async() to file.c and use it in NtWriteFileGather().
ntdll: Use file_complete_async() in tape_DeviceIoControl().
ntdll: Use file_complete_async() in cdrom_DeviceIoControl().
ntdll: Use file_complete_async() in serial_DeviceIoControl().
ntdll: Use file_complete_async() in NtFsControlFile().
quartz/tests: Handle the case where ddraw returns system memory.
ntdll: Do not set io->Status at the end of sock_ioctl().
ntdll: Factor filling the IOSB into set_async_direct_result().
ntdll: Move set_async_direct_result() to file.c.
widl: Do not allow "lu" as an integer suffix.
widl: Store the hexadecimal flag inside of the expr_t union.
widl: Use struct integer for the aNUM and aHEXNUM tokens.
widl: Respect u and l modifiers in expressions.
quartz/tests: Test IVMRWindowlessControl::GetNativeWindowSize() on the default presenter.
quartz: Implement IVMRWindowlessControl::GetNativeVideoSize().
wined3d: Precompute direction and position in wined3d_light_state_set_light().
wined3d: Pass the primary stateblock to wined3d_device_process_vertices().
wined3d: Use the primary stateblock state in wined3d_device_process_vertices() where possible.
wined3d: Pass the constant update mask to wined3d_device_context_push_constants().
wined3d: Feed WINED3D_TSS_CONSTANT through a push constant buffer.
wined3d: Feed WINED3D_RS_TEXTUREFACTOR through a push constant buffer.
ntdll: Introduce a sync_ioctl() helper.
ntdll: Handle WoW64 file handles in sync_ioctl().
ntdll: Always fill the 32-bit iosb for overlapped handles, for server I/O.
ntdll: Always fill the 32-bit iosb for overlapped handles, in file_complete_async().
ntdll: Always fill the 32-bit iosb for overlapped handles, in set_async_direct_result().
ntdll: Always fill the 32-bit iosb for overlapped handles, for regular read/write.
wined3d: Recheck whether a query is active after wined3d_context_vk_get_command_buffer().
wined3d: Implement wined3d_check_device_format_conversion().
Eric Pouech (36):
cmd: Add more tests about FOR loops.
cmd: Introduce helpers to handle FOR variables.
cmd: Introduce helpers to save and restore FOR loop contexts.
cmd: Enable '%0' through '%9' as valid FOR loop variables.
cmd: Introduce helpers to handle directory walk.
cmd: Split parsing from executing FOR loops for numbers (/L).
cmd: Fix delay expansion in FOR /L loops.
cmd: Split parsing from executing FOR loops for filesets (/F).
cmd: Fix delay expansion in FOR loop for filesets.
cmd: Split parsing from executing FOR loops for file walking.
cmd: Fix delayed expansion in FOR loop on file sets.
cmd: Remove old FOR loop related code.
cmd: Test input has been read before using it.
cmd: Introduce token-based syntax parser for building command nodes.
cmd: Use kernel32's error codes instead of literals.
cmd: Introduce return code to indicate abort of current instruction.
cmd/tests: Add tests for delayed substitution in IF command.
cmd: Expand delayed variables in IF operands.
cmd: Factorize code for reading a new line for parser.
cmd: Remove unrelated parameter to WCMD_show_prompt.
cmd: Move prompt handling into line reading.
cmd: Fix a couple of issues wrt. variable expansion.
cmd: Move depth count inside builder.
cmd: Add more tests about CALL and variable expansion.
cmd: Fix a couple of expansions issues.
cmd: Let redirections be handled by node instead of command.
cmd: Move code around to avoid forward declaration.
cmd: Let token errors be tranlatable.
cmd: Migrate IF/FOR instructions inside CMD_NODE.
cmd: Support help for IF and FOR commands.
cmd: Return sub-block return code for IF and FOR.
cmd: Use precedence in command chaining.
cmd: Add success/failure return code tests for CALL command.
cmd: Set success/failure return code for ECHO command.
cmd: Set success/failure return code for CALL command.
cmd: Implement semantic for chaining in ||, | and && operators.
Esme Povirk (2):
user32/tests: Fix spurious "Failed sequence" reports on Windows.
mscoree: Update Wine Mono to 9.2.0.
Fabian Maurer (1):
wow64: In wow64_NtSetInformationToken forward TokenIntegrityLevel.
Giovanni Mascellani (6):
wined3d: Compile the clear compute shaders at runtime.
d3d11/tests: Check the result of compiling HLSL shaders.
d3d11/tests: Check for NV12 texture support before testing them.
d3d11/tests: Do not check pitches.
d3d11/tests: Test NV12 textures without render target.
d3d11/tests: Test UpdateSubresource() for NV12 textures.
Hans Leidekker (2):
odbc32: Rebind parameters when the result length array is resized.
wpcap: Handle different layout of the native packet header structure on 32-bit.
Ilia Docin (2):
sane.ds: Add SANE option settable flag support.
sane.ds: Improve color mode and paper source detection.
Jacek Caban (12):
mshtml: Introduce IWineJSDispatchHost interface.
mshtml: Rename builtin function helpers.
mshtml: Add support for using call on builtin function objects.
mshtml: Add support for using apply on builtin function objects.
jscript: Fix PROP_DELETED handling in delete_prop.
jscript: Use designated initializers for builtin_info_t.
jscript: Use to_disp in a few more places.
jscript: Introduce to_jsdispex.
jscript: Consistently use jsdisp_addref and jsdisp_release.
jscript: Use default destructor for array objects.
jscript: Use default destructor for Object instances.
jscript: Always free jsdisp_t in jsdisp_free.
Marc-Aurel Zent (7):
winemac.drv: Handle length of dead keycodes in ToUnicodeEx correctly.
winemac.drv: Do not append " dead" to dead keycodes in GetKeyNameText.
winemac.drv: Uppercase single keys in GetKeyNameText.
winemac.drv: Use UCCompareText in char_matches_string.
winemac.drv: Resolve symbol vkeys first without modifiers.
winemac.drv: Add additional German symbol vkeys.
winemac.drv: Give dead keys a friendly name in GetKeyNameText.
Paul Gofman (8):
mmdevapi: Store device_name as a pointer in struct audio_client.
mmdevapi: Adjust timing after main loop start in client_Initialize().
mmdevapi: Stub AUDCLNT_STREAMFLAGS_LOOPBACK support.
winepulse.drv: Factor out wait_pa_operation_complete().
winepulse.drv: Implement pulse_get_loopback_capture_device().
mmdevapi/tests: Add test for capturing render loopback.
ddraw/tests: Add tests for preserving d3d state during primary surface creation.
ddraw: Preserve d3d device state in ddraw_surface_create().
Piotr Caban (3):
kernelbase: Add GetFileMUIInfo implementation.
kernel32/tests: Add GetFileMUIInfo tests.
kernel32/tests: Test GetFileMUIInfo on language resource file.
Rémi Bernon (59):
winewayland: Avoid crashing when the dummy window surface is used.
win32u: Avoid setting the SWP_NOSIZE flag on the initial WM_DISPLAYCHANGE.
win32u: Fix a deadlock when locking the same surface on different DCs.
dwrite/tests: Ignore macOS specific "flip" sbix format.
kernel32/tests: Break debugger loop on unexpected result.
win32u: Use the vulkan functions directly from d3dkmt.
winex11: Don't use the vulkan driver interface for xrandr.
server: Create a global session shared mapping.
include: Add ReadNoFence64 inline helpers.
server: Allocate shared session object for desktops.
server: Return the desktop object locator in (get|set)_thread_desktop.
win32u: Open the desktop shared object in NtUserSetThreadDesktop.
server: Move the cursor position to the desktop session object.
server: Move the last cursor time to the desktop session object.
win32u: Use the desktop shared data for GetCursorPos.
win32u: Remove now unused vulkan_funcs in d3dkmt.c.
winex11: Create a global vulkan instance for xrandr.
include: Add a couple of CRT function declarations.
include: Define frexpf as inline function in more cases.
server: Mark block as writable in mark_block_uninitialized.
server: Store the cursor clip rect in the shared data.
server: Get rid of the global cursor structure.
win32u: Use the shared memory for get_clip_cursor.
server: Use a separate variable to determine the message on Alt release.
server: Use separate functions to update the desktop and input keystates.
server: Move the desktop keystate to shared memory.
win32u: Use the shared data if possible for NtUserGetAsyncKeyState.
winex11: Move window surface creation functions to bitblt.c.
winemac: Move window surface creation functions to surface.c.
winewayland: Move window surface creation functions to window_surface.c.
winemac: Remove unused macdrv_get_surface_display_image copy_data parameter.
winemac: Create a provider for the surface and a HBITMAP wrapping it.
winemac: Create window surface CGImageRef on surface flush.
winemac: Push window surface image updates to the main thread.
winemac: Remove now unnecessary cocoa window surface pointer.
winemac: Remove unnecessary surface_clip_to_visible_rect.
server: Create a thread message queue shared mapping.
server: Keep a reference on the desktop the hook are registered for.
server: Move hooks struct initialization within add_hook.
server: Update the active hooks bitmaps when hooks are added / removed.
win32u: Read the active hooks count from the shared memory.
win32u: Remove now unnecessary thread info active_hooks cache.
server: Remove now unnecessary active_hooks from replies.
winex11: Only clip huge surfaces to the virtual screen rect.
wineandroid: Only clip huge surfaces to the virtual screen rect.
winemac: Clip huge surfaces to the virtual screen rect.
winewayland: Clip huge window surfaces to the virtual screen rect.
win32u: Move the surface rect computation out of the drivers.
win32u: Use the previous surface as default surface when compatible.
win32u: Use the default window surface when window is not visible.
win32u: Move layered surface attributes to the window_surface struct.
win32u: Introduce a new helper to update layered window surface attributes.
win32u: Pass BITMAPINFO and color bits to window surface flush.
win32u: Introduce a new helper to get surface color info and bits.
win32u: Get rid of the unnecessary offscreen window surface struct.
winemac: Remove now unnecessary driver surface BITMAPINFO.
wineandroid: Remove now unnecessary window surface BITMAPINFO.
winewayland: Remove now unnecessary window surface BITMAPINFO.
winex11: Remove now unnecessary window surface BITMAPINFO.
Santino Mazza (3):
mshtml/tests: Test for IMarkupServices.
mshtml: Implement MarkupServices_CreateMarkupContainer.
mshtml: Implement MarkupServices_ParseString.
Torge Matthies (4):
winegstreamer: Fix race between wg_parser_stream_en/disable and GST_EVENT_FLUSH_START/STOP.
winegstreamer: Don't only accept segment events when streams are enabled.
winegstreamer: Ignore an assert in wg_parser.
winegstreamer: Handle Gstreamer pipeline flushes gracefully in the media source.
Vijay Kiran Kamuju (4):
ntdll: Fix RtlEnumerateGenericTableWithoutSplaying function parameters.
ntdll: Add stub RtlEnumerateGenericTableWithoutSplayingAvl function.
ntdll: Add stub RtlNumberGenericTableElementsAvl function.
wevtapi: Add stub EvtCreateRenderContext().
Zhiyi Zhang (9):
profapi: Add stub dll.
kernel32: Add AppPolicyGetWindowingModel().
rometadata: Add initial dll.
include: Add some windows.foundation definitions.
include: Add some windows.system definitions.
include: Add windows.devices.input.idl.
include: Add windows.ui.input.idl.
include: Add some windows.ui.core definitions.
include: Add some windows.applicationmodel definitions.
Ziqing Hui (8):
mf/tests: Add tests for H264 encoder types.
winegstreamer: Implement stubs for h264 encoder.
winegstreamer/aac_decoder: Support clearing media types.
winegstreamer/color_converter: Support clearing media types.
mf/tests: Add more tests for h264 encoder type attributes.
winegstreamer/video_encoder: Implement GetOutputAvailableType.
winegstreamer/video_encoder: Implement SetOutputType.
winegstreamer/video_encoder: Implement GetOutputCurrentType.
```
1
0
The Wine development release 9.11 is now available.
What's new in this release:
- C++ exception handling on ARM platforms.
- More DPI Awareness support improvements.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/9.x/wine-9.11.tar.xz>
Binary packages for various distributions will be available
from <https://www.winehq.org/download>
You will find documentation on <https://www.winehq.org/documentation>
Wine is available thanks to the work of many people.
See the file [AUTHORS][1] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/raw/wine-9.11/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 9.11 (total 27):
- #42270 Settlers 4 Gold - Hardware Rendering mode not working
- #49703 Ghost Recon fails to start
- #50983 Multiple games stuck playing cutscenes (The Long Dark, The Room 4: Old Sins, Saint Kotar)
- #51174 api-ms-win-core-version-l1-1-0: Missing GetFileVersionInfoW and GetFileVersionInfoSizeW
- #52585 Multiple applications need NtQueryDirectoryObject to return multiple entries (Cygwin shells, WinObj 3.01)
- #53960 ucrt has different struct layout than msvcrt
- #54615 dwrite:layout - test_system_fallback() gets unexpected "Meiryo UI" font name in Japanese and Chinese on Windows
- #55362 NeuralNote: Crashes and Rendering issues (alson in VST3 form)
- #55472 DTS Encoder Suite gets stuck with encode pending from Wine 8.14
- #56095 Clanbomber 1.05 starts after a long (30 seconds) delay
- #56397 Numlock status not recognized when using winewayland.drv
- #56451 catch block fetches bogus frame when using alignas with 32 or higher
- #56460 Multiple games have stutter issues (Overwatch 2, Aimbeast)
- #56591 Steam doesn't render individual game pages correctly
- #56606 PhysX installer fails to start
- #56640 Genshin Impact: The game-launcher cannot be started anymore
- #56744 Serial number in smbios system table is not filled on Linux in practice
- #56747 Steam won’t load in the new wow64 mode when using DXVK
- #56755 White textures in EverQuest (Unsupported Conversion in windowscodec/convert.c)
- #56764 Empire Earth Gold doesn't start in virtual desktop mode
- #56766 CDmage 1.01.5 does not redraw window contents fully
- #56781 srcrrun: Dictionary setting item to object fails
- #56788 ComicRackCE crashes when viewing "info" for a comic file
- #56800 Nomad Factory plugins GUI is broken
- #56813 Hard West 2 crashes before entering the main menu (OpenGL renderer)
- #56824 Postal 2 (20th Anniversary update) crashes when loading the map
- #56828 Moku.exe crashes on startup
### Changes since 9.10:
```
Adam Rehn (1):
wineserver: Report non-zero exit code for abnormal process termination.
Alex Henrie (12):
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.
ntdll: Don't call QueryRoutine if RTL_QUERY_REGISTRY_DIRECT is set.
ntdll: Don't call a null QueryRoutine in RtlQueryRegistryValues.
ntdll/tests: Remove unused WINE_CRASH flag.
ntdll: Copy the correct number of bytes with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Calculate the default size even without RTL_QUERY_REGISTRY_DIRECT.
ntdll: Don't accept a query routine when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Set the string size when using RTL_QUERY_REGISTRY_DIRECT.
ntdll: Only allow string default values with RTL_QUERY_REGISTRY_DIRECT.
ntdll: Replace the whole string when using RTL_QUERY_REGISTRY_DIRECT.
Alexandre Julliard (40):
faudio: Import upstream release 24.06.
msvcrt: Share a helper macro to print an exception type.
msvcrt: Share the dump_function_descr() helper between platforms.
msvcrt: Fix the ip_to_state() helper for out of bounds values.
msvcrt: Don't use rva_to_ptr() for non-RVA values.
msvcrt: Use the copy_exception() helper in __CxxExceptionFilter.
msvcrt: Share the __CxxExceptionFilter implementation between platforms.
msvcrt: Share the common part of _fpieee_flt between platforms.
msvcrt: Consistently use the rtti_rva() helper.
winedump: Fix dumping of catchblocks for 32-bit modules.
msvcrt: The catchblock frame member isn't present on 32-bit.
msvcrt: Use pointer-sized types instead of hardcoding 64-bit in __CxxFrameHandler.
msvcrt: Share __CxxFrameHandler implementation with ARM platforms.
msvcrt: Add platform-specific helpers to call C++ exception handlers.
msvcrt: Add platform-specific helpers to retrieve the exception PC.
msvcrt: Use platform-specific handlers also for __CxxFrameHandler4.
ntdll: Fix stack alignment in __C_ExecuteExceptionFilter on ARM.
ntdll: Fix a couple of compiler warnings on ARM64EC.
ntdll: Fix inverted floating point masks on ARM64EC.
ntdll: Support x87 control word in __os_arm64x_get_x64_information().
kernel32/tests: Add test for FPU control words on ARM64EC.
msvcrt: Reimplement __crtCapturePreviousContext() based on RtlWalkFrameChain().
msvcrt: Use the __os_arm64x functions to get/set mxcsr on ARM64EC.
msvcrt: Implement asm sqrt functions on ARM platforms.
msvcrt: Disable SSE2 memmove implementation on ARM64EC.
kernelbase: Implement the GetProcAddress wrapper on ARM64EC.
kernel32: Implement the GetProcAddress wrapper on ARM64EC.
winex11: Fix build error when XShm is missing.
ntdll: Look for hybrid builtins in the PE directory for the host architecture.
ntdll: Remove some unnecessary asm macros on ARM plaforms.
winecrt0: Remove some unnecessary asm macros on ARM plaforms.
makedep: Build and install ARM64EC-only modules.
tests: Use ARM64 as architecture in manifests on ARM64EC.
ntdll: Also load arm64 manifests for amd64 architecture on ARM64EC.
ntdll: Reimplement __os_arm64x_check_call in assembly.
ntdll: Move some security Rtl functions to sec.c.
ntdll: Move some synchronization Rtl functions to sync.c.
ntdll: Move the error mode Rtl functions to thread.c.
ntdll: Move the PEB lock Rtl functions to env.c.
ntdll: Move the memory copy Rtl functions to string.c.
Alexandros Frantzis (4):
server: Pass desktop to get_first_global_hook.
server: Check message target process for raw input device flags.
server: Implement key auto-repeat request.
win32u: Implement keyboard auto-repeat using new server request.
Alistair Leslie-Hughes (2):
odbccp32: Check if a full path was supplied for Driver/Setup/Translator entries.
odbccp32: Stop handle leak on error paths.
Benjamin Mayes (1):
windowscodecs: Add conversions from PixelFormat32bppBGRA->PixelFormat16bppBGRA5551.
Brendan McGrath (4):
kernel32/tests: Test error code when FindFirstFileA uses file as directory.
ntdll/tests: Test error code when NtOpenFile uses file as directory.
server: Don't always return STATUS_OBJECT_NAME_INVALID on ENOTDIR.
ntdll: Treat XDG_SESSION_TYPE as special env variable.
Brendan Shanks (1):
ntdll: On macOS, check for xattr existence before calling getxattr.
Connor McAdams (7):
d3dx9: Refactor WIC GUID to D3DXIMAGE_FILEFORMAT conversion code.
d3dx9: Refactor WIC image info retrieval code in D3DXGetImageInfoFromFileInMemory().
d3dx9: Introduce d3dx_image structure for use in D3DXGetImageInfoFromFileInMemory().
d3dx9: Use d3dx_image structure in D3DXLoadSurfaceFromFileInMemory().
d3dx9: Introduce d3dx_load_pixels_from_pixels() helper function.
d3dx9: Use d3dx_pixels structure in decompression helper function.
d3dx9: Use d3dx_load_pixels_from_pixels() in D3DXLoadVolumeFromMemory().
Daniel Lehman (3):
secur32: Allow overriding GnuTLS debug level.
bcrypt: Allow overriding GnuTLS debug level.
crypt32: Allow overriding GnuTLS debug level.
Danyil Blyschak (4):
wineps.drv: Call ResetDCW() to update Devmode in the Unix interface.
opcservices: Provide memory allocator functions to zlib.
opcservices: Suppress unnecessary zlib deflate warnings.
opcservices: Check for memory allocation failure before deflating.
Dmitry Timoshkov (2):
server: Remove limitation for waiting on idle_event of the current process.
win32u: Limit GDI object generation to 128.
Elizabeth Figura (25):
widl: Assign to the right location variable.
widl: Allow using UDTs with the keyword even when the identifier is also a typedef.
widl: Invert "declonly".
widl: Factor out a define_type() helper.
widl: Update the type location in define_type().
widl: Do not write type definitions for types defined in an imported header.
include: Add more types to windows.networking.connectivity.idl.
wined3d: Update multisample state when the sample count changes.
wined3d: Invalidate the vertex shader when WINED3D_FFP_PSIZE is toggled.
wined3d: Just check the vertex declaration for point size usage.
wined3d: Just check the vertex declaration for colour usage.
wined3d: Just check the vertex declaration for normal usage.
wined3d: Just check the vertex declaration for texcoord usage.
wined3d: Default diffuse to 1.0 in the vertex shader.
server: Ignore attempts to set a mandatory label on a token.
server: Inherit the source token's label in token_duplicate().
advapi32/tests: Test token label inheritance.
wined3d: Handle a null vertex declaration in glsl_vertex_pipe_vdecl().
wined3d: Always output normalized fog coordinates from the vertex shader.
wined3d: Do not create a framebuffer with attachments whose clear is delayed.
wined3d: Use separate signature elements for oFog and oPts.
server: Don't set error in find_object_index if the object is not found.
ntdll: Implement reading multiple entries in NtQueryDirectoryObject.
server: Generalize get_directory_entries to single_entry case.
ntdll: Move IOCTL_SERIAL_WAIT_ON_MASK to the server.
Eric Pouech (13):
cmd: Introduce a helper to set std handles.
cmd: Introduce structure CMD_REDIRECTION.
cmd: Create helper to execute a command.
cmd: Let errorlevel be a signed integer.
cmd: Separate IF command parsing from execution.
kernelbase/tests: Fix typo in tests.
msvcrt/tests: Don't print a NULL string.
quartz/tests: Fix typo in tests.
quartz/tests: Add new tests about fullscreen handling.
quartz: Always expose that non fullscreen mode is supported and active.
quartz: Fix result in put_FullScreenMode().
conhost: Handle WM_CHAR for window console.
conhost: Support IME input in window mode.
Esme Povirk (4):
win32u: Send EVENT_OBJECT_FOCUS in more cases.
win32u: Implement EVENT_OBJECT_LOCATIONCHANGE.
gdiplus: Fix DIB stride calculation in GdipDrawImagePointsRect.
win32u: Implement EVENT_SYSTEM_MINIMIZESTART/END.
Fabian Maurer (7):
msvcrt: Fix _libm_sse2_sqrt_precise not using SSE2 sqrt.
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.
Giovanni Mascellani (1):
d3d11/tests: Add a test for NV12 textures.
Hans Leidekker (8):
wmic: Sort the alias list.
wmic: Add csproduct and systemenclosure aliases.
ntdll: Provide fallback values for DMI fields only readable by root.
odbc32: Use a fixed size buffer for parameter bindings.
odbc32: Support SQLSetStmtAttr(SQL_ATTR_ROW_ARRAY_SIZE).
odbc32: Turn SUCCESS() into a static inline function.
odbc32/tests: Add tests for fetching multiple rows at once and parameter binding.
winscard: Pass ATR buffer to unixlib in SCardStatusA().
Jacek Caban (4):
mshtml: Use DispatchEx vtbl for document node GetDispID implementation.
mshtml: Use DispatchEx for document node InvokeEx implementation.
mshtml: Use DISPEX_IDISPATCH_IMPL macro for document object implementation.
mshtml: Use DispatchEx for exposing document node IDispatchEx interface.
Jacob Pfeiffer (1):
wininet: Unify timeout values closer to hInternet.
Jinoh Kang (2):
user32/tests: Print regions in test_swp_paint_regions failure cases.
wow64: Implement reading multiple entries in wow64_NtQueryDirectoryObject.
Lucas Chollet (1):
dnsapi: Add a stub for DnsServiceBrowse.
Mohamad Al-Jaf (3):
coremessaging: Add stub DLL.
include: Add dispatcherqueue.idl file.
coremessaging: Add CreateDispatcherQueueController() stub.
Nikolay Sivov (3):
scrrun/dictionary: Implement putref_Item() method.
dwrite/tests: Fix a test failure on some Win10 machines with CJK locales.
gdi32/text: Handle null partial extents pointer in GetTextExtentExPointW().
Paul Gofman (12):
ntdll: Fix test_NtQueryDirectoryFile() on Win11.
ntdll: Do not ignore trailing dots in match_filename().
ntdll/tests: Test NtQueryDirectoryFile() masks with more files.
ntdll: Ignore leading dots in hash_short_file_name().
ntdll: Mind all the wildcards in has_wildcard().
ntdll: Match wildcard recursively in match_filename().
ntdll: Add a special handling for .. in match_filename().
ntdll: Implement matching DOS_STAR in NtQueryDirectoryFile().
ntdll: Implement matching DOS_DOT in NtQueryDirectoryFile().
ntdll: Properly match DOS_QM in match_filename().
ntdll: Skip name search for wildcards in asterisk handling in match_filename().
kernelbase: Preprocess wildcarded mask and pass it with NtQueryDirectoryFile().
Piotr Caban (8):
wineps.drv: Don't use dynamic buffer when writing new page info.
wineps.drv: Write page orientation hint for every page.
wineps.drv: Take all pages into account when computing bounding box.
wineps.drv: Write PageBoundingBox for every page.
wineps.drv: Add partial support for changing page size.
msvcp140: Use _get_stream_buffer_pointers() to access FILE internal buffers.
ucrtbase: Fix _iobuf struct layout.
msvcrt: Don't use custom standard streams definition.
Rémi Bernon (65):
widl: Use mangled namespace names in typedef pointer types.
win32u: Move the window surface color bits to the common struct.
win32u: Pass BITMAPINFO and a HBITMAP to window_surface_init.
winex11: Simplify the XSHM extension function calls.
winex11: Create XImage before initializing the window surface.
winex11: Create a HBITMAP for the allocated surface pixels.
win32u: Create a HBITMAP backing the window surface pixels.
win32u: Restore surface rect, which may offsetted from the window rect.
win32u: Use a dedicated helper to move bits from a previous surface.
win32u: Don't map points to the parent window in move_window_bits_parent.
win32u: Get rid of move_window_bits_parent, using move_window_bits.
winemac: Merge RESET_DEVICE_METRICS and DISPLAYCHANGE internal messages.
win32u: Fix a restorer_str typo.
win32u: Send display change messages when host display mode changes.
win32u: Move desktop resize on WM_DISPLAYCHANGE out of the drivers.
gdi32: Use an internal NtUser call for D3DKMTOpenAdapterFromGdiDisplayName.
wineandroid: Always clear UpdateLayeredWindow target rectangle.
wineandroid: Use the surface bitmap directly in UpdateLayeredWindow.
winemac: Always clear UpdateLayeredWindow target rectangle.
winemac: Use the surface bitmap directly in UpdateLayeredWindow.
winemac: Blend alpha with NtGdiAlphaBlend instead of window opacity.
winex11: Always clear UpdateLayeredWindow target rectangle.
winex11: Use the surface bitmap directly in UpdateLayeredWindow.
win32u: Introduce a new CreateLayeredWindow driver entry.
win32u: Move UpdateLayeredWindow implementation out of the drivers.
server: Avoid calling set_event from within msg_queue_add_queue.
win32u: Introduce new helpers to convert server rectangle_t.
win32u: Introduce NtUserAdjustWindowRect call for AdjustWindowRect*.
win32u: Pass desired DPI to NtUserGet(Client|Window)Rect.
win32u: Introduce a new get_monitor_rect helper.
win32u: Pass the rect DPI to NtUserIsWindowRectFullScreen.
winex11: Wrap more window surface formats with NtGdiDdDDICreateDCFromMemory.
winex11: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory.
gdi.exe16: Fix some incorrect usage of NtGdiDdDDICreateDCFromMemory.
winegstreamer: Allow to clear video decoder input/output types.
winegstreamer: Enforce default stride value in the video decoder.
winegstreamer: Enforce default stride presence in the video processor.
winegstreamer: Rename allow_size_change to allow_format_change.
winegstreamer: Only report format changes when frontend supports it.
winegstreamer: Use a caps to store the desired output format.
winegstreamer: Request the new transform output format explicitly.
winevulkan: Remove some unnecessary casts.
winevulkan: Fix size mismatch when writing to return pointer.
include: Add and fix some WGL prototypes.
winewayland: Force the DPI context when restoring cursor clipping.
winex11: Force the DPI context when restoring cursor clipping.
win32u: Use get_monitor_rect in more places.
win32u: Parameterize get_clip_cursor dpi.
win32u: Parameterize get_monitor_info dpi.
win32u: Use window monitor DPI in get_windows_offset when dpi is 0.
winex11: Use NtUserMapWindowPoints instead of NtUserScreenToClient.
win32u: Call NtUserMapWindowPoints with per-monitor DPI from the drivers.
winemac: Force thread DPI awareness when calling NtUserSetWindowPos.
winewayland: Force thread DPI awareness when calling NtUserSetWindowPos.
winex11: Force thread DPI awareness when calling NtUserSetWindowPos.
winex11: Force thread DPI awareness when calling NtUserRedrawWindow.
winex11: Force thread DPI awareness when calling NtUserChildWindowFromPointEx.
win32u: Remove unused insert_after WindowPosChanging parameter.
wineandroid: Remove unnecessary visible_rect initialization.
winemac: Remove unnecessary visible_rect initialization.
winex11: Remove unnecessary visible_rect initialization.
win32u: Split WindowPosChanging driver call to a separate CreateWindowSurface.
winex11: Move layered window mapping to X11DRV_UpdateLayeredWindow.
winemac: Move layered window mapping to macdrv_UpdateLayeredWindow.
win32u: Move WM_WINE_DESKTOP_RESIZED into driver internal messages range.
Shengdun Wang (3):
ucrtbase/tests: Add FILE structure tests.
ucrtbase: Always use CRITICAL_SECTION for FILE locking.
ucrtbase: Fix FILE _flag values.
Tim Clem (1):
gitlab: Update configuration for the new Mac runner.
Zhiyi Zhang (2):
ws2_32/tests: Test fromlen for recvfrom().
ntdll: Don't zero out socket address in sockaddr_from_unix().
Ziqing Hui (7):
qasf/tests: Add more tests for dmo_wrapper_sink_Receive.
qasf/dmowrapper: Introduce get_output_samples.
qasf/dmowrapper: Introduce release_output_samples.
qasf/dmowrapper: Return failure in dmo_wrapper_sink_Receive if samples allocating fails.
qasf/dmowrapper: Allocate output samples before calling ProcessInput().
qasf/dmowrapper: Return VFW_E_WRONG_STATE in dmo_wrapper_sink_Receive.
qasf/dmowrapper: Sync Stop() and Receive() for dmo wrapper filter.
```
1
0