Wine-announce
Threads by month
- ----- 2026 -----
- 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
November 2025
- 1 participants
- 3 discussions
The Wine development release 10.20 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.18.
- More support for reparse points.
- More refactoring of Common Controls after the v5/v6 split.
- Progress dialog for document scanning.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.20.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.20/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.20 (total 31):
- #41034 TomTom MyDrive Connect 4.x needs implementation of KERNEL32.dll.SetVolumeMountPointW
- #41644 Civilization v1.2: crashes on startup
- #42792 SQL Server 2012/2014: Installer requires ChangeServiceConfig2 with SERVICE_CONFIG_SERVICE_SID_INFO support (also affects Revit installer)
- #44948 Multiple apps need CreateSymbolicLinkA/W implementation (Spine (Mod starter for Gothic), GenLauncher (Mod manager for GeneralsZH), MS Office 365 installer)
- #49987 Multiple GTK Applications freeze/fail to start
- #54927 grepwinNP3 (part of Notepad3) crashes inside uxtheme
- #56577 QuarkXPress 2024 crashes on start with assertion error "symt_check_tag(&func->symt, SymTagFunction) || symt_check_tag(&func->symt, SymTagInlineSite)"
- #57486 The Last Stand: Aftermath: Loads infinitely
- #57703 Mega Man X DiVE Offline throws errors on startup unless regkeys for HKCR are added.
- #57972 Certain display modes (e.g. 1152x864) not available in virtual desktop mode
- #58023 Meld-3.22.2 fails to start with errormessagebox (retrieves incorrect path via XDG_DATA_HOME env var)
- #58041 PlayOnline Viewer: Black screen when running via winewayland.
- #58107 PlayOnline Viewer: Window not activated when restoring from a minimised state.
- #58341 Incorrect mapping of "home" button of 8bitdo Pro 2 controller (in Xbox mode)
- #58719 Wagotabi crashes on wine-10.15.
- #58800 tlReader 10.1.0.2004 toolbar has broken rendering
- #58831 the commit:win32u: Don't store the window OpenGL drawables on the DCs. Causing software deadlock
- #58833 PlayOnline Viewer: Excessive virtual memory size possibly leading into a crash.
- #58846 Geneforge 1 - Mutagen (Geneforge 2 - Infestation): black screen issue
- #58880 Winecfg in wine 10.17 can not create controls(buttons,links ...) in some configurations
- #58882 When setting Client Side Graphics=N (X11 Driver), interfaces such as winecfg.exe and regedit.exe display abnormally
- #58908 Arrow keys unresponsive/stuck in some games
- #58932 Some comboboxes are no longer sized correctly after commit in version 10.16
- #58971 after commit 18ce7964203b486c8236f2c16a370ae27539d2f0 wine no longer execute windows steam
- #58973 Many games crash on launch with new WoW64 wine-10.19 and discrete Nvidia GPU
- #58984 imhex: Constant flickering --> GUI unusable (regression)
- #58998 cmd broken, 'echo|set /p=%LOCALAPPDATA%' returns empty string
- #59003 StarCraft: assertion failed
- #59017 Synchronization barrier cannot be entered multiple times
- #59034 Client area of CLM Explorer main window is rendered completely black on startup
- #59050 HiveMQ CE 2025.5 crashes on startup (GetProcessHeap missing parentheses in iphlpapi.GetAnycastIpAddressTable stub)
### Changes since 10.19:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (13):
vkd3d: Import upstream release 1.18.
sxs: Implement SxspGenerateManifestPathOnAssemblyIdentity().
sxs: Truncate fields when building a manifest file name.
setupapi: Truncate fields when building a manifest file name.
ntdll: Truncate fields when building a manifest file name.
include: Add some new info classes.
png: Import upstream release 1.6.51.
ntdll: Support more ARM64 CPU features.
ntdll: Always rely on mprotect() to set PROT_EXEC permission.
iphlpapi: Fix GetProcessHeap typo.
winedump: Move string dump functions to the common code.
winedump: Add dumping of string and version resources for 16-bit.
server: Use standard status value instead of win32 error.
Alfred Agrell (5):
d2d1: Add Blend effect stub.
d2d1: Add Brightness effect stub.
d2d1: Add Directional Blur effect stub.
d2d1: Add Hue Rotation effect stub.
d2d1: Add Saturation effect stub.
Alistair Leslie-Hughes (1):
urlmon: FindMimeFromData return only the mime type.
Anton Baskanov (38):
dmsynth/tests: Test instrument selection.
dmsynth: Factor out instrument fallback logic from synth_preset_noteon().
dmsynth: Don't rely on the FluidSynth bank selection logic.
dmsynth/tests: Add DLS tests.
dmsynth: Use 0.1% as the sustain level unit.
dmsynth: Don't add 1000 to the sustain modulators.
dmsynth: Handle channel pressure events.
dmsynth: Use a factor of 1/10 for modulation LFO x channel pressure -> gain connections.
dmsynth: Trace lAttenuation as a signed integer.
dmsynth: Handle sample attenuation.
dmsynth: Handle bipolar transform for LFO connections.
dmsynth: Set GEN_EXCLUSIVECLASS to the key group.
dmsynth: Make voice shutdown instant.
dmsynth: Explicitly ignore CONN_DST_EG1_SHUTDOWNTIME.
dmsynth: Factor out play_region().
dmsynth: Move find_region() after play_region().
dmsynth: Add layering support.
dmusic: Fix data size calculation in wave_create_from_soundfont().
dmusic: Remove the unused loop_resent field from struct region.
dmusic: Determine sample loop type from SF_GEN_SAMPLE_MODES.
dmusic: Treat SF_GEN_(START|END)LOOP_ADDRS_OFFSET as offsets from the sample loop points.
dmusic: Take coarse loop offsets into account.
dmusic: Compare unity note with an unsigned 16-bit constant.
dmusic: Take coarse tune into account in instrument_add_soundfont_region().
dmusic: Set attenuation based on SF_GEN_INITIAL_ATTENUATION.
dmusic: Add IIR filter resonance hump compensation.
dmusic: Add an 8 dB attenuation to normalize SF2 instrument volume.
dmusic: Take sample correction into account.
dmusic: Treat fine tune as a signed value.
dmusic: Set F_INSTRUMENT_DRUMS for bank 128.
dmusic: Use SF_GEN_EXCLUSIVE_CLASS to set the key group.
dmusic: Add preset generator values in a separate pass.
dmusic: Don't pass preset generators to parse_soundfont_generators().
dmusic: Intersect ranges for SF_GEN_KEY_RANGE and SF_GEN_VEL_RANGE.
dmusic: Convert generators to DLS connections.
dmusic: Add default modulators.
dmusic: Parse instrument modulators.
dmusic: Parse preset modulators.
Bernd Herd (10):
sane.ds: Avoid segfault with backends that have integer array options like 'test'.
sane.ds: Replace LocalLock/LocalUnlock with GlobalLock/GlobalUnlock.
sane.ds: Store CAP_XFERCOUNT to activeDS.capXferCount.
sane.ds: Apply SANE_Start() and SANE_Cancel().
sane.ds: Fill TW_IMAGEMEMXFER.YOffset in SANE_ImageMemXferGet.
sane.ds: Implement DG_CONTROL/DAT_PENDINGXFERS/MSG_GET based on scannedImages counter.
sane.ds: Read frame data until EOF in native transfer mode.
sane.ds: Load last settings from registry immediatly when opening the DS.
sane.ds: Add cancel button and progress bar to progress dialog.
sane.ds: Display message if ADF is empty in ADF scan.
Bernhard Kölbl (2):
dwrite: Add the Cyrillic range to the fallback data.
dwrite: Add the Supplemental Arrows-C range to the fallback data.
Bernhard Übelacker (6):
user32/tests: Avoid out-of-bounds access in DdeCreateDataHandle (ASan).
user32: Avoid out-of-bounds read in DdeCreateDataHandle with offset (ASan).
ntdll/tests: Avoid out-of-bounds read in call_virtual_unwind_x86 (ASan).
shell32: Avoid double-free in enumerate_strings when cur is zero (ASan).
cmd: Skip directories if they exceed MAX_PATH in WCMD_list_directory (ASan).
ntdll/tests: Dynamically load RtlIsProcessorFeaturePresent.
Biswapriyo Nath (1):
include: Add symbols for av1 encoder in d3d12video.idl.
Brendan Shanks (5):
winemac: Silence OpenGL-related warnings.
user32/tests: Add tests for DisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO ).
win32u: Add semi-stub for NtUserDisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO ).
win32u: Store whether a monitor is HDR-capable in gdi_monitor.
winemac: Report whether monitors are HDR-capable based on NSScreen.maximumPotentialExtendedDynamicRangeColorComponentValue.
Connor McAdams (6):
d3dx10/tests: Use check_texture{2d,3d}_desc_values helpers in check_resource_info().
d3dx11/tests: Use check_texture{2d,3d}_desc_values helpers in check_resource_info().
d3dx9/tests: Add some image filter tests.
d3dx10/tests: Add some image filter tests.
d3dx11/tests: Add some image filter tests.
d3dx: Implement a box filter.
Derek Lesho (4):
win32u/tests: Set GL_DEDICATED_MEMORY_OBJECT_EXT on import.
win32u/tests: Test named Vulkan export.
win32u/tests: Test shared handle lifetime.
win32u/tests: Test GL_EXT_semaphore_win32.
Dmitry Timoshkov (3):
services: Return success for ChangeServiceConfig(SERVICE_CONFIG_SERVICE_SID_INFO).
windowscodecs: Optimize a bit reading the 3bps RGB TIFF tile.
kerberos: Add translation of 32-bit SecPkgContext_SessionKey in wow64_query_context_attributes() thunk.
Elizabeth Figura (19):
wined3d: Get rid of alpha-based color keying.
server: Retain the ? suffix when renaming or linking reparse points.
kernelbase: Open the reparse point in CreateHardLink().
kernelbase: Open the reparse point in SetFileAttributes().
ntdll: Handle . and .. segments in relative symlinks.
xactengine3/tests: Add tests for properties.
xactengine3/tests: Add many more tests for notifications.
xactengine3/tests: Test renderer details.
xactengine3/tests: Test variables.
xactengine3/tests: Test SetMatrixCoefficients() channel counts.
xactengine3/tests: Test wavebank type mismatch.
d3d11: Use GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS in D3D11CoreCreateDevice().
d3d11: Implement DecoderExtension().
wined3d: Make SHADOW into a format attr.
winex11: Flush after presenting.
ntdll: Implement FileIdExtdBothDirectoryInformation.
kernelbase: Report the reparse tag from FindNextFile().
kernel32: Implement SetVolumeMountPoint().
mountmgr.sys: Report FILE_SUPPORTS_REPARSE_POINTS for volumes we report as NTFS.
Eric Pouech (11):
cmd: Force flushing the prompt in SET /P command.
kernel32/tests: Test std handles in CreateProcess with pseudo console.
kernelbase: Create std handles from passed pseudo-console.
kernel32/tests: Skip some tests when feature isn't present on Windows.
cmd: Fix some quirks around CALL.
cmd: Add more tests about echo:ing commands.
cmd: Store '@' inside CMD_NODE.
cmd: Don't use precedence when rebuilding commands.
cmd: Properly echo commands.
cmd: Match native output for $H in prompt.
cmd: Expand loop variables nested in !variables!.
Erich Hoover (2):
kernelbase: Open the reparse point in MoveFileWithProgress().
kernelbase: Implement CreateSymbolicLink().
Gabriel Ivăncescu (2):
jscript: Do existing prop lookups for external props only on objects with volatile props.
mshtml: Add the node props to document fragments in IE9+ modes.
Giovanni Mascellani (1):
mmdevapi: Fix WoW64 structure for is_format_supported.
Hans Leidekker (5):
widl: Use the metadata short name for parameterized types.
widl: Make sure attributes are added for imported member interfaces.
widl: Don't add a type reference for IInspectable.
include: Fix size_is syntax in IPropertyValue methods.
wine.inf: Add .crt association.
Jacek Caban (4):
opengl32: Free buffer wrappers after driver calls.
opengl32: Factor out use_driver_buffer_map.
opengl32: Support persistent memory emulation on top of GL_AMD_pinned_memory.
opengl32: Simplify wow64_unmap_buffer.
Jactry Zeng (3):
winemac.drv: Support to get EDID from DCPAVServiceProxy.
winemac.drv: Support to get EDID from IODisplayConnect.
winemac.drv: Support to generate EDID from display parameters from Core Graphics APIs.
Joe Souza (7):
cmd/tests: Add tests for COPY to self.
cmd: Don't attempt to copy a file to itself.
xcopy: Fix leaked resource in an error case.
xcopy/tests: Add test for XCOPY to self.
xcopy: Don't attempt to copy a file to itself.
xcopy: Return proper error code in copy file to self failure.
cmd: Add ':' to delimiters for tab-completion support.
Ken Sharp (1):
po: Update English resource.
Kun Yang (1):
windowscodecs: Support NULL input palette in ImagingFactory_CreateBitmapFromHBITMAP.
Louis Lenders (2):
wbemprox: Add PartialProductKey and ApplicationId to SoftwareLicensingProduct class.
wbemprox: Use case insensitive search in get_method.
Marcus Meissner (1):
kernel32/tests: Fix argument size to GetVolumeNameForVolumeMountPointW.
Matteo Bruni (6):
mmdevapi: Share NULL GUID session.
mmdevapi/tests: Accept any digit before the process ID in the session instance identifier.
mmdevapi/tests: Test capture session state in render:test_session_creation().
mmdevapi/tests: Get rid of questionable error handling.
mmdevapi/tests: Simplify handling of failure to get a capture endpoint.
mmdevapi/tests: Conditionally apply todo_wine to SetSampleRate() tests.
Nikolay Sivov (5):
d2d1/tests: Explicitly use WARP device for IWICBitmapLock tests.
d2d1/tests: Print adapter information.
dwrite: Add an alternative name for the Noto Sans Symbols font.
msxml: Add support for user-defined functions in msxsl:script blocks.
msxml3: Ignore UseInlineSchema property.
Paul Gofman (23):
comctl32/tests: Add tests for WM_MEASUREITEM with combobox.
comctl32/combo: Adjust MEASUREITEMSTRUCT.itemHeight by 2 instead of 6.
user32/combo: Adjust MEASUREITEMSTRUCT.itemHeight by 2 instead of 6.
win32u: Only delete subkeys when clearing DirectX key.
ntoskrnl.exe: Open thread with MAXIMUM_ALLOWED access in KeGetCurrentThread().
quartz/dsoundrender: Get rid of DSoundRenderer_Max_Fill buffer data queue limit.
quartz/test: Check for EC_COMPLETE more often in test_eos().
quartz/dsoundrender: Send all queued samples to dsound before issuing EC_COMPLETE.
quartz/dsoundrender: Do not send EC_COMPLETE while flushing.
ntdll: Rename waiting_thread_count to structure_lock_count in barriers implementation.
ntdll/tests: Add tests for iterative barrier usage.
ntdll: Support iterative barrier usage without re-initialization.
win32u: Initialize surface with white colour on creation.
kernelbase: Set last error in GetModuleFileNameExW().
win32u: Ignore startup cmd show mode for owned windows.
win32u: Fetch startup info flags during initialization.
win32u: Implement NtUserModifyUserStartupInfoFlags().
user32/tests: Add tests showing that MessageBox() resets STARTF_USESHOWWINDOW.
win32u: Clear STARTF_USESHOWWINDOW in MessageBoxIndirectW().
msvfw32/tests: Add tests for MCI window styles.
msvfw32: Add WS_CHILD attribute for window if parent is specified.
msvfw32: Set correct styles for popup and child windows.
msvfw32: Set child window id for MCI child window.
Piotr Caban (33):
msado15: Add partial IRowset::AddRefRows implementation for tables without provider.
msado15: Add IRowset::RestartPosition implementation for tables without provider.
msado15: Fix test GetNextRows implementation.
msado15: Set cursor position on provider side.
msado15: Improve _Recordset::BOF implementation.
msado15: Improve _Recordset::EOF implementatio.
msado15: Improve IAccessor::CreateAccessor implementation for tables without provider.
msado15: Add partial IRowset::GetData implementation for tables without provider.
msado15: Add partial IRowset::SetData implementation for tables without provider.
msado15: Fix initial row loading condition in _Recordset::MoveNext.
msado15: Fix initial row loading condition in _Recordset::MovePrevious.
msado15: Store column ordinal number in field structure.
msado15: Reimplement Field::get_Value and Field::put_Value.
msado15: Fix memory leak for tables without provider.
msado15: Don't use row index in _Recordset::get_EditMode.
msado15: Remove _Recordset::put_Filter hack.
msado15: Implement IRowsetLocate::GetRowsAt for tables without provider.
msado15: Set bookmark column value in rowset_change_InsertRow.
msado15: Handle data type conversion in rowset_GetData.
msado15: Use IRowsetLocate to access database rows if available.
msado15: Reimplement _Recordset::{put,get}_Bookmark.
msado15: Add _Recordset::MoveFirst test.
msado15: Remove unused code for storing/manipulating database data in _Recordset object.
msado15: Remove IRowset QueryInterface checks.
msado15: Change data type used for fetching longer bookmarks.
msado15: Add INT_PTR bookmark type.
msado15: Store data in column format in memory rowset provider.
include: Add IRowsetView interface.
include: Add IViewChapter interface.
include: Add IViewFilter interface.
msado15: Add IRowsetUpdate interface in tests.
msado15: Fix crash in _Recordset::Close() when releasing uninitialized Field objects.
msado15: Add more _Recordset::put_Filter tests.
Rémi Bernon (51):
win32u: Make a copy of the GL_RENDERER / GL_VENDOR strings.
win32u: Move vulkan device wrapper from winevulkan.
winevulkan: Allocate instance static debug objects dynamically.
win32u: Move instance wrappers from winevulkan.
win32u: Use the vulkan instance wrappers for D3DKMT.
winex11: Set dmDriverExtra for detached full modes.
hid: Implement HidP_SetData.
win32u: Set the DC pixel format too in wglSetPixelFormatWINE.
win32u: Keep the D3D internal OpenGL surfaces on the DCs.
win32u: Get rid of window internal pixel format.
win32u: Use 0x20 for iconic WM_ACTIVATE message wparam.
win32u: Avoid INT_MAX overflow in map_monitor_rect.
win32u: Avoid crashing if Vulkan is disabled or failed to load.
winex11: Avoid unmapping window if it only got layered style.
winevulkan: Avoid returning innacurate extension counts.
winex11: Track requested WM_NORMAL_HINTS to avoid unnecessary requests.
winex11: Track requested WM_HINTS to avoid unnecessary requests.
winex11: Track requested _NET_WM_WINDOW_STATE to avoid unnecessary requests.
winex11: Track requested _NET_WM_ICON to avoid unnecessary requests.
win32u: Keep devices EGL platforms in a list.
win32u: Add the display device first in the EGL device list.
win32u: Terminate non-display EGL devices after initialization.
win32u: Skip non-display software EGL devices initialization.
win32u: Fix crash in NtUserUpdateLayeredWindow if blend is NULL.
winex11: Initialize thread data when checking _NET_WM_STATE mask.
winex11: Don't update client maximized state if window is minimized.
win32u: Release internal OpenGL drawables outside of the user lock.
win32u: Avoid leaking semaphore and fence exported fds.
include: Add some new DMO classes to wmcodecdsp.idl.
msvdsp: Add stub dll.
vidreszr: Add stub dll.
mfsrcsnk: Ignore streams with unsupported media types.
winevulkan: Move api checks out of the constructors.
winevulkan: Simplify enum alias handling.
winevulkan: Split get_dyn_array_len into params / member classes.
winevulkan: Pass parent / params to get_dyn_array_len directly.
winevulkan: Create function param and struct member lists beforehand.
winevulkan: Precompute struct type constant from member list.
win32u: Add some extra 4:3 resolutions to the virtual modes.
winex11: Pass client rect to create_client_window.
winex11: Remove some unnecessary NtUserGetClientRect calls.
ddraw/tests: Use a dedicated window instead of the desktop window.
user32/tests: Use a dedicated window instead of the desktop window.
win32u: Introduce a NtUserSetForegroundWindowInternal call.
server: Set NULL foreground input when switching to desktop window.
server: Forbid background process window reactivation.
winex11: Update window position in client surface update callback.
win32u: Update client surfaces starting from toplevel window.
winex11: Only use XRender bilinear filter with client-side graphics.
win32u: Skip minimized windows when looking for another window to activate.
win32u: Hide owned popups after minimizing their owner window.
Stian Low (6):
wined3d: Move the Vulkan blitter to texture_vk.c.
wined3d: Move Vulkan texture functions to texture_vk.c.
wined3d: Move GL texture functions to texture_gl.c.
wined3d: Move the FBO blitter to texture_gl.c.
wined3d: Move the raw blitter to texture_gl.c.
wined3d: Move the FFP blitter to texture_gl.c.
Tim Clem (1):
winex11.drv: Set use_egl to false if it is unavailable.
Vibhav Pant (26):
rometadata: Add stubs for IMetaDataImport.
rometadata/tests: Add tests for IMetaDataTables::{EnumTypeDefs, GetTypeDefProps, FindTypeDefByName}.
rometadata/tests: Add tests for IMetaDataImport::{EnumMethods, GetMethodProps, GetNativeCallConvFromSig}.
rometadata/tests: Add tests for IMetaDataImport::{EnumFields, GetFieldProps}.
rometadata/tests: Add tests for IMetaDataImport::GetCustomAttributeByName.
rometadata/tests: Add tests for IMetaDataImport::{EnumProperties, GetPropertyProps}.
rometadata: Implement IMetaDataImport::{EnumTypeDefs, CountEnum, ResetEnum}.
rometadata: Implement IMetaDataImport::GetTypeDefProps.
rometadata: Implement IMetaDataImport::FindTypeDefByName.
rometadata: Implement IMetaDataImport::{EnumMethods, GetMethodProps}.
rometadata: Implement IMetaDataImport::EnumFields.
rometadata: Implement IMetaDataImport::GetFieldProps.
widl: Fix MethodList value for apicontract and enum typedefs.
rometadata/tests: Add tests for IMetaDataDispenser::OpenScopeOnMemory.
rometadata/tests: Add additional tests for IMetaDataImport::GetCustomAttributeByName.
rometadata: Perform bound checks before decoding blob sizes in assemblies.
rometadata: Fix incorrect bit width calculation.
rometadata: Implement IMetaDataDispenser::OpenScopeOnMemory.
rometadata: Implement IMetaDataTables::{EnumProperties, GetPropertyProps}.
rometadata: Implement IMetaDataImport::GetCustomAttributeByName.
rometadata/tests: Add tests for IMetaDataImport::{EnumMethodsWithName, FindMethod}.
rometadata/tests: Add tests for IMetaDataImport::{EnumFieldsWithName, FindField}.
rometadata/tests: Add tests for IMetaDataImport::{EnumMembersWithName, FindMember}.
rometadata: Implement IMetaDataImport::EnumMethodsWithName.
rometadata: Implement IMetaDataImport::FindMethod.
rometadata: Implement IMetaDataImport::{EnumFieldsWithName, FindField}.
Vijay Kiran Kamuju (2):
vcomp: Add omp_get_wtick() implementation.
user32: Fix loading cursor image with resource id using LR_LOADFROMFILE on older windows versions.
Yuxuan Shui (4):
mf/tests: Test what's returned from ProcessOutput when input ran out.
winegstreamer: Return S_FALSE from DMO when there is not enough data.
winegstreamer: Only change DMO's output type if SetOutputType is successful.
winegstreamer: Add missing read thread wait in SetOutputProps failure path.
Zhiyi Zhang (25):
comctl32/tests: Add tests for toolbar WM_ERASEBKGND handling.
comctl32/tests: Add tests for toolbar WM_PAINT handling.
comctl32/toolbar: Erase the background in TOOLBAR_Refresh() when TBSTYLE_TRANSPARENT is present for comctl32 v6.
comctl32/trackbar: Add a helper to get the pen color for drawing tics.
comctl32/trackbar: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/trackbar: Remove theming for comctl32 v5.
comctl32/treeview: Add a helper to draw plus and minus signs.
comctl32/treeview: Add a helper to fill theme background.
comctl32/treeview: Remove theming for comctl32 v5.
comctl32/updown: Add a helper to get the buddy border size.
comctl32/updown: Add a helper to get the buddy spacer size.
comctl32/updown: Add helpers to get the arrow state.
comctl32/updown: Add helpers to get the arrow theme part and state.
comctl32/updown: Add a helper to check if buddy background is needed.
comctl32/updown: Refactor UPDOWN_DrawBuddyBackground() to support drawing background when theming is disabled.
comctl32/updown: Add a helper to draw the up arrow.
comctl32/updown: Add a helper to draw the down arrow.
comctl32/updown: Remove theming for comctl32 v5.
comctl32: Remove theming for comctl32 v5.
comctl32_v6/taskdialog: Fix not enough width for the expando button text.
icu: Add stub dll.
icuuc: Add initial dll.
icuin: Add initial dll.
include: Add icu.h.
include: Add more definitions from ICU 72.1.
```
1
0
The vkd3d team is proud to announce that release 1.18 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.18.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.18
### libvkd3d
- The CreateCommandList1() method of the ID3D12Device4 interface is
implemented.
### libvkd3d-shader
- Several new features and improvements for the HLSL source type:
- Flattening of branched code. I.e., code using if/else statements can be
turned into conditional moves when that's either advantageous or
necessary. Cases where this is necessary include targeting shader model
2.0 or earlier, as well as code using the ‘flatten’ attribute.
- More constant folding improvements. For example:
- asfloat(), asint(), asuint(), cos(), mad(), round(), and sin()
operations are constant folded.
- ‘true ? x : y’ is folded to ‘x’
- ‘x ? true : false’ is folded to ‘x’
- ‘||x||’ is folded to ‘|x|’
- ‘~~x’ is folded to ‘x’
- ‘x < 0’ is folded to ‘false’ for unsigned ‘x’
- The following intrinsic functions:
- countbits()
- firstbithigh()
- firstbitlow()
- frexp()
- texCUBEbias()
- Integer-typed conditional expressions in shader model 1-3 target
profiles. Previously these were only supported in shader model 4+ target
profiles.
- Resource loads from ‘StructuredBuffer’ resources.
- ‘centroid’ interpolation modifiers in shader model 1-3 target profiles.
- Support for ‘\_centroid’ modifier suffixes on I/O semantics. I.e.,
‘float2 t : TEXCOORD0_centroid’ is equivalent to ‘centroid float2 t :
TEXCOORD0’.
- The following legacy Direct3D byte-code instructions are implemented:
- bem
- tex
- texbem
- texbeml
- texcoord
- The experimental Metal Shading Language (MSL) target supports the
following features:
- Compute shaders.
- Immediate-constant buffers.
- Standard, inverse, and hyperbolic trigonometric functions.
- Integer division and remainder operations.
- Floating-point remainder operations.
- Bit scanning and counting operations.
- Boolean operands, as produced by DXIL sources.
- Barrier operations.
- When the experimental MSL target is enabled, the ‘hlsl’ source type can be
used in combination with the ‘msl’ target type to convert HLSL shaders to
MSL.
- Signed integer operations like min() and max() are correctly translated
from DXIL to MSL. Previously these would end up getting translated as
unsigned operations, and would thus mishandle negative values.
- The experimental OpenGL Shading Language (GLSL) target supports the
following features:
- Screen-space partial derivatives.
- sin() and cos() operations.
- Unsigned integer division and remainder operations.
- Static texel offsets on texture load operations.
- ‘SV_Coverage’ fragment shader outputs.
- ‘SV_InstanceID’ inputs.
- Textual output formats are documented to have a zero byte following their
output. This can be convenient for passing such output to functions
expecting a null-terminated string. For some output formats this was
already true in earlier versions of vkd3d, but not guaranteed by the API.
- New interfaces:
- The vkd3d_shader_d3dbc_source_info structure extends the
vkd3d_shader_compile_info structure, and can be used to specify
auxiliary information for legacy Direct3D byte-code (‘d3dbc’) shaders
that's necessary for target formats like SPIR-V and GLSL, but not
specified by ‘d3dbc’ shaders. In particular, it allows specifying
resource/sampler types for shader model 1 fragment shaders, as well as
which samplers are comparison-mode samplers for shader model 1-3
shaders.
- The vkd3d_shader_scan_thread_group_size_info structure extends the
vkd3d_shader_compile_info structure, and can be used to to retrieve the
thread group size expected by a compute shader. This information is
particularly useful when targeting Metal environments, because the Metal
API requires the thread group size to be specified through its dispatch
API, instead of being specified by the shader.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_LUMINANCE_OFFSET_[0-5] shader
parameters specify the corresponding bump-mapping luminance offsets.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_LUMINANCE_SCALE_[0-5] shader
parameters specify the corresponding bump-mapping luminance scale
factors.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_MATRIX_[0-5] shader parameters
specify the corresponding bump-mapping transformation matrices.
### Changes since vkd3d 1.17:
```
Andrey Gusev (1):
vkd3d: Recognise VK_QUEUE_OPTICAL_FLOW_BIT_NV in debug_vk_queue_flags().
Anna (navi) Figueiredo Gomes (3):
vkd3d-shader/hlsl: Remove the duplicate HLSL_IR_STRING_CONSTANT branch from evaluate_static_expression().
vkd3d-shader/hlsl: Add a default value fail test with all allowed instructions.
vkd3d-shader/hlsl: Properly free default values when discarding them.
Conor McCarthy (9):
tests/hlsl: Add a test for branching in a hull shader patch constant function.
vkd3d-shader: Set the program block count to the maximum for any function.
tests/hlsl: Add a test for branching in a hull shader control point function.
vkd3d-shader/spirv: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in spirv_get_type_id().
vkd3d-shader/spirv: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in image_format_for_image_read().
tests/hlsl: Add a precise MAD test where the first component is not x.
vkd3d-shader/ir: Fix the addition swizzle in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Use an SSA intermediate in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Fix the FTOU swizzle for MOVA in vsir_program_normalize_addr().
Elizabeth Figura (66):
vkd3d-shader/d3dbc: Move TEXLDD lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move TEXLDL lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move d3dbc SINCOS lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move TEXKILL lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move IFC lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader: Dump shaders in vkd3d_shader_preprocess().
vkd3d-shader/hlsl: Ensure yacc tokens are positive.
vkd3d-shader/glsl: Do not make a copy of the buffer before returning it.
vkd3d-shader/preproc: Do not make a copy of the buffer before returning it.
vkd3d-shader/hlsl: Initialize the allocator with a type.
vkd3d-shader/ir: Reallocate temps.
vkd3d-shader/hlsl: Use unique temps for non-indexable variables.
vkd3d-shader/hlsl: Use unique temps for per-component operations.
vkd3d-shader/hlsl: Use unique temps for SINCOS.
vkd3d-shader/hlsl: Use a simple counter for indexable temps.
vkd3d-shader/hlsl: Remove liveness range tracking from the allocator.
tests: Test null-termination.
tests: Test special characters.
vkd3d-shader: Document the null terminator appended for textual formats.
vkd3d-utils: Null-terminate the output of D3DDisassemble().
vkd3d-utils: Null-terminate the output of D3DPreprocess().
vkd3d-shader/d3dbc: Move the error for unhandled d3dbc instructions to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Lower TEXTURE to TEMP registers when written.
vkd3d-shader/d3dbc: Lower TEX instructions.
vkd3d-shader/d3dbc: Lower TEXCOORD instructions.
vkd3d-shader/ir: Validate TEXTURE registers.
vkd3d-shader/ir: Validate BEM.
vkd3d-shader/hlsl: Use the semantic.resource_type field for texture DCL instructions.
vkd3d-shader/hlsl: Use unique IDs for descriptors before 5.1.
vkd3d-shader/ir: Introduce a vsir DCE pass.
vkd3d-shader/hlsl: Make ConstructGSWithSO an intrinsic function.
vkd3d-shader/hlsl: Return a node from lower_ir().
vkd3d-shader/hlsl: Rename lower_ir() to replace_ir().
vkd3d-shader/hlsl: Use replace_ir() for fold_swizzle_chains().
vkd3d-shader/hlsl: Use replace_ir() for fold_trivial_swizzles().
vkd3d-shader/hlsl: Use replace_ir() for fold_redundant_casts().
vkd3d-shader/d3dbc: Create vsir descriptor information in the parser.
vkd3d-shader/hlsl: Create vsir descriptor info in hlsl_parse().
vkd3d-shader: Remove sm1-specific descriptor scanning logic.
vkd3d-shader: Remove the no longer used flat_constant_count field from struct vsir_program.
vkd3d-shader: Introduce an interface to specify 1.x texture dimensions.
vkd3d-shader: Introduce an interface to specify sm1 shadow samplers.
vkd3d-shader/glsl: Wrap gl_GlobalInvocationID in an uvec4.
vkd3d-shader/ir: Implement an initial vsir copy propagation pass.
tests: Test a shader with many semantics.
vkd3d-shader/d3dbc: Fix writing vertex input semantics.
vkd3d-shader/spirv: Allow swizzling parameters.
vkd3d-shader: Lower BEM instructions.
vkd3d-shader: Lower TEXBEM instructions.
vkd3d-shader: Lower TEXBEML instructions.
tests: Allow RTV -> SRV blits in the d3d9 runner.
tests: Set tags in the d3d9 runner.
tests: Add bump mapping tests.
vkd3d-shader/hlsl: Introduce hlsl_block_add_constant().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_swizzles().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_identities().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_exprs().
vkd3d-shader/hlsl: Use replace_ir() for fold_conditional_identities().
vkd3d-shader/hlsl: Use replace_ir() for fold_unary_identities().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_normalize_binary_exprs().
vkd3d-shader/hlsl: Use replace_ir() for lower_resource_load_bias().
vkd3d-shader/hlsl: Use replace_ir() for lower_discard_nz().
vkd3d-shader/hlsl: Write the used sampler dimension for generic samplers in the CTAB.
vkd3d-shader/hlsl: Do not deduplicate sampler types in the CTAB.
vkd3d-shader/hlsl: Write a "dimx" of 4 for combined sampler types in the CTAB.
vkd3d-shader/hlsl: Only prepend a $ for parameters with the uniform keyword.
Francisco Casas (52):
vkd3d-shader/ir: Use iterators in vsir_program_insert_fragment_fog().
vkd3d-shader/ir: Use iterators in vsir_program_insert_vertex_fog().
vkd3d-shader/ir: Use iterators in track_liveness().
vkd3d-shader/ir: Use iterators in vsir_allocate_temp_registers().
vkd3d-shader/ir: Use iterators in vsir_update_dcl_temps().
vkd3d-shader/ir: Use iterators in vsir_program_validate().
vkd3d-shader/ir: Introduce vsir_program_iterator_insert_before_and_move().
vkd3d-shader/ir: Use iterators in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/dxil: Use vsir_program_append() in sm6_function_emit_blocks().
vkd3d-shader/dxil: Use vsir_program_append() in sm6_parser_add_instruction().
vkd3d-shader/dxil: Use sm6_parser_add_instruction() in sm6_parser_descriptor_type_init().
vkd3d-shader/ir: Avoid direct instruction array access in validation_error().
vkd3d-shader/ir: Use iterators in control_point_normaliser_emit_hs_input().
vkd3d-shader/ir: Use iterators in flattener_flatten_phases().
vkd3d-shader/ir: Merge the hull shader phase flattener into a single pass.
vkd3d-shader/ir: Use iterators in struct vsir_cfg.
vkd3d-shader/ir: Move icbs from struct vkd3d_shader_instruction_array to struct vsir_program.
vkd3d-shader/ir: Move the outpointid_param field out of struct vkd3d_shader_instruction_array.
vkd3d-shader/ir: Store a pointer to the instruction array in struct control_point_normaliser.
vkd3d-shader/ir: Store a pointer to the vsir program in struct control_point_normaliser.
vkd3d-shader/ir: Move the source and destination operand allocators to struct vsir_program.
vkd3d-shader/ir: Use iterators in struct vsir_block.
vkd3d-shader/ir: Introduce shader_instruction_array_append().
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in struct vsir_cfg_emit_target.
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in struct cf_flattener.
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader: Store a vkd3d_result in struct vkd3d_shader_parser.
vkd3d-shader/dxil: Handle sm6_parser_add_instruction() returning NULL.
vkd3d-shader/dxil: Set the parser status to VKD3D_ERROR_NOT_IMPLEMENTED on missing functionality.
vkd3d-shader/dxil: Propagate the vkd3d_result of sm6_parser_declare_global().
vkd3d-shader/dxil: Propagate parser errors in sm6_parser_init().
vkd3d-shader/dxil: Don't preallocate instructions in sm6_parser_globals_init().
vkd3d-shader/dxil: Don't preallocate instructions in sm6_function_emit_blocks().
vkd3d-shader/dxil: Get rid of sm6_parser_require_space().
vkd3d-shader/ir: Don't preallocate instructions in cf_flattener_iterate_instruction_array().
vkd3d-shader/ir: Don't preallocate instructions in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_jump().
vkd3d-shader/ir: Don't preallocate in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_block().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_loop().
vkd3d-shader: Update the vsir_program_iterator_insert_before() comment.
tests/shader_runner: Introduce a "cull-distance" capability.
tests/hlsl: Add a simpler clip/cull distance test.
tests/shader_runner_gl: Enable used GL_CLIP_DISTANCEs.
vkd3d-shader/dxil: Also map destination write masks for system values.
vkd3d-shader/ir: Validate I/O destination write masks on normalised vsir.
tests/hlsl: Test which shader models allow FOG and PSIZE.
vkd3d-shader/hlsl: Actually emit 0xf write masks for FOG and PSIZE destination operands.
vkd3d-shader/ir: Make FOG and PSIZE write masks 0x1 on I/O normalization.
vkd3d-shader/hlsl: Avoid member access on NULL resource load (ubsan).
vkd3d-shader/hlsl: Retrieve error_instr instead of NULL in hlsl_block_add_resource_load().
Giovanni Mascellani (105):
vkd3d: Use MESSAGE when exceeding Vulkan descriptor limits in d3d12_command_list_update_descriptor_table().
vkd3d-shader/msl: Access resources as non-multisampled if the sample count is 1.
vkd3d-shader/msl: Reject UAV stores to multi-sampled resources.
vkd3d-shader/ir: Introduce temp_allocator_compute_allocation_map().
vkd3d-shader/ir: Use a faster TEMP allocation algorithm.
vkd3d-shader/ir: Fix r0 allocation for PS 1.x shaders.
tests/hlsl: Skip a d3d11 minimum precision array indexing test on NVIDIA.
tests/hlsl: Fix the results for the 64-bit bit searching functions.
tests/hlsl: Skip a shader model 6 floating-point comparison test on Windows NVIDIA.
tests/hlsl: Explicitly specify the mantissa to be used for the frexp() test.
tests/hlsl: Skip testing frexp(inf) for shader models < 4.
tests/hlsl: Allow a larger error tolerance on a trigonometry test.
tests/shader_runner_metal: Enable supported UAV formats.
tests/hlsl: Add a test for SV_DispatchThreadId.
vkd3d-shader/msl: Implement VKD3DSPR_THREADID.
vkd3d-shader/ir: Do not carry "ins" across loop instances in vsir_program_materialize_undominated_ssas_to_temps().
vkd3d-shader/ir: Explicitly initialize instruction arrays.
vkd3d-shader/ir: Execute PHI SSA to TEMP materialization in a single pass.
vkd3d-shader/ir: Execute PHI SSA to TEMP materialization in each function.
ci: Run Linux tests on Debian trixie.
tests/hlsl: Add a test for SV_GroupIndex.
tests/hlsl: Add a test for SV_GroupID.
tests/hlsl: Add a test for SV_GroupThreadID.
vkd3d-shader/msl: Implement VKD3DSPR_LOCALTHREADINDEX.
vkd3d-shader/msl: Implement VKD3DSPR_LOCALTHREADID.
vkd3d-shader/msl: Implement VKD3DSPR_THREADGROUPID.
tests: Remove is_mesa_intel_device().
tests: Introduce get_vulkan_driver_version().
tests: Introduce get_mesa_driver_version().
tests: Introduce get_mvk_driver_version().
tests: Introduce get_nvidia_driver_version().
tests: Introduce get_llvm_driver_version().
tests/shader_runner: Introduce a new tag system.
vkd3d-shader/ir: Lower ABS modifiers to instructions.
vkd3d-shader/dxil: Generate ABS instructions instead of using modifiers.
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_binop().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in instruction_init_with_resource().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_dcl_register_builtin().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dx_dot().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in struct sm6_cmp_info.
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dcl_count().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dcl_primitive_topology().
vkd3d-shader/ir: Introduce VSIR_OP_NEG to represent floating-point negation.
vkd3d-shader/ir: Lower NEG modifiers to instructions.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the linear case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the exponential case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the doubly exponential case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the common part.
vkd3d-shader/ir: Lower ABSNEG modifiers to instructions.
vkd3d-shader/ir: Introduce VSIR_OP_SATURATE to represent floating-point clamping to [0, 1].
vkd3d-shader/ir: Lower SATURATE modifiers to instructions.
vkd3d: Do not put immutable samplers in the push descriptor set.
tests: Print ANSI colour codes in the Windows test driver.
tests/d3d12: Use D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE in test_depth_load().
tests/d3d12: Use D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE in test_stencil_load().
tests/hlsl: Check the result for attribute evaluation tests more sharply.
ci: Run the Windows tests with WARP version 1.0.16.1.
vkd3d-shader/ir: Remove SATURATE modifiers after lowering them.
vkd3d-shader/ir: Process all destinations when lowering SATURATE modifiers.
vkd3d-shader/ir: Ignore and drop PARTIALPRECISION modifiers.
vkd3d-shader/ir: Error out on unsupported destination modifiers.
vkd3d-shader/ir: Error out on unsupported source modifiers.
vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_lower_texcoord().
vkd3d-shader/ir: Explicitly assert that vsir_program_normalise_ps1_output() runs before I/O normalization.
vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_normalise_ps1_output().
vkd3d-shader/ir: Use VSIR_OP_SATURATE in insert_fragment_fog_before_ret().
vkd3d-shader/ir: Check that no modifier is added to a vsir program after lowering.
tests/hlsl: Use explicit infinities in cast-to-half.shader_test.
tests/hlsl: Do not test some details of float-to-half conversion.
tests/hlsl: Use explicit infinities in half.shader_test.
tests/hlsl: Evaluate asin() with larger error tolerance on SM6.
tests/hlsl: Add SM6 behaviour in sm1-const-folding.shader_test.
tests/hlsl: Tweak hyperbolic functions tests on WARP.
vkd3d-shader/msl: Introduce msl_get_binding().
vkd3d-shader/msl: Return a raw index from msl_get_binding().
vkd3d-shader/msl: Retrieve the CBV register space from the descriptor information.
tests/hlsl: Do not test overflowing a float-to-half typed buffer read.
tests/hlsl: Skip a tessellation test that is buggy on WARP with SM>=6.
vkd3d-shader/msl: Pass a descriptor to msl_get_cbv_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_srv_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_sampler_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_uav_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_binding().
tests/shader_runner_metal: Unify the UAV and TEXTURE cases when computing descriptor bindings.
vkd3d-shader/msl: Allow binding to descriptor arrays.
vkd3d-shader/msl: Implement support for VKD3DSPR_UNDEF registers.
tests/shader_runner_d3d12: Move the uniform root parameter to the end of the root signature.
tests/shader_runner: Add support for testing explicit descriptor mapping.
tests/hlsl: Test shader model 6.2 denormal mode for 32-bit floats.
tests/hlsl: Test shader model 6.2 denormal mode for 16-bit and 64-bit floats.
ci: Exclude the WARP driver from the test-win-32 and test-win-64 artifacts.
tests/hlsl: Do not execute 64-bit wave bitwise operations on WARP.
ci: Merge job test-win-64-dxc into test-win-64.
ci: Execute DXC tests on 32-bit as well.
tests/d3d12: Do not crash when failing to create a shader cache session.
tests/shader_runner_d3d12: Appropriately set the root descriptor table for dispatching.
tests/shader_runner_d3d12: Always create a descriptor heap.
tests/shader_runner: Generate a default descriptor mapping when none is provided.
tests/shader_runner_metal: Implement explicit descriptor mapping.
vkd3d-shader/dxil: Parse the gather offset as an int2.
tests/hlsl: Test using an SRV in combination with a CBV larger than the declared uniforms.
vkd3d-shader/spirv: Clamp push constant CBV sizes to those of the push constant ranges backing them.
tests/hlsl: Mark a denormalization mode test as todo on Intel.
tests/d3d12: Mark a texture aliasing test as todo on Intel.
Henri Verbeet (199):
tests/shader_runner: Use read_f32() to parse "uniform" directives.
tests/shader_runner: Use read_f64() to parse "uniform" directives.
vkd3d-shader: Implement scanning compute shader thread group size information.
vkd3d-shader/hlsl: Support MSL as target format.
vkd3d-shader/d3dbc: Store a pointer to the vsir program in struct vkd3d_shader_sm1_parser.
vkd3d-shader/dxil: Store a pointer to the vsir program in struct sm6_parser.
vkd3d-shader/tpf: Store a pointer to the vsir program in struct vkd3d_shader_sm4_parser.
vkd3d-common: Introduce VKD3D_SHADER_API_VERSION_CURRENT.
vkd3d-shader/ir: Generate location information in vsir_program_ensure_ret().
vkd3d-shader/ir: Generate location information in vsir_program_ensure_diffuse().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in use_flat_interpolation().
vkd3d-shader/ir: Pass a NULL location to vkd3d_shader_error() in insert_alpha_test_before_ret().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_alpha_test().
tests/shader_runner_metal: Implement compute shader dispatch.
vkd3d-shader/msl: Implement compute shaders.
vkd3d-shader/glsl: Implement support for static texel offsets in shader_glsl_ld().
vkd3d-shader/glsl: Implement VSIR_OP_DSX and VSIR_OP_DSY.
vkd3d-shader/glsl: Implement VSIR_OP_COS.
vkd3d-shader/glsl: Implement VSIR_OP_SIN.
vkd3d-shader/glsl: Implement VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_clip_planes().
vkd3d-shader/ir: Pass a NULL location to vkd3d_shader_error() in vsir_program_insert_point_size().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_point_size_clamp().
vkd3d-shader/ir: Generate location information in vsir_program_insert_point_coord().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_fragment_fog().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_vertex_fog().
vkd3d-shader/glsl: Implement VSIR_OP_UREM.
vkd3d-shader/glsl: Handle SV_INSTANCE_ID inputs.
vkd3d-shader/glsl: Implement support for VKD3DSPR_SAMPLEMASK registers.
vkd3d-shader/ir: Remove VSIR_OP_DCL_INPUT_PRIMITIVE instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_OUTPUT_TOPOLOGY instructions.
vkd3d-shader/ir: Introduce vsir_data_type_get_name().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_label_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_sampler_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_resource_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_uav_register().
vkd3d-shader/spirv: Rename vkd3d_spirv_get_type_id() to spirv_get_type_id_for_component_type().
vkd3d-shader/spirv: Rename vkd3d_spirv_get_type_id_for_data_type() to spirv_get_type_id().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_type_id_for_reg().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_spec_constant().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_buffer_parameter().
vkd3d-shader/d3d-asm: Check the actual index count in shader_print_register().
vkd3d-shader/dxil: Use vkd3d_shader_parser_error() to report errors in vsir_data_type_from_dxil().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_ssa_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_dst_param().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_src_param().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_elementwise_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_comparison_operation().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_register_addressing().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_descriptor_index().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_int_to_bool().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_int().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_int64().
vkd3d-shader/msl: Do not pretend to support initialisers for indexable temporaries.
vkd3d-shader/d3d-asm: Print data types for indexable temporary declarations.
vkd3d-shader/dxil: Emit 16-bit indexable temporaries as 32-bit registers.
vkd3d-shader/hlsl: Map HLSL_TYPE_HALF to VSIR_DATA_F32.
vkd3d-shader/ir: Map 16-bit vsir types to 16-bit component types in vkd3d_component_type_from_data_type().
vkd3d-shader/ir: Move the instruction array helpers to ir.c.
vkd3d-shader/hlsl: Implement constant folding of 'mad' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'sin' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'cos' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'reinterpret' expressions.
tests/hlsl: Add a constant folding test for round().
vkd3d-shader/hlsl: Implement constant folding of 'round' expressions.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_float().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_double().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_draw_parameter_fixup().
vkd3d-shader/spirv: Use spirv_get_type_id() in frag_coord_fixup().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_load_invocation_id().
vkd3d-shader/spirv: Handle i64 component types.
vkd3d-shader/ir: Handle all component types in vsir_data_type_from_component_type().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_cast_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_shift_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_throw_invalid_dst_type_error_with_flags().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_shader_epilogue_function().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dcl_indexable_temp().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_push_constant_buffers().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_cbv_declaration().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_resource_declaration().
vkd3d-shader/hlsl: vsir constant buffer sizes are specified in bytes.
vkd3d-shader/hlsl: Set the "flat constant" count in sm1_generate_vsir().
vkd3d-shader/hlsl: Use VKD3DSPR_COMBINED_SAMPLER destination operands in sm1_generate_vsir_sampler_dcls().
vkd3d-shader/hlsl: Set the "has_point_size" flag for vertex shaders outputting point sizes.
vkd3d-shader/ir: Make the vsir assembly data type names consistent with the corresponding enum elements.
vkd3d-shader/dxil: Allow returning signed types from vsir_data_type_from_dxil().
vkd3d-shader/dxil: Allow creating signed parameters in instruction_dst_param_init_ssa_scalar().
vkd3d-shader/dxil: Allow creating signed parameters in src_param_init_from_value().
vkd3d-shader/d3d-asm: Handle i64 immediate constants.
vkd3d-shader/ir: Require signed source operands for ITOF instructions.
vkd3d-shader/ir: Remove some unused fields from struct io_normaliser.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_workgroup_memory().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ext_glsl_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_movc().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_swapc().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dot().
tests/hlsl: Add a missing "}" to trigonometry.shader_test.
vkd3d-shader/ir: Require signed operands for ISHR instructions.
vkd3d-shader/ir: Validate USHR instructions.
vkd3d-shader/ir: Require signed source operands for signed integer comparison instructions.
vkd3d-shader/ir: Require signed operands for IMAX instructions.
vkd3d-shader/ir: Require signed operands for IMIN instructions.
vkd3d-shader/ir: Require default swizzles on vec4 immediate constants.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ftoi().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ftou().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dtof().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bitfield_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_f16tof32().
vkd3d-shader/ir: Avoid memset() in vsir_instruction_init().
vkd3d-shader/msl: Handle VSIR_DATA_BOOL operands.
vkd3d-shader/ir: Return early for shader model < 4 in vsir_update_dcl_temps().
vkd3d-shader/d3dbc: Don't call vsir_update_dcl_temps().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_f32tof16().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_comparison_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_float_comparison_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_lod().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ld_tgsm().
vkd3d-shader/spirv: Explicitly ignore HLSL compilation options.
vkd3d-shader/hlsl: Fold "x < 0" to false for unsigned x.
vkd3d-shader/hlsl: Remove a hlsl_type_is_integer() prototype.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_store_tgsm().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_uav_counter_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bufinfo().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_resinfo().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_query_sample_count().
vkd3d-shader/msl: Implement VSIR_OP_COS.
vkd3d-shader/msl: Implement VSIR_OP_SIN.
vkd3d-shader/msl: Implement VSIR_OP_TAN.
vkd3d-shader/msl: Implement VSIR_OP_HCOS.
vkd3d-shader/msl: Implement VSIR_OP_HSIN.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_sample_info().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_sample_position().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_eval_attrib().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_group_nonuniform_ballot().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_wave_bit_count().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_generate_spirv().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant_vector().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant64().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_construct_vector().
vkd3d-shader/msl: Implement VSIR_OP_HTAN.
vkd3d-shader/msl: Implement VSIR_OP_ACOS.
vkd3d-shader/msl: Implement VSIR_OP_ASIN.
vkd3d-shader/msl: Implement VSIR_OP_ATAN.
vkd3d-shader/msl: Implement VSIR_OP_FREM.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_spirv_builtin.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_symbol_register_data.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_register_info.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_symbol_resource_data.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_image.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_output_info.
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_array_variable().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_swizzle().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_vector_shuffle().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_scalar().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_dst_components().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_image_type_id().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ld_raw_structured_srv_uav().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_store_uav_raw_structured().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_atomic_instruction().
tests/shader_runner: Handle the "rgba" probe format as an alias for "f32".
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_load_src_with_type().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_dst_swizzled().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_interpolation_decorations().
vkd3d-shader: Get rid of component_type_is_64_bit().
vkd3d-shader/dxil: Ignore ORDERING_SEQCST.
vkd3d-shader/spirv: Do not handle division by zero for VSIR_OP_IDIV or VSIR_OP_IREM.
tests: Replace the test_shader_instructions() "ps_udiv" test with a shader runner test.
vkd3d-shader/glsl: Handle integer operands in shader_glsl_movc().
vkd3d-shader/ir: Handle integer division by zero in vsir_program_lower_udiv().
tests/shader_runner: Use format names if available in trace_format_cap().
vkd3d-shader/spirv: Handle VSIR_DATA_MIXED in spirv_get_type_id().
vkd3d-shader/msl: Implement VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Validate IDIV instructions.
vkd3d-shader/msl: Implement VSIR_OP_IDIV.
vkd3d-shader/msl: Implement VSIR_OP_UREM.
vkd3d-shader/ir: Require signed operands for IREM instructions.
vkd3d-shader/msl: Implement VSIR_OP_IREM.
vkd3d-shader/spirv: Emit an error for unhandled types in spirv_get_type_id().
tests/hlsl: Add tests for unorm and snorm buffer SRVs.
vkd3d-shader/glsl: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in shader_glsl_vprint_assignment().
vkd3d-shader/d3dbc: Trace the vsir program before applying any transformations.
tests: Test that ps_1_4 texld samples from the sampler corresponding to the destination operand.
vkd3d-shader/d3dbc: Get the resource/sampler index from the destination operand in vsir_program_lower_texld_sm1().
vkd3d-shader: Avoid referencing "ins" after insertion in vsir_program_materialise_phi_ssas_to_temps_in_function().
vkd3d-shader/spirv: Free the output on failure in spirv_compiler_generate_spirv().
vkd3d-shader/dxil: Only add declared ICBs to the vsir program.
vkd3d-shader/ir: Remove VSIR_OP_DCL_IMMEDIATE_CONSTANT_BUFFER instructions.
vkd3d-shader/msl: Include metal_stdlib in the generated code.
vkd3d-shader/msl: Implement VSIR_OP_SYNC.
vkd3d-shader/msl: Implement support for VKD3DSPR_IMMCONSTBUFFER registers.
vkd3d-shader/msl: Implement VSIR_OP_COUNTBITS.
vkd3d-shader/msl: Implement VSIR_OP_FIRSTBIT_LO.
vkd3d-shader/msl: Implement VSIR_OP_FIRSTBIT_HI.
vkd3d-common: Get rid of "vkd3d_dbg_env_name".
vkd3d-shader/d3d-asm: Avoid shader_print_data_type() in shader_dump_resource_data_type().
vkd3d-shader/hlsl: Consider scalars to be equivalent to 1-component vectors in hlsl_add_conditional().
vkd3d-shader: Document vkd3d_shader_scan_thread_group_size_info as a supported chained compilation structure.
vkd3d-shader: Explicitly support all chained compilation structures with vkd3d_shader_scan().
Nikolay Sivov (3):
vkd3d: Check that the allocator type matches the list type in d3d12_command_list_Reset().
vkd3d: Implement d3d12_device_CreateCommandList1().
tests/hlsl: Add some tests for special semantic name suffixes.
Petrichor Park (7):
tests: Normalise NAN values in compare_float() and compare_double().
tests/hlsl: Add some tests for the frexp() intrinsic.
vkd3d-shader/hlsl: Implement the frexp() intrinsic.
tests/hlsl: Split the test for countbits()/firstbithigh()/firstbitlow().
vkd3d-shader/hlsl: Implement the countbits() intrinsic.
vkd3d-shader/hlsl: Implement the firstbithigh() intrinsic.
vkd3d-shader/hlsl: Implement the firstbitlow() intrinsic.
Shaun Ren (29):
vkd3d-shader/hlsl: Check whether "expr" has more than 2 operands in hlsl_normalize_binary_exprs().
vkd3d-shader/glsl: Implement VSIR_OP_UGE.
vkd3d-shader/msl: Implement VSIR_OP_UGE.
vkd3d-shader/hlsl: Fold some general unary identities.
vkd3d-shader/hlsl: Fold some general conditional identities.
tests/shader_runner: Correct the minification filter and mipmap mode calculations.
tests/shader_runner: Correct the d3d11/d3d12 subresource indexing calculations.
tests/shader_runner: Allocate the d3d11/d3d12 resource_data arrays dynamically.
tests/hlsl: Add sample bias tests for cube textures.
vkd3d-shader/hlsl: Implement texCUBEbias().
tests/hlsl: Test ternary operations with integral vector operands.
vkd3d-shader/hlsl: Support SM1 non-floating point CMP expressions.
vkd3d-shader/hlsl: Remove the whitespace before the closing parenthesis in dump_ir_expr().
vkd3d-shader/hlsl: Reject SM1 programs with interpolation modifiers.
tests/shader_runner_d3d9: Add multisampling support.
tests/hlsl: Add tests for centroid interpolation in SM1.
vkd3d-shader/hlsl: Handle the "_centroid" modifier suffix in semantic names.
vkd3d-shader/hlsl: Add support for the centroid interpolation mode in SM1.
tests/shader_runner: Add a "compile shader model" require directive.
vkd3d-shader/ir: Determine the correct writemask for destinations with fixed masks.
vkd3d-shader/ir: Keep source swizzles for registers with fixed masks in temp_allocator_set_src().
vkd3d-shader/hlsl: Dump the jump condition node in dump_ir_jump().
tests/hlsl: Add some conditional flattening tests.
vkd3d-shader/hlsl: Cast discard_neg conditions to vec4 for d3dbc target profiles.
vkd3d-shader/hlsl: Store the flatten type in struct hlsl_ir_if.
vkd3d-shader/hlsl: Flatten conditional branches containing stores.
vkd3d-shader/hlsl: Flatten conditional blocks containing discard_nz instructions.
vkd3d-shader/hlsl: Flatten conditional blocks containing discard_neg instructions.
vkd3d-shader/hlsl: Use a bool type for "new_cond" in lower_conditional_block_discard_nz().
Victor Chiletto (6):
vkd3d-shader/hlsl: Emit texture declarations for SRV structured buffers.
vkd3d-shader/hlsl: Use the packed byte size as the stride for structured buffer texture declarations.
vkd3d-shader/hlsl: Emit vsir structured loads.
vkd3d-shader/hlsl: Force default majority for resource formats.
vkd3d-shader/hlsl: Emit RDEF metadata for SRV structured buffers.
tests/hlsl: Add a reflection test for SRV structured buffers.
```
1
0
The Wine development release 10.19 is now available.
What's new in this release:
- Support for reparse points.
- More support for WinRT exceptions.
- Refactoring of Common Controls after the v5/v6 split.
- Typed Arrays support in JScript.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.19.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.19/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.19 (total 34):
- #21483 Wine 1.1.33+ changed token security breaks .NET Framework 2.x SDK tools (debugging of managed code using 'Cordbg' and 'Mdbg')
- #45533 Multiple games need d3dx11_43.D3DX11CreateTextureFromMemory implementation (Puyo Puyo Tetris, HighFleet, Metro 2033, Project CARS)
- #48109 Lynx web browser hangs while starting and never shows start page
- #51630 "Enemy Territory: Quake Wars SDK 1.5 (EditWorld)" When typing in dialog forms (values, file names, etc.) program crashes
- #52128 Hog4PC 3.17 installer VBScript custom action needs scrrun:filesys_MoveFolder implementation
- #52251 Airline Tycoon Demo crashes on start
- #52371 Horizon Zero Dawn (GOG) gamepad not recognized
- #56187 windows.ui:uisettings fails on Windows 11
- #56935 Softube VST plugins are not drawing their UI
- #57001 Compute shader change causes Affinity Photo 2 to crash on start up
- #57241 Managed COM components fail to load outside of application directory
- #57569 BeamNG.drive minimizes its window during startup, with UseTakeFocus set to false.
- #58121 mIRC 7.81 not starting
- #58140 ODBC using unixodbc stopped working due to regression merge between 9.0 and 10.0
- #58320 ok() macro should not evaluate the format arguments if condition is not met.
- #58431 Pegasus Mail Changed font (regression)
- #58450 Total Annihilation (GOG, demo) – Wayland black screen on startup.
- #58504 MS Office 2007 semitransparent menus
- #58593 explorer.exe drop-down menu doesn't work
- #58631 WINE 10.13 breaks foobar2000
- #58650 Mouse cursor becomes invisible and unmovable
- #58832 Grey screen in Elasto Mania II on Wine 10.17
- #58872 Activated windows (via alt-tab) are not raised (sometimes).
- #58876 Windowed applications cannot be minimized in virtual desktop
- #58891 Mono's ProcessTest:Start1_FileName_Whitespace test fails
- #58893 Window caption updates have huge delay
- #58896 Control ultimate edition crashes with an out of vram error
- #58906 Starcraft: Brood war is stuttering
- #58915 Some RPG Maker MZ games experience issues with input handling
- #58916 winemac.drv no longer builds for i386
- #58918 Baldur's Gate 3 : Assertion failed : "!status && "vkQueueSubmit2KHR""
- #58930 Enemy Territory: Quake Wars SDK 1.5 launcher fails to start editor
- #58954 Explorer has broken interface
- #58955 Explorer has missing location bar
### Changes since 10.18:
```
Adam Markowski (1):
po: Update Polish translation.
Aida Jonikienė (2):
ntdll: Add SDL video driver variables to the special variables list.
ntdll: Add SDL audio driver variables to the special variables list.
Akihiro Sagawa (3):
quartz/tests: Add tests for 32 bpp AVI videos.
winegstreamer: Add ARGB32 format support for 32 bpp AVI videos.
winegstreamer: Always use bottom-up for AVI RGB videos.
Alexandre Julliard (46):
dbghelp: Use CRT allocation functions.
oleacc: Use CRT allocation functions.
quartz: Use CRT allocation functions.
shell32: Use CRT allocation functions.
user32: Use CRT allocation functions.
winedevice: Use CRT allocation functions.
kernelbase: Use NtCreateThreadEx() directly in CreateRemoteThreadEx().
ntdll: Handle the group affinity attribute in NtCreateThreadEx().
include: Install the wine/unixlib.h header.
schedsvc/tests: Remove Windows version check.
taskschd/tests: Remove Windows version check.
windows.storage: Forward some functions to shell32.
gdi32/uniscribe: Use CRT allocation functions.
iphlpapi: Use CRT allocation functions.
msvcp90: Use CRT allocation functions.
ntoskrnl: Use CRT allocation functions.
ole32: Use CRT allocation functions.
strmbase: Use CRT allocation functions.
comdlg32: Use CRT allocation functions.
faudio: Import upstream release 25.11.
ntdll: Treat FPU_sig and FPUX_sig as void* on i386.
kernelbase: Continue search if find_exe_file() found a directory.
kernelbase: Avoid using wine/heap.h helpers.
nsi: Avoid using wine/heap.h helpers.
winspool.drv: Avoid using wine/heap.h helpers.
winecrt0: Avoid using wine/heap.h helpers.
include: Remove the wine/heap.h header.
ntdll: Store special environment variables with a UNIX_ prefix.
ntdll: Set the environment variables for Unix child processes from their UNIX_ variant.
ntdll: Treat all the XDG_ variables as special.
ntdll: Don't import the Unix environment variables if they are too large.
winebuild: Don't bother to free spec file structures.
winebuild: Don't bother to free strings built by strmake().
winebuild: Use a generic array for apiset entries.
winebuild: Use a generic array for entry points.
winebuild: Use a generic array for imported functions.
winebuild: Use a generic array for variable values.
winebuild: Use generic arrays for resources.
winebuild: Assign section file positions once the offset is known.
ntdll: Don't copy WINEDLLOVERRIDES to the Windows environment.
ntdll: Remove Wine-internal variables from the Unix environment.
ntdll: Don't rebuild the Unix environment from the Windows one.
ntdll: Add some new processor features definitions.
ntdll: Use WINE_HOST_ instead of UNIX_ as environment variable prefix.
ntdll: Don't replace WINE_HOST_ variables if they already exist in the environment.
ntdll: Ignore some Unix variables when importing the environment.
Alistair Leslie-Hughes (1):
wined3d: Add GPU information for AMD Radeon RX 6700 XT.
Andrew Nguyen (1):
shell32: Retrieve shell autocompletion strings one at a time.
Anton Baskanov (12):
dmusic: Reuse downloaded waves.
dmsynth: Call fluid_sample_set_sound_data() with copy_data = FALSE.
dmsynth: Implement callback support in synth_Unload().
dmsynth: Release the waves when voices finish playing.
dmusic: Defer releasing IDirectMusicDownload when can_free is FALSE.
dmsynth: Allow zero-copy access to the sample data.
dmsynth: Remove format and sample_count from struct wave.
dmloader/tests: Add some ClearCache() tests.
dmloader: Free the cache entries manually in loader_Release().
dmloader: Don't remove the default collection from the cache.
dmloader: Mark cached objects as loaded.
dmloader: Don't use ReleaseObject() in loader_ClearCache().
Aric Stewart (1):
mf: Return E_NOINTERFACE if service is missing.
Bernd Herd (6):
gphoto2.ds: Progress dialog created by CreateDialog must be closed by DestroyWindow, not by EndDialog.
sane.ds: Progress dialog created by CreateDialog must be closed by DestroyWindow, not by EndDialog.
twain_32: Implement TWAIN feature DG_CONTROL / DAT_ENTRYPOINT / MSG_SET.
sane.ds: When opening a DS, return the identity information of the opened device.
sane.ds: Make comboboxes in property sheet high enough to properly drop down.
sane.ds: Fix setting resolution in user interface.
Bernhard Übelacker (11):
comctl32/tests: Terminate string literal by double null character (ASan).
itss: Avoid reading beyond buffer end in ITSProtocol_Start (ASan).
crypt32/tests: Add null character to avoid buffer overrun (ASan).
winhttp/tests: Fix setting string lengths in WinHttpCreateUrl_test (ASan).
iphlpapi/tests: Give GetBestRoute2 a SOCKETADDR_INET. (ASan).
iphlpapi/tests: Remove some unneeded casts to SOCKADDR_INET.
d3dx9_36/tests: Add end marker to the invalid tests (ASan).
d3d9/tests: Fix value of stride passed to DrawPrimitiveUP (ASan).
dsound: Avoid use after free in DSOUND_WaveFormat (ASan).
d3d8/tests: Increase size of quad array to avoid buffer overflow (ASan).
d3d9/tests: Increase size of quad array to avoid buffer overflow (ASan).
Brendan Shanks (15):
dwrite: Stop supporting very old FreeType versions.
win32u: Stop supporting very old FreeType versions.
winemac: Use C99 bool instead of int for Boolean values.
winemac: Use fallback implementation for color depth in GetDeviceCaps().
win32u: Unique URLs instead of file paths when enumerating Mac fonts.
opencl: Silence warnings on macOS for functions deprecated by OpenCL 1.2.
winemac: Fix an sprintf() deprecation warning.
winemac: Use CGDirectDisplayID in macdrv_get_monitors() and struct macdrv_adapter.
winemac: Have convert_display_rect() return a CGRect.
winemac: Stop using struct macdrv_display in macdrv_set_display_mode().
winemac: Stop using macdrv_get_displays() in macdrv_get_monitors().
winemac: Stop using macdrv_get_displays() in UpdateDisplayDevices().
winemac: Stop using macdrv_get_displays() in ChangeDisplaySettings(), GetDeviceGammaRamp(), SetDeviceGammaRamp().
winemac: Stop using macdrv_get_displays() in init_original_display_mode().
winemac: Remove macdrv_get_displays().
Charlotte Pabst (2):
ntdll/tests: Test image mapping with offset.
ntdll: Respect offset for image mappings.
Connor McAdams (9):
d3dx10: Downgrade invalid filter trace from an ERR to a WARN.
d3dx10/tests: Get rid of broken() workarounds for Vista.
d3dx10/tests: Cleanup test image definitions.
d3dx11: Add stubs for D3DX11GetImageInfoFromResource{A,W}().
d3dx11: Add stubs for D3DX11CreateTextureFromResource{A,W}().
d3dx11/tests: Rearrange and reformat tests to more closely match d3dx10 tests.
d3dx11/tests: Import test_get_image_info() from d3dx10.
d3dx11/tests: Import test_create_texture() from d3dx10.
d3dx11: Implement D3DX11CreateTextureFromMemory() using shared code.
Conor McCarthy (10):
mf: Update the stream sink input type when handling an output node format change.
mf/tests: Wait for sample delivery before checking the frame size.
mf/tests: Synchronise media event subscription.
mf/tests: Limit test_media_session_source_shutdown() session reuse tests.
mf/tests: Allow WAIT_TIMEOUT after close in test_media_session_Close().
mf/tests: Mark state comparison flaky after seek in test_media_session_seek().
mf/tests: Check the index in test_media_sink_GetStreamSinkByIndex().
mf/tests: Clean up at the end of test_media_session_seek().
mf/tests: Set test media stream sample duration by default and update current time on seek.
mf/tests: Create all MF test objects on the heap.
Elizabeth Figura (15):
winex11.drv: Fix an inverted condition in x11drv_surface_swap().
winex11: Trace flags with %#x.
ntdll/tests: Fix reparse test failures.
server: Implement FSCTL_SET_REPARSE_POINT.
server: Implement FSCTL_DELETE_REPARSE_POINT.
server: Implement FSCTL_GET_REPARSE_POINT.
ntdll: Pass attr and nt_name down to lookup_unix_name().
ntdll: Resolve IO_REPARSE_TAG_MOUNT_POINT during path lookup.
ntdll: Implement FILE_OPEN_REPARSE_POINT.
ntdll: Handle reparse points in NtQueryDirectoryFile().
ntdll: Return FILE_ATTRIBUTE_REPARSE_POINT from get_file_info().
ntdll: Fill FILE_ATTRIBUTE_REPARSE_POINT and the reparse tag in fd_get_file_info().
dxgi/tests: Use an explicit todo flag for checking window style.
kernelbase: Open the reparse point in CreateDirectory().
ntdll: Resolve IO_REPARSE_TAG_SYMLINK during path lookup.
Eric Pouech (5):
kernel32/tests: Test adding group affinity to proc/thread attributes list.
kernelbase: Support affinity group in process/thread attributes list.
include: Add missing process group related definitions.
kernel32/tests: Test thread creation with group affinity attributes.
kernelbase: Support group affinity attributes.
Erich Hoover (3):
kernelbase: Translate FILE_FLAG_OPEN_REPARSE_POINT.
kernelbase: Open the reparse point in DeleteFile().
kernelbase: Open the reparse point in RemoveDirectory().
Esme Povirk (1):
mscoree: Return S_OK from ICLRRuntimeHost_SetHostControl.
Fabian Maurer (1):
explorer: Increase height for pathbox to show dropdown elements.
Gabriel Ivăncescu (18):
jscript: Simplify get_flags to only check whether it's enumerable.
jscript: Add stub implementations for typed array constructors.
jscript: Add initial implementation of Typed Arrays.
jscript: Expose Typed Array constructor's BYTES_PER_ELEMENT prop.
jscript: Implement Typed Array construction on ArrayBuffers.
jscript: Implement ArrayBuffer.isView.
jscript: Implement Typed Array construction from objects.
jscript: Implement 'subarray' for Typed Arrays.
jscript: Implement 'set' for Typed Arrays.
jscript: Implement Uint8ClampedArray.
jscript: Expose Uint8ClampedArray only in ES6 mode.
jscript: Return JS_E_OBJECT_EXPECTED in valueOf with NULL disps in IE10+ modes.
mshtml: Add window.msCrypto stub.
mshtml: Add msCrypto.subtle stub.
mshtml: Implement msCrypto.getRandomValues.
mshtml: Implement "arraybuffer" type response for XMLHttpRequest.
mshtml: Use double for get_time_stamp to have sub-millisecond precision.
mshtml: Implement performance.now().
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.333.
Giovanni Mascellani (19):
mmdevapi/tests: Print the expected result code when failing a check.
mmdevapi: Use AUTOCONVERTPCM when initializing the audio client for spatial audio.
windows.media.speech: Use AUTOCONVERTPCM when initializing the audio client.
winmm: Use AUTOCONVERTPCM when initializing the audio client.
dsound: Use AUTOCONVERTPCM when initializing the capture audio client.
dsound: Use AUTOCONVERTPCM when initializing the render audio client.
dsound: Always require a floating-point mixing format.
dsound: Simplify computing the mixing format.
dsound: Do not query for mixing format support.
dsound: Do not query for supported formats for the primary buffer.
dxgi/tests: Add test context for D3D10 and D3D12 tests.
dxgi/tests: Test the frame latency waitable on D3D10 too.
dxgi/tests: Test the compatibility between the swapchain effect and the latency waitable.
dxgi: Do not allow the frame latency waitable for non-flip swap effects.
dxgi/tests: Test present count for D3D10, flip discard and no latency waitable.
dxgi/tests: Test present count for D3D10, flip discard and latency waitable.
mmdevapi/tests: Check that IsFormatSupported() sets the format to NULL when it returns E_POINTER.
mmdevapi: Move format validation in driver-independent code.
mmdevapi: Move generating the suggested format in the driver-independent code.
Hans Leidekker (2):
comdlg32/tests: Force console subsystem version 5.2.
shell32: Support SHARD_PATHW in SHAddToRecentDocs().
Haoyang Chen (5):
user32/tests: Add EM_{SET,GET}PASSWORDCHAR tests for edit control.
user32/edit: Allow setting password char on multiline edit controls.
comctl32/tests: Add EM_{SET,GET}PASSWORDCHAR tests for edit control.
comctl32/edit: Allow setting password char on multiline edit controls.
http.sys: Support the wildcard * in the hostname.
Jacek Caban (13):
mshtml/tests: Allow specifying compat mode and URL query string in single script mode.
jscript: Move SCRIPTLANGUAGEVERSION_ declarations to jsdisp.idl.
jscript: Don't expose DataView and ArrayBuffer objects in IE9 mode.
win32u: Introduce NtUserWintabDriverCall to provide a way for wintab32 to call display drivers.
wintab32: Attach tablet through win32u.
wintab32: Retrieve current tablet packet through win32u.
wintab32: Query tablet information through win32u.
wintab32: Initialize tablet through win32u.
winex11: Remove no longer needed unixlib.h.
opengl32: Take GL_CLIENT_STORAGE_BIT into account when picking vk memory type in create_buffer_storage.
opengl32: Use Vulkan-backed buffer storage only when GL_MAP_PERSISTENT_BIT is specified.
opengl32: Don't use PTR32 for manual wow64 wrappers return type.
opengl32: Add support for GL_NV_ES1_1_compatibility.
Jiajin Cui (4):
winex11.drv: Implement WS_EX_TRANSPARENT mouse pass-through with ShapeInput extension.
kernel32: Avoid some duplicate slashes in wine_get_dos_file_name.
gdiplus: Add memory cleanup on matrix inversion failure.
wow64win: Change parameter types from LONG to ULONG in wow64_NtUserMessageCall.
Jiangyi Chen (1):
ole32: Add support for writing VT_R8 property.
Kun Yang (1):
win32u: Change the stretch mode of dst hdc to ColorOnColor in TransparentBlt.
Marc-Aurel Zent (10):
winemac: Make macdrv_ime_process_key synchronous.
winemac: Remove QUERY_IME_CHAR_RECT and directly get ime_composition_rect.
kernelbase: Use NT_ERROR() to check for errors in WaitForMultipleObjectsEx.
kernelbase: Reimplement WaitForSingleObject[Ex] on top of NtWaitForSingleObject.
ntdll: Fix an off-by-one error in the pseudo-handle check for inproc syncs.
ntdll: Reimplement NtWaitForSingleObject without NtWaitForMultipleObjects.
ntdll: Reject pseudo-handles in NtWaitForMultipleObjects.
kernel32/tests: Add more tests for waits on pseudo-handles.
server: Fix Mach vm region info datatype in write_process_memory().
server: Correctly report partial write size in Mach write_process_memory().
Matteo Bruni (11):
dsound/tests: Get rid of a crashing test.
dsound: Simplify check in DSOUND_RecalcFormat().
dsound: Print time as an unsigned value.
dsound: Consistently trace locked byte count as an unsigned value.
dsound: Check data size in propset methods.
dsound: Fill all the DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE data.
dsound: Return the mmdevapi endpoint ID as module.
dsound/tests: Mark weird DescriptionW propset failure on the AMD testbot machine.
wined3d: Conditionally update saved window state in fullscreen mode.
dxgi/tests: Use test contexts in test_resize_target().
dxgi/tests: Test window states tracking and restoration in fullscreen mode.
Mohamad Al-Jaf (8):
windows.perception.stub/tests: Add IHolographicSpaceInterop::CreateForWindow() tests.
windows.perception.stub: Implement IHolographicSpaceInterop::CreateForWindow().
windows.perception.stub/tests: Add IHolographicSpace::get_PrimaryAdapterId() tests.
windows.perception.stub: Implement IHolographicSpace_get_PrimaryAdapterId().
windows.perception.stub: Stub some functions.
uxtheme: Handle NULL options in DrawThemeTextEx().
uxtheme/tests: Add some DrawThemeTextEx() tests.
windows.media.playback.mediaplayer/tests: Skip tests when CLASS_E_CLASSNOTAVAILABLE is returned.
Nikolay Sivov (32):
ntdll/tests: Remove some noisy traces.
dxcore/tests: Do not test for 0 deviceID.
rometadata: Use correct argument when unmapping a file view (Coverity).
dwrite: Add explicit inline helper for whitespace checks.
msxml3: Merge IXMLDocument and IXMLElement sources into a single file.
msxml3/tests: Add some tests for root element.
msxml3/tests: Add some tests for IXMLElement2::get_attributes().
msxml3/tests: Add some tests for comment nodes.
msxml3/tests: Add some tests for PI and CDATA nodes.
include: Fix IXMLDocument method spelling.
msxml3/tests: Add some more get_text() tests.
d2d1/effect: Add a description for the Gaussian Blur effect.
d2d1/effect: Add a description for the Point Specular effect.
d2d1/effect: Add a description for the Arithmetic Composite effect.
d2d1/tests: Reduce test run count for some tests.
d2d1/effect: Add property definitions for the Shadow effect.
msxml3: Rewrite legacy DOM API using SAX parser.
d2d1: Add property descriptions for the 2D Affine Transform effect.
d2d1/tests: Add a basic rendering test for the Flood effect.
user32/tests: Add some tests for GetWindow(GW_ENABLEDPOPUP).
user32: Implement GetWindow(GW_ENABLEDPOPUP).
d2d1/tests: Add some tests for creating shared bitmaps from IWICBitmapLock.
d2d1/effect: Add a separate factory functions for builtin effects.
d2d1/tests: Add another effect registration test.
gdi32: Ignore provided glyph position if ExtTextOutW() needs complex text processing.
d2d1: Add property bindings for a few of builtin effects.
d2d1: Add property data for the 3D Perspective Transform effect.
d2d1: Add property data for the Composite effect.
d2d1: Do not use property getter for standalone properties.
d2d1: Add property data for the Crop effect.
d2d1: Add property data for the Color Matrix effect.
dwrite/fallback: Add the Bamum Supplement range to the fallback data.
Paul Gofman (14):
ntdll: Implement NtAlertMultipleThreadByThreadId().
ntdll: Use NtAlertMultipleThreadByThreadId() in RtlWakeAddressAll().
xaudio2: Free effect chain on error return.
xaudio2_8: Add XAudio2CreateWithVersionInfo().
xaudio2_8: Don't crash on invalid XAPO interface.
ntdll: Set output frame to Rsp - 8 in epilogue on x64.
ntdll/tests: Test unwind with popping frame reg before another one on x64.
ntdll: Fix handling jmp in epilogue unwind on x64.
ntdll: Handle 0xff jump opcode in epilogue unwind on x64.
winhttp/tests: Always use secure connection to ws.ifelse.io in websocket tests.
ntdll: Fill IOSB in NtUnlockFile().
ntdll: Don't detect epilogue in chained unwind function on x64.
ntdll: Check for related functions in is_inside_epilog() when detecting tail call.
win32u: Fill some GPU info in HKLM\Software\Microsoft\DirectX.
Peter Castelein (1):
wined3d: Mark stateblock dirty in wined3d_stateblock_multiply_transform().
Piotr Caban (28):
msvcrt: Fix WinRT exception leaks in _except_handler4_common.
ucrtbase: Add __C_specific_handler tests.
include: Add DBCOLUMNDESC definition.
include: Define DBCOL_* GUIDs.
msado15: Return error in fields:_Append if recordset is open.
msado15: Stub object for representing tables in memory.
msado15: Store internal field representation in fields structure.
msado15: Support obtaining columns info from tables without provider.
msado15: Stub IRowsetExactScroll interface for tables without provider.
msado15: Add more _Recordset:AddNew tests.
vccorlib140: Move exception functions to new file.
vccorlib140: Remove platform_ prefix from exception function names.
msvcrt: Move TYPE_FLAG* and CLASS_IS* defines to cxx.h.
msado15: Stub IRowsetChange interface for tables without provider.
msado15: Stub IAccessor interface for tables without provider.
msado15: Improve Recordset::AddNew implementation.
msado15: Improve Recordset::get_RecordCount implementation.
vccorlib140: Fix exceptions RTTI data.
vccorlib140: Fix exception type descriptors.
msado15: Initilize Recordset columns lazily.
msado15: Skip bookmark column when creating IRowset Fields.
msado15: Stub IRowsetInfo interface for tables without provider.
msado15: Add partial IRowsetInfo::GetProperties implementation for tables without provider.
msado15: Improve _Recordset::CacheSize implementation.
msado15: Implement IRowset::GetNextRows for tables without provider.
msado15: Ignore first special column when populating Recordset.
msado15: Improve test IRowsetInfo::GetProperties implementation.
msado15: Fix test IRowsetLocate::GetRowsAt implementation.
Rémi Bernon (53):
win32u: Dispatch to the KHR function pointer when appropriate.
winex11: Flush X requests in X11DRV_SetWindowText.
wineandroid: Check if event list is empty before checking the pipe.
winemac: Only check if event pipe is drained with QS_ALLINPUT.
winex11: Only check if event pipe is drained with QS_ALLINPUT.
win32u: Don't strip semaphore / fence export info.
win32u: Set keyed mutex semaphore stage mask value.
win32u: Hoist get_thread_dpi in apply_window_pos.
win32u: Use a private flag to indicate fullscreen windows.
win32u: Get rid of is_window_rect_full_screen helper.
winex11: Prevent larger than monitor window resizes.
opengl32: Avoid a potential crash when flushing in wglSwapBuffers.
win32u: Disable vsync when emulating front buffer rendering.
winex11: Flush X requests in X11DRV_ActivateWindow.
winex11: Flush X requests in X11DRV_SetWindowIcons.
winex11: Flush X requests in X11DRV_SetWindowStyle.
winex11: Flush X requests in X11DRV_SetLayeredWindowAttributes.
winex11: Flush X requests in X11DRV_UpdateLayeredWindow.
win32u: Merge WM_SYSCOMMAND cases in WINE_WINDOW_STATE_CHANGED.
win32u: Don't forcefully activate windows before restoring them.
winex11: Make set_window_cursor helper static.
winex11: Remove unnecessary flushes from X11DRV_SetCapture.
winex11: Flush X requests in X11DRV_ClipCursor.
winex11: Flush X requests in X11DRV_SetCapture.
winex11: Flush X requests in X11DRV_NotifyIMEStatus.
winex11: Flush X requests in X11DRV_SetIMECompositionRect.
winex11: Flush X requests in X11DRV_FlashWindowEx.
winex11: Flush X requests in X11DRV_SystrayDockInit.
winex11: Flush X requests in X11DRV_SystrayDockRemove.
winex11: Flush X requests in X11DRV_SystrayDockInsert.
winevulkan: Force copy some missing semaphore / fence structs.
win32u: Stub NtGdiDdDDI(Signal|WaitFor)SynchronizationObjectFromCpu.
win32u/tests: Test NtGdiDdDDI(Signal|WaitFor)SynchronizationObjectFromCpu.
win32u/tests: Add external semaphore / fences tests.
vulkan-1/tests: Add timeline semaphore tests.
win32u: Consistently use "Wine Adapter" as default GPU name.
win32u: Use the native adapter name for some common GPUs.
win32u: Return the native OpenGL vendor name as GL_VENDOR string.
win32u: Return the native adapter name as GL_RENDERER string.
win32u: Add AMD Radeon RX 7600 XT device name.
winex11: Copy XF86VidModeModeInfo to the DEVMODEW driver data.
winex11: Always return full modes from settings handlers.
winex11: Introduce a x11drv_mode structure for full modes.
winex11: Retrieve full modes before applying new display settings.
winex11: Lock and flush display in X11DRV_ChangeDisplaySettings.
winevulkan: Move device quirks to the loader side.
winevulkan: Enumerate instance extensions on Vulkan initialization.
winevulkan: Check enabled instance extensions support on the PE side.
winevulkan: Enable VK_EXT_surface_maintenance1 extension on the instance.
winevulkan: Enumerate devices extensions on physical device initialization.
winevulkan: Check enabled device extensions support on the PE side.
winex11: Remove PFD_DRAW_TO_WINDOW from EGL configs not matching the display depth.
winevulkan: Avoid using nested quotes in make_vulkan format strings.
Tim Clem (5):
winemac.drv: Create window data for message-only windows.
ntdll: Retrieve FP state from an xcontext in the fpe handler, rather than the ucontext.
ntdll: Treat FPU_sig as a void* and memcpy to and from it as needed.
winemac.drv: Explicitly add an ivar for contentViewMaskLayer.
opengl32: Avoid null pointer dereferences when filtering extensions.
Vibhav Pant (20):
msvcrt: Call the destructor for C++ exceptions in __C_specific_handler.
vccorlib140/tests: Add additional tests for exception objects.
vccorlib140: Add Platform::Exception constructor implementation.
vccorlib140: Add Platform::Exception(HSTRING) constructor implementation.
vccorlib140: Add Platform::COMException constructor implementation.
vccorlib140: Add Platform::Exception::Message::get() implementation.
vccorlib140: Add Platform::Exception::CreateException() implementation.
vccorlib140: Throw exceptions on error paths.
vccorlib140: Implement __abi_translateCurrentException.
vccorlib140: Add stubs for {Get, Resolve}WeakReference.
vccorlib140: Implement {Get, Resolve}WeakReference.
vccorlib140: Add stub for __abi_ObjectToString.
vccorlib140: Add ToString() stubs for well-known types.
vccorlib140: Implement ToString() for well-known types.
vccorlib140: Implement __abi_ObjectToString.
vccorlib140: Implement IPrintable for Platform::Exception.
vccorlib140: Implement IPrintable for Platform::Type.
vccorlib140: Add stubs for delegate/EventSource helper functions.
vccorlib140: Implement delegate helper functions.
vccorlib140: Fix potential memory leak in allocation functions.
Wei Xie (3):
windowscodecs: Fix potential integer overflow in PNG format reader.
kernelbase: Allocate buffer dynamically in DefineDosDeviceW.
kernel32/tests: Add some DefineDosDeviceW test cases.
Yeshun Ye (2):
d2d1: Fix incorrect union member access in radial gradient brush.
d2d1: Fix missing geometry assignment in command list recording.
Yuxuan Shui (4):
include: Shut the compiler up about PDNS_RECORD array bounds.
include: Don't evaluate format arguments to ok() unless we need them.
kernel32/tests: Don't go beyond user space virtual address limit.
winetest: Add an option for setting timeout.
Zhengyong Chen (2):
ntdll/tests: Add NtRenameKey tests checking subkey after rename.
windowscodecs: Fix off-by-one check in IcoDecoder_GetFrame.
Zhiyi Zhang (37):
comctl32/tests: Test creating v5 windows after v6 manifest is deactivated.
user32: Fix loading comctl32 v5 after comctl32 v6 is loaded.
comctl32/tests: Test image list interoperation with comctl32 v5 and v6.
comctl32: Use a magic value to check if an image list is valid.
kernel32/tests: Add more GetModuleHandle() tests for WinSxS.
ntdll: Exclude SxS DLLs when finding a DLL with its base name and no activation contexts.
comctl32/progress: Add a helper to draw the background.
comctl32/progress: Move the theme background rect calculation.
comctl32/progress: Get the theme state directly from PROGRESS_INFO.
comctl32/progress: Get the theme handle from window.
comctl32/progress: Add a helper to check if a progress bar is smooth.
comctl32/progress: Add a helper to get the draw procedures.
comctl32/progress: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/progress: Add a helper to handle WM_THEMECHANGED.
comctl32/progress: Remove theming for comctl32 v5.
comctl32/propsheet: Remove theming for comctl32 v5.
comctl32/rebar: Add a helper to draw the gripper.
comctl32/rebar: Add a helper to draw the chevron.
comctl32/rebar: Add a helper to draw the band separator.
comctl32/rebar: Add a helper to draw the band background.
comctl32/rebar: Refactor REBAR_NCPaint().
comctl32/rebar: Remove theming for comctl32 v5.
comctl32/status: Refactor STATUSBAR_DrawSizeGrip() to take an HWND instead.
comctl32/status: Add a helper to draw the background for parts.
comctl32/status: Add a helper to draw the background.
comctl32/status: Remove theming for comctl32 v5.
comctl32/ipaddress: Use the system window text color to draw dots.
winex11.drv: Fix xinerama_get_fullscreen_monitors() not working correctly with non-fullscreen rects.
comctl32/tab: Add a helper to draw the border background.
comctl32/tab: Add a helper to draw the item theme background.
comctl32/tab: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/tab: Remove theming for comctl32 v5.
comctl32/toolbar: Add a helper to draw the separator.
comctl32/toolbar: Add a helper to draw the button frame.
comctl32/toolbar: Add a helper to draw the separator drop down arrow.
comctl32/toolbar: Add a helper to check if theme is enabled.
comctl32/toolbar: Remove theming for comctl32 v5.
```
1
0