Wine-announce
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 673 discussions
The Wine development release 11.0-rc1 is now available.
This is the first release candidate for the upcoming Wine 11.0. It
marks the beginning of the yearly code freeze period. Please give this
release a good testing and report any issue that you find, to help us
make the final 11.0 as good as possible.
What's new in this release:
- Mono engine updated to version 10.4.0.
- Locale data updated to Unicode CLDR 48.
- TWAINDSM module for scanner support on 64-bit.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.0/wine-11.0-rc1.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.0-rc1/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.0-rc1 (total 17):
- #36514 King's Quest: Mask of Eternity requires MCIWndCreate to create a child window when parent is specified
- #38924 HeapSize(GetProcessHeap(), 0, GlobalLock(hGlobal)) must succeed [wxWidgets samples, Tapps2, DirMaster]
- #56386 Gramps 5.2.0 displays empty windows
- #58037 Photoshop CS 2 installation never completes
- #58383 mmdevapi notify_thread busy waits when no midi driver can be loaded
- #58408 win32u:input: Performance regression in Resident Evil 2 due to internal messages processing.
- #58827 Running Mahjong with Wine ends without displaying the game screen
- #58949 Sound test in winecfg doesn't produce audio
- #58975 Mugen crashes after multiple matches on NVIDIA GPUs.
- #59006 FL Studio fails to minimize on Wine 10.19
- #59010 Window immediately restores after minimizing when a non-modal dialog is open
- #59041 Incorrect Casting for NET 10 Runtime Apps
- #59052 cmd doesn't handle all parameters in FOR /F command
- #59054 Oblivion crashes with unhandled page fault: wine 10.19
- #59061 Office 2013 File menu doesn't open
- #59064 Mass Effect Legendary Window Surface Not Drawn To
- #59075 various focus-related winforms tests fail in virtual desktop
### Changes since 10.20:
```
Akihiro Sagawa (1):
msvfw32: Retry with avivideo device type if open fails.
Alexandre Julliard (12):
Revert "icuin: Add initial dll."
Revert "icuuc: Add initial dll."
Revert "icu: Add stub dll."
ntdll: Remove "experimental wow64" message.
faudio: Import upstream release 25.12.
nls: Update locale data to CLDR version 48.
mmdevapi: Don't fall back to initial driver when the MIDI driver fails to load.
makedep: Add an install-unixlib target as a subset of install-lib.
makedep: Don't assume that .tab.h files don't contain includes.
wow64: Build a proper wow64 IO status block for FSCTL_GET_OBJECT_ID.
ntdll: Silence warning about non-builtin for fake dlls.
tomcrypt: Force using 32-bit math library.
Anton Baskanov (2):
dmsynth: Calculate latency and the derive latency clock from the master clock.
dmsynth: Factor out waiting for the buffer event.
Bernd Herd (8):
sane.ds: Fix ICAP_BITDEPTH semantics, allow setting it.
sane.ds: Refuse native transfer mode with depth 16 bit.
sane.ds: Support SANE Backends that treat resolution as TYPE_FIXED.
sane.ds: Make UI non-modal as required by Twain specification.
twaindsm: Put DSM code into twaindsm.dll and add twain_32.dll wrapper.
twaindsm: Implement DG_CONTROL/DAT_ENTRYPOINT/MSG_GET.
twaindsm: Add DG_CONTROL/DAT_CALLBACKx/MSG_REGISTER_CALLBACK to support TWAIN 2.x protocol.
twaindsm: Recursively search in C:\Windows\twain_xx for installed data sources.
Bernhard Übelacker (1):
faudio: Make sure at least some wavebank notifications get allocated (ASan).
Biswapriyo Nath (2):
include: Add D3D12_FEATURE_DATA_VIDEO_ENCODER_INTRA_REFRESH_MODE in d3d12video.idl.
include: Add missing member in D3D12_VIDEO_ENCODER_CODEC_PICTURE_CONTROL_SUPPORT.
Brendan Shanks (2):
win32u: Use asprintf in read_drm_device_prop.
winecoreaudio: Set the AudioChannelLayout on output units.
Charlotte Pabst (4):
mfsrcsnk/tests: Add tests for thinning.
winedmo: Fall back to dts for sample time if pts is not present.
mfsrcsnk: Process SetRate asynchronously.
mfsrcsnk: Implement thinning.
Derek Lesho (2):
opengl32: Cleanup glGet* and fix typo in glGetDoublev.
opengl32: Move GL error to wgl_context.
Dmitry Timoshkov (1):
ldap: Consistently use unicode version of QueryContextAttributes().
Elizabeth Figura (5):
qcap: Avoid inverting frame interval twice.
qcap: Iterate over all frame intervals to get the max/min.
qcap: Implement GetFrameRateList().
cmd: Print reparse points in directory listings.
cmd: Implement mklink /j.
Eric Pouech (10):
dbghelp: Fix skipping of inline call-site information.
dbghelp: Properly limit area of CU's symbols.
dbghelp: Properly skip S_FRAMEPROC inside thunk.
dbghelp: Silence a warning.
dbghelp: Don't use checksum on ELF files.
cmd: Enhance parsing of FOR /F options.
dbghelp: Detect and fail decorated TPI indexes.
dbghelp: Revamp DBI hash table.
dbghelp: Use contribution to select compiland for line info.
dbghelp: Use contrib to select compiland in advance_line_info.
Esme Povirk (1):
mscoree: Update Wine Mono to 10.4.0.
Floris Renaud (1):
po: Update Dutch translation.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.335.
Gerald Pfeifer (1):
user32/tests: Avoid compiler warnings in tests.
Giovanni Mascellani (3):
winmm/tests: Test a few PCM and float wave formats.
winmm/tests: Test some more exotic wave formats.
Revert "winmm: Use AUTOCONVERTPCM when initializing the audio client.".
Hans Leidekker (9):
cryptui: Properly initialize the filename in show_import_ui().
cryptui: Pass the certificate context to CryptUIWizImport() from the certificate viewer.
cryptui: Allow switching from automatic to manual certificate store selection.
wbemprox/tests: Fix test failures on Windows 11.
wbemprox/tests: Consistently use check_property_nullable().
bcrypt/tests: Fix test failures on Windows 8 and 11.
advapi32/tests: Fix test failures on Windows 11.
dbgeng/tests: Fix test failures on Windows 11.
fusion/tests: Run tests on .NET version 4.
Haoyang Chen (1):
devenum: Add DevicePath field for a video input device.
Henri Verbeet (8):
quartz/vmr7: Handle BI_BITFIELDS formats.
quartz/vmr7: Reject BI_RGB and BI_BITFIELDS formats with different bit depth.
quartz/vmr7: Reject unsupported FOURCC formats.
d3d11: Add the D3D11_DECODE_FILTER_REDUCTION macro.
d3d11/tests: Add a sampler min/max reduction filtering test.
wined3d/vk: Implement sampler min/max reduction filtering.
wined3d/gl: Implement sampler min/max reduction filtering.
wined3d: Create cube views for cube textures in wined3d_texture_acquire_identity_srv().
Jacek Caban (1):
wininet: Move dwError to http_request_t.
Martin Storsjö (7):
ntdll/tests: Update the reference code for a changed test.
ntdll/tests: Enable tests for save_next for float registers.
winedump: Fix the printout of a cornercase with packed arm64 unwind info.
ntdll: Implement handling of arm64 packed unwind for CR=01, RegI=1.
ntdll/tests: Add a missing testcase for arm64 packed unwind info.
ntdll: Rewrite arm64 packed unwind info handling.
ntdll: Handle arm64 packed unwind with H=1, RegI=RegF=0, CR!=1.
Matteo Bruni (21):
ddraw: Advertise NV12 FOURCC as supported.
quartz/vmr7: Implement IVMRSurfaceAllocatorNotify::SetDDrawDevice().
quartz/vmr7: Create a ddraw object if necessary to check for FourCC support.
quartz/vmr7: Validate BITMAPINFOHEADER size.
quartz/tests: Test allocating a surface with different bit depth from the primary.
quartz/tests: Test allocating BI_BITFIELDS pixel format.
quartz/tests: Test VMR7 AllocateSurface with a BITMAPV4HEADER.
quartz/tests: Add some VMR7 tests for unsupported formats.
ntdll: Factor out a cancel_io() function.
server: Factor out a cancel_async() function.
ntdll: Wait for all asyncs to handle cancel in NtCancelIoFile().
ntdll/tests: Add more NtCancelIoFile[Ex]() tests.
ntdll/tests: Test IOSB values of the cancel operation.
ntoskrnl/tests: Fix tests on current Windows 10 / 11.
ntoskrnl/tests: Add more cancellation tests.
ntoskrnl/tests: Test the thread ID the cancellation routine runs from.
ntoskrnl/tests: Use the 'Nt' version of the CancelIo APIs.
quartz/vmr7: Implement IVMRSurfaceAllocator::AdviseNotify() on the default allocator.
quartz/vmr7: Call IVMRSurfaceAllocator_AdviseNotify() on the default allocator.
quartz/tests: Show where AllocateSurface should be called.
include: Fix RenderPrefs_ForceOffscreen typo.
Nikolay Sivov (5):
comdlg32/tests: Add a helper to check for supported interfaces.
comdlg32/tests: Check for IModalWindow interface.
comdlg32/itemdlg: Add missing IModalWindow to supported interfaces.
d2d1: Add a Scale effect stub.
msxml/tests: Add some tests for supported interfaces in the SAX API.
Pan Hui (1):
wmp: Implement OLEIVERB_SHOW.
Paul Gofman (10):
include: Add defintions related to Windows.Perception.Spatial.SpatialAnchorExporter.
windows.perception.stub: Stub SpatialAnchorExporter class.
windows.perception.stub: Implement exporter_statics_RequestAccessAsync().
windows.media.speech: Synchronize IAsyncInfo implementation in async.c.
windows.gaming.input: Synchronize IAsyncInfo implementation in async.c.
cryptowinrt: Synchronize IAsyncInfo implementation in async.c.
windows.devices.enumeration: Synchronize IAsyncInfo implementation in async.c.
windows.security.credentials.ui.userconsentverifier: Synchronize IAsyncInfo implementation in async.c.
coremessaging: Synchronize IAsyncInfo implementation in async.c.
win32u: Don't alter memory beyond structure effective size in NtUserEnumDisplaySettings().
Piotr Caban (23):
msado15: Set ActiveConnection on recordset created by connection_OpenSchema.
msado15: Handle NULL values in field_get_Value.
msado15: Fix leak in recordset_put_CacheSize.
msado15: Support more properties in rowset_info_GetProperties.
msado15: Add _Recordset::LockType implementation.
msado15: Validate LockType in rsconstruction_put_Rowset.
msado15: Implement _Recordset::Supports function.
msado15: Add _Recordset::Supports tests.
include: Define CursorOptionEnum values using hexadecimal constants.
include: Add DBINDEXCOLUMNDESC definition.
include: Add IRowsetIndex interface.
include: Add IRowsetCurrentIndex interface.
msado15: Add _Recordset:put_Index implementation.
msado15: Add _Recordset:get_Index implementation.
msado15: Request features determined by lock type when opening table directly.
msado15: Add partial _Recordset:CancelUpdate implementation.
msado15: Add partial _Recordset::Update implementation.
msado15: Call _Recordset::Update when moving to new row.
msado15: Use accessors cache in _Recordset::AddNew.
msado15: Handle data argument in rowset_change_InsertRow.
msado15: Support setting values in _Recordset::AddNew.
msado15: Support setting values in _Recordset::Update.
msado15: Request more features when opening table directly.
Rémi Bernon (28):
win32u: Avoid a crash when drawable fails to be created.
win32u: Check internal drawables before trying to create new ones.
winex11: Allow client window creation on other process windows.
win32u: Update the window client surface even with no children.
server: Check whether window can be made foreground earlier.
server: Always allow windows to activate after their creation.
opengl32: Don't generate null functions for extensions.
opengl32: Generate some missing null functions.
opengl32: Expect core OpenGL functions to be present.
opengl32: Get OpenGL function table on process attach.
winemac: Avoid taking the window lock when creating client surface.
opengl32: Don't count EGL extensions in the registry arrays.
opengl32: List unsupported extensions rather than supported ones.
opengl32: Generate functions and constants for more EGL extensions.
win32u: Query EGL devices UUID with EGL_EXT_device_persistent_id.
winewayland: Update client surface position in update callback.
wined3d: Remove now unnecessary pixel format restoration.
wined3d: Create / release the window DCs with the swapchains.
win32u: Introduce a D3DKMT escape code to set fullscreen present rect.
wined3d: Set the window present rect when entering fullscreen mode.
wined3d: Use the backbuffer size rather than client rect when fullscreen.
server: Introduce a find_async_from_user helper.
mfsrcsnk: Introduce a DEFINE_MF_ASYNC_PARAMS macro.
mfsrcsnk: Factor out a media_source_request_stream_sample helper.
mfsrcsnk: Peek for stream token presence without removing it.
win32u: Require VK_KHR_external_semaphore_fd for keyed mutexes.
win32u: Expose onscreen single buffer formats with PFD_SUPPORT_GDI.
win32u: Workaround a 32-bit llvmpipe crash on initialization.
Vibhav Pant (2):
winebth.sys: Unify critical sections used for bluetooth_radio.
winebth.sys: Fix potential deadlocks while performing operations that block on the DBus event loop.
Yuxuan Shui (3):
winegstreamer: Fix SetOutputType of the wma decoder DMO.
mf/tests: Test Get{Input,Output}CurrentType.
winegstreamer: Implement media_object_Get{Input,Output}CurrentType.
Zhiyi Zhang (2):
user32/tests: Test scrollbar rect when WS_HSCROLL or WS_VSCROLL is present.
win32u: Remove scrollbar rect offsets when WS_HSCROLL or WS_VSCROLL is present.
```
1
0
The Wine development release 10.20 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.18.
- More support for reparse points.
- More refactoring of Common Controls after the v5/v6 split.
- Progress dialog for document scanning.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.20.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.20/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.20 (total 31):
- #41034 TomTom MyDrive Connect 4.x needs implementation of KERNEL32.dll.SetVolumeMountPointW
- #41644 Civilization v1.2: crashes on startup
- #42792 SQL Server 2012/2014: Installer requires ChangeServiceConfig2 with SERVICE_CONFIG_SERVICE_SID_INFO support (also affects Revit installer)
- #44948 Multiple apps need CreateSymbolicLinkA/W implementation (Spine (Mod starter for Gothic), GenLauncher (Mod manager for GeneralsZH), MS Office 365 installer)
- #49987 Multiple GTK Applications freeze/fail to start
- #54927 grepwinNP3 (part of Notepad3) crashes inside uxtheme
- #56577 QuarkXPress 2024 crashes on start with assertion error "symt_check_tag(&func->symt, SymTagFunction) || symt_check_tag(&func->symt, SymTagInlineSite)"
- #57486 The Last Stand: Aftermath: Loads infinitely
- #57703 Mega Man X DiVE Offline throws errors on startup unless regkeys for HKCR are added.
- #57972 Certain display modes (e.g. 1152x864) not available in virtual desktop mode
- #58023 Meld-3.22.2 fails to start with errormessagebox (retrieves incorrect path via XDG_DATA_HOME env var)
- #58041 PlayOnline Viewer: Black screen when running via winewayland.
- #58107 PlayOnline Viewer: Window not activated when restoring from a minimised state.
- #58341 Incorrect mapping of "home" button of 8bitdo Pro 2 controller (in Xbox mode)
- #58719 Wagotabi crashes on wine-10.15.
- #58800 tlReader 10.1.0.2004 toolbar has broken rendering
- #58831 the commit:win32u: Don't store the window OpenGL drawables on the DCs. Causing software deadlock
- #58833 PlayOnline Viewer: Excessive virtual memory size possibly leading into a crash.
- #58846 Geneforge 1 - Mutagen (Geneforge 2 - Infestation): black screen issue
- #58880 Winecfg in wine 10.17 can not create controls(buttons,links ...) in some configurations
- #58882 When setting Client Side Graphics=N (X11 Driver), interfaces such as winecfg.exe and regedit.exe display abnormally
- #58908 Arrow keys unresponsive/stuck in some games
- #58932 Some comboboxes are no longer sized correctly after commit in version 10.16
- #58971 after commit 18ce7964203b486c8236f2c16a370ae27539d2f0 wine no longer execute windows steam
- #58973 Many games crash on launch with new WoW64 wine-10.19 and discrete Nvidia GPU
- #58984 imhex: Constant flickering --> GUI unusable (regression)
- #58998 cmd broken, 'echo|set /p=%LOCALAPPDATA%' returns empty string
- #59003 StarCraft: assertion failed
- #59017 Synchronization barrier cannot be entered multiple times
- #59034 Client area of CLM Explorer main window is rendered completely black on startup
- #59050 HiveMQ CE 2025.5 crashes on startup (GetProcessHeap missing parentheses in iphlpapi.GetAnycastIpAddressTable stub)
### Changes since 10.19:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (13):
vkd3d: Import upstream release 1.18.
sxs: Implement SxspGenerateManifestPathOnAssemblyIdentity().
sxs: Truncate fields when building a manifest file name.
setupapi: Truncate fields when building a manifest file name.
ntdll: Truncate fields when building a manifest file name.
include: Add some new info classes.
png: Import upstream release 1.6.51.
ntdll: Support more ARM64 CPU features.
ntdll: Always rely on mprotect() to set PROT_EXEC permission.
iphlpapi: Fix GetProcessHeap typo.
winedump: Move string dump functions to the common code.
winedump: Add dumping of string and version resources for 16-bit.
server: Use standard status value instead of win32 error.
Alfred Agrell (5):
d2d1: Add Blend effect stub.
d2d1: Add Brightness effect stub.
d2d1: Add Directional Blur effect stub.
d2d1: Add Hue Rotation effect stub.
d2d1: Add Saturation effect stub.
Alistair Leslie-Hughes (1):
urlmon: FindMimeFromData return only the mime type.
Anton Baskanov (38):
dmsynth/tests: Test instrument selection.
dmsynth: Factor out instrument fallback logic from synth_preset_noteon().
dmsynth: Don't rely on the FluidSynth bank selection logic.
dmsynth/tests: Add DLS tests.
dmsynth: Use 0.1% as the sustain level unit.
dmsynth: Don't add 1000 to the sustain modulators.
dmsynth: Handle channel pressure events.
dmsynth: Use a factor of 1/10 for modulation LFO x channel pressure -> gain connections.
dmsynth: Trace lAttenuation as a signed integer.
dmsynth: Handle sample attenuation.
dmsynth: Handle bipolar transform for LFO connections.
dmsynth: Set GEN_EXCLUSIVECLASS to the key group.
dmsynth: Make voice shutdown instant.
dmsynth: Explicitly ignore CONN_DST_EG1_SHUTDOWNTIME.
dmsynth: Factor out play_region().
dmsynth: Move find_region() after play_region().
dmsynth: Add layering support.
dmusic: Fix data size calculation in wave_create_from_soundfont().
dmusic: Remove the unused loop_resent field from struct region.
dmusic: Determine sample loop type from SF_GEN_SAMPLE_MODES.
dmusic: Treat SF_GEN_(START|END)LOOP_ADDRS_OFFSET as offsets from the sample loop points.
dmusic: Take coarse loop offsets into account.
dmusic: Compare unity note with an unsigned 16-bit constant.
dmusic: Take coarse tune into account in instrument_add_soundfont_region().
dmusic: Set attenuation based on SF_GEN_INITIAL_ATTENUATION.
dmusic: Add IIR filter resonance hump compensation.
dmusic: Add an 8 dB attenuation to normalize SF2 instrument volume.
dmusic: Take sample correction into account.
dmusic: Treat fine tune as a signed value.
dmusic: Set F_INSTRUMENT_DRUMS for bank 128.
dmusic: Use SF_GEN_EXCLUSIVE_CLASS to set the key group.
dmusic: Add preset generator values in a separate pass.
dmusic: Don't pass preset generators to parse_soundfont_generators().
dmusic: Intersect ranges for SF_GEN_KEY_RANGE and SF_GEN_VEL_RANGE.
dmusic: Convert generators to DLS connections.
dmusic: Add default modulators.
dmusic: Parse instrument modulators.
dmusic: Parse preset modulators.
Bernd Herd (10):
sane.ds: Avoid segfault with backends that have integer array options like 'test'.
sane.ds: Replace LocalLock/LocalUnlock with GlobalLock/GlobalUnlock.
sane.ds: Store CAP_XFERCOUNT to activeDS.capXferCount.
sane.ds: Apply SANE_Start() and SANE_Cancel().
sane.ds: Fill TW_IMAGEMEMXFER.YOffset in SANE_ImageMemXferGet.
sane.ds: Implement DG_CONTROL/DAT_PENDINGXFERS/MSG_GET based on scannedImages counter.
sane.ds: Read frame data until EOF in native transfer mode.
sane.ds: Load last settings from registry immediatly when opening the DS.
sane.ds: Add cancel button and progress bar to progress dialog.
sane.ds: Display message if ADF is empty in ADF scan.
Bernhard Kölbl (2):
dwrite: Add the Cyrillic range to the fallback data.
dwrite: Add the Supplemental Arrows-C range to the fallback data.
Bernhard Übelacker (6):
user32/tests: Avoid out-of-bounds access in DdeCreateDataHandle (ASan).
user32: Avoid out-of-bounds read in DdeCreateDataHandle with offset (ASan).
ntdll/tests: Avoid out-of-bounds read in call_virtual_unwind_x86 (ASan).
shell32: Avoid double-free in enumerate_strings when cur is zero (ASan).
cmd: Skip directories if they exceed MAX_PATH in WCMD_list_directory (ASan).
ntdll/tests: Dynamically load RtlIsProcessorFeaturePresent.
Biswapriyo Nath (1):
include: Add symbols for av1 encoder in d3d12video.idl.
Brendan Shanks (5):
winemac: Silence OpenGL-related warnings.
user32/tests: Add tests for DisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO ).
win32u: Add semi-stub for NtUserDisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO ).
win32u: Store whether a monitor is HDR-capable in gdi_monitor.
winemac: Report whether monitors are HDR-capable based on NSScreen.maximumPotentialExtendedDynamicRangeColorComponentValue.
Connor McAdams (6):
d3dx10/tests: Use check_texture{2d,3d}_desc_values helpers in check_resource_info().
d3dx11/tests: Use check_texture{2d,3d}_desc_values helpers in check_resource_info().
d3dx9/tests: Add some image filter tests.
d3dx10/tests: Add some image filter tests.
d3dx11/tests: Add some image filter tests.
d3dx: Implement a box filter.
Derek Lesho (4):
win32u/tests: Set GL_DEDICATED_MEMORY_OBJECT_EXT on import.
win32u/tests: Test named Vulkan export.
win32u/tests: Test shared handle lifetime.
win32u/tests: Test GL_EXT_semaphore_win32.
Dmitry Timoshkov (3):
services: Return success for ChangeServiceConfig(SERVICE_CONFIG_SERVICE_SID_INFO).
windowscodecs: Optimize a bit reading the 3bps RGB TIFF tile.
kerberos: Add translation of 32-bit SecPkgContext_SessionKey in wow64_query_context_attributes() thunk.
Elizabeth Figura (19):
wined3d: Get rid of alpha-based color keying.
server: Retain the ? suffix when renaming or linking reparse points.
kernelbase: Open the reparse point in CreateHardLink().
kernelbase: Open the reparse point in SetFileAttributes().
ntdll: Handle . and .. segments in relative symlinks.
xactengine3/tests: Add tests for properties.
xactengine3/tests: Add many more tests for notifications.
xactengine3/tests: Test renderer details.
xactengine3/tests: Test variables.
xactengine3/tests: Test SetMatrixCoefficients() channel counts.
xactengine3/tests: Test wavebank type mismatch.
d3d11: Use GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS in D3D11CoreCreateDevice().
d3d11: Implement DecoderExtension().
wined3d: Make SHADOW into a format attr.
winex11: Flush after presenting.
ntdll: Implement FileIdExtdBothDirectoryInformation.
kernelbase: Report the reparse tag from FindNextFile().
kernel32: Implement SetVolumeMountPoint().
mountmgr.sys: Report FILE_SUPPORTS_REPARSE_POINTS for volumes we report as NTFS.
Eric Pouech (11):
cmd: Force flushing the prompt in SET /P command.
kernel32/tests: Test std handles in CreateProcess with pseudo console.
kernelbase: Create std handles from passed pseudo-console.
kernel32/tests: Skip some tests when feature isn't present on Windows.
cmd: Fix some quirks around CALL.
cmd: Add more tests about echo:ing commands.
cmd: Store '@' inside CMD_NODE.
cmd: Don't use precedence when rebuilding commands.
cmd: Properly echo commands.
cmd: Match native output for $H in prompt.
cmd: Expand loop variables nested in !variables!.
Erich Hoover (2):
kernelbase: Open the reparse point in MoveFileWithProgress().
kernelbase: Implement CreateSymbolicLink().
Gabriel Ivăncescu (2):
jscript: Do existing prop lookups for external props only on objects with volatile props.
mshtml: Add the node props to document fragments in IE9+ modes.
Giovanni Mascellani (1):
mmdevapi: Fix WoW64 structure for is_format_supported.
Hans Leidekker (5):
widl: Use the metadata short name for parameterized types.
widl: Make sure attributes are added for imported member interfaces.
widl: Don't add a type reference for IInspectable.
include: Fix size_is syntax in IPropertyValue methods.
wine.inf: Add .crt association.
Jacek Caban (4):
opengl32: Free buffer wrappers after driver calls.
opengl32: Factor out use_driver_buffer_map.
opengl32: Support persistent memory emulation on top of GL_AMD_pinned_memory.
opengl32: Simplify wow64_unmap_buffer.
Jactry Zeng (3):
winemac.drv: Support to get EDID from DCPAVServiceProxy.
winemac.drv: Support to get EDID from IODisplayConnect.
winemac.drv: Support to generate EDID from display parameters from Core Graphics APIs.
Joe Souza (7):
cmd/tests: Add tests for COPY to self.
cmd: Don't attempt to copy a file to itself.
xcopy: Fix leaked resource in an error case.
xcopy/tests: Add test for XCOPY to self.
xcopy: Don't attempt to copy a file to itself.
xcopy: Return proper error code in copy file to self failure.
cmd: Add ':' to delimiters for tab-completion support.
Ken Sharp (1):
po: Update English resource.
Kun Yang (1):
windowscodecs: Support NULL input palette in ImagingFactory_CreateBitmapFromHBITMAP.
Louis Lenders (2):
wbemprox: Add PartialProductKey and ApplicationId to SoftwareLicensingProduct class.
wbemprox: Use case insensitive search in get_method.
Marcus Meissner (1):
kernel32/tests: Fix argument size to GetVolumeNameForVolumeMountPointW.
Matteo Bruni (6):
mmdevapi: Share NULL GUID session.
mmdevapi/tests: Accept any digit before the process ID in the session instance identifier.
mmdevapi/tests: Test capture session state in render:test_session_creation().
mmdevapi/tests: Get rid of questionable error handling.
mmdevapi/tests: Simplify handling of failure to get a capture endpoint.
mmdevapi/tests: Conditionally apply todo_wine to SetSampleRate() tests.
Nikolay Sivov (5):
d2d1/tests: Explicitly use WARP device for IWICBitmapLock tests.
d2d1/tests: Print adapter information.
dwrite: Add an alternative name for the Noto Sans Symbols font.
msxml: Add support for user-defined functions in msxsl:script blocks.
msxml3: Ignore UseInlineSchema property.
Paul Gofman (23):
comctl32/tests: Add tests for WM_MEASUREITEM with combobox.
comctl32/combo: Adjust MEASUREITEMSTRUCT.itemHeight by 2 instead of 6.
user32/combo: Adjust MEASUREITEMSTRUCT.itemHeight by 2 instead of 6.
win32u: Only delete subkeys when clearing DirectX key.
ntoskrnl.exe: Open thread with MAXIMUM_ALLOWED access in KeGetCurrentThread().
quartz/dsoundrender: Get rid of DSoundRenderer_Max_Fill buffer data queue limit.
quartz/test: Check for EC_COMPLETE more often in test_eos().
quartz/dsoundrender: Send all queued samples to dsound before issuing EC_COMPLETE.
quartz/dsoundrender: Do not send EC_COMPLETE while flushing.
ntdll: Rename waiting_thread_count to structure_lock_count in barriers implementation.
ntdll/tests: Add tests for iterative barrier usage.
ntdll: Support iterative barrier usage without re-initialization.
win32u: Initialize surface with white colour on creation.
kernelbase: Set last error in GetModuleFileNameExW().
win32u: Ignore startup cmd show mode for owned windows.
win32u: Fetch startup info flags during initialization.
win32u: Implement NtUserModifyUserStartupInfoFlags().
user32/tests: Add tests showing that MessageBox() resets STARTF_USESHOWWINDOW.
win32u: Clear STARTF_USESHOWWINDOW in MessageBoxIndirectW().
msvfw32/tests: Add tests for MCI window styles.
msvfw32: Add WS_CHILD attribute for window if parent is specified.
msvfw32: Set correct styles for popup and child windows.
msvfw32: Set child window id for MCI child window.
Piotr Caban (33):
msado15: Add partial IRowset::AddRefRows implementation for tables without provider.
msado15: Add IRowset::RestartPosition implementation for tables without provider.
msado15: Fix test GetNextRows implementation.
msado15: Set cursor position on provider side.
msado15: Improve _Recordset::BOF implementation.
msado15: Improve _Recordset::EOF implementatio.
msado15: Improve IAccessor::CreateAccessor implementation for tables without provider.
msado15: Add partial IRowset::GetData implementation for tables without provider.
msado15: Add partial IRowset::SetData implementation for tables without provider.
msado15: Fix initial row loading condition in _Recordset::MoveNext.
msado15: Fix initial row loading condition in _Recordset::MovePrevious.
msado15: Store column ordinal number in field structure.
msado15: Reimplement Field::get_Value and Field::put_Value.
msado15: Fix memory leak for tables without provider.
msado15: Don't use row index in _Recordset::get_EditMode.
msado15: Remove _Recordset::put_Filter hack.
msado15: Implement IRowsetLocate::GetRowsAt for tables without provider.
msado15: Set bookmark column value in rowset_change_InsertRow.
msado15: Handle data type conversion in rowset_GetData.
msado15: Use IRowsetLocate to access database rows if available.
msado15: Reimplement _Recordset::{put,get}_Bookmark.
msado15: Add _Recordset::MoveFirst test.
msado15: Remove unused code for storing/manipulating database data in _Recordset object.
msado15: Remove IRowset QueryInterface checks.
msado15: Change data type used for fetching longer bookmarks.
msado15: Add INT_PTR bookmark type.
msado15: Store data in column format in memory rowset provider.
include: Add IRowsetView interface.
include: Add IViewChapter interface.
include: Add IViewFilter interface.
msado15: Add IRowsetUpdate interface in tests.
msado15: Fix crash in _Recordset::Close() when releasing uninitialized Field objects.
msado15: Add more _Recordset::put_Filter tests.
Rémi Bernon (51):
win32u: Make a copy of the GL_RENDERER / GL_VENDOR strings.
win32u: Move vulkan device wrapper from winevulkan.
winevulkan: Allocate instance static debug objects dynamically.
win32u: Move instance wrappers from winevulkan.
win32u: Use the vulkan instance wrappers for D3DKMT.
winex11: Set dmDriverExtra for detached full modes.
hid: Implement HidP_SetData.
win32u: Set the DC pixel format too in wglSetPixelFormatWINE.
win32u: Keep the D3D internal OpenGL surfaces on the DCs.
win32u: Get rid of window internal pixel format.
win32u: Use 0x20 for iconic WM_ACTIVATE message wparam.
win32u: Avoid INT_MAX overflow in map_monitor_rect.
win32u: Avoid crashing if Vulkan is disabled or failed to load.
winex11: Avoid unmapping window if it only got layered style.
winevulkan: Avoid returning innacurate extension counts.
winex11: Track requested WM_NORMAL_HINTS to avoid unnecessary requests.
winex11: Track requested WM_HINTS to avoid unnecessary requests.
winex11: Track requested _NET_WM_WINDOW_STATE to avoid unnecessary requests.
winex11: Track requested _NET_WM_ICON to avoid unnecessary requests.
win32u: Keep devices EGL platforms in a list.
win32u: Add the display device first in the EGL device list.
win32u: Terminate non-display EGL devices after initialization.
win32u: Skip non-display software EGL devices initialization.
win32u: Fix crash in NtUserUpdateLayeredWindow if blend is NULL.
winex11: Initialize thread data when checking _NET_WM_STATE mask.
winex11: Don't update client maximized state if window is minimized.
win32u: Release internal OpenGL drawables outside of the user lock.
win32u: Avoid leaking semaphore and fence exported fds.
include: Add some new DMO classes to wmcodecdsp.idl.
msvdsp: Add stub dll.
vidreszr: Add stub dll.
mfsrcsnk: Ignore streams with unsupported media types.
winevulkan: Move api checks out of the constructors.
winevulkan: Simplify enum alias handling.
winevulkan: Split get_dyn_array_len into params / member classes.
winevulkan: Pass parent / params to get_dyn_array_len directly.
winevulkan: Create function param and struct member lists beforehand.
winevulkan: Precompute struct type constant from member list.
win32u: Add some extra 4:3 resolutions to the virtual modes.
winex11: Pass client rect to create_client_window.
winex11: Remove some unnecessary NtUserGetClientRect calls.
ddraw/tests: Use a dedicated window instead of the desktop window.
user32/tests: Use a dedicated window instead of the desktop window.
win32u: Introduce a NtUserSetForegroundWindowInternal call.
server: Set NULL foreground input when switching to desktop window.
server: Forbid background process window reactivation.
winex11: Update window position in client surface update callback.
win32u: Update client surfaces starting from toplevel window.
winex11: Only use XRender bilinear filter with client-side graphics.
win32u: Skip minimized windows when looking for another window to activate.
win32u: Hide owned popups after minimizing their owner window.
Stian Low (6):
wined3d: Move the Vulkan blitter to texture_vk.c.
wined3d: Move Vulkan texture functions to texture_vk.c.
wined3d: Move GL texture functions to texture_gl.c.
wined3d: Move the FBO blitter to texture_gl.c.
wined3d: Move the raw blitter to texture_gl.c.
wined3d: Move the FFP blitter to texture_gl.c.
Tim Clem (1):
winex11.drv: Set use_egl to false if it is unavailable.
Vibhav Pant (26):
rometadata: Add stubs for IMetaDataImport.
rometadata/tests: Add tests for IMetaDataTables::{EnumTypeDefs, GetTypeDefProps, FindTypeDefByName}.
rometadata/tests: Add tests for IMetaDataImport::{EnumMethods, GetMethodProps, GetNativeCallConvFromSig}.
rometadata/tests: Add tests for IMetaDataImport::{EnumFields, GetFieldProps}.
rometadata/tests: Add tests for IMetaDataImport::GetCustomAttributeByName.
rometadata/tests: Add tests for IMetaDataImport::{EnumProperties, GetPropertyProps}.
rometadata: Implement IMetaDataImport::{EnumTypeDefs, CountEnum, ResetEnum}.
rometadata: Implement IMetaDataImport::GetTypeDefProps.
rometadata: Implement IMetaDataImport::FindTypeDefByName.
rometadata: Implement IMetaDataImport::{EnumMethods, GetMethodProps}.
rometadata: Implement IMetaDataImport::EnumFields.
rometadata: Implement IMetaDataImport::GetFieldProps.
widl: Fix MethodList value for apicontract and enum typedefs.
rometadata/tests: Add tests for IMetaDataDispenser::OpenScopeOnMemory.
rometadata/tests: Add additional tests for IMetaDataImport::GetCustomAttributeByName.
rometadata: Perform bound checks before decoding blob sizes in assemblies.
rometadata: Fix incorrect bit width calculation.
rometadata: Implement IMetaDataDispenser::OpenScopeOnMemory.
rometadata: Implement IMetaDataTables::{EnumProperties, GetPropertyProps}.
rometadata: Implement IMetaDataImport::GetCustomAttributeByName.
rometadata/tests: Add tests for IMetaDataImport::{EnumMethodsWithName, FindMethod}.
rometadata/tests: Add tests for IMetaDataImport::{EnumFieldsWithName, FindField}.
rometadata/tests: Add tests for IMetaDataImport::{EnumMembersWithName, FindMember}.
rometadata: Implement IMetaDataImport::EnumMethodsWithName.
rometadata: Implement IMetaDataImport::FindMethod.
rometadata: Implement IMetaDataImport::{EnumFieldsWithName, FindField}.
Vijay Kiran Kamuju (2):
vcomp: Add omp_get_wtick() implementation.
user32: Fix loading cursor image with resource id using LR_LOADFROMFILE on older windows versions.
Yuxuan Shui (4):
mf/tests: Test what's returned from ProcessOutput when input ran out.
winegstreamer: Return S_FALSE from DMO when there is not enough data.
winegstreamer: Only change DMO's output type if SetOutputType is successful.
winegstreamer: Add missing read thread wait in SetOutputProps failure path.
Zhiyi Zhang (25):
comctl32/tests: Add tests for toolbar WM_ERASEBKGND handling.
comctl32/tests: Add tests for toolbar WM_PAINT handling.
comctl32/toolbar: Erase the background in TOOLBAR_Refresh() when TBSTYLE_TRANSPARENT is present for comctl32 v6.
comctl32/trackbar: Add a helper to get the pen color for drawing tics.
comctl32/trackbar: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/trackbar: Remove theming for comctl32 v5.
comctl32/treeview: Add a helper to draw plus and minus signs.
comctl32/treeview: Add a helper to fill theme background.
comctl32/treeview: Remove theming for comctl32 v5.
comctl32/updown: Add a helper to get the buddy border size.
comctl32/updown: Add a helper to get the buddy spacer size.
comctl32/updown: Add helpers to get the arrow state.
comctl32/updown: Add helpers to get the arrow theme part and state.
comctl32/updown: Add a helper to check if buddy background is needed.
comctl32/updown: Refactor UPDOWN_DrawBuddyBackground() to support drawing background when theming is disabled.
comctl32/updown: Add a helper to draw the up arrow.
comctl32/updown: Add a helper to draw the down arrow.
comctl32/updown: Remove theming for comctl32 v5.
comctl32: Remove theming for comctl32 v5.
comctl32_v6/taskdialog: Fix not enough width for the expando button text.
icu: Add stub dll.
icuuc: Add initial dll.
icuin: Add initial dll.
include: Add icu.h.
include: Add more definitions from ICU 72.1.
```
1
0
The vkd3d team is proud to announce that release 1.18 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.18.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.18
### libvkd3d
- The CreateCommandList1() method of the ID3D12Device4 interface is
implemented.
### libvkd3d-shader
- Several new features and improvements for the HLSL source type:
- Flattening of branched code. I.e., code using if/else statements can be
turned into conditional moves when that's either advantageous or
necessary. Cases where this is necessary include targeting shader model
2.0 or earlier, as well as code using the ‘flatten’ attribute.
- More constant folding improvements. For example:
- asfloat(), asint(), asuint(), cos(), mad(), round(), and sin()
operations are constant folded.
- ‘true ? x : y’ is folded to ‘x’
- ‘x ? true : false’ is folded to ‘x’
- ‘||x||’ is folded to ‘|x|’
- ‘~~x’ is folded to ‘x’
- ‘x < 0’ is folded to ‘false’ for unsigned ‘x’
- The following intrinsic functions:
- countbits()
- firstbithigh()
- firstbitlow()
- frexp()
- texCUBEbias()
- Integer-typed conditional expressions in shader model 1-3 target
profiles. Previously these were only supported in shader model 4+ target
profiles.
- Resource loads from ‘StructuredBuffer’ resources.
- ‘centroid’ interpolation modifiers in shader model 1-3 target profiles.
- Support for ‘\_centroid’ modifier suffixes on I/O semantics. I.e.,
‘float2 t : TEXCOORD0_centroid’ is equivalent to ‘centroid float2 t :
TEXCOORD0’.
- The following legacy Direct3D byte-code instructions are implemented:
- bem
- tex
- texbem
- texbeml
- texcoord
- The experimental Metal Shading Language (MSL) target supports the
following features:
- Compute shaders.
- Immediate-constant buffers.
- Standard, inverse, and hyperbolic trigonometric functions.
- Integer division and remainder operations.
- Floating-point remainder operations.
- Bit scanning and counting operations.
- Boolean operands, as produced by DXIL sources.
- Barrier operations.
- When the experimental MSL target is enabled, the ‘hlsl’ source type can be
used in combination with the ‘msl’ target type to convert HLSL shaders to
MSL.
- Signed integer operations like min() and max() are correctly translated
from DXIL to MSL. Previously these would end up getting translated as
unsigned operations, and would thus mishandle negative values.
- The experimental OpenGL Shading Language (GLSL) target supports the
following features:
- Screen-space partial derivatives.
- sin() and cos() operations.
- Unsigned integer division and remainder operations.
- Static texel offsets on texture load operations.
- ‘SV_Coverage’ fragment shader outputs.
- ‘SV_InstanceID’ inputs.
- Textual output formats are documented to have a zero byte following their
output. This can be convenient for passing such output to functions
expecting a null-terminated string. For some output formats this was
already true in earlier versions of vkd3d, but not guaranteed by the API.
- New interfaces:
- The vkd3d_shader_d3dbc_source_info structure extends the
vkd3d_shader_compile_info structure, and can be used to specify
auxiliary information for legacy Direct3D byte-code (‘d3dbc’) shaders
that's necessary for target formats like SPIR-V and GLSL, but not
specified by ‘d3dbc’ shaders. In particular, it allows specifying
resource/sampler types for shader model 1 fragment shaders, as well as
which samplers are comparison-mode samplers for shader model 1-3
shaders.
- The vkd3d_shader_scan_thread_group_size_info structure extends the
vkd3d_shader_compile_info structure, and can be used to to retrieve the
thread group size expected by a compute shader. This information is
particularly useful when targeting Metal environments, because the Metal
API requires the thread group size to be specified through its dispatch
API, instead of being specified by the shader.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_LUMINANCE_OFFSET_[0-5] shader
parameters specify the corresponding bump-mapping luminance offsets.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_LUMINANCE_SCALE_[0-5] shader
parameters specify the corresponding bump-mapping luminance scale
factors.
- The VKD3D_SHADER_PARAMETER_NAME_BUMP_MATRIX_[0-5] shader parameters
specify the corresponding bump-mapping transformation matrices.
### Changes since vkd3d 1.17:
```
Andrey Gusev (1):
vkd3d: Recognise VK_QUEUE_OPTICAL_FLOW_BIT_NV in debug_vk_queue_flags().
Anna (navi) Figueiredo Gomes (3):
vkd3d-shader/hlsl: Remove the duplicate HLSL_IR_STRING_CONSTANT branch from evaluate_static_expression().
vkd3d-shader/hlsl: Add a default value fail test with all allowed instructions.
vkd3d-shader/hlsl: Properly free default values when discarding them.
Conor McCarthy (9):
tests/hlsl: Add a test for branching in a hull shader patch constant function.
vkd3d-shader: Set the program block count to the maximum for any function.
tests/hlsl: Add a test for branching in a hull shader control point function.
vkd3d-shader/spirv: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in spirv_get_type_id().
vkd3d-shader/spirv: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in image_format_for_image_read().
tests/hlsl: Add a precise MAD test where the first component is not x.
vkd3d-shader/ir: Fix the addition swizzle in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Use an SSA intermediate in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Fix the FTOU swizzle for MOVA in vsir_program_normalize_addr().
Elizabeth Figura (66):
vkd3d-shader/d3dbc: Move TEXLDD lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move TEXLDL lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move d3dbc SINCOS lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move TEXKILL lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Move IFC lowering to vsir_program_lower_d3dbc_instructions().
vkd3d-shader: Dump shaders in vkd3d_shader_preprocess().
vkd3d-shader/hlsl: Ensure yacc tokens are positive.
vkd3d-shader/glsl: Do not make a copy of the buffer before returning it.
vkd3d-shader/preproc: Do not make a copy of the buffer before returning it.
vkd3d-shader/hlsl: Initialize the allocator with a type.
vkd3d-shader/ir: Reallocate temps.
vkd3d-shader/hlsl: Use unique temps for non-indexable variables.
vkd3d-shader/hlsl: Use unique temps for per-component operations.
vkd3d-shader/hlsl: Use unique temps for SINCOS.
vkd3d-shader/hlsl: Use a simple counter for indexable temps.
vkd3d-shader/hlsl: Remove liveness range tracking from the allocator.
tests: Test null-termination.
tests: Test special characters.
vkd3d-shader: Document the null terminator appended for textual formats.
vkd3d-utils: Null-terminate the output of D3DDisassemble().
vkd3d-utils: Null-terminate the output of D3DPreprocess().
vkd3d-shader/d3dbc: Move the error for unhandled d3dbc instructions to vsir_program_lower_d3dbc_instructions().
vkd3d-shader/d3dbc: Lower TEXTURE to TEMP registers when written.
vkd3d-shader/d3dbc: Lower TEX instructions.
vkd3d-shader/d3dbc: Lower TEXCOORD instructions.
vkd3d-shader/ir: Validate TEXTURE registers.
vkd3d-shader/ir: Validate BEM.
vkd3d-shader/hlsl: Use the semantic.resource_type field for texture DCL instructions.
vkd3d-shader/hlsl: Use unique IDs for descriptors before 5.1.
vkd3d-shader/ir: Introduce a vsir DCE pass.
vkd3d-shader/hlsl: Make ConstructGSWithSO an intrinsic function.
vkd3d-shader/hlsl: Return a node from lower_ir().
vkd3d-shader/hlsl: Rename lower_ir() to replace_ir().
vkd3d-shader/hlsl: Use replace_ir() for fold_swizzle_chains().
vkd3d-shader/hlsl: Use replace_ir() for fold_trivial_swizzles().
vkd3d-shader/hlsl: Use replace_ir() for fold_redundant_casts().
vkd3d-shader/d3dbc: Create vsir descriptor information in the parser.
vkd3d-shader/hlsl: Create vsir descriptor info in hlsl_parse().
vkd3d-shader: Remove sm1-specific descriptor scanning logic.
vkd3d-shader: Remove the no longer used flat_constant_count field from struct vsir_program.
vkd3d-shader: Introduce an interface to specify 1.x texture dimensions.
vkd3d-shader: Introduce an interface to specify sm1 shadow samplers.
vkd3d-shader/glsl: Wrap gl_GlobalInvocationID in an uvec4.
vkd3d-shader/ir: Implement an initial vsir copy propagation pass.
tests: Test a shader with many semantics.
vkd3d-shader/d3dbc: Fix writing vertex input semantics.
vkd3d-shader/spirv: Allow swizzling parameters.
vkd3d-shader: Lower BEM instructions.
vkd3d-shader: Lower TEXBEM instructions.
vkd3d-shader: Lower TEXBEML instructions.
tests: Allow RTV -> SRV blits in the d3d9 runner.
tests: Set tags in the d3d9 runner.
tests: Add bump mapping tests.
vkd3d-shader/hlsl: Introduce hlsl_block_add_constant().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_swizzles().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_identities().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_fold_constant_exprs().
vkd3d-shader/hlsl: Use replace_ir() for fold_conditional_identities().
vkd3d-shader/hlsl: Use replace_ir() for fold_unary_identities().
vkd3d-shader/hlsl: Use replace_ir() for hlsl_normalize_binary_exprs().
vkd3d-shader/hlsl: Use replace_ir() for lower_resource_load_bias().
vkd3d-shader/hlsl: Use replace_ir() for lower_discard_nz().
vkd3d-shader/hlsl: Write the used sampler dimension for generic samplers in the CTAB.
vkd3d-shader/hlsl: Do not deduplicate sampler types in the CTAB.
vkd3d-shader/hlsl: Write a "dimx" of 4 for combined sampler types in the CTAB.
vkd3d-shader/hlsl: Only prepend a $ for parameters with the uniform keyword.
Francisco Casas (52):
vkd3d-shader/ir: Use iterators in vsir_program_insert_fragment_fog().
vkd3d-shader/ir: Use iterators in vsir_program_insert_vertex_fog().
vkd3d-shader/ir: Use iterators in track_liveness().
vkd3d-shader/ir: Use iterators in vsir_allocate_temp_registers().
vkd3d-shader/ir: Use iterators in vsir_update_dcl_temps().
vkd3d-shader/ir: Use iterators in vsir_program_validate().
vkd3d-shader/ir: Introduce vsir_program_iterator_insert_before_and_move().
vkd3d-shader/ir: Use iterators in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/dxil: Use vsir_program_append() in sm6_function_emit_blocks().
vkd3d-shader/dxil: Use vsir_program_append() in sm6_parser_add_instruction().
vkd3d-shader/dxil: Use sm6_parser_add_instruction() in sm6_parser_descriptor_type_init().
vkd3d-shader/ir: Avoid direct instruction array access in validation_error().
vkd3d-shader/ir: Use iterators in control_point_normaliser_emit_hs_input().
vkd3d-shader/ir: Use iterators in flattener_flatten_phases().
vkd3d-shader/ir: Merge the hull shader phase flattener into a single pass.
vkd3d-shader/ir: Use iterators in struct vsir_cfg.
vkd3d-shader/ir: Move icbs from struct vkd3d_shader_instruction_array to struct vsir_program.
vkd3d-shader/ir: Move the outpointid_param field out of struct vkd3d_shader_instruction_array.
vkd3d-shader/ir: Store a pointer to the instruction array in struct control_point_normaliser.
vkd3d-shader/ir: Store a pointer to the vsir program in struct control_point_normaliser.
vkd3d-shader/ir: Move the source and destination operand allocators to struct vsir_program.
vkd3d-shader/ir: Use iterators in struct vsir_block.
vkd3d-shader/ir: Introduce shader_instruction_array_append().
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in struct vsir_cfg_emit_target.
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in struct cf_flattener.
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/ir: Use a vkd3d_shader_instruction_array in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader: Store a vkd3d_result in struct vkd3d_shader_parser.
vkd3d-shader/dxil: Handle sm6_parser_add_instruction() returning NULL.
vkd3d-shader/dxil: Set the parser status to VKD3D_ERROR_NOT_IMPLEMENTED on missing functionality.
vkd3d-shader/dxil: Propagate the vkd3d_result of sm6_parser_declare_global().
vkd3d-shader/dxil: Propagate parser errors in sm6_parser_init().
vkd3d-shader/dxil: Don't preallocate instructions in sm6_parser_globals_init().
vkd3d-shader/dxil: Don't preallocate instructions in sm6_function_emit_blocks().
vkd3d-shader/dxil: Get rid of sm6_parser_require_space().
vkd3d-shader/ir: Don't preallocate instructions in cf_flattener_iterate_instruction_array().
vkd3d-shader/ir: Don't preallocate instructions in vsir_program_lower_switch_to_selection_ladder().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_jump().
vkd3d-shader/ir: Don't preallocate in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_block().
vkd3d-shader/ir: Don't preallocate instructions in vsir_cfg_structure_list_emit_loop().
vkd3d-shader: Update the vsir_program_iterator_insert_before() comment.
tests/shader_runner: Introduce a "cull-distance" capability.
tests/hlsl: Add a simpler clip/cull distance test.
tests/shader_runner_gl: Enable used GL_CLIP_DISTANCEs.
vkd3d-shader/dxil: Also map destination write masks for system values.
vkd3d-shader/ir: Validate I/O destination write masks on normalised vsir.
tests/hlsl: Test which shader models allow FOG and PSIZE.
vkd3d-shader/hlsl: Actually emit 0xf write masks for FOG and PSIZE destination operands.
vkd3d-shader/ir: Make FOG and PSIZE write masks 0x1 on I/O normalization.
vkd3d-shader/hlsl: Avoid member access on NULL resource load (ubsan).
vkd3d-shader/hlsl: Retrieve error_instr instead of NULL in hlsl_block_add_resource_load().
Giovanni Mascellani (105):
vkd3d: Use MESSAGE when exceeding Vulkan descriptor limits in d3d12_command_list_update_descriptor_table().
vkd3d-shader/msl: Access resources as non-multisampled if the sample count is 1.
vkd3d-shader/msl: Reject UAV stores to multi-sampled resources.
vkd3d-shader/ir: Introduce temp_allocator_compute_allocation_map().
vkd3d-shader/ir: Use a faster TEMP allocation algorithm.
vkd3d-shader/ir: Fix r0 allocation for PS 1.x shaders.
tests/hlsl: Skip a d3d11 minimum precision array indexing test on NVIDIA.
tests/hlsl: Fix the results for the 64-bit bit searching functions.
tests/hlsl: Skip a shader model 6 floating-point comparison test on Windows NVIDIA.
tests/hlsl: Explicitly specify the mantissa to be used for the frexp() test.
tests/hlsl: Skip testing frexp(inf) for shader models < 4.
tests/hlsl: Allow a larger error tolerance on a trigonometry test.
tests/shader_runner_metal: Enable supported UAV formats.
tests/hlsl: Add a test for SV_DispatchThreadId.
vkd3d-shader/msl: Implement VKD3DSPR_THREADID.
vkd3d-shader/ir: Do not carry "ins" across loop instances in vsir_program_materialize_undominated_ssas_to_temps().
vkd3d-shader/ir: Explicitly initialize instruction arrays.
vkd3d-shader/ir: Execute PHI SSA to TEMP materialization in a single pass.
vkd3d-shader/ir: Execute PHI SSA to TEMP materialization in each function.
ci: Run Linux tests on Debian trixie.
tests/hlsl: Add a test for SV_GroupIndex.
tests/hlsl: Add a test for SV_GroupID.
tests/hlsl: Add a test for SV_GroupThreadID.
vkd3d-shader/msl: Implement VKD3DSPR_LOCALTHREADINDEX.
vkd3d-shader/msl: Implement VKD3DSPR_LOCALTHREADID.
vkd3d-shader/msl: Implement VKD3DSPR_THREADGROUPID.
tests: Remove is_mesa_intel_device().
tests: Introduce get_vulkan_driver_version().
tests: Introduce get_mesa_driver_version().
tests: Introduce get_mvk_driver_version().
tests: Introduce get_nvidia_driver_version().
tests: Introduce get_llvm_driver_version().
tests/shader_runner: Introduce a new tag system.
vkd3d-shader/ir: Lower ABS modifiers to instructions.
vkd3d-shader/dxil: Generate ABS instructions instead of using modifiers.
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_binop().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in instruction_init_with_resource().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_dcl_register_builtin().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dx_dot().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in struct sm6_cmp_info.
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dcl_count().
vkd3d-shader/dxil: Rename "handler_idx" to "opcode" in sm6_parser_emit_dcl_primitive_topology().
vkd3d-shader/ir: Introduce VSIR_OP_NEG to represent floating-point negation.
vkd3d-shader/ir: Lower NEG modifiers to instructions.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the linear case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the exponential case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the doubly exponential case.
vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the common part.
vkd3d-shader/ir: Lower ABSNEG modifiers to instructions.
vkd3d-shader/ir: Introduce VSIR_OP_SATURATE to represent floating-point clamping to [0, 1].
vkd3d-shader/ir: Lower SATURATE modifiers to instructions.
vkd3d: Do not put immutable samplers in the push descriptor set.
tests: Print ANSI colour codes in the Windows test driver.
tests/d3d12: Use D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE in test_depth_load().
tests/d3d12: Use D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE in test_stencil_load().
tests/hlsl: Check the result for attribute evaluation tests more sharply.
ci: Run the Windows tests with WARP version 1.0.16.1.
vkd3d-shader/ir: Remove SATURATE modifiers after lowering them.
vkd3d-shader/ir: Process all destinations when lowering SATURATE modifiers.
vkd3d-shader/ir: Ignore and drop PARTIALPRECISION modifiers.
vkd3d-shader/ir: Error out on unsupported destination modifiers.
vkd3d-shader/ir: Error out on unsupported source modifiers.
vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_lower_texcoord().
vkd3d-shader/ir: Explicitly assert that vsir_program_normalise_ps1_output() runs before I/O normalization.
vkd3d-shader/ir: Use VSIR_OP_SATURATE in vsir_program_normalise_ps1_output().
vkd3d-shader/ir: Use VSIR_OP_SATURATE in insert_fragment_fog_before_ret().
vkd3d-shader/ir: Check that no modifier is added to a vsir program after lowering.
tests/hlsl: Use explicit infinities in cast-to-half.shader_test.
tests/hlsl: Do not test some details of float-to-half conversion.
tests/hlsl: Use explicit infinities in half.shader_test.
tests/hlsl: Evaluate asin() with larger error tolerance on SM6.
tests/hlsl: Add SM6 behaviour in sm1-const-folding.shader_test.
tests/hlsl: Tweak hyperbolic functions tests on WARP.
vkd3d-shader/msl: Introduce msl_get_binding().
vkd3d-shader/msl: Return a raw index from msl_get_binding().
vkd3d-shader/msl: Retrieve the CBV register space from the descriptor information.
tests/hlsl: Do not test overflowing a float-to-half typed buffer read.
tests/hlsl: Skip a tessellation test that is buggy on WARP with SM>=6.
vkd3d-shader/msl: Pass a descriptor to msl_get_cbv_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_srv_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_sampler_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_uav_binding().
vkd3d-shader/msl: Pass a descriptor to msl_get_binding().
tests/shader_runner_metal: Unify the UAV and TEXTURE cases when computing descriptor bindings.
vkd3d-shader/msl: Allow binding to descriptor arrays.
vkd3d-shader/msl: Implement support for VKD3DSPR_UNDEF registers.
tests/shader_runner_d3d12: Move the uniform root parameter to the end of the root signature.
tests/shader_runner: Add support for testing explicit descriptor mapping.
tests/hlsl: Test shader model 6.2 denormal mode for 32-bit floats.
tests/hlsl: Test shader model 6.2 denormal mode for 16-bit and 64-bit floats.
ci: Exclude the WARP driver from the test-win-32 and test-win-64 artifacts.
tests/hlsl: Do not execute 64-bit wave bitwise operations on WARP.
ci: Merge job test-win-64-dxc into test-win-64.
ci: Execute DXC tests on 32-bit as well.
tests/d3d12: Do not crash when failing to create a shader cache session.
tests/shader_runner_d3d12: Appropriately set the root descriptor table for dispatching.
tests/shader_runner_d3d12: Always create a descriptor heap.
tests/shader_runner: Generate a default descriptor mapping when none is provided.
tests/shader_runner_metal: Implement explicit descriptor mapping.
vkd3d-shader/dxil: Parse the gather offset as an int2.
tests/hlsl: Test using an SRV in combination with a CBV larger than the declared uniforms.
vkd3d-shader/spirv: Clamp push constant CBV sizes to those of the push constant ranges backing them.
tests/hlsl: Mark a denormalization mode test as todo on Intel.
tests/d3d12: Mark a texture aliasing test as todo on Intel.
Henri Verbeet (199):
tests/shader_runner: Use read_f32() to parse "uniform" directives.
tests/shader_runner: Use read_f64() to parse "uniform" directives.
vkd3d-shader: Implement scanning compute shader thread group size information.
vkd3d-shader/hlsl: Support MSL as target format.
vkd3d-shader/d3dbc: Store a pointer to the vsir program in struct vkd3d_shader_sm1_parser.
vkd3d-shader/dxil: Store a pointer to the vsir program in struct sm6_parser.
vkd3d-shader/tpf: Store a pointer to the vsir program in struct vkd3d_shader_sm4_parser.
vkd3d-common: Introduce VKD3D_SHADER_API_VERSION_CURRENT.
vkd3d-shader/ir: Generate location information in vsir_program_ensure_ret().
vkd3d-shader/ir: Generate location information in vsir_program_ensure_diffuse().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in use_flat_interpolation().
vkd3d-shader/ir: Pass a NULL location to vkd3d_shader_error() in insert_alpha_test_before_ret().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_alpha_test().
tests/shader_runner_metal: Implement compute shader dispatch.
vkd3d-shader/msl: Implement compute shaders.
vkd3d-shader/glsl: Implement support for static texel offsets in shader_glsl_ld().
vkd3d-shader/glsl: Implement VSIR_OP_DSX and VSIR_OP_DSY.
vkd3d-shader/glsl: Implement VSIR_OP_COS.
vkd3d-shader/glsl: Implement VSIR_OP_SIN.
vkd3d-shader/glsl: Implement VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_clip_planes().
vkd3d-shader/ir: Pass a NULL location to vkd3d_shader_error() in vsir_program_insert_point_size().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_point_size_clamp().
vkd3d-shader/ir: Generate location information in vsir_program_insert_point_coord().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_fragment_fog().
vkd3d-shader/ir: Pass NULL locations to vkd3d_shader_error() in vsir_program_insert_vertex_fog().
vkd3d-shader/glsl: Implement VSIR_OP_UREM.
vkd3d-shader/glsl: Handle SV_INSTANCE_ID inputs.
vkd3d-shader/glsl: Implement support for VKD3DSPR_SAMPLEMASK registers.
vkd3d-shader/ir: Remove VSIR_OP_DCL_INPUT_PRIMITIVE instructions.
vkd3d-shader/ir: Remove VSIR_OP_DCL_OUTPUT_TOPOLOGY instructions.
vkd3d-shader/ir: Introduce vsir_data_type_get_name().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_label_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_sampler_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_resource_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_uav_register().
vkd3d-shader/spirv: Rename vkd3d_spirv_get_type_id() to spirv_get_type_id_for_component_type().
vkd3d-shader/spirv: Rename vkd3d_spirv_get_type_id_for_data_type() to spirv_get_type_id().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_type_id_for_reg().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_spec_constant().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_buffer_parameter().
vkd3d-shader/d3d-asm: Check the actual index count in shader_print_register().
vkd3d-shader/dxil: Use vkd3d_shader_parser_error() to report errors in vsir_data_type_from_dxil().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_ssa_register().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_dst_param().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_src_param().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_elementwise_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_comparison_operation().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_register_addressing().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_get_descriptor_index().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_int_to_bool().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_int().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_int64().
vkd3d-shader/msl: Do not pretend to support initialisers for indexable temporaries.
vkd3d-shader/d3d-asm: Print data types for indexable temporary declarations.
vkd3d-shader/dxil: Emit 16-bit indexable temporaries as 32-bit registers.
vkd3d-shader/hlsl: Map HLSL_TYPE_HALF to VSIR_DATA_F32.
vkd3d-shader/ir: Map 16-bit vsir types to 16-bit component types in vkd3d_component_type_from_data_type().
vkd3d-shader/ir: Move the instruction array helpers to ir.c.
vkd3d-shader/hlsl: Implement constant folding of 'mad' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'sin' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'cos' expressions.
vkd3d-shader/hlsl: Implement constant folding of 'reinterpret' expressions.
tests/hlsl: Add a constant folding test for round().
vkd3d-shader/hlsl: Implement constant folding of 'round' expressions.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_float().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bool_to_double().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_draw_parameter_fixup().
vkd3d-shader/spirv: Use spirv_get_type_id() in frag_coord_fixup().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_load_invocation_id().
vkd3d-shader/spirv: Handle i64 component types.
vkd3d-shader/ir: Handle all component types in vsir_data_type_from_component_type().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_cast_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_shift_operation().
vkd3d-shader/ir: Use vsir_data_type_get_name() in vsir_validate_throw_invalid_dst_type_error_with_flags().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_shader_epilogue_function().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dcl_indexable_temp().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_push_constant_buffers().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_cbv_declaration().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_resource_declaration().
vkd3d-shader/hlsl: vsir constant buffer sizes are specified in bytes.
vkd3d-shader/hlsl: Set the "flat constant" count in sm1_generate_vsir().
vkd3d-shader/hlsl: Use VKD3DSPR_COMBINED_SAMPLER destination operands in sm1_generate_vsir_sampler_dcls().
vkd3d-shader/hlsl: Set the "has_point_size" flag for vertex shaders outputting point sizes.
vkd3d-shader/ir: Make the vsir assembly data type names consistent with the corresponding enum elements.
vkd3d-shader/dxil: Allow returning signed types from vsir_data_type_from_dxil().
vkd3d-shader/dxil: Allow creating signed parameters in instruction_dst_param_init_ssa_scalar().
vkd3d-shader/dxil: Allow creating signed parameters in src_param_init_from_value().
vkd3d-shader/d3d-asm: Handle i64 immediate constants.
vkd3d-shader/ir: Require signed source operands for ITOF instructions.
vkd3d-shader/ir: Remove some unused fields from struct io_normaliser.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_workgroup_memory().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ext_glsl_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_movc().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_swapc().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dot().
tests/hlsl: Add a missing "}" to trigonometry.shader_test.
vkd3d-shader/ir: Require signed operands for ISHR instructions.
vkd3d-shader/ir: Validate USHR instructions.
vkd3d-shader/ir: Require signed source operands for signed integer comparison instructions.
vkd3d-shader/ir: Require signed operands for IMAX instructions.
vkd3d-shader/ir: Require signed operands for IMIN instructions.
vkd3d-shader/ir: Require default swizzles on vec4 immediate constants.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ftoi().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ftou().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_dtof().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bitfield_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_f16tof32().
vkd3d-shader/ir: Avoid memset() in vsir_instruction_init().
vkd3d-shader/msl: Handle VSIR_DATA_BOOL operands.
vkd3d-shader/ir: Return early for shader model < 4 in vsir_update_dcl_temps().
vkd3d-shader/d3dbc: Don't call vsir_update_dcl_temps().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_f32tof16().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_comparison_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_float_comparison_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_lod().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ld_tgsm().
vkd3d-shader/spirv: Explicitly ignore HLSL compilation options.
vkd3d-shader/hlsl: Fold "x < 0" to false for unsigned x.
vkd3d-shader/hlsl: Remove a hlsl_type_is_integer() prototype.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_store_tgsm().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_uav_counter_instruction().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_bufinfo().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_resinfo().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_query_sample_count().
vkd3d-shader/msl: Implement VSIR_OP_COS.
vkd3d-shader/msl: Implement VSIR_OP_SIN.
vkd3d-shader/msl: Implement VSIR_OP_TAN.
vkd3d-shader/msl: Implement VSIR_OP_HCOS.
vkd3d-shader/msl: Implement VSIR_OP_HSIN.
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_sample_info().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_sample_position().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_eval_attrib().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_group_nonuniform_ballot().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_wave_bit_count().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_generate_spirv().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant_vector().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_constant64().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_construct_vector().
vkd3d-shader/msl: Implement VSIR_OP_HTAN.
vkd3d-shader/msl: Implement VSIR_OP_ACOS.
vkd3d-shader/msl: Implement VSIR_OP_ASIN.
vkd3d-shader/msl: Implement VSIR_OP_ATAN.
vkd3d-shader/msl: Implement VSIR_OP_FREM.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_spirv_builtin.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_symbol_register_data.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_register_info.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_symbol_resource_data.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_image.
vkd3d-shader/spirv: Use vsir_data_type in struct vkd3d_shader_output_info.
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_array_variable().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_swizzle().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_vector_shuffle().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_scalar().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_dst_components().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_get_image_type_id().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_ld_raw_structured_srv_uav().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_store_uav_raw_structured().
vkd3d-shader/spirv: Use spirv_get_type_id() in spirv_compiler_emit_atomic_instruction().
tests/shader_runner: Handle the "rgba" probe format as an alias for "f32".
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_load_src_with_type().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_store_dst_swizzled().
vkd3d-shader/spirv: Pass a vsir_data_type to spirv_compiler_emit_interpolation_decorations().
vkd3d-shader: Get rid of component_type_is_64_bit().
vkd3d-shader/dxil: Ignore ORDERING_SEQCST.
vkd3d-shader/spirv: Do not handle division by zero for VSIR_OP_IDIV or VSIR_OP_IREM.
tests: Replace the test_shader_instructions() "ps_udiv" test with a shader runner test.
vkd3d-shader/glsl: Handle integer operands in shader_glsl_movc().
vkd3d-shader/ir: Handle integer division by zero in vsir_program_lower_udiv().
tests/shader_runner: Use format names if available in trace_format_cap().
vkd3d-shader/spirv: Handle VSIR_DATA_MIXED in spirv_get_type_id().
vkd3d-shader/msl: Implement VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Validate IDIV instructions.
vkd3d-shader/msl: Implement VSIR_OP_IDIV.
vkd3d-shader/msl: Implement VSIR_OP_UREM.
vkd3d-shader/ir: Require signed operands for IREM instructions.
vkd3d-shader/msl: Implement VSIR_OP_IREM.
vkd3d-shader/spirv: Emit an error for unhandled types in spirv_get_type_id().
tests/hlsl: Add tests for unorm and snorm buffer SRVs.
vkd3d-shader/glsl: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in shader_glsl_vprint_assignment().
vkd3d-shader/d3dbc: Trace the vsir program before applying any transformations.
tests: Test that ps_1_4 texld samples from the sampler corresponding to the destination operand.
vkd3d-shader/d3dbc: Get the resource/sampler index from the destination operand in vsir_program_lower_texld_sm1().
vkd3d-shader: Avoid referencing "ins" after insertion in vsir_program_materialise_phi_ssas_to_temps_in_function().
vkd3d-shader/spirv: Free the output on failure in spirv_compiler_generate_spirv().
vkd3d-shader/dxil: Only add declared ICBs to the vsir program.
vkd3d-shader/ir: Remove VSIR_OP_DCL_IMMEDIATE_CONSTANT_BUFFER instructions.
vkd3d-shader/msl: Include metal_stdlib in the generated code.
vkd3d-shader/msl: Implement VSIR_OP_SYNC.
vkd3d-shader/msl: Implement support for VKD3DSPR_IMMCONSTBUFFER registers.
vkd3d-shader/msl: Implement VSIR_OP_COUNTBITS.
vkd3d-shader/msl: Implement VSIR_OP_FIRSTBIT_LO.
vkd3d-shader/msl: Implement VSIR_OP_FIRSTBIT_HI.
vkd3d-common: Get rid of "vkd3d_dbg_env_name".
vkd3d-shader/d3d-asm: Avoid shader_print_data_type() in shader_dump_resource_data_type().
vkd3d-shader/hlsl: Consider scalars to be equivalent to 1-component vectors in hlsl_add_conditional().
vkd3d-shader: Document vkd3d_shader_scan_thread_group_size_info as a supported chained compilation structure.
vkd3d-shader: Explicitly support all chained compilation structures with vkd3d_shader_scan().
Nikolay Sivov (3):
vkd3d: Check that the allocator type matches the list type in d3d12_command_list_Reset().
vkd3d: Implement d3d12_device_CreateCommandList1().
tests/hlsl: Add some tests for special semantic name suffixes.
Petrichor Park (7):
tests: Normalise NAN values in compare_float() and compare_double().
tests/hlsl: Add some tests for the frexp() intrinsic.
vkd3d-shader/hlsl: Implement the frexp() intrinsic.
tests/hlsl: Split the test for countbits()/firstbithigh()/firstbitlow().
vkd3d-shader/hlsl: Implement the countbits() intrinsic.
vkd3d-shader/hlsl: Implement the firstbithigh() intrinsic.
vkd3d-shader/hlsl: Implement the firstbitlow() intrinsic.
Shaun Ren (29):
vkd3d-shader/hlsl: Check whether "expr" has more than 2 operands in hlsl_normalize_binary_exprs().
vkd3d-shader/glsl: Implement VSIR_OP_UGE.
vkd3d-shader/msl: Implement VSIR_OP_UGE.
vkd3d-shader/hlsl: Fold some general unary identities.
vkd3d-shader/hlsl: Fold some general conditional identities.
tests/shader_runner: Correct the minification filter and mipmap mode calculations.
tests/shader_runner: Correct the d3d11/d3d12 subresource indexing calculations.
tests/shader_runner: Allocate the d3d11/d3d12 resource_data arrays dynamically.
tests/hlsl: Add sample bias tests for cube textures.
vkd3d-shader/hlsl: Implement texCUBEbias().
tests/hlsl: Test ternary operations with integral vector operands.
vkd3d-shader/hlsl: Support SM1 non-floating point CMP expressions.
vkd3d-shader/hlsl: Remove the whitespace before the closing parenthesis in dump_ir_expr().
vkd3d-shader/hlsl: Reject SM1 programs with interpolation modifiers.
tests/shader_runner_d3d9: Add multisampling support.
tests/hlsl: Add tests for centroid interpolation in SM1.
vkd3d-shader/hlsl: Handle the "_centroid" modifier suffix in semantic names.
vkd3d-shader/hlsl: Add support for the centroid interpolation mode in SM1.
tests/shader_runner: Add a "compile shader model" require directive.
vkd3d-shader/ir: Determine the correct writemask for destinations with fixed masks.
vkd3d-shader/ir: Keep source swizzles for registers with fixed masks in temp_allocator_set_src().
vkd3d-shader/hlsl: Dump the jump condition node in dump_ir_jump().
tests/hlsl: Add some conditional flattening tests.
vkd3d-shader/hlsl: Cast discard_neg conditions to vec4 for d3dbc target profiles.
vkd3d-shader/hlsl: Store the flatten type in struct hlsl_ir_if.
vkd3d-shader/hlsl: Flatten conditional branches containing stores.
vkd3d-shader/hlsl: Flatten conditional blocks containing discard_nz instructions.
vkd3d-shader/hlsl: Flatten conditional blocks containing discard_neg instructions.
vkd3d-shader/hlsl: Use a bool type for "new_cond" in lower_conditional_block_discard_nz().
Victor Chiletto (6):
vkd3d-shader/hlsl: Emit texture declarations for SRV structured buffers.
vkd3d-shader/hlsl: Use the packed byte size as the stride for structured buffer texture declarations.
vkd3d-shader/hlsl: Emit vsir structured loads.
vkd3d-shader/hlsl: Force default majority for resource formats.
vkd3d-shader/hlsl: Emit RDEF metadata for SRV structured buffers.
tests/hlsl: Add a reflection test for SRV structured buffers.
```
1
0
The Wine development release 10.19 is now available.
What's new in this release:
- Support for reparse points.
- More support for WinRT exceptions.
- Refactoring of Common Controls after the v5/v6 split.
- Typed Arrays support in JScript.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.19.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.19/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.19 (total 34):
- #21483 Wine 1.1.33+ changed token security breaks .NET Framework 2.x SDK tools (debugging of managed code using 'Cordbg' and 'Mdbg')
- #45533 Multiple games need d3dx11_43.D3DX11CreateTextureFromMemory implementation (Puyo Puyo Tetris, HighFleet, Metro 2033, Project CARS)
- #48109 Lynx web browser hangs while starting and never shows start page
- #51630 "Enemy Territory: Quake Wars SDK 1.5 (EditWorld)" When typing in dialog forms (values, file names, etc.) program crashes
- #52128 Hog4PC 3.17 installer VBScript custom action needs scrrun:filesys_MoveFolder implementation
- #52251 Airline Tycoon Demo crashes on start
- #52371 Horizon Zero Dawn (GOG) gamepad not recognized
- #56187 windows.ui:uisettings fails on Windows 11
- #56935 Softube VST plugins are not drawing their UI
- #57001 Compute shader change causes Affinity Photo 2 to crash on start up
- #57241 Managed COM components fail to load outside of application directory
- #57569 BeamNG.drive minimizes its window during startup, with UseTakeFocus set to false.
- #58121 mIRC 7.81 not starting
- #58140 ODBC using unixodbc stopped working due to regression merge between 9.0 and 10.0
- #58320 ok() macro should not evaluate the format arguments if condition is not met.
- #58431 Pegasus Mail Changed font (regression)
- #58450 Total Annihilation (GOG, demo) – Wayland black screen on startup.
- #58504 MS Office 2007 semitransparent menus
- #58593 explorer.exe drop-down menu doesn't work
- #58631 WINE 10.13 breaks foobar2000
- #58650 Mouse cursor becomes invisible and unmovable
- #58832 Grey screen in Elasto Mania II on Wine 10.17
- #58872 Activated windows (via alt-tab) are not raised (sometimes).
- #58876 Windowed applications cannot be minimized in virtual desktop
- #58891 Mono's ProcessTest:Start1_FileName_Whitespace test fails
- #58893 Window caption updates have huge delay
- #58896 Control ultimate edition crashes with an out of vram error
- #58906 Starcraft: Brood war is stuttering
- #58915 Some RPG Maker MZ games experience issues with input handling
- #58916 winemac.drv no longer builds for i386
- #58918 Baldur's Gate 3 : Assertion failed : "!status && "vkQueueSubmit2KHR""
- #58930 Enemy Territory: Quake Wars SDK 1.5 launcher fails to start editor
- #58954 Explorer has broken interface
- #58955 Explorer has missing location bar
### Changes since 10.18:
```
Adam Markowski (1):
po: Update Polish translation.
Aida Jonikienė (2):
ntdll: Add SDL video driver variables to the special variables list.
ntdll: Add SDL audio driver variables to the special variables list.
Akihiro Sagawa (3):
quartz/tests: Add tests for 32 bpp AVI videos.
winegstreamer: Add ARGB32 format support for 32 bpp AVI videos.
winegstreamer: Always use bottom-up for AVI RGB videos.
Alexandre Julliard (46):
dbghelp: Use CRT allocation functions.
oleacc: Use CRT allocation functions.
quartz: Use CRT allocation functions.
shell32: Use CRT allocation functions.
user32: Use CRT allocation functions.
winedevice: Use CRT allocation functions.
kernelbase: Use NtCreateThreadEx() directly in CreateRemoteThreadEx().
ntdll: Handle the group affinity attribute in NtCreateThreadEx().
include: Install the wine/unixlib.h header.
schedsvc/tests: Remove Windows version check.
taskschd/tests: Remove Windows version check.
windows.storage: Forward some functions to shell32.
gdi32/uniscribe: Use CRT allocation functions.
iphlpapi: Use CRT allocation functions.
msvcp90: Use CRT allocation functions.
ntoskrnl: Use CRT allocation functions.
ole32: Use CRT allocation functions.
strmbase: Use CRT allocation functions.
comdlg32: Use CRT allocation functions.
faudio: Import upstream release 25.11.
ntdll: Treat FPU_sig and FPUX_sig as void* on i386.
kernelbase: Continue search if find_exe_file() found a directory.
kernelbase: Avoid using wine/heap.h helpers.
nsi: Avoid using wine/heap.h helpers.
winspool.drv: Avoid using wine/heap.h helpers.
winecrt0: Avoid using wine/heap.h helpers.
include: Remove the wine/heap.h header.
ntdll: Store special environment variables with a UNIX_ prefix.
ntdll: Set the environment variables for Unix child processes from their UNIX_ variant.
ntdll: Treat all the XDG_ variables as special.
ntdll: Don't import the Unix environment variables if they are too large.
winebuild: Don't bother to free spec file structures.
winebuild: Don't bother to free strings built by strmake().
winebuild: Use a generic array for apiset entries.
winebuild: Use a generic array for entry points.
winebuild: Use a generic array for imported functions.
winebuild: Use a generic array for variable values.
winebuild: Use generic arrays for resources.
winebuild: Assign section file positions once the offset is known.
ntdll: Don't copy WINEDLLOVERRIDES to the Windows environment.
ntdll: Remove Wine-internal variables from the Unix environment.
ntdll: Don't rebuild the Unix environment from the Windows one.
ntdll: Add some new processor features definitions.
ntdll: Use WINE_HOST_ instead of UNIX_ as environment variable prefix.
ntdll: Don't replace WINE_HOST_ variables if they already exist in the environment.
ntdll: Ignore some Unix variables when importing the environment.
Alistair Leslie-Hughes (1):
wined3d: Add GPU information for AMD Radeon RX 6700 XT.
Andrew Nguyen (1):
shell32: Retrieve shell autocompletion strings one at a time.
Anton Baskanov (12):
dmusic: Reuse downloaded waves.
dmsynth: Call fluid_sample_set_sound_data() with copy_data = FALSE.
dmsynth: Implement callback support in synth_Unload().
dmsynth: Release the waves when voices finish playing.
dmusic: Defer releasing IDirectMusicDownload when can_free is FALSE.
dmsynth: Allow zero-copy access to the sample data.
dmsynth: Remove format and sample_count from struct wave.
dmloader/tests: Add some ClearCache() tests.
dmloader: Free the cache entries manually in loader_Release().
dmloader: Don't remove the default collection from the cache.
dmloader: Mark cached objects as loaded.
dmloader: Don't use ReleaseObject() in loader_ClearCache().
Aric Stewart (1):
mf: Return E_NOINTERFACE if service is missing.
Bernd Herd (6):
gphoto2.ds: Progress dialog created by CreateDialog must be closed by DestroyWindow, not by EndDialog.
sane.ds: Progress dialog created by CreateDialog must be closed by DestroyWindow, not by EndDialog.
twain_32: Implement TWAIN feature DG_CONTROL / DAT_ENTRYPOINT / MSG_SET.
sane.ds: When opening a DS, return the identity information of the opened device.
sane.ds: Make comboboxes in property sheet high enough to properly drop down.
sane.ds: Fix setting resolution in user interface.
Bernhard Übelacker (11):
comctl32/tests: Terminate string literal by double null character (ASan).
itss: Avoid reading beyond buffer end in ITSProtocol_Start (ASan).
crypt32/tests: Add null character to avoid buffer overrun (ASan).
winhttp/tests: Fix setting string lengths in WinHttpCreateUrl_test (ASan).
iphlpapi/tests: Give GetBestRoute2 a SOCKETADDR_INET. (ASan).
iphlpapi/tests: Remove some unneeded casts to SOCKADDR_INET.
d3dx9_36/tests: Add end marker to the invalid tests (ASan).
d3d9/tests: Fix value of stride passed to DrawPrimitiveUP (ASan).
dsound: Avoid use after free in DSOUND_WaveFormat (ASan).
d3d8/tests: Increase size of quad array to avoid buffer overflow (ASan).
d3d9/tests: Increase size of quad array to avoid buffer overflow (ASan).
Brendan Shanks (15):
dwrite: Stop supporting very old FreeType versions.
win32u: Stop supporting very old FreeType versions.
winemac: Use C99 bool instead of int for Boolean values.
winemac: Use fallback implementation for color depth in GetDeviceCaps().
win32u: Unique URLs instead of file paths when enumerating Mac fonts.
opencl: Silence warnings on macOS for functions deprecated by OpenCL 1.2.
winemac: Fix an sprintf() deprecation warning.
winemac: Use CGDirectDisplayID in macdrv_get_monitors() and struct macdrv_adapter.
winemac: Have convert_display_rect() return a CGRect.
winemac: Stop using struct macdrv_display in macdrv_set_display_mode().
winemac: Stop using macdrv_get_displays() in macdrv_get_monitors().
winemac: Stop using macdrv_get_displays() in UpdateDisplayDevices().
winemac: Stop using macdrv_get_displays() in ChangeDisplaySettings(), GetDeviceGammaRamp(), SetDeviceGammaRamp().
winemac: Stop using macdrv_get_displays() in init_original_display_mode().
winemac: Remove macdrv_get_displays().
Charlotte Pabst (2):
ntdll/tests: Test image mapping with offset.
ntdll: Respect offset for image mappings.
Connor McAdams (9):
d3dx10: Downgrade invalid filter trace from an ERR to a WARN.
d3dx10/tests: Get rid of broken() workarounds for Vista.
d3dx10/tests: Cleanup test image definitions.
d3dx11: Add stubs for D3DX11GetImageInfoFromResource{A,W}().
d3dx11: Add stubs for D3DX11CreateTextureFromResource{A,W}().
d3dx11/tests: Rearrange and reformat tests to more closely match d3dx10 tests.
d3dx11/tests: Import test_get_image_info() from d3dx10.
d3dx11/tests: Import test_create_texture() from d3dx10.
d3dx11: Implement D3DX11CreateTextureFromMemory() using shared code.
Conor McCarthy (10):
mf: Update the stream sink input type when handling an output node format change.
mf/tests: Wait for sample delivery before checking the frame size.
mf/tests: Synchronise media event subscription.
mf/tests: Limit test_media_session_source_shutdown() session reuse tests.
mf/tests: Allow WAIT_TIMEOUT after close in test_media_session_Close().
mf/tests: Mark state comparison flaky after seek in test_media_session_seek().
mf/tests: Check the index in test_media_sink_GetStreamSinkByIndex().
mf/tests: Clean up at the end of test_media_session_seek().
mf/tests: Set test media stream sample duration by default and update current time on seek.
mf/tests: Create all MF test objects on the heap.
Elizabeth Figura (15):
winex11.drv: Fix an inverted condition in x11drv_surface_swap().
winex11: Trace flags with %#x.
ntdll/tests: Fix reparse test failures.
server: Implement FSCTL_SET_REPARSE_POINT.
server: Implement FSCTL_DELETE_REPARSE_POINT.
server: Implement FSCTL_GET_REPARSE_POINT.
ntdll: Pass attr and nt_name down to lookup_unix_name().
ntdll: Resolve IO_REPARSE_TAG_MOUNT_POINT during path lookup.
ntdll: Implement FILE_OPEN_REPARSE_POINT.
ntdll: Handle reparse points in NtQueryDirectoryFile().
ntdll: Return FILE_ATTRIBUTE_REPARSE_POINT from get_file_info().
ntdll: Fill FILE_ATTRIBUTE_REPARSE_POINT and the reparse tag in fd_get_file_info().
dxgi/tests: Use an explicit todo flag for checking window style.
kernelbase: Open the reparse point in CreateDirectory().
ntdll: Resolve IO_REPARSE_TAG_SYMLINK during path lookup.
Eric Pouech (5):
kernel32/tests: Test adding group affinity to proc/thread attributes list.
kernelbase: Support affinity group in process/thread attributes list.
include: Add missing process group related definitions.
kernel32/tests: Test thread creation with group affinity attributes.
kernelbase: Support group affinity attributes.
Erich Hoover (3):
kernelbase: Translate FILE_FLAG_OPEN_REPARSE_POINT.
kernelbase: Open the reparse point in DeleteFile().
kernelbase: Open the reparse point in RemoveDirectory().
Esme Povirk (1):
mscoree: Return S_OK from ICLRRuntimeHost_SetHostControl.
Fabian Maurer (1):
explorer: Increase height for pathbox to show dropdown elements.
Gabriel Ivăncescu (18):
jscript: Simplify get_flags to only check whether it's enumerable.
jscript: Add stub implementations for typed array constructors.
jscript: Add initial implementation of Typed Arrays.
jscript: Expose Typed Array constructor's BYTES_PER_ELEMENT prop.
jscript: Implement Typed Array construction on ArrayBuffers.
jscript: Implement ArrayBuffer.isView.
jscript: Implement Typed Array construction from objects.
jscript: Implement 'subarray' for Typed Arrays.
jscript: Implement 'set' for Typed Arrays.
jscript: Implement Uint8ClampedArray.
jscript: Expose Uint8ClampedArray only in ES6 mode.
jscript: Return JS_E_OBJECT_EXPECTED in valueOf with NULL disps in IE10+ modes.
mshtml: Add window.msCrypto stub.
mshtml: Add msCrypto.subtle stub.
mshtml: Implement msCrypto.getRandomValues.
mshtml: Implement "arraybuffer" type response for XMLHttpRequest.
mshtml: Use double for get_time_stamp to have sub-millisecond precision.
mshtml: Implement performance.now().
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.333.
Giovanni Mascellani (19):
mmdevapi/tests: Print the expected result code when failing a check.
mmdevapi: Use AUTOCONVERTPCM when initializing the audio client for spatial audio.
windows.media.speech: Use AUTOCONVERTPCM when initializing the audio client.
winmm: Use AUTOCONVERTPCM when initializing the audio client.
dsound: Use AUTOCONVERTPCM when initializing the capture audio client.
dsound: Use AUTOCONVERTPCM when initializing the render audio client.
dsound: Always require a floating-point mixing format.
dsound: Simplify computing the mixing format.
dsound: Do not query for mixing format support.
dsound: Do not query for supported formats for the primary buffer.
dxgi/tests: Add test context for D3D10 and D3D12 tests.
dxgi/tests: Test the frame latency waitable on D3D10 too.
dxgi/tests: Test the compatibility between the swapchain effect and the latency waitable.
dxgi: Do not allow the frame latency waitable for non-flip swap effects.
dxgi/tests: Test present count for D3D10, flip discard and no latency waitable.
dxgi/tests: Test present count for D3D10, flip discard and latency waitable.
mmdevapi/tests: Check that IsFormatSupported() sets the format to NULL when it returns E_POINTER.
mmdevapi: Move format validation in driver-independent code.
mmdevapi: Move generating the suggested format in the driver-independent code.
Hans Leidekker (2):
comdlg32/tests: Force console subsystem version 5.2.
shell32: Support SHARD_PATHW in SHAddToRecentDocs().
Haoyang Chen (5):
user32/tests: Add EM_{SET,GET}PASSWORDCHAR tests for edit control.
user32/edit: Allow setting password char on multiline edit controls.
comctl32/tests: Add EM_{SET,GET}PASSWORDCHAR tests for edit control.
comctl32/edit: Allow setting password char on multiline edit controls.
http.sys: Support the wildcard * in the hostname.
Jacek Caban (13):
mshtml/tests: Allow specifying compat mode and URL query string in single script mode.
jscript: Move SCRIPTLANGUAGEVERSION_ declarations to jsdisp.idl.
jscript: Don't expose DataView and ArrayBuffer objects in IE9 mode.
win32u: Introduce NtUserWintabDriverCall to provide a way for wintab32 to call display drivers.
wintab32: Attach tablet through win32u.
wintab32: Retrieve current tablet packet through win32u.
wintab32: Query tablet information through win32u.
wintab32: Initialize tablet through win32u.
winex11: Remove no longer needed unixlib.h.
opengl32: Take GL_CLIENT_STORAGE_BIT into account when picking vk memory type in create_buffer_storage.
opengl32: Use Vulkan-backed buffer storage only when GL_MAP_PERSISTENT_BIT is specified.
opengl32: Don't use PTR32 for manual wow64 wrappers return type.
opengl32: Add support for GL_NV_ES1_1_compatibility.
Jiajin Cui (4):
winex11.drv: Implement WS_EX_TRANSPARENT mouse pass-through with ShapeInput extension.
kernel32: Avoid some duplicate slashes in wine_get_dos_file_name.
gdiplus: Add memory cleanup on matrix inversion failure.
wow64win: Change parameter types from LONG to ULONG in wow64_NtUserMessageCall.
Jiangyi Chen (1):
ole32: Add support for writing VT_R8 property.
Kun Yang (1):
win32u: Change the stretch mode of dst hdc to ColorOnColor in TransparentBlt.
Marc-Aurel Zent (10):
winemac: Make macdrv_ime_process_key synchronous.
winemac: Remove QUERY_IME_CHAR_RECT and directly get ime_composition_rect.
kernelbase: Use NT_ERROR() to check for errors in WaitForMultipleObjectsEx.
kernelbase: Reimplement WaitForSingleObject[Ex] on top of NtWaitForSingleObject.
ntdll: Fix an off-by-one error in the pseudo-handle check for inproc syncs.
ntdll: Reimplement NtWaitForSingleObject without NtWaitForMultipleObjects.
ntdll: Reject pseudo-handles in NtWaitForMultipleObjects.
kernel32/tests: Add more tests for waits on pseudo-handles.
server: Fix Mach vm region info datatype in write_process_memory().
server: Correctly report partial write size in Mach write_process_memory().
Matteo Bruni (11):
dsound/tests: Get rid of a crashing test.
dsound: Simplify check in DSOUND_RecalcFormat().
dsound: Print time as an unsigned value.
dsound: Consistently trace locked byte count as an unsigned value.
dsound: Check data size in propset methods.
dsound: Fill all the DSPROPERTY_DIRECTSOUNDDEVICE_ENUMERATE data.
dsound: Return the mmdevapi endpoint ID as module.
dsound/tests: Mark weird DescriptionW propset failure on the AMD testbot machine.
wined3d: Conditionally update saved window state in fullscreen mode.
dxgi/tests: Use test contexts in test_resize_target().
dxgi/tests: Test window states tracking and restoration in fullscreen mode.
Mohamad Al-Jaf (8):
windows.perception.stub/tests: Add IHolographicSpaceInterop::CreateForWindow() tests.
windows.perception.stub: Implement IHolographicSpaceInterop::CreateForWindow().
windows.perception.stub/tests: Add IHolographicSpace::get_PrimaryAdapterId() tests.
windows.perception.stub: Implement IHolographicSpace_get_PrimaryAdapterId().
windows.perception.stub: Stub some functions.
uxtheme: Handle NULL options in DrawThemeTextEx().
uxtheme/tests: Add some DrawThemeTextEx() tests.
windows.media.playback.mediaplayer/tests: Skip tests when CLASS_E_CLASSNOTAVAILABLE is returned.
Nikolay Sivov (32):
ntdll/tests: Remove some noisy traces.
dxcore/tests: Do not test for 0 deviceID.
rometadata: Use correct argument when unmapping a file view (Coverity).
dwrite: Add explicit inline helper for whitespace checks.
msxml3: Merge IXMLDocument and IXMLElement sources into a single file.
msxml3/tests: Add some tests for root element.
msxml3/tests: Add some tests for IXMLElement2::get_attributes().
msxml3/tests: Add some tests for comment nodes.
msxml3/tests: Add some tests for PI and CDATA nodes.
include: Fix IXMLDocument method spelling.
msxml3/tests: Add some more get_text() tests.
d2d1/effect: Add a description for the Gaussian Blur effect.
d2d1/effect: Add a description for the Point Specular effect.
d2d1/effect: Add a description for the Arithmetic Composite effect.
d2d1/tests: Reduce test run count for some tests.
d2d1/effect: Add property definitions for the Shadow effect.
msxml3: Rewrite legacy DOM API using SAX parser.
d2d1: Add property descriptions for the 2D Affine Transform effect.
d2d1/tests: Add a basic rendering test for the Flood effect.
user32/tests: Add some tests for GetWindow(GW_ENABLEDPOPUP).
user32: Implement GetWindow(GW_ENABLEDPOPUP).
d2d1/tests: Add some tests for creating shared bitmaps from IWICBitmapLock.
d2d1/effect: Add a separate factory functions for builtin effects.
d2d1/tests: Add another effect registration test.
gdi32: Ignore provided glyph position if ExtTextOutW() needs complex text processing.
d2d1: Add property bindings for a few of builtin effects.
d2d1: Add property data for the 3D Perspective Transform effect.
d2d1: Add property data for the Composite effect.
d2d1: Do not use property getter for standalone properties.
d2d1: Add property data for the Crop effect.
d2d1: Add property data for the Color Matrix effect.
dwrite/fallback: Add the Bamum Supplement range to the fallback data.
Paul Gofman (14):
ntdll: Implement NtAlertMultipleThreadByThreadId().
ntdll: Use NtAlertMultipleThreadByThreadId() in RtlWakeAddressAll().
xaudio2: Free effect chain on error return.
xaudio2_8: Add XAudio2CreateWithVersionInfo().
xaudio2_8: Don't crash on invalid XAPO interface.
ntdll: Set output frame to Rsp - 8 in epilogue on x64.
ntdll/tests: Test unwind with popping frame reg before another one on x64.
ntdll: Fix handling jmp in epilogue unwind on x64.
ntdll: Handle 0xff jump opcode in epilogue unwind on x64.
winhttp/tests: Always use secure connection to ws.ifelse.io in websocket tests.
ntdll: Fill IOSB in NtUnlockFile().
ntdll: Don't detect epilogue in chained unwind function on x64.
ntdll: Check for related functions in is_inside_epilog() when detecting tail call.
win32u: Fill some GPU info in HKLM\Software\Microsoft\DirectX.
Peter Castelein (1):
wined3d: Mark stateblock dirty in wined3d_stateblock_multiply_transform().
Piotr Caban (28):
msvcrt: Fix WinRT exception leaks in _except_handler4_common.
ucrtbase: Add __C_specific_handler tests.
include: Add DBCOLUMNDESC definition.
include: Define DBCOL_* GUIDs.
msado15: Return error in fields:_Append if recordset is open.
msado15: Stub object for representing tables in memory.
msado15: Store internal field representation in fields structure.
msado15: Support obtaining columns info from tables without provider.
msado15: Stub IRowsetExactScroll interface for tables without provider.
msado15: Add more _Recordset:AddNew tests.
vccorlib140: Move exception functions to new file.
vccorlib140: Remove platform_ prefix from exception function names.
msvcrt: Move TYPE_FLAG* and CLASS_IS* defines to cxx.h.
msado15: Stub IRowsetChange interface for tables without provider.
msado15: Stub IAccessor interface for tables without provider.
msado15: Improve Recordset::AddNew implementation.
msado15: Improve Recordset::get_RecordCount implementation.
vccorlib140: Fix exceptions RTTI data.
vccorlib140: Fix exception type descriptors.
msado15: Initilize Recordset columns lazily.
msado15: Skip bookmark column when creating IRowset Fields.
msado15: Stub IRowsetInfo interface for tables without provider.
msado15: Add partial IRowsetInfo::GetProperties implementation for tables without provider.
msado15: Improve _Recordset::CacheSize implementation.
msado15: Implement IRowset::GetNextRows for tables without provider.
msado15: Ignore first special column when populating Recordset.
msado15: Improve test IRowsetInfo::GetProperties implementation.
msado15: Fix test IRowsetLocate::GetRowsAt implementation.
Rémi Bernon (53):
win32u: Dispatch to the KHR function pointer when appropriate.
winex11: Flush X requests in X11DRV_SetWindowText.
wineandroid: Check if event list is empty before checking the pipe.
winemac: Only check if event pipe is drained with QS_ALLINPUT.
winex11: Only check if event pipe is drained with QS_ALLINPUT.
win32u: Don't strip semaphore / fence export info.
win32u: Set keyed mutex semaphore stage mask value.
win32u: Hoist get_thread_dpi in apply_window_pos.
win32u: Use a private flag to indicate fullscreen windows.
win32u: Get rid of is_window_rect_full_screen helper.
winex11: Prevent larger than monitor window resizes.
opengl32: Avoid a potential crash when flushing in wglSwapBuffers.
win32u: Disable vsync when emulating front buffer rendering.
winex11: Flush X requests in X11DRV_ActivateWindow.
winex11: Flush X requests in X11DRV_SetWindowIcons.
winex11: Flush X requests in X11DRV_SetWindowStyle.
winex11: Flush X requests in X11DRV_SetLayeredWindowAttributes.
winex11: Flush X requests in X11DRV_UpdateLayeredWindow.
win32u: Merge WM_SYSCOMMAND cases in WINE_WINDOW_STATE_CHANGED.
win32u: Don't forcefully activate windows before restoring them.
winex11: Make set_window_cursor helper static.
winex11: Remove unnecessary flushes from X11DRV_SetCapture.
winex11: Flush X requests in X11DRV_ClipCursor.
winex11: Flush X requests in X11DRV_SetCapture.
winex11: Flush X requests in X11DRV_NotifyIMEStatus.
winex11: Flush X requests in X11DRV_SetIMECompositionRect.
winex11: Flush X requests in X11DRV_FlashWindowEx.
winex11: Flush X requests in X11DRV_SystrayDockInit.
winex11: Flush X requests in X11DRV_SystrayDockRemove.
winex11: Flush X requests in X11DRV_SystrayDockInsert.
winevulkan: Force copy some missing semaphore / fence structs.
win32u: Stub NtGdiDdDDI(Signal|WaitFor)SynchronizationObjectFromCpu.
win32u/tests: Test NtGdiDdDDI(Signal|WaitFor)SynchronizationObjectFromCpu.
win32u/tests: Add external semaphore / fences tests.
vulkan-1/tests: Add timeline semaphore tests.
win32u: Consistently use "Wine Adapter" as default GPU name.
win32u: Use the native adapter name for some common GPUs.
win32u: Return the native OpenGL vendor name as GL_VENDOR string.
win32u: Return the native adapter name as GL_RENDERER string.
win32u: Add AMD Radeon RX 7600 XT device name.
winex11: Copy XF86VidModeModeInfo to the DEVMODEW driver data.
winex11: Always return full modes from settings handlers.
winex11: Introduce a x11drv_mode structure for full modes.
winex11: Retrieve full modes before applying new display settings.
winex11: Lock and flush display in X11DRV_ChangeDisplaySettings.
winevulkan: Move device quirks to the loader side.
winevulkan: Enumerate instance extensions on Vulkan initialization.
winevulkan: Check enabled instance extensions support on the PE side.
winevulkan: Enable VK_EXT_surface_maintenance1 extension on the instance.
winevulkan: Enumerate devices extensions on physical device initialization.
winevulkan: Check enabled device extensions support on the PE side.
winex11: Remove PFD_DRAW_TO_WINDOW from EGL configs not matching the display depth.
winevulkan: Avoid using nested quotes in make_vulkan format strings.
Tim Clem (5):
winemac.drv: Create window data for message-only windows.
ntdll: Retrieve FP state from an xcontext in the fpe handler, rather than the ucontext.
ntdll: Treat FPU_sig as a void* and memcpy to and from it as needed.
winemac.drv: Explicitly add an ivar for contentViewMaskLayer.
opengl32: Avoid null pointer dereferences when filtering extensions.
Vibhav Pant (20):
msvcrt: Call the destructor for C++ exceptions in __C_specific_handler.
vccorlib140/tests: Add additional tests for exception objects.
vccorlib140: Add Platform::Exception constructor implementation.
vccorlib140: Add Platform::Exception(HSTRING) constructor implementation.
vccorlib140: Add Platform::COMException constructor implementation.
vccorlib140: Add Platform::Exception::Message::get() implementation.
vccorlib140: Add Platform::Exception::CreateException() implementation.
vccorlib140: Throw exceptions on error paths.
vccorlib140: Implement __abi_translateCurrentException.
vccorlib140: Add stubs for {Get, Resolve}WeakReference.
vccorlib140: Implement {Get, Resolve}WeakReference.
vccorlib140: Add stub for __abi_ObjectToString.
vccorlib140: Add ToString() stubs for well-known types.
vccorlib140: Implement ToString() for well-known types.
vccorlib140: Implement __abi_ObjectToString.
vccorlib140: Implement IPrintable for Platform::Exception.
vccorlib140: Implement IPrintable for Platform::Type.
vccorlib140: Add stubs for delegate/EventSource helper functions.
vccorlib140: Implement delegate helper functions.
vccorlib140: Fix potential memory leak in allocation functions.
Wei Xie (3):
windowscodecs: Fix potential integer overflow in PNG format reader.
kernelbase: Allocate buffer dynamically in DefineDosDeviceW.
kernel32/tests: Add some DefineDosDeviceW test cases.
Yeshun Ye (2):
d2d1: Fix incorrect union member access in radial gradient brush.
d2d1: Fix missing geometry assignment in command list recording.
Yuxuan Shui (4):
include: Shut the compiler up about PDNS_RECORD array bounds.
include: Don't evaluate format arguments to ok() unless we need them.
kernel32/tests: Don't go beyond user space virtual address limit.
winetest: Add an option for setting timeout.
Zhengyong Chen (2):
ntdll/tests: Add NtRenameKey tests checking subkey after rename.
windowscodecs: Fix off-by-one check in IcoDecoder_GetFrame.
Zhiyi Zhang (37):
comctl32/tests: Test creating v5 windows after v6 manifest is deactivated.
user32: Fix loading comctl32 v5 after comctl32 v6 is loaded.
comctl32/tests: Test image list interoperation with comctl32 v5 and v6.
comctl32: Use a magic value to check if an image list is valid.
kernel32/tests: Add more GetModuleHandle() tests for WinSxS.
ntdll: Exclude SxS DLLs when finding a DLL with its base name and no activation contexts.
comctl32/progress: Add a helper to draw the background.
comctl32/progress: Move the theme background rect calculation.
comctl32/progress: Get the theme state directly from PROGRESS_INFO.
comctl32/progress: Get the theme handle from window.
comctl32/progress: Add a helper to check if a progress bar is smooth.
comctl32/progress: Add a helper to get the draw procedures.
comctl32/progress: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/progress: Add a helper to handle WM_THEMECHANGED.
comctl32/progress: Remove theming for comctl32 v5.
comctl32/propsheet: Remove theming for comctl32 v5.
comctl32/rebar: Add a helper to draw the gripper.
comctl32/rebar: Add a helper to draw the chevron.
comctl32/rebar: Add a helper to draw the band separator.
comctl32/rebar: Add a helper to draw the band background.
comctl32/rebar: Refactor REBAR_NCPaint().
comctl32/rebar: Remove theming for comctl32 v5.
comctl32/status: Refactor STATUSBAR_DrawSizeGrip() to take an HWND instead.
comctl32/status: Add a helper to draw the background for parts.
comctl32/status: Add a helper to draw the background.
comctl32/status: Remove theming for comctl32 v5.
comctl32/ipaddress: Use the system window text color to draw dots.
winex11.drv: Fix xinerama_get_fullscreen_monitors() not working correctly with non-fullscreen rects.
comctl32/tab: Add a helper to draw the border background.
comctl32/tab: Add a helper to draw the item theme background.
comctl32/tab: Use COMCTL32_IsThemed() to check if theme is enabled.
comctl32/tab: Remove theming for comctl32 v5.
comctl32/toolbar: Add a helper to draw the separator.
comctl32/toolbar: Add a helper to draw the button frame.
comctl32/toolbar: Add a helper to draw the separator drop down arrow.
comctl32/toolbar: Add a helper to check if theme is enabled.
comctl32/toolbar: Remove theming for comctl32 v5.
```
1
0
The Wine development release 10.18 is now available.
What's new in this release:
- OpenGL memory mapping using Vulkan in WoW64 mode.
- Synchronization barriers API.
- Support for WinRT exceptions.
- SCSI pass-through in WoW64 mode.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.18.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.18/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.18 (total 30):
- #10349 Yukon Trail installer crashes at the end during DDE communication with Progman
- #24466 Sid Meier's Pirates! frequent hiccups, temporary lock-ups
- #33492 Yukon Trail installer fails to install its font
- #48027 cmd pipe | not triggering ReadFile EOF
- #48787 WineD3D C&C Generals Zero Hour takes a lot time to load or maximize
- #55981 GL applications (and d3d applications using the GL backend) are slow in new wow64
- #56209 winetricks vb5run fails
- #56915 Autodesk Fusion requires GetUserLanguages which is not implemented
- #57259 Keepass 2 automatic update dialog is broken (uses Taskdialog) EnableVisualStyles() from WinForms evidently doesn't work
- #57376 Permission denied vs No such file or directory when opening folders with trailing backslash
- #58229 _SH_SECURE sharing flag is not supported and causing _wfsopen to fail
- #58257 CD Manipulator cannot detect the drive model name in experimental wow64 mode.
- #58331 Wait cursor does not display
- #58391 Exact Audio Copy: Unable to interface with DVD drive on WoW64
- #58598 Realterm_2.0.0.70 / Crashes on start
- #58611 Nightshade crashes: err:seh:NtRaiseException Unhandled exception code c0000409 (native vcruntime140 works around the crash)
- #58697 Jolly Rover hangs upon starting with 100% cpu usage
- #58747 Directory opus fails start.
- #58749 Delayed startup of wine processes in Wine-10.16 when winemenubuilder.exe is disabled
- #58752 assembly:Z:\usr\share\wine\mono\wine-mono-10.2.0\lib\mono\4.5\mscorlib.dll type:DllNotFoundException
- #58791 MDk 2 games windows
- #58794 Multiple applications crash with assertion failure in cache_inproc_sync()
- #58795 The Witcher 2 crashes on start
- #58804 Incorrect ConfigureNotify processing in xfce
- #58812 PlayOnline Viewer: Application runs and works otherwise, but only shows a black screen.
- #58816 macOS: Window focus / activation issue
- #58828 Configure (build) fails since commit db2e157, if autoreconf needs to be applied before
- #58837 getCurrentThreadID error when enabling speedhack in Cheat Engine
- #58839 kernel32.timeGetTime error when enabling speedhack in Cheat Engine
- #58852 Minimised applications are restored with -4 vertical pixels (redux).
### Changes since 10.17:
```
Adam Markowski (1):
wine.desktop: Add Polish translation.
Akihiro Sagawa (9):
ntdll: Drop unused raw SCSI command support for NetBSD.
ntdll: Remove useless request_sense type check.
ntdll: Separate the I/O buffers in IOCTL_SCSI_PASS_THROUGH.
ntdll: Add wow64 support for IOCTL_SCSI_PASS_THROUGH.
kernel32/tests: Add IOCTL_SCSI_PASS_THROUGH tests for optical drives.
ntdll: Remove redundant definitions for Linux.
ntdll: Separate the I/O buffers in IOCTL_SCSI_PASS_THROUGH_DIRECT.
ntdll: Add wow64 support for IOCTL_SCSI_PASS_THROUGH_DIRECT.
kernel32/tests: Add IOCTL_SCSI_PASS_THROUGH_DIRECT tests for optical drives.
Alex Henrie (2):
kernel32: Move some time functions from winmm.
advpack: Ignore lines that begin with '@' in (Un)RegisterOCXs sections.
Alexandre Julliard (19):
server: Only use the export name for builtin modules.
winebuild: Always output an export directory for fake dlls.
server: Also use the export name for fake dlls.
configure: Work around install-sh requirement in autoconf <= 2.69.
makedep: Only output install rules at the top level.
makedep: Generate the uninstall files list directly from the install commands.
makedep: Store install command line arguments in the command list.
makedep: Make the output_rm_filenames helper more generic.
makedep: Install multiple files at once when possible.
ntdll: Don't map the PE header as executable.
gitlab: Fix regexp to extract dll name for Windows tests.
kernel32/tests: Use CRT allocation functions.
comctl32/tests: Use CRT allocation functions.
kernelbase: Fix error returned for paths with a trailing backslash.
mountmgr.sys: Only create serial and parallel keys when needed.
include: Add a couple of reparse point definitions.
ws2_32/tests: Add some tests for AF_UNIX sockets.
kernelbase: Reject all-space paths in SearchPath().
kernelbase: Reject empty command lines in CreateProcess().
Alexandros Frantzis (1):
winewayland: Pass through mouse events for transparent, layered windows.
Alistair Leslie-Hughes (2):
bcrypt: Add missing breaks.
include: Correct STACKFRAME for 64bits in imagehlp.h.
Anton Baskanov (8):
fluidsynth: Import upstream release 2.4.2.
fluidsynth: Calculate the inverted value explicitly in fluid_mod_transform_source_value().
fluidsynth: Invert relative to the max value instead of 1.0 in fluid_mod_transform_source_value().
dmusic/tests: Add tests for GUID_DMUS_PROP_Volume.
dmusic: Set volume when creating a synth.
dmusic: Handle GUID_DMUS_PROP_Volume.
dmime: Set master volume when adding a port.
dmime: Update master volume when GUID_PerfMasterVolume is set.
Bernd Herd (3):
sane.ds: Fix native TWAIN transfer mode for 64-bit.
gphoto2.ds: Decrease the number of remaining pending data transfers after every transfer.
gphoto2.ds: Return the DIB as a GlobalAlloc handle according to TWAIN spec instead of a HBITMAP.
Brendan Shanks (4):
winemac.drv: Include Carbon.h in macdrv_cocoa.h and remove duplicate definitions.
include: Implement C_ASSERT() using the C23 static_assert() if available.
ntdll: Avoid mmap() failures and Gatekeeper warnings when mapping files with PROT_EXEC.
configure: Only run checks in WINE_(MINGW_)PACKAGE_FLAGS when CFLAGS or LIBS is non-empty.
Byeong-Sik Jeon (2):
winemac: Use event handle to detect macdrv ime processing done.
win32u: Fix typo.
Conor McCarthy (8):
mf/tests: Skip the scheme resolver tests if network connectivity is unavailable.
mf/tests: Fix occasional hangs in test_media_session_source_shutdown().
mf/tests: Skip some tests invalid on current Windows 11.
mf/tests: Fix a scheme resolver test failure on current Windows 11.
mf/tests: Test H.264 sink media type height alignment.
mf/tests: Test H.264 decoder alignment.
mfmediaengine/tests: Test TransferVideoFrame() to IWICBitmap.
mfmediaengine: Support TransferVideoFrame() to IWICBitmap.
Dmitry Timoshkov (5):
wine.inf: Create [fonts] section in win.ini for 16-bit apps.
user32/tests: Add more tests for PackDDElParam/UnpackDDElParam(WM_DDE_ACK).
user.exe: Use larger buffer size for checking atom name.
user.exe: Add special handling for WM_DDE_ACK in response to WM_DDE_INITIATE.
wldap32/tests: Add one more check for an unreachable server.
Elizabeth Figura (9):
kernelbase: Remove an unused NtQueryInformationFile() from MoveFileWithProgress().
ntdll: Call cache_inproc_sync() inside the lock.
ntdll/tests: Add more reparse point tests.
ntdll/tests: Test NtQueryAttributesFile() with a root directory.
shell32/tests: Fix test failures in test_GetAttributesOf().
include: Pass a PROCESS_INFORMATION to winetest_wait_child_process().
user32: Implement CascadeWindows().
user32: Implement TileWindows().
winex11: Null-terminate a string used with RTL_CONSTANT_STRING().
Eric Pouech (9):
cmd: Fix lexer on input redirection.
cmd: Show file size greater than 4G in DIR command.
cmd: Initialize a local variable.
cmd: Fix a potential out of bounds access.
cmd: Fixed an invalid memory access spotted by SAST.
dbghelp: Use Unicode for some pathnames.
dbghelp: Remove useless process parameters.
dbghelp: Rewrite debug format search & load logic.
dbghelp: {dwarf} Keep .eh_frame mapped when no CU are present.
Felix Hädicke (3):
wbemprox/tests: Use check_property function in test_MSSMBios_RawSMBiosTables.
wbemprox/tests: Add tests for MSSMBios_RawSMBiosTables properties.
wbemprox: Implement more MSSMBios_RawSMBiosTables properties.
Gabriel Ivăncescu (15):
mshtml: Use a common object implementation for HTMLElementCollection enumerator.
mshtml: Use the common object implementation for HTMLDOMChildrenCollection enumerator.
mshtml: Use the common object implementation for HTMLFormElement enumerator.
mshtml: Use the common object implementation for HTMLSelectElement enumerator.
mshtml: Use the common object implementation for HTMLRectCollection enumerator.
mshtml: Use the common object implementation for HTMLStyleSheetsCollection enumerator.
mshtml: Use the common object implementation for HTMLAttributeCollection enumerator.
mshtml: Add private stub interfaces for validating form elements.
mshtml: Add private stub interfaces for validating input elements.
mshtml: Add private stub interfaces for validating button elements.
mshtml: Add private stub interfaces for validating object elements.
mshtml: Add private stub interfaces for validating select elements.
mshtml: Add private stub interfaces for validating text area elements.
mshtml: Implement checkValidity for HTMLInputElement.
mshtml: Implement enctype for HTMLFormElement.
Gerald Pfeifer (1):
winebus: Don't define hidraw_device_read_report unless used.
Ivan Lyugaev (1):
sane.ds: Adding saving scanner settings to the registry.
Jacek Caban (16):
gitlab: Update to llvm-mingw 20251007.
opengl32: Update to the current OpenGL spec.
opengl32: Include legacy aliases in the extension registry.
opengl32: Factor out make_context_current.
opengl32: Use the actual context GL version in is_extension_supported.
opengl32: Use stored GL version in check_extension_support.
opengl32: Hide GL versions larger than 4.3 on wow64 in make_context_current.
opengl32: Use stored context GL version in get_integer.
opengl32: Use stored GL version in wrap_glGetString.
opengl32: Split extensions by null bytes in the registry.
opengl32: Compute supported extensions in make_context_current.
opengl32: Use stored extension list in is_extension_supported.
opengl32: Use stored extensions in filter_extensions.
opengl32: Wrap buffer storage functions.
opengl32: Support wow64 buffer storage and persistent memory mapping using Vulkan.
urlmon/tests: Fix PersistentZoneIdentifier tests on some Windows versions.
Louis Lenders (1):
uxtheme: Add stub for GetThemeStream.
Marc-Aurel Zent (2):
ntdll: Do not set main thread QoS class on macOS.
ntdll: Remove unused parameter from linux_query_event_obj().
Michael Müller (1):
wineboot: Ensure that the ProxyEnable value is created.
Nikolay Sivov (39):
oleaut32/tests: Enable more tests for VarAdd().
oleaut32/tests: Enable more tests for VarOr().
oleaut32/tests: Enable more tests for VarXor().
oleaut32/tests: Enable more tests for VarCmp().
d2d1/tests: Add some tests for resulting format of the WIC target.
d2d1: Set alpha mode correctly for the WIC target.
d2d1: Implement Tessellate() for path geometries.
d2d1: Implement Tessellate() for ellipse geometries.
d2d1: Implement Tessellate() for rectangle geometries.
d2d1: Implement Tessellate() for rounded rectangle geometries.
d2d1/tests: Add a ComputeArea() test for the path geometry.
d2d1: Implement ComputeArea() for path geometries.
include: Remove some msxml6 types from msxml2.idl.
msxml3/tests: Remove duplicated test.
include: Remove more coclass entries from msxml2.idl.
d2d1: Implement ComputeArea() for ellipse geometries.
d2d1: Implement ComputeArea() for rounded rectangle geometries.
d2d1: Implement Tessellate() for transformed geometries.
d2d1/tests: Reduce test run count for some tests.
msxml6/tests: Move remaining tests for SAXXMLReader60.
include: Remove SAXXMLReader60 from msxml2.idl.
d2d1/tests: Extend test geometry sink.
d2d1/tests: Add a basic test for geometry streaming.
d2d1: Track specific failure reason during geometry population.
d2d1: Set more appropriate error code on geometry population.
d2d1: Handle invalid segment flags in SetSegmentFlags().
msxml6/tests: Add a leading whitespace test.
msxml3/tests: Add some SAX tests for PI nodes.
msxml3/sax: Add processing instructions callback.
msxml3/sax: Add basic support for startDTD()/endDTD().
msxml3/tests: Add some tests for IXMLDocument::get_charset().
msxml3/tests: Add some tests for "xmldecl-encoding".
msxml3/tests: Add more tests for document properties.
msxml3/tests: Add more tests for supported interfaces.
d2d1/tests: Add some property tests for the Gaussian Blur effect.
d2d1/tests: Add some property tests for the Point Specular effect.
d2d1/tests: Add some property tests for the Arithmetic Composite effect.
msxml3: Update to IXMLDocument2.
msxml3: Return static string from get_version().
Paul Gofman (9):
user32: Move GetWindowDisplayAffinity() stub to win32u.
kernel32: Avoid RBP-based frame in BaseThreadInitThunk() on x64.
ntdll: Add synchronization barrier stubs.
ntdll: Implement synchronization barrier functions.
kernelbase: Implement synchronization barrier functions.
tdh: Add semi-stub for TdhEnumerateProviders().
server: Use process_vm_readv() for other process memory read when available.
ntdll: Get written size from server in NtWriteVirtualMemory().
server: Use process_vm_writev() for other process memory write when available.
Piotr Caban (17):
d3d11: Fix wait_child_process() related test failures.
dinput: Fix wait_child_process() related test failures.
imm32: Fix wait_child_process() related test failures.
kernel32: Fix wait_child_process() related test failures.
mfplat: Fix wait_child_process() related test failures.
user32: Fix wait_child_process() related test failures.
win32u: Fix wait_child_process() related test failures.
windowscodecs: Fix wait_child_process() related test failures.
timeout: Fix wait_child_process() related test failures.
msvcrt: Deduplicate exception copying code.
msvcrt: Handle IUnknown exceptions in __DestructExceptionObject().
msvcrt: Handle IUnknown exceptions in copy_exception helper.
msvcrt: Call __DestructExceptionObject() in __ExceptionPtrDestroy.
ucrtbase: Fix wait_child_process crash.
msado15/tests: Test rowset queried interfaces instead of tracing them.
msado15: Mark recordset open in ADORecordsetConstruction:put_Rowset.
msvcrt: Rename exception *IUNKNOWN flags to *WINRT.
Robert Wilhelm (1):
scrrun: Implement MoveFolder().
Rémi Bernon (40):
server: Don't set QS_HARDWARE for every hardware message.
win32u: Only return from NtWaitForMultipleObjects if signaled.
win32u: Restore queue masks after processing driver events.
opengl32: Use a buffer map for gl(Draw|Read)Buffer(s).
opengl32: Implement front buffer rendering emulation.
win32u: Reset internal pixel format when pixel format is set.
win32u: Use floats for map_monitor_rect computation.
win32u: Stub NtGdiDdDDI(Acquire|Release)KeyedMutex(2) syscalls.
win32u/tests: Test acquire / release of D3DKMT keyed mutexes.
win32u: Set the process idle event from the client side.
winex11: Give colormap ownership to the surface after it's allocated.
ntdll: Fix (Nt|Zw)WaitForMultipleObjects signature.
win32u: Process driver events and internal hardware messages in NtUserSetCursor.
winegcc: Support subsystem version number in link.exe-style cmdline.
winegcc: Consistently use the subsystem option with Clang and MinGW.
comctl32/tests: Force console subsystem version 5.2.
dxgi/tests: Force console subsystem version 5.2.
quartz/tests: Force console subsystem version 5.2.
user32/tests: Force console subsystem version 5.2.
winegcc: Set the default console and windows subsystems version to 6.0.
win32u: Use a dedicated struct for D3DKMT mutex objects.
server: Use a dedicated struct for D3DKMT mutex objects.
win32u: Pass D3DKMT keyed mutex initial value on creation.
win32u: Implement acquire / release of D3DKMT keyed mutexes.
winex11: Move state change checks to window_update_client_state.
winex11: Remove now unnecessary SC_MOVE command handling.
win32u: Update the window config before its state, as internal config.
win32u: Fix incorrect resource allocation object type.
win32u: Call d3dkmt_destroy_sync from NtGdiDdDDIDestroySynchronizationObject.
win32u: Simplify some vulkan resource cleanup calls.
win32u: Query resource runtime data in d3dkmt_open_resource.
win32u: Open resource keyed mutex and sync object on import.
winevulkan: Require timeline semaphores for VK_KHR_win32_keyed_mutex.
win32u/tests: Test vulkan / D3DKMT keyed mutex interop.
win32u: Create timeline semaphores for resources keyed mutexes.
win32u: Grow vkQueueSubmit buffers to allow for keyed mutex semaphores.
win32u: Reserve an array of timeline semaphore submit structs.
win32u: Implement keyed mutex acquire / release with timeline semaphores.
winex11: Don't keep track of the minimized window rects.
winex11: Use window rects for minimization in virtual desktop mode.
Tim Clem (2):
winemac.drv: Never set a zero backing size for a GL context.
winemac.drv: Explicitly track the shape layer used for letter/pillarboxes.
Vibhav Pant (14):
rometadata: Implement IMetaDataTables::{Get{String,Blob,Guid,UserString}HeapSize, GetNumTables}.
rometadata: Implement IMetaDataTables::GetTableInfo.
rometadata: Implement IMetaDataTables::GetRow.
rometadata: Implement IMetaDataTables::Get{String,Blob,Guid}.
rometadata/tests: Add tests for IMetaDataTables::{GetColumnInfo, GetColumn}.
rometadata: Implement IMetaDataTables::{GetColumn, GetColumnInfo}.
kernelbase: Release console_section in case of an allocation failure in alloc_console.
vccorlib140: Add AllocateException and FreeException stubs.
vccorlib140: Add AllocateExceptionWithWeakRef stub.
vccorlib140: Add stubs for exceptions-related functions.
vccorlib140: Add tests for exceptions-related functions.
vccorlib140: Add stubs for Exception constructors.
vccorlib140: Implement AllocateException(WithWeakRef), FreeException.
msvcrt: Update WinRT exception type info in _CxxThrowException.
Yuxuan Shui (4):
wmvcore/tests: Check what happens to a WMSyncReader when its allocator fails.
winegstreamer: Return NS_E_NO_MORE_SAMPLES from WMSyncReader if sample fails to read.
user32/tests: Make sure testtext has enough null bytes at the end.
reg: Fix out-of-bound read when string is empty.
Zhengyong Chen (1):
server: Fix incorrect key modification in rename_key function.
Zhiyi Zhang (27):
windows.ui.core.textinput: Add stub DLL.
windows.ui.core.textinput: Add ICoreInputViewStatics stub.
windows.ui.core.textinput: Add core_input_view_statics_GetForCurrentView() stub.
windows.ui.core.textinput: Add core_input_view_GetCoreInputViewOcclusions() stub.
windows.ui.core.textinput: Add core_input_view_add_OcclusionsChanged() stub.
windows.ui.core.textinput: Implement IWeakReferenceSource for ICoreInputView.
comctl32: Move uxtheme headers to comctl32.h.
comctl32: Add a helper to open theme for a window.
comctl32: Add a helper to close the theme for a window.
comctl32: Add a helper to handle WM_THEMECHANGED.
comctl32: Add a helper to handle WM_NCPAINT messages.
comctl32/datetime: Add a helper to draw the background.
comctl32/datetime: Remove theming for comctl32 v5.
uxtheme: Add a stub at ordinal 49.
comctl32/header: Add a helper to check if theme is enabled.
comctl32/header: Add a helper to get the item text rect.
comctl32/header: Add a helper to draw the item text.
comctl32/header: Add a helper to draw the rest of the background.
comctl32/header: Remove theming for comctl32 v5.
comctl32/hotkey: Remove theming for comctl32 v5.
comctl32/ipaddress: Add a helper to get the theme text state.
comctl32/ipaddress: Add a helper to get the text colors.
comctl32/ipaddress: Add a helper to draw the background.
comctl32/ipaddress: Add a helper to draw the dots.
comctl32/ipaddress: Remove theming for comctl32 v5.
comctl32/listview: Remove theming for comctl32 v5.
comctl32/monthcal: Remove theming for comctl32 v5.
Ziqing Hui (8):
mfreadwrite: Add attributes member to writer struct.
mfreadwrite: Add converter transform to stream.
mfreadwrite: Implement IMFSinkWriterEx.
mfreadwrite: Implement sink_writer_SetInputMediaType.
mfreadwrite/tests: Test getting transform for a writer without converter.
qasf: Implement seeking for asf reader.
qasf: Add asf_reader_stop_stream helper.
qasf: Add asf_reader_start_stream helper.
```
1
0
The Wine development release 10.17 is now available.
What's new in this release:
- Mono engine updated to version 10.3.0.
- EGL renderer used by default for OpenGL.
- COMCTL32 split into separate v5 and v6 modules.
- Better support for ANSI ODBC drivers.
- Improved CPU info on FreeBSD.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.17.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.17/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.17 (total 17):
- #16214 Copy command does not support CON or CON:
- #38987 tlReader 10.x crashes when searching dictionary (wxWidgets 2.9.4 questionable theming support detection via comctl32 v6 version resource)
- #46603 Metro 2033 crashes on exit
- #46823 in wcmd.exe, trailing slash in "if exist SomeDir/" cause always false
- #51119 INSIDE ground is black rendered with OpenGL renderer
- #52633 Some buttons from Free Virtual Keyboard's setting dialog are unthemed, needs comctl32 version 6.
- #56157 create_logical_proc_info (Stub) : Applications can not spawn multiple threads
- #56381 "type" does not support binary files
- #56391 So Blonde: very long loading times
- #57448 Erratic mouse movement with waylanddriver in Throne and Liberty
- #57574 Wine 9.20: Application window positioning regression on laptop with multi monitor display setup
- #57691 wine-mono: ASan gets triggered in mono_path_canonicalize with strcpy-param-overlap.
- #58726 "Roon" music player only shows a blank white screen but buttons (that aren't displayed) technically work
- #58737 Download of large file via WinHTTP fails with WSATIMEDOUT
- #58755 16-bit applications crash under new wow64 on some processors
- #58770 Unable to Compile 10.16
- #58796 Wine configuration window doesn't appear after prefix creation
### Changes since 10.16:
```
Alexandre Julliard (37):
winebuild: Add support for stripping files before setting the builtin flag.
makedep: Use winebuild to strip installed files.
tools: Add an STRARRAY_FOR_EACH macro to iterate an strarray.
makedep: Use the STRARRAY_FOR_EACH macro.
widl: Use the STRARRAY_FOR_EACH macro.
wine: Use the STRARRAY_FOR_EACH macro.
winebuild: Use the STRARRAY_FOR_EACH macro.
winegcc: Use the STRARRAY_FOR_EACH macro.
wrc: Use the STRARRAY_FOR_EACH macro.
server: Consistently use STATUS_TOO_MANY_OPENED_FILES when running out of file descriptors.
gitlab: Use the release keyword to create a release.
winedump: Rename struct array to str_array.
tools: Add a generic array type.
makedep: Use a generic array for dependencies.
makedep: Use a generic array for include files.
makedep: Add an array of install commands instead of abusing strarrays.
makedep: Build the installed file name when registering the install command.
configure: Fix syntax error in hwloc check.
windows.devices.enumeration: Fix the build with older Bison.
ntdll: Don't assume that the NT name is null-terminated in get_load_order().
ntdll: Build the NT name string directly in get_mapping_info().
server: Return the module export name with the mapping info.
ntdll: Use the export name if any to find the corresponding builtin.
setupapi: Use the actual source name when registering a manifest.
makedep: Include maintainer-generated files from the parent source directory.
makedep: Use normal installation rules when symlinks are not supported.
comctl32: Move version resource to a separate file.
makefiles: List headers in the makefile if they shadow a global header.
setupapi: Only use the actual source name for the first file in the manifest.
msi/tests: Clear the export directory on copied dll to prevent loading the builtin.
tools: Move the fatal_perror function to the shared header.
tools: Add a shared helper to create a directory.
tools: Add an install tool.
makedep: Use the new install tool.
shell32: Move ShellMessageBox implementation to shlwapi.
configure: Remove a couple of unnecessary checks.
makedep: Don't use LDFLAGS for special programs like the preloader.
Bernhard Übelacker (1):
winegcc: Forward large address aware flag with platform windows.
Brendan Shanks (2):
winemac: Draw black letter/pillarboxes around full-screen content.
winemac: Remove the no-longer-needed macdrv_dll.h.
Connor McAdams (10):
d3dx10/tests: Use readback functions from d3d10core tests for resource readback.
d3dx10/tests: Add tests for the D3DX10_IMAGE_LOAD_INFO structure argument.
d3dx10: Fill pSrcInfo structure in D3DX10_IMAGE_LOAD_INFO if passed in.
d3dx10: Create 3D textures for images representing 3D textures.
d3dx10: Add support for custom texture dimension arguments in D3DX10_IMAGE_LOAD_INFO.
d3dx10: Add support for handling the format field in D3DX10_IMAGE_LOAD_INFO.
d3dx10: Handle filter value passed in via D3DX10_IMAGE_LOAD_INFO.
d3dx10: Add support for generating mipmaps to load_texture_data().
d3dx10: Handle FirstMipLevel argument in load_texture_data().
d3dx10: Pass D3DX10_IMAGE_LOAD_INFO texture creation arguments through in load_texture_data().
Damjan Jovanovic (1):
ntdll: Implement create_logical_proc_info on FreeBSD.
Dmitry Timoshkov (20):
include: Properly declare IADsPathname interface.
adsldp: Properly declare IADs and IADsADSystemInfo interfaces.
include: Add declarations for IADsDNWithString and IADsDNWithBinary interfaces.
activeds: Add IADsDNWithBinary class implementation.
adsldp: Use correct DN in IDirectorySearch::ExecuteSearch().
adsldp: Reimplement IADs::GetInfoEx() on top of IDirectorySearch interface.
adsldp: Implement IADs::GetEx().
adsldp/tests: Add some tests for IADs::GetEx().
adsldp: Implement IADs::get_Schema().
adsldp: Fail to create IADs if it doesn't have an associated schema attribute.
activeds: Retry without ADS_SECURE_AUTHENTICATION for an AD path.
adsldp/tests: Add some tests for IADs::get_Schema().
adsldp: Accept virtual objects in IADsOpenDSObject::OpenDSObject().
adsldp/tests: Add a test for opening schema as an ADs object.
activeds: Add registration of IADsDNWithString and IADsDNWithBinary objects.
adsldp: Add IADsObjectOptions stub implementation.
adsldp: Add support for IADsObjectOptions::GetOption(ADS_OPTION_SERVERNAME).
adsldp: Add support for IADsObjectOptions::GetOption(ADS_OPTION_ACCUMULATIVE_MODIFICATION).
adsldp: Return success for IADsObjectOptions::SetOption(ADS_OPTION_ACCUMULATIVE_MODIFICATION) stub.
activeds: Remove misleading comments.
Elizabeth Figura (9):
ddraw/tests: Fix some tests on modern Windows.
ddraw/tests: Expand and fix tests for EnumDevices().
ddraw: Expose the RGB device for version 1.
ddraw: Reorder ddraw7 enumeration.
ddraw: Rename the RGB device to "RGB Emulation".
ddraw: Fix the size for d3d1 and d3d2 EnumDevices().
user32/tests: Inline process helpers into test_child_process().
ntdll: Also fix up invalid gsbase in the syscall and unix call dispatchers.
shell32/tests: Expand attributes tests.
Eric Pouech (13):
wineconsole: Ensure conhost gets the expected title.
conhost: Support the close-on-exit configuration option.
winedbg: No longer expect a startup sequence in auto mode.
cmd/tests: Add some tests when using "complex" commands in pipes.
cmd: Introduce a new node for describing blocks.
cmd: Refactor run_external_full_path().
cmd: Introduce helper for handling pipe commands.
cmd: Run single commands in pipe in external cmd instance.
cmd: Rewrite binary operations for pipes.
cmd: Add support for IF commands in rewrite.
cmd: Rewrite FOR commands for pipe.
cmd: Rewrite explicit blocks for pipe.
cmd: Remove transition helpers for pipe commands.
Esme Povirk (3):
winbrand: Add stub dll.
winbrand: Partially implement BrandingFormatString.
mscoree: Update Wine Mono to 10.3.0.
Felix Hädicke (1):
winhttp: Type UINT64 for variables content_length and content_read.
Gabriel Ivăncescu (11):
mshtml: Factor out XMLHttpRequest creation.
mshtml: Factor out XMLHttpRequest constructor init.
mshtml: Separate the ifaces and the other XHR fields.
mshtml: Factor out XMLHttpRequest's get_responseText.
mshtml: Factor out XMLHttpRequest's abort.
mshtml: Factor out XMLHttpRequest's open.
mshtml: Factor out XMLHttpRequest's send.
mshtml: Add XDomainRequest factory implementation.
mshtml: Implement XDomainRequest.open().
mshtml: Implement timeout for XDomainRequest.
mshtml: Implement contentType for XDomainRequest.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.329.
Giovanni Mascellani (22):
mmdevapi/tests: Test after sleeping with read_packets().
mmdevapi/tests: Move GetBufferSize() checks to the beginning of the test.
mmdevapi/tests: Move checking the current padding out of read_packets().
mmdevapi/tests: Test after overrunning buffer with read_packets().
mmdevapi/tests: Test after stopping and restarting the client with read_packets().
mmdevapi/tests: Test after stopping, resetting and restarting the client with read_packets().
mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when rendering.
mmdevapi/tests: Tweak the lists of audio format to test.
mmdevapi/tests: Simplify checking IsFormatSupported() result when rendering.
mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when rendering.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when rendering.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when rendering.
mmdevapi/tests: Test extensible wave formats when rendering.
dsound: Remove dead lead-in logic.
dsound: Simplify a condition in DSOUND_MixInBuffer().
mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when capturing.
mmdevapi/tests: Tweak the lists of audio format to test when capturing.
mmdevapi/tests: Simplify checking IsFormatSupported() result when capturing.
mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when capturing.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when capturing.
mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when capturing.
mmdevapi/tests: Test extensible wave formats when capturing.
Hans Leidekker (1):
bcrypt: Support import/export for generic ECDH/ECDSA algorithms.
Jacek Caban (4):
mshtml: Reset event handlers in document.open.
win32u: Wrap vkGetPhysicalDeviceProperties2[KHR].
win32u: Move LUID handling from winevulkan.
winevulkan: Use generated PE thunks for vkGetPhysicalDeviceProperties2[KHR].
James McDonnell (3):
shell32: Add shield icon.
shell32: Map stock icons to shell32 resource id.
shell32/tests: Add a test for stock icons.
Jiangyi Chen (2):
user32/tests: Add some tests for uiLengthDrawn calculation in DrawTextExW().
user32: Fix uiLengthDrawn calculation in DrawTextExW().
Jinoh Kang (1):
ntdll: Use ReadPointerAcquire to get pointer value in RtlRunOnceComplete.
Louis Lenders (2):
gdi32: Add stub for GetEnhMetaFilePixelFormat.
uxtheme: Add stub for GetThemeBitmap.
Luca Bacci (1):
ntdll: Use ReadPointerAcquire to get pointer value in RtlRunOnceBeginInitialize.
Marc-Aurel Zent (4):
server: Add get_effective_thread_priority() helper.
server: Add set_thread_disable_boost() helper.
server: Boost main thread priority.
ntdll: Switch to CLOCK_BOOTTIME for monotonic counters when available.
Matteo Bruni (6):
d3dx9: Handle inverse transposed matrix in UpdateSkinnedMesh().
d3dx9/tests: Skip ID3DXRenderToSurface tests if BeginScene() fails.
d3dx9/tests: Increase tolerance in test_D3DXSHEvalDirectionalLight().
d3dx9/tests: Add some fallback formats in the texture tests.
d3dx10/tests: Disable size validation test.
d3dx11/tests: Disable size validation test.
Michael Müller (1):
shell32: Set SFGAO_HASSUBFOLDER correctly for normal shellfolders.
Michael Stefaniuc (11):
dmstyle: Move the parsing of the style bands to a helper.
dmstyle: Avoid Hungarian notation in a private struct.
dmstyle: Simplify the load_band() helper.
dmstyle: Move the IStream resetting to the load_band() helper.
dmstyle: Use load_band() for the pattern band too.
dmstyle: Simplify the style IPersistStream_Load method.
dmstyle: Remove no longer needed helpers.
dmstyle: Issue a FIXME for unhandled references to chormaps in a style.
dmscript: Move the loading of the container to a helper.
dmscript: Reimplement the loading of a script.
dmscript: Get rid of the IDirectMusicScriptImpl typedef.
Nikolay Sivov (32):
odbc32: Implement SQLSpecialColumnsW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_SEARCH_PATTERN_ESCAPE) for ANSI win32 drivers.
odbc32: Implement SQLColumnsW() for ANSI win32 drivers.
oledb32/tests: Add some more tests for the error object.
oledb32: Rename error object creation helper.
oledb32/error: Store a dynamic id for each error record.
oledb32/errorinfo: Add a helper to access records by index.
oledb32/errorinfo: Return 0-record info with GetGUID().
oledb32/errorinfo: Rename a helper.
oledb32/errorinfo: Return stub error info objects from GetErrorInfo().
oledb32/errorinfo: Reference error object for each returned IErrorInfo instance.
oledb32/errorinfo: Implement GetSource() using error lookup service.
oledb32/errorinfo: Release dynamic error information on cleanup.
oledb32/errorinfo: Implement GetDescription() using error lookup service.
oledb32/errorinfo: Implement GetHelpFile() using error lookup service.
oledb32/errorinfo: Implement GetHelpContext() using error lookup service.
oledb32/errorinfo: Implement IErrorInfo methods of the error object.
oledb32/errorinfo: Implement GetGUID().
oledb32: Consider requested interface in DllGetClassObject().
oledb32: Use public symbol for the Error Object CLSID.
dwrite: Update script information with Unicode 16.0 additions.
dwrite: Explicitly check scripts for "complexity" property.
mfplat/tests: Fix a crash on some Windows systems.
ole32: Move CoTreatAsClass() to combase.
combase: Check for null arguments in CoTreatAsClass().
combase: Remove unreachable failure path in CoTreatAsClass().
ole32: Move CoIsOle1Class() stub to combase.
oleaut32/tests: Enable more tests for VarMul().
oleaut32/tests: Enable more tests for VarEqv().
oleaut32/tests: Enable more tests for VarXor().
oleaut32/tests: Enable more tests for VarAnd().
bcp47langs/tests: Fix a crash when running on Wine.
Owen Rudge (3):
taskschd: Only release ITaskDefinition if creation of RegisteredTask fails.
taskschd/tests: Add test for ITaskDefinition Data property.
taskschd: Implement ITaskDefinition Data property.
Paul Gofman (12):
server: Support NULL job handle in get_job_info().
shell32: Add Screenshots known folder.
win32u: Bump GPU internal driver versions to a future version.
ntdll: Add a stub for EtwEventWriteEx().
advapi32: Add a stub for EnumerateTraceGuidsEx().
windows.media.speech: Add stub IRandomAccessStream interface to SpeechSynthesisStream class.
windows.media.speech: Add stub IInputStream interface to SpeechSynthesisStream class.
windows.media.speech: Add semi-stub for synthesis_stream_input_ReadAsync().
windows.media.speech: Return semi-stub IAsyncInfo from async_with_progress_uint32_QueryInterface().
ntdll/tests: Add more tests for nested exceptions on x64.
ntdll: Make nested_exception_handler() arch specific.
ntdll: Clear nested exception flag at correct frame on x64.
Piotr Caban (17):
odbc32: Add SQLDriverConnectA() implementation.
odbc32: Handle SQL_C_WCHAR conversion in SQLGetData for ANSI drivers.
odbc32: Implement SQLStatisticsW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_STRING_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_NUMERIC_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_TIMEDATE_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_SYSTEM_FUNCTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_CONVERT_*) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_CONCAT_NULL_BEHAVIOR) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_EXPRESSIONS_IN_ORDERBY) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ORDER_BY_COLUMNS_IN_SELECT) for ANSI win32 drivers.
odbc32: Remove prepare_con() helper.
odbc32: Support SQLGetInfo(SQL_OJ_CAPABILITIES) in older drivers.
odbc32: Remove debugstr_sqllen() helper.
odbc32: Remove debugstr_sqlulen() helper.
msvcrt: Optimize _ismbcspace_l for ASCII range.
msvcrt: Support anonymous namespace in __unDName().
Ratchanan Srirattanamet (1):
msi: Record feature in assembly publication when package has 2+ features.
Reinhold Gschweicher (1):
msxml3/element: Implement removeAttributeNode function.
Rémi Bernon (76):
gitlab: Install mesa-vulkan-drivers packages.
server: Move class info to the shared memory object.
win32u: Read class info from the shared memory object.
server: Allocate shared memory objects with dynamic size.
server: Move extra class info to the shared memory object.
win32u: Read extra class info from the shared memory object.
win32u: Ensure D3DKMTQueryVideoMemoryInfo usage is smaller than budget.
winevulkan: Treat LPCWSTR and HANDLE as pointer sized types.
win32u: Pass the name of the extension to replace to get_host_extension.
win32u: Swap VK_KHR_external_memory_win32 with the matching host extension.
win32u: Create D3DKMT global resources for exported Vulkan memory.
win32u: Implement Vulkan memory D3DKMT NT shared handle export.
win32u: Implement Vulkan memory D3DKMT global / shared handle import.
win32u: Implement Vulkan memory D3DKMT handle import from name.
maintainers: Assume maintainership of the GL / VK / D3DKMT areas.
opengl32: Remove deprecated WGL_RENDERER_ID_WINE constant.
win32u: Enumerate and initialize EGL devices as separate platforms.
win32u: Initialize some renderer properties with EGL devices.
win32u: Check maximum context versions with EGL devices.
win32u: Check renderer version and video memory from EGL devices.
winevulkan: Swap VK_KHR_external_semaphore_win32 with the host extension.
win32u: Swap handle types in vkGetPhysicalDeviceExternalSemaphoreProperties.
win32u: Implement export of semaphores as D3DKMT global handles.
win32u: Implement import of semaphores from D3DKMT global handles.
win32u: Implement export of semaphores as D3DKMT shared handles.
win32u: Implement import of semaphores from D3DKMT shared handles.
win32u: Implement import of semaphores from D3DKMT object names.
server: Use the object runtime data size for the reply.
server: Don't crash in d3dkmt_share_objects if attributes are invalid.
win32u: Fix swapped security / root object attributes.
win32u: Introduce a new D3DKMT_ESCAPE_UPDATE_RESOURCE_WINE code.
winevulkan: Swap VK_KHR_external_fence_win32 with the host extension.
win32u: Swap handle types in vkGetPhysicalDeviceExternalFenceProperties.
win32u: Implement export of fences as D3DKMT global handles.
win32u: Implement import of fences from D3DKMT global handles.
win32u: Implement export of fences as D3DKMT shared handles.
win32u: Implement import of fences from D3DKMT shared handles.
win32u: Implement import of fences from D3DKMT object names.
winex11: Flush the thread display after processing every event.
winex11: Remove some arguably unnecessary XFlush calls.
win32u: Check QS_DRIVER bit before calling ProcessEvents.
win32u: Pass the caller class name to NtUserCreateWindowEx.
win32u: Use the caller class name in CREATESTRUCT lpszClass.
win32u: Set CREATESTRUCT lpszClass to the base class name.
winex11: Move colormap ownership to x11drv_client_surface.
winex11: Use the visual depth when creating the client window.
winex11: Lookup visual from EGL config EGL_NATIVE_VISUAL_ID.
win32u: Move fetching window icon out of the drivers.
winex11: Clear WS_VISIBLE to delay showing layered windows.
winex11: Remove unnecessary calls to map_window helper.
winex11: Call window_set_wm_state instead of map_window.
win32u: Use an absolute wait timeout in wait_message.
win32u: Keep waiting on the queue until it gets signaled.
server: Clear QS_RAWINPUT | QS_HARDWARE in get_rawinput_buffer.
win32u: Process internal hardware messages while waiting.
server: Don't set QS_RAWINPUT for internal hardware messages.
winevulkan: Move physical device extension checks around.
winevulkan: Require VK_EXT_map_memory_placed for WOW64 memory export.
winevulkan: Handle WOW64 conversion of SECURITY_ATTRIBUTES.
ntdll: Export wine_server_send_fd to other unix libs.
win32u: Export host memory unix file descriptor.
win32u: Send D3DKMT object fd to wineserver on creation.
win32u: Import vulkan memory from the D3DKMT object fd.
win32u/tests: Avoid closing invalid handle after OpenSharedHandleByName.
win32u: Use local handles in D3DKMT_ESCAPE_UPDATE_RESOURCE_WINE.
win32u: Fix incorrect D3DKMT exported name length.
winex11: Use EGL by default for OpenGL rendering.
server: Target the default or foreground window for internal hardware messages.
winex11: Avoid freeing default colormap.
win32u: Keep exported semaphore fd with the global D3DKMT object.
win32u: Import Vulkan semaphore from the D3DKMT object fd.
win32u: Keep exported fence fd with the D3DKMT global object.
win32u: Import Vulkan fence from the D3DKMT object fd.
winex11: Update WM_HINTS and NET_WM_STATE when WM_STATE isn't.
winex11: Simplify the logic to reset cursor clipping.
winex11: Remove unnecessary extra window hiding condition.
Sven Baars (3):
ntdll: Cast tv_sec to ULONGLONG before multiplying.
mmdevapi/tests: Use %I64u instead of %llu.
winhttp: Use %I64u instead of %llu.
Ugur Sari (1):
netapi32: Add stubs for NetValidatePasswordPolicy and NetValidatePasswordPolicyFree.
Vasiliy Stelmachenok (5):
opengl32: Fix incorrect wglQueryCurrentRendererStringWINE call.
opengl32: Generate entry points for EGL_EXT_device_drm extension.
win32u: Stub WGL_WINE_query_renderer when EGL devices are supported.
win32u: Implement wglQueryCurrentRenderer* with wglQueryRenderer*.
win32u: Implement wglQueryRendererStringWINE with EGL devices.
Vibhav Pant (7):
makedep: Support including generated WinRT metadata in resource files.
cfgmgr32/tests: Add tests to ensure DevGetObjects(Ex) does not de-duplicate requested properties.
windows.devices.enumeration/tests: Add tests for device properties for IDeviceInformation objects.
windows.devices.enumeration/tests: Add tests for IDeviceInformationStatics::FindAllAsyncAqsFilterAndAdditionalProperties.
windows.devices.enumeration: Implement IDeviceInformation::get_Properties.
windows.devices.enumeration: Implement IDeviceInformationStatics::{FindAllAsyncAqsFilterAndAdditionalProperties, CreateWatcherAqsFilterAndAdditionalProperties}.
rometadata: Add stub for IMetaDataTables.
Vijay Kiran Kamuju (1):
bcp47langs: Add stub for GetUserLanguages.
Yuxuan Shui (4):
windows.devices.enumeration: Fix use-after-realloc in devpropcompkeys_append_names.
windows.devices.enumeration: Don't leave dangling pointers if devpropcompkeys_append_names fails.
iphlpapi: Give GetBestRoute2 a SOCKETADDR_INET.
include: Add atomic read/write of pointers.
Zhengyong Chen (1):
imm32: Do not overwrite input context window with GetFocus() in ime_ui_update_window.
Zhiyi Zhang (26):
comctl32/tests: Fix a window leak.
user32: Load version for comctl32 v6 window classes.
comctl32/tests: Add version tests.
comctl32: Separate v5 and v6.
comctl32/tests: Add RegisterClassNameW() tests.
comctl32: Remove user32 control copies in comctl32 v5.
comctl32/tests: Test v6 only exports.
comctl32: Remove taskdialog from comctl32 v5.
comctl32: Remove syslink from comctl32 v5.
comctl32: Remove v6 only exports.
comctl32/tests: Add CCM_SETVERSION tests.
comctl32/toolbar: Don't change Unicode format when handling CCM_SETVERSION.
comctl32/listview: Fix CCM_{GET,SET}VERSION handling.
comctl32/rebar: Fix CCM_{GET,SET}VERSION handling.
comctl32/toolbar: Fix CCM_{GET,SET}VERSION handling.
include: Bump COMCTL32_VERSION to 6.
comctl32/tests: Move toolbar Unicode format tests.
comctl32: Add a helper to handle CCM_SETVERSION messages.
user32/tests: Remove some broken() for older systems in test_comctl32_class().
wintypes: Fix a memory leak.
wintypes: Restore a pointer check in property_value_statics_CreateString().
wintypes: Increase string reference count when property_value_GetString() succeeds.
wintypes: Create a copy for string arrays for property_value_statics_CreateStringArray().
wintypes: Increase string reference count when property_value_GetStringArray() succeeds.
winex11.drv: Ignore fullscreen window config changes.
win32u: Correct a comment.
```
1
0
The Wine development release 10.16 is now available.
What's new in this release:
- Fast synchronization support using NTSync.
- 16-bit apps supported in new WoW64 mode.
- Initial support for D3DKMT objects.
- WinMD (Windows Metadata) files generated and installed.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.16.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.16/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.16 (total 34):
- #7115 Need for Speed III installer fails in Win9X mode, reporting "Could not get 'HardWareKey' value" (active PnP device keys in 'HKEY_DYN_DATA\\Config Manager\\Enum' missing)
- #21855 Lotus Word Pro 9.8: Windows pull down does not show file names
- #27002 Shadow Company: Left for Dead fails with "No usable 3D Devices installed".
- #32572 Multiple games have no character animation (Alpha Polaris, Face Noir, A Stroke of Fate series)
- #38142 Approach fields box only show 3/4 of one line
- #43124 Overwatch loses focus on respawn
- #44817 Some software protection schemes need ntdll.NtSetLdtEntries to modify reserved LDT entries
- #49195 Multiple 4k demoscene OpenGL demos crash on startup (failure to lookup atom 0xC019 'static' from global atom tables)
- #49905 VbsEdit runs wscript.exe with unsupported switches /d and /u
- #50210 Multiple games need D3DX11GetImageInfoFromMemory implementation (S.T.A.L.K.E.R.: Call of Pripyat, Metro 2033, Project CARS)
- #53767 vbscript fails to handle ReDim when variable is not yet created
- #54670 16-bit applications fail in wow64 mode
- #55151 PC crashes after endlessly eating up memory
- #57877 CMD: Parsing issue: Mismatch in parentheses provoked by trailing tab
- #58156 Star Wars: Jedi Knight - Dark Forces II Demo & other games: won't launch, "smackw32.DLL" failed to initialize (macOS)
- #58204 Winecfg Audio tab doesn't enumerate drivers or show output devices, but test button works.
- #58458 Wolfenstein: The Old Blood (Wolfenstein: The New Order) fails to start with EGL opengl backend
- #58480 winebuild ASLR breaks older DLLs
- #58491 Flickering on video-surveilance-app is back
- #58515 Street Chaves only displays a black screen
- #58534 Grand Theft Auto: Vice City intros play with a black screen
- #58602 Screen Issue in Colin McRae Rally 2
- #58637 SimCity 2000 Windows 95 edition doesn't launch in WoW64 mode
- #58651 Legacy of Kain: Blood Omen black screen on startup but with sound using Verok's patch
- #58666 wine 10.14 fails to build in alpine linux x86
- #58688 Regression: Xenia Canary crashes with STATUS_CONFLICTING_ADDRESSES when starting a game on Wine 10.13+ (works on 10.12)
- #58699 Profi cash 12 user interface is rendered mostly black
- #58700 Regression: Direct3D applications show a blank screen under wined3d in 10.15
- #58705 Wolfenstein: The New Order (Wolfenstein: Old Blood) - the screen is black
- #58710 wmic now also prints system properties since 3c8a072b52f2159e68bfd4e471faf284309201ed
- #58716 Camerabag Pro 2025.2 crashes with unhandled exception (unimplemented function propsys.dll.PropVariantToFileTime) on loading a JPEG
- #58730 Images in iTunes have a white background (see picture)
- #58742 winedbg: Internal crash at 00006FFFFF8CB5E5 (pe_load_msc_debug_info)
- #58744 Missing Type on get_type within dlls/msi/suminfo.c
### Changes since 10.15:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (43):
ntdll: Delay first thread initialization until process init.
ntdll: Use a separate bitmap to keep track of allocated LDT entries.
ntdll: Use the virtual mutex to protect the LDT data.
include: Use latest definitions for PEB fields to replace the old Fls fields.
ntdll: Store the ldt_copy pointer in the PEB and access it from the client side.
server: Remove the server-side LDT support.
ntdll: Replace LDT flags by explicit bit fields.
krnl386: Replace LDT flags by explicit bit fields.
ntdll: Store LDT limit and bits in the same word.
krnl386: Fetch the ldt copy pointer from the PEB.
winebuild: Fetch the ldt copy pointer from the PEB.
ntdll: Allocate the LDT copy only when needed.
ntdll: Handle return length from ThreadDescriptorTableEntry in the common code.
ntdll: Support NtQueryInformationThread(ThreadDescriptorTableEntry) in new wow64 mode.
ntdll: Support setting LDT entries in new wow64 mode.
ntdll: Keep the DOS area clear in new wow64 mode.
tiff: Import upstream release 4.7.1.
ntdll: Restore the macOS RLIMIT_NOFILE workaround.
ntdll/tests: Always restore the APC dispatcher.
ntdll: Clear alignment flag on signal entry also on x86-64.
ntdll: Consistently output one loaddll trace per module.
ntdll: Only return 32-bit PEB for 32-bit process.
win32u/tests: Avoid reading uninitialized data.
wow64cpu: Store the actual segment registers in the wow64 context.
wow64cpu: Store the 32-bit segment registers in the context when entering 32-bit mode.
wow64cpu: Store the 32-bit segment registers in the context on syscalls.
ntdll: Store the actual segment registers in the wow64 context.
ntdll: Trace some segment registers in 64-bit mode.
makedep: Add rules to build winmd files.
wow64cpu: Store the 32-bit segment registers in the context also on Unix calls.
wow64: Support exceptions happening in 16-bit mode.
ntdll: Support exceptions happening in 16-bit mode.
shell: Fix crash in ShellAbout16() when no icon is specified.
makedep: Don't add a trailing slash to installation directories.
makedep: Add a helper to install a data file.
makedep: Add a helper to install a data file from the source dir.
makedep: Add a helper to install a header file.
makedep: Add a helper to install a program.
makedep: Add a helper to install a script.
makedep: Add a helper to install a tool.
makedep: Add a helper to install a symlink.
makedep: Build the install destination string in the common helper.
makefiles: Install winmd files.
Alistair Leslie-Hughes (5):
comdlg32: Correct show parameter passed to ShowWindow.
cryptui: Correct show parameter passed to ShowWindow.
wordpad: Correct show parameter passed to ShowWindow.
include: Add TABLET_DISABLE_PRESSANDHOLD define.
include: Add TOUCH_COORD_TO_PIXEL define.
Anton Baskanov (10):
dmsynth/tests: Check IDirectMusicSynth::Open() default parameter values.
dmsynth/tests: Actually set parameters to zero before calling IDirectMusicSynth::Open().
dmsynth: Remove special handling of zero parameter values in IDirectMusicSynth::Open().
dmsynth: Don't force enable DMUS_EFFECT_REVERB.
winecfg: Allow configuring default MIDI device.
dmsynth/tests: Add tests for GUID_DMUS_PROP_Volume.
dmsynth: Set gain to 6 dB.
dmsynth: Handle GUID_DMUS_PROP_Volume.
fluidsynth: Disable IIR filter resonance hump compensation.
dmsynth: Pre-attenuate voices by center pan attenuation.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Kölbl (2):
make_unicode: Add some halfwidth mapping exceptions.
mf: Handle start request when session is already running.
Billy Laws (4):
ntdll/tests: Skip broken process suspend test under ARM64 WOW64.
ntdll/tests: Test THREAD_CREATE_FLAGS_SKIP_LOADER_INIT flag.
ntdll: Add a default pBaseThreadInitThunk implementation.
ntdll: Support THREAD_CREATE_FLAGS_SKIP_LOADER_INIT flag.
Christian Costa (1):
d3dx9: Add an initial implementation of UpdateSkinnedMesh().
Connor McAdams (15):
d3dx9/tests: Add tests for D3DFMT_CxV8U8.
d3dx9: Add support for D3DFMT_CxV8U8.
d3dx9: Replace D3DFMT_CxV8U8 with D3DFMT_X8L8V8U8 when creating textures.
d3dx9/tests: Add tests for ATI{1,2} DDS files.
d3dx9/tests: Add a test for DDS_PF_FOURCC flag handling.
d3dx9: Ignore all other DDS pixel format flags if DDS_PF_FOURCC is set.
d3dx10/tests: Add more DDS pixel format tests.
d3dx11/tests: Add more DDS pixel format tests.
d3dx9: Add a tweak to stb_dxt to more closely match native output.
d3dx10: Use shared code in load_texture_data() when possible.
d3dx10: Ignore alpha channel values for WICPixelFormat32bppBGR BMP images.
d3dx10: Add support for decompressing BC4 and BC5 formats.
d3dx10: Add support for compressing BC4 and BC5 formats.
d3dx10: Exclusively use shared code to load DDS files in load_texture_data().
d3dx10: Exclusively use shared code in load_texture_data().
David Kahurani (4):
xmllite/writer: Implement WriteNmToken().
xmllite/writer: Implement WriteQualifiedName().
xmllite/writer: Implement WriteEntityRef().
xmllite/writer: Implement WriteName().
Dmitry Kislyuk (1):
wscript: Ignore /d and /u.
Dmitry Timoshkov (15):
winex11.drv: Remove a no longer valid assert().
ntdll/tests: Add some tests for NtSetLdtEntries.
comdlg32: Properly translate Flags and PageRanges to PRINTDLGEX.
runas: Add initial implementation.
ws2_32/tests: Add a simple test for WSAProviderConfigChange().
ws2_32: Return a socket from WSAProviderConfigChange() stub.
ole32/tests: Add a test for IPropertySetStorage::Open() with STGM_TRANSACTED flag.
ole32: Ignore STGM_TRANSACTED in IPropertySetStorage::Open().
ole32: Print correct entry name in a trace when reading storage dictionary.
ole32: Write padding to a dictionary entry only when necessary.
ole32: Clear dirty flag in IPropertyStorage::Commit().
gdiplus: Handle PixelFormatPAlpha separately in alpha_blend_hdc_pixels().
secur32: Add QuerySecurityContextToken() stub implementation to the LSA wrapper.
d2d1: Implement D2D1CreateDeviceContext().
d2d1: Add a test for D2D1CreateDeviceContext().
Elizabeth Figura (23):
user32/tests: Test MDI menu updating when window titles are changed.
user32: Always refresh the MDI menu on WM_MDISETMENU.
setupapi/tests: Test SetupGetBinaryField().
setupapi: Parse a 0x prefix in SetupGetBinaryField().
ntdll: Check inproc sync signal rights in signal and wait.
wined3d: Use malloc() for the private store.
user32/tests: Test integral resizing of listboxes.
comctl32/tests: Test integral resizing of listboxes.
comctl32/listbox: Ignore the horizontal scrollbar when setting integral height.
ntdll: Introduce a helper to wait on a server-side sync object.
ddraw/tests: Use ANSI versions of user32 functions.
winebth.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
winebus.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
wineusb.sys: Silently pass down IRP_MN_QUERY_ID to the PDO.
ntoskrnl.exe: Create keys for devices in HKEY_DYN_DATA\Config Manager\Enum.
ddraw/tests: Do not validate that vidmem D32 is not supported.
ddraw/tests: Fix test_caps() on Windows 98.
ddraw/tests: Test dwZBufferBitDepths.
ddraw: Fill dwZBufferBitDepths.
server: Create an inproc sync for user APC signaling.
ntdll: Validate expected inproc sync type in get_inproc_sync.
ntdll: Use in-process synchronization objects.
ntdll: Cache in-process synchronization objects.
Eric Pouech (22):
certutil: Implement -decodehex command.
cmd: Generate binary files with certutil.
cmd: Only set console's default color when provided.
cmd: Fix some initial env variables setup.
cmd: Fix context detection in cmd /c.
cmd: Don't use page mode for stderr.
cmd: Introduce helper to push/pop i/o handles for redirections.
cmd: Ensure that all output to STD_OUTPUT go through WCMD_output_asis.
cmd: Let WCMD_fgets() work properly when reading from a pipe.
cmd: Use a global input handle for console.
cmd: Let WCMD_ask_confirm Use WCMD_fgets().
cmd: Let WCMD_setshow_date() use WCMD_fgets().
cmd: Let WCMD_setshow_env() use WCMD_fgets().
cmd: Let WCMD_label() use WCMD_fgets().
cmd: Add tests showing that MORE outputs to CONOUT$ not stdout.
cmd: Clean up and enhance MORE command implementation.
cmd: Let WCMD_setshow_time() use WCMD_fgets().
cmd: Let WCMD_wait_for_input() no longer use WCMD_ReadFile().
cmd: Get rid of WCMD_ReadFile.
winedbg: Simplify fetching module name.
dbghelp: Add public symbols out of export table when no debug info is present.
dbghelp: Don't crash on stripped image without DEBUG directories.
Francis De Brabandere (1):
vbscript: Allow redim without a prior dim.
Giovanni Mascellani (15):
mmdevapi/tests: Remove a flaky test.
mmdevapi/tests: Introduce a helper to read many packets when capturing.
mmdevapi/tests: Check that GetBuffer() fails when no packet is available.
mmdevapi/tests: Check that GetBuffer() returns a packet of the expected size.
mmdevapi/tests: Check that the received packet isn't larger than the padding.
mmdevapi/tests: Test releasing a buffer without consuming it and getting it again.
mmdevapi/tests: Check that releasing a buffer of the wrong size fails.
mmdevapi/tests: Test acquiring and releasing the buffer out of order.
mmdevapi/tests: Check that captured packets are consecutive.
mmdevapi/tests: Test calling GetNextPacketSize() after GetBuffer().
mmdevapi/tests: Replace a few tests with read_packets().
mmdevapi/tests: Check discontinuities after having started capturing.
mmdevapi/tests: Check that the capture buffer is empty after processing packets.
mmdevapi/tests: Sleep for 600 ms to guarantee a buffer overrun.
mmdevapi/tests: Remove a wrong test about packet sizes.
Hans Leidekker (8):
wbemprox: Support WBEM_FLAG_NONSYSTEM_ONLY in class_object_Next().
wmic: Only list non-system properties.
bcrypt: Add support for named curves.
msi: Support PID_EDITTIME in MsiSummaryInfoSetProperty().
wbemprox: Implement Win32_LocalTime.
widl: Add metadata support for imported types.
widl: Store name and namespace string index.
widl: Fix order of exclusiveto attribute.
Jacek Caban (2):
winebuild: Use .rdata section instead of .rodata on PE targets.
opengl32: Propagate GL errors from wow64 wrappers.
Jiangyi Chen (2):
ole32/tests: Add tests for StgOpenStorageOnILockBytes().
ole32: Fix the return value for StgOpenStorageOnILockBytes().
Jinoh Kang (10):
fluidsynth: Fix g_atomic_int_add() return value.
fluidsynth: Fix data race in g_get_monotonic_time().
fluidsynth: Fix g_mutex_init() and g_cond_init().
fluidsynth: Fix double close of thread handle in g_thread_unref().
fluidsynth: Use full memory barrier in g_atomic_int_get().
fluidsynth: Round up sleep duration in g_usleep().
fluidsynth: Fix argument flag handling in g_file_test().
fluidsynth: Fix definition of g_atomic_int_dec_and_test().
fluidsynth: Return thread return value from g_thread_join().
fluidsynth: Use InterlockedExchangeAdd() in g_atomic_int_add().
Joe Souza (5):
cmd/tests: Add test to check for TYPE truncation in binary mode.
cmd: Refactor WCMD_copy_loop out of WCMD_ManualCopy, and stop copy loop at EOF for /a mode.
cmd: Fix TYPE behavior (now uses WCMD_copy_loop).
cmd/tests: Test that DIR /Oxxx at the command line overrides DIRCMD=/Oyyy set in the environment.
cmd: Allow DIR /Oxxx at the command line to override DIRCMD=/Oyyy set in the environment.
Lauri Kenttä (1):
po: Update Finnish translation.
Louis Lenders (4):
wmic: Add "qfe" alias.
wbemprox: Add two hotfixid's for Windows 7 to Win32_QuickFixEngineering.
wmic: Add a basic help option "/?".
shell32: Add explicit ordinal for SHMultiFileProperties.
Maotong Zhang (1):
ole32/tests: Add some tests for "CurVer" handling.
Michael Müller (1):
user32/listbox: Ignore the horizontal scrollbar when setting integral height.
Nikolay Sivov (65):
dwrite: Always initialize 'contours' flag.
dwrite/layout: Always initialize effective run bounding box.
dwrite/layout: Do not shadow output parameter.
dwrite/opentype: Use mask shifts only for non-zero masks.
win32u/tests: Fix missing test message context pop.
dwrite/tests: Add some more tests for ConvertFontToLOGFONT().
dwrite: Check against local file loader in ConvertFontToLOGFONT().
dwrite: Remove system collection marker.
dwrite: Mark system font sets.
dwrite: Create both WWS and typographic system collections using system font set.
dwrite: Create custom collections using font sets.
dwrite: Simplify collection initialization helper.
dwrite: Remove nested structures in fontset entries.
dwrite: Cache set elements for returned system sets.
dwrite/tests: Add a small test for EUDC collection.
dwrite: Reuse font set entries to return set instances for collections.
xmllite/tests: Add some more tests for WriteNmToken().
mf: Implement MFTranscodeGetAudioOutputAvailableTypes().
dwrite/tests: Add more tests for CreateFontFileReference().
dwrite: Use uppercase paths for local file loader keys.
dwrite: Fail file reference creation when timestamp is inaccessible.
dwrite/tests: Add another CreateFontFaceReference() test with inaccessible file.
xmllite/tests: Add some more implicit flushing tests.
xmllite/write: Improve error handling in WriteCharEntity().
xmllite/writer: Improve error handling in WriteNmToken().
xmllite/writer: Improve error handling in WriteWhitespace().
xmllite/writer: Improve error handling in WriteSurrogateCharEntity().
xmllite/writer: Improve error handling in WriteStartDocument().
xmllite/writer: Improve error handling in WriteCData().
xmllite/writer: Improve error handling in WriteComment().
xmllite/writer: Improve error handling in WriteProcessingInstruction().
xmllite/writer: Remove duplicate check for whitespaces.
xmllite/writer: Improve error handling WriteDocType().
xmllite/writer: Improve error handling in WriteEndElement().
xmllite/writer: Improve error handling in WriteEndDocument().
propsys: Add PropVariantToFileTime() semi-stub.
propsys: Add PropVariantToUInt32Vector() semi-stub.
xmllite/writer: Improve error handling in WriteChars().
xmllite/writer: Improve error handling in WriteString().
xmllite/writer: Improve error handling in WriteFullEndElement().
xmllite/writer: Improve error handling in WriteElementString().
xmllite/writer: Improve error handling in WriteRaw().
xmllite/tests: Add a few more tests for WriteDocType().
xmllite/writer: Improve error handling in WriteAttributeString().
xmllite/writer: Improve error handling when writing namespace defitions.
xmllite/writer: Improve error handling in WriteStartElement().
xmllite/writer: Handle empty names in WriteStartElement().
xmllite/tests: Add more tests for name validation when writing.
xmllite/writer: Improve NCName validation.
xmllite/writer: Remove now unnecessary helper.
xmllite/writer: Output element stack on release.
xmllite/writer: Output element stack on SetOutput().
windowscodecs: Remove IWICWineDecoder interface.
odbc32: Implement SQLErrorW() for ANSI win32 drivers.
odbc32: Add some fixmes for SQLError() on top of driver's SQLGetDiagRec().
odbc32: Implement SQLDriverConnectW() for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ODBC_API_CONFORMANCE) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ACTIVE_STATEMENTS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_ACTIVE_CONNECTIONS) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DRIVER_NAME) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_TXN_CAPABLE) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DBMS_NAME) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_DATA_SOURCE_READ_ONLY) for ANSI win32 drivers.
odbc32: Implement SQLGetInfoW(SQL_IDENTIFIER_QUOTE_CHAR) for ANSI win32 drivers.
odbc32: Implement SQLExecDirectW() for ANSI win32 drivers.
Patrick Hibbs (1):
inf: Add Windows Media Player related registry keys.
Paul Gofman (24):
iphlpapi/tests: Add more tests for GetBestRoute().
nsi/tests: Add test for ipv4 loopback routes presence.
nsiproxy.sys: Explicitly add loopback entries to ipv4 forward table on Linux.
nsi: Match struct nsi_tcp_conn_dynamic size to up to date Win11.
nsiproxy.sys: Only enumerate active routes in ipv6_forward_enumerate_all() on Linux.
nsiproxy.sys: Improve loopback detection in ipv6_forward_enumerate_all() on Linux.
iphlpapi: Fully zero init address in unicast_row_fill().
iphlpapi: Implement GetBestRoute2().
iphlpapi: Reimplement GetBestInterfaceEx() on top of GetBestRoute2().
iphlpapi/tests: Add tests for best routes.
iphlpapi: Try to disambiguate addresses in GetBestRoute2() by probing system assigned ones.
user32/tests: Add test for CB size after setting font.
user32/combo: Don't update item height on WM_SETFONT for owner drawn CB.
comctl32/tests: Also call test_combo_setfont() with CBS_OWNERDRAWFIXED.
comctl32/combo: Don't update item height on WM_SETFONT for owner drawn CB.
ntdll: Initialize segments registers in the frame in call_user_mode_callback().
ntdll: Handle invalid FP state in usr1_handler() on x86-64.
ntdll: Handle invalid FP state in usr1_handler() on i386.
win32u: Implement NtUserDisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME ).
user32/tests: Add test for (no) messages during TrackMouseEvent() call.
win32u: Use internal message to handle NtUserTrackMouseEvent() for other thread window.
win32u: Move mouse tracking info into per-thread data.
win32u: Track mouse events based on last mouse message data.
user32/tests: Don't leak thread handle in test_TrackMouseEvent().
Ratchanan Srirattanamet (1):
msi: Fix MsiEnumFeatures[AW]() by make it look at the correct registry.
Reinhold Gschweicher (1):
msxml3/tests: Add test for IXMLDOMElement_removeAttributeNode.
Rémi Bernon (68):
server: Create a shared object for window classes.
server: Write class name to the shared memory object.
win32u: Use NtUserGetClass(Long|Name)W in needs_ime_window.
server: Keep a class object locator in the window shared object.
win32u: Read class name from the shared memory object.
win32u: Validate the drawable surface window before reusing.
wineandroid: Keep the client ANativeWindow with the window data.
wineandroid: Use detach_client_surfaces to invalidate drawables.
winex11: Always notify the surface that it has been presented.
server: Use a specific type for internal inproc event syncs.
ntdll: Remove workaround for macOS RLIMIT_NOFILE.
wineserver: Request RLIMIT_NOFILE maximum allowed value.
server: Rename queue is_signaled to get_queue_status.
server: Do not clear queue masks in msg_queue_satisfied.
server: Remove skip_wait flag from set_queue_mask.
win32u: Use a specific opengl_drawable function for context changes.
win32u: Avoid swapping / flushing drawables with destroyed windows.
server: Return early if there's no queue in queue requests.
server: Move hooks_count to the end of the queue_shm_t struct.
win32u: Move the message queue access time to shared memory.
server: Use monotonic_time as queue access time base.
win32u: Check the queue access time from the shared memory.
winex11: Avoid presenting invalid offscreen window rects.
win32u/tests: Test that global d3dkmt handles aren't leaked.
win32u: Use array indexes for d3dkmt handles.
server: Create server-side global D3DKMT objects.
server: Allocate global D3DKMT handles for objects.
win32u: Implement creation of D3DKMT sync objects.
win32u: Implement creation of D3DKMT resource objects.
win32u: Pass D3DKMT object runtime data to wineserver.
win32u: Implement NtGdiDdDDIQueryResourceInfo.
server: Update queue access time in set_queue_mask request.
win32u: Check the queue access time before skipping set_queue_mask.
server: Use the access time and signal state to detect hung queue.
server: Remove the now unnecessary queue waiting flag.
cfgmgr32: Call devprop_filters_validate recursively.
cfgmgr32: Pass filter ranges to helper functions.
win32u: Implement opening of D3DKMT global handles.
win32u: Implement NT sharing of D3DKMT sync objects.
win32u: Implement sharing of D3DKMT resource objects.
win32u: Implement querying D3DKMT objects from shared handles.
win32u: Implement opening D3DKMT objects from shared handles.
win32u: Implement opening D3DKMT shared handles from names.
server: Introduce an internal queue bits field.
server: Use the internal bits to signal the queue sync.
win32u: Process all driver events when waiting on queue.
win32u: Wrap ProcessEvents calls in process_driver_events helper.
win32u: Avoid a crash when unsetting current context.
server: Use a dedicated internal bit for queued hardware messages.
win32u: Check for pending hardware messages after processing events.
win32u: Return TRUE from ProcessEvents after emptying the event queue.
win32u: Notify wineserver after processing every driver event.
server: Continuously poll on queue fd for driver events.
server: Remove mostly unnecessary thread own queue check.
server: Use an internal event sync for message queues.
win32u/tests: Test creating shared resources with D3D9Ex.
win32u/tests: Test importing shared resources into D3D9Ex.
win32u/tests: Test importing shared resources into OpenGL.
win32u/tests: Test creating shared resources with D3D10.
win32u/tests: Test creating shared resources with D3D11.
win32u/tests: Test creating shared resources with D3D12.
win32u/tests: Test creating shared resources with Vulkan.
win32u/tests: Test importing shared resources into Vulkan.
server: Use a separate helper to create internal event syncs.
server: Explicitly create an internal server sync for debug events.
server: Signal event server / inproc syncs using the signal op.
server: Use struct object pointers for object syncs.
ntdll: Receive the user apc inproc sync fd on alertable waits.
Sebastian Lackner (1):
user32: Refresh MDI menus when DefMDIChildProc(WM_SETTEXT) is called.
Stian Low (2):
ntdll: Implement NtSetEventBoostPriority().
ntdll/tests: Add tests for NtSetEventBoostPriority().
Tim Clem (1):
wbemprox: Use setupapi to enumerate video controllers.
Vasiliy Stelmachenok (1):
win32u: Handle errors when creating EGL context.
Vibhav Pant (9):
cfgmgr32: Always check the DEVPROP_OPERATOR_EQUALS mask while evaluating comparison filters.
propsys: Use VT_LPWSTR as the property type for System.Devices.DeviceInstanceId.
windows.devices.enumeration/tests: Add tests for IDeviceInformationStatics::{FindAllAsyncAqsFilter, CreateWatcherAqsFilter}.
windows.devices.enumeration: Support parsing AQS filters in IDeviceInformationStatics::{FindAllAsyncAqsFilter, CreateWatcherAqsFilter}.
maintainers: Add a section for Windows.Devices.Enumeration.
windows.devices.enumeration: Ensure that all AQS logical operators bind left to right.
cfgmgr32/tests: Add additional tests for device query filters.
cfgmgr32: Implement support for logical operators in DEVPROP_FILTER_EXPRESSION.
vccorlib140: Emit RTTI for Platform::Type.
Yuxuan Shui (1):
mf: Add a SUBMITTED command state to avoid multiple submission of the same op.
Zhengyong Chen (1):
imm32: Ensure HIMC is unlocked in ImmGenerateMessage.
```
1
0
The Wine development release 10.15 is now available.
What's new in this release:
- Unicode character tables updated to Unicode 17.0.0.
- Zip64 support in Packaging services.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.15.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.15/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.15 (total 16):
- #51345 Regression: Visual Studio 2005 "package load failure"
- #56278 wayland: dropdowns is rendered as toplevel
- #57192 X11DRV_SetCursorPos breaks when xinput "Coordinate Transformation Matrix" is customized
- #57444 Multiple games crashes with new wow64 ("pop gs" behaves differently in 64bit compatibility mode) (Exertus darkness, Claw, Bloodrayne Demo)
- #57478 Sims 2 black-screen when running with Nvidia 470.256.02 and dxvk 1.10.3
- #57912 cmd: not every ( is a command grouping
- #57913 cmd: echo(abc is misparsed
- #58027 trivial use of Win32 GNU make fails
- #58335 Wine can fail if avx is not available
- #58503 Resource leak in wayland_pointer_set_cursor_shape can cause mouse cursor to dissappear after exhausting gdi handles
- #58513 Wine 10.9 completely broke (LGA775 Core2Quad)
- #58585 unnamed keymap layout leads to null pointer dereference in find_xkb_layout_variant
- #58614 wine cmd prints "::" style comments
- #58619 Steam fails to launch
- #58635 CapCut crashes upon launch, needs unimplemented function IPHLPAPI.DLL.SetPerTcp6ConnectionEStats
- #58636 CapCut installer fails: CreateFileW with FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS should create a directory instesd of a file.
### Changes since 10.14:
```
Alex Henrie (1):
wineboot: Fix a memory leak in create_computer_name_keys.
Alexandre Julliard (15):
faudio: Import upstream release 25.09.
png: Import upstream release 1.6.50.
tools: Upgrade the config.guess/config.sub scripts.
makedep: Build tool names once at startup.
ntdll: Swap the mxcsr register value between PE and Unix.
gitlab: Merge the platform docker files back into a single file.
gitlab: Install the conflicting i386 gstreamer packages manually.
ntdll: Save mxcsr explicitly in the xsavec code path.
maintainers: List gitlab usernames.
gitlab: Add CI job to trigger winehq-bot processing.
ntdll: Move some LDT definitions to the private header.
ntdll: Add a helper to update the LDT copy.
ntdll: Add helpers to build some specific LDT entries.
ntdll: Always use 32-bit LDT base addresses.
nls: Update character tables to Unicode 17.0.0.
Alexandros Frantzis (1):
winewayland: Fix GDI object leak.
Alfred Agrell (1):
preloader: Make thread_ldt reference position independent.
Alistair Leslie-Hughes (2):
winmm: Always call MCI_UnmapMsgAtoW in mciSendCommandA.
winmm: MCI_MapMsgAtoW return error code directly instead of a tri-value.
Bartosz Kosiorek (1):
gdi32: From Windows 2000 FixBrushOrgEx() is a NOP.
Bernhard Übelacker (1):
winedbg: Reserve more memory for symbol value (ASan).
Billy Laws (2):
ntdll/tests: Add THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH test.
ntdll: Support THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH flag.
Brendan Shanks (4):
crypt32: Avoid syscall fault in process_detach() if GnuTLS failed to load.
secur32: Avoid syscall fault in process_detach() if GnuTLS failed to load.
ntdll: Fix crash in check_invalid_gsbase() on macOS.
dbghelp: Don't try to load 64-bit ELF/Mach-O debug info in a Wow64 process.
Carlo Bramini (1):
winmm: WaveOutGetID: Return correct id for WAVE_MAPPER.
Christian Tinauer (1):
crypt32: Accept PKCS12_ALWAYS_CNG_KSP flag and fall back to standard import.
Connor McAdams (12):
d3dx10/tests: Add more DDS file DXGI format mapping tests.
d3dx10/tests: Add more DDS file header handling tests.
d3dx10: Add support for parsing DXT10 DDS headers to shared code.
d3dx10: Only validate header size for DDS files in d3dx10.
d3dx10: Add support for DXGI formats in d3dx_helpers.
d3dx10: Exclusively use shared code for parsing DDS files in get_image_info().
d3dx10: Add support for d3dx10+ image file formats in shared code.
d3dx10: Exclusively use shared code for parsing all files in get_image_info().
d3dx11_42: Don't share source with d3dx11_43.
d3dx11/tests: Add a helper function for checking image info structure values.
d3dx11/tests: Import more image info tests from d3dx10.
d3dx11: Implement D3DX11GetImageInfoFromMemory() using shared code.
Dmitry Timoshkov (1):
gdiplus: Manually blend to white background if the device doesn't support alpha blending.
Elizabeth Figura (7):
ntdll: Add some traces to synchronization methods.
ntdll: Add stub functions for in-process synchronization.
ntdll: Retrieve and cache an ntsync device on process init.
server: Create inproc sync events for message queues.
server: Add a request to retrieve the inproc sync fds.
ntdll: Check inproc sync handle access rights on wait.
quartz/tests: Fix a failing test in test_video_window_owner().
Eric Pouech (14):
cmd/tests: Add tests about opening/closing parenthesis.
cmd: Don't create binary node with NULL RHS.
cmd: Simplify builtin ECHO implementation.
cmd: Fix handling of '(' in echo commands.
cmd: Fix unmatched closing parenthesis handling.
cmd/tests: Add more tests about ERASE builtin command.
cmd: Fix return code for ERASE builtin command.
cmd/tests: Add tests about (not) echoing labels.
cmd: Don't display labels when echo mode is ON.
cmd: Simplify setting console colors.
cmd: Reuse exiting execution related helpers in wmain().
cmd: Finish moving command line handling in dedicated helpers.
cmd: cmd /c or /k shall handle ctrl-c events properly.
cmd: No longer reformat output according to console width.
Gabriel Ivăncescu (13):
mshtml: Implement DOMParser constructor and instance object.
mshtml: Move document dispex info initialization to create_document_node.
mshtml: Use Gecko's responseXML to create the XML document in IE10 and up.
mshtml: Fallback to text/xml for unknown content types ending with +xml in get_mimeType.
mshtml: Implement anchors prop for XML documents.
mshtml: Implement DOMParser's parseFromString.
mshtml: Use actual prop name after looking it up case insensitively on window.
mshtml: Set non-HTML elements' prototype to ElementPrototype.
mshtml: Expose toJSON only in IE9+ modes.
mshtml: Don't expose toString from Performance* objects' prototypes in IE9+ modes.
mshtml: Implement toJSON() for PerformanceTiming.
mshtml: Implement toJSON() for PerformanceNavigation.
mshtml: Implement toJSON() for Performance.
Gerald Pfeifer (1):
ntdll: Fix the build of check_invalid_gsbase() on FreeBSD.
Hans Leidekker (15):
include: Comment references to undefined member interfaces.
include: Define IContentTypeProvider, IInputStream and IInputStreamReference.
include: Define IUser.
include: Define IAcceleratorKeyEventArgs and ICoreAcceleratorKeys.
include: Define IKeyCredential and related types.
include: Define IRfcommServiceId.
msi: Allow pre-2.0 assemblies to be installed using 2.0 fusion.
include: Define more USB interfaces.
include: Define IImageDisplayProperties and IVideoDisplayProperties.
include: Define IMediaEncodingProperties and IAudioEncodingPropertiesWithFormatUserData.
include: Define IHolographicCamera and related types.
include: Define IOnlineIdServiceTicket and IOnlineIdSystemIdentity.
include: Add missing parameterized interface declarations.
widl: Require member interfaces to be defined.
widl: Support additional deprecated declarations.
Haoyang Chen (1):
ntdll: Fix a buffer overflow in wcsncpy.
Jacek Caban (8):
opengl32/tests: Add memory mapping tests.
opengl32: Simplify wow64 memory mapping error handling.
opengl32: Implement wrap_wglCreateContext on top of wrap_wglCreateContextAttribsARB.
opengl32: Factor out free_context.
opengl32: Introduce a wow64 buffer wrapper.
opengl32: Move copy buffer allocation to Unix lib.
opengl32: Use generated PE thunks for memory mapping functions.
opengl32: Use generated PE thunks for memory unmapping functions.
Joe Souza (1):
cmd: Treat COPY from CON or CON: as ASCII operation.
Kevin Puetz (1):
oleaut32: Fix UDT record block leak in VariantClear().
Louis Lenders (2):
iphlpapi: Add stub for SetPerTcp6ConnectionEStats.
iphlpapi: Add stub for GetPerTcp6ConnectionEStats.
Matteo Bruni (7):
hidclass: Set Status for pending IRPs of removed devices to STATUS_DEVICE_NOT_CONNECTED.
hidclass: Fix check for early IRP cancellation.
nsiproxy: Fix check for early IRP cancellation.
dinput/tests: Fix check for early IRP cancellation.
http.sys: Fix check for early IRP cancellation.
winetest: Print Windows revision (UBR).
d3dx10_33/tests: Enable tests.
Mohamad Al-Jaf (12):
include: Add windows.media.playback.idl.
windows.media.playback.backgroundmediaplayer: Add stub dll.
windows.media.playback.backgroundmediaplayer: Add IBackgroundMediaPlayerStatics stub.
windows.media.playback.mediaplayer: Implement IActivationFactory::ActivateInstance().
windows.media.mediacontrol: Stub ISystemMediaTransportControls::add/remove_ButtonPressed().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::ClearAll().
windows.media.mediacontrol: Implement ISystemMediaTransportControls::put/get_IsStopEnabled().
windows.media.mediacontrol: Stub ISystemMediaTransportControlsDisplayUpdater::put/get_Thumbnail().
windows.media.playback.backgroundmediaplayer: Implement IBackgroundMediaPlayerStatics::get_Current().
include: Add IMediaPlayer2 definition.
windows.media.playback.mediaplayer: Add IMediaPlayer2 stub.
windows.media.playback.mediaplayer: Implement IMediaPlayer2::get_SystemMediaTransportControls().
Nikolay Sivov (17):
opcservices/tests: Use wide-char strings.
opcservices/tests: Remove Vista workarounds.
opcservices/tests: Use stricter return values checks.
opcservices: Fix MoveNext() at the collection end.
opcservices/tests: Add more tests for MovePrevious().
opcservice: Fix iteration with MovePrevious().
opcservices/tests: Use message context in some tests.
opcservices: Make it clear which structures are specific to zip32.
opcservices: Use 64-bit file sizes.
opcservices: Add support for writing Zip64 packages.
opcservices: Improve error handling when writing archives.
opcservices: Use stdint types for the file header.
opcservices: Set compression method according to part's compression options.
opcservices: Use explicit field for the part name.
combase/tests: Suppress trace messages from the test dll.
opcservices: Remove separate part name allocation.
vccorlib: Fix out of bounds access in debug helper (Coverity).
Patrick Hibbs (2):
mmdevapi: Set DEVPKEY_Device_Driver during MMDevice_Create().
winecfg: Fix audio tab by fetching the default device's audio driver.
Paul Gofman (15):
ntdll: Zero aligned size in initialize_block().
winevulkan: Handle NULL buffer pointer in vkFreeCommandBuffers().
nsiproxy.sys: Use a separate critical section to sync icmp echo IRP cancel.
iphlpapi: Use IOCP callback for echo async completion.
win32u: Bump AMD internal driver version.
kernel32/tests: Add tests for UnhandledExceptionFilter().
kernelbase: Avoid recursive top exception filter invocation for nested exceptions.
kernelbase: Return EXCEPTION_CONTINUE_SEARCH from UnhandledExceptionFilter() for nested exceptions.
dbghelp: Use GetCurrentProcess() special handle in EnumerateLoadedModulesW64() if possible.
wbemprox: Fix CIM_UINT16 handling in to_safearray().
wbemprox: Add MSFT_PhysicalDisk table.
wbemprox: Return an error from class_object_Next() for non-zero flags.
wbemprox: Enumerate system properties in class_object_Next().
iphlpapi: Fix ipforward_row_cmp().
iphlpapi: Fix udp_row_cmp().
Rémi Bernon (90):
dataexchange: Register runtimeclasses explicitly.
geolocation: Register runtimeclasses explicitly.
graphicscapture: Register runtimeclasses explicitly.
hvsimanagementapi: Register runtimeclasses explicitly.
iertutil: Register runtimeclasses explicitly.
threadpoolwinrt: Register runtimeclasses explicitly.
windows.devices.bluetooth: Register runtimeclasses explicitly.
windows.devices.enumeration: Register runtimeclasses explicitly.
windows.devices.usb: Register runtimeclasses explicitly.
windows.gaming.input: Register runtimeclasses explicitly.
win32u: Pass struct vulkan_physical_device pointer to drivers.
winevulkan: Simplify VkDefine and typedefs generation.
winevulkan: Generate structs and pointers for wayland platform.
winevulkan: Generate structs and pointers for macos platform.
winevulkan: Generate structs and pointers for xlib platform.
winevulkan: Simplify function pointer generation.
winevulkan: Simplify struct generation ordering.
windows.gaming.ui.gamebar: Register runtimeclasses explicitly.
windows.media.devices: Register runtimeclasses explicitly.
windows.media.mediacontrol: Register runtimeclasses explicitly.
windows.media.speech: Register runtimeclasses explicitly.
windows.media: Register runtimeclasses explicitly.
windows.networking.connectivity: Register runtimeclasses explicitly.
windows.networking.hostname: Register runtimeclasses explicitly.
windows.perception.stub: Register runtimeclasses explicitly.
windows.security.authentication.onlineid: Register runtimeclasses explicitly.
windows.security.credentials.ui.userconsentverifier: Register runtimeclasses explicitly.
windows.web: Register runtimeclasses explicitly.
include: Remove now unnecessary DO_NO_IMPORTS ifdefs.
winevulkan: Move physical_device memory properties to vulkan_driver.h.
winevulkan: Move extensions to struct vulkan_physical_device.
winevulkan: Get rid of struct wine_vk_phys_dev.
winevulkan: Move physical device pointers to struct vulkan_instance.
win32u: Move device memory object wrapper from winevulkan.
win32u: Move external host memory allocation to a separate helper.
include: Add declarations for some d3dkmt functions.
win32u: Stub NtGdiDdDDICheckOcclusion syscall.
win32u/tests: Move d3dkmt tests from gdi32.
win32u/tests: Check D3DKMT local handle allocation.
win32u: Implement d3dkmt local handle allocation.
winevulkan: Order the win32 structs as other structs.
winevulkan: Simplify struct conversion enumeration.
winevulkan: Build the struct extension list lazily.
winevulkan: Enumerate struct extensions with the registry structs.
winevulkan: Avoid converting unexposed extensions structs.
winevulkan: Generate structs for external memory fds.
winevulkan: Force copy some memory, buffer and image struct chains.
win32u: Strip unsupported structs from vkAllocateMemory chain.
win32u: Strip unsupported structs from vkCreateBuffer chain.
win32u: Strip unsupported structs from vkCreateImage chain.
win32u: Hook VK_KHR_external_memory_win32 functions.
winevulkan: Remove leftover external image functions moved to win32u.
win32u: Pass memory type flags to allocate_external_host_memory.
win32u: Fix missing NULL initialization of NtAllocateVirtualMemory parameter.
wintypes/tests: Check IAgileObject interface on map objects.
wintypes: Introduce a generic IMap stub implementation.
wintypes: Implement a generic IMap<HSTRING, IInspectable>.
wintypes: Introduce a locked IMap<HSTRING, IInspectable> implementation.
winevulkan: Force copying wrapped handle arrays.
winevulkan: Force copying the VkSubmitInfo(2) struct chains.
winevulkan: Move command buffer wrapper to vulkan_driver.h.
win32u: Hook vkQueueSubmit and vkQueueSubmit2 functions.
win32u: Hook VK_KHR_win32_keyed_mutex related functions.
win32u: Hook VK_KHR_external_semaphore_win32 related functions.
win32u: Hook VK_KHR_external_fence_win32 related functions.
winebus: Match match gamepad dpad buttons with XUSB / GIP.
win32u: Stub NtGdiDdDDIOpenNtHandleFromName.
wow64win: Initialize output NtGdiDdDDI* parameters too.
wow64win: Fix NtGdiDdDDICreateAllocation* output conversion.
win32u/tests: Test D3DKMT synchronization object creation.
win32u/tests: Test D3DKMT keyed mutex object creation.
win32u/tests: Test D3DKMT allocation object creation.
win32u/tests: Test D3DKMT objects NT handle sharing.
winevulkan: Simplify device enabled extension conversion.
winevulkan: Check surface_maintenance1 before using swapchain_maintenance1.
win32u: Assume the VkPresentInfoKHR struct is copied in the thunks.
winevulkan: Force copy of the VkSemaphoreSubmitInfo struct chain.
win32u: Wrap vulkan semaphore objects.
win32u: Wrap vulkan fence objects.
d3d8/tests: Flag some tests as todo_wine.
d3d9/tests: Flag some tests as todo_wine.
opengl32/tests: Test that window back buffers are shared.
include: Use the client pointer in debugstr_opengl_drawable.
win32u: Move memory DC pbuffer handling out of context_sync_drawables.
win32u: Use context->draw directly when flushing context.
win32u: Swap the last window drawable if there's no context.
win32u: Introduce an context_exchange_drawables helper.
win32u: Rename window opengl drawable to current_drawable.
win32u: Keep a separate pointer for unused opengl drawable.
win32u: Don't store the window OpenGL drawables on the DCs.
Santino Mazza (2):
dinput: Set per monitor aware DPI awareness in the worker thread.
win32u: Map raw coordinates to virtual screen in low-level hooks.
Spencer Wallace (1):
msxml3: Correct looping of Document Element properties.
Tim Clem (1):
dxcore: Use a static structure for the adapter factory.
Tyson Whitehead (2):
winebus: Unspecified condition blocks are full strength.
joy.cpl: Play condition effects on indicated axis too.
Vibhav Pant (15):
opcservices/tests: Add tests for ReadPackageFromStream.
opcservices/tests: Add some more tests for MoveNext().
windows.applicationmodel/tests: Add tests for exposing inproc WinRT classes through the manifest.
opcservices: Mark entries according to compression mode.
wintypes: Make a copy of the passed string in IPropertyValueStatics::CreateString.
combase: Add stubs for HSTRING_User{Size, Marshal, Unmarshal, Free}.
combase/tests: Add tests for HSTRING marshaling methods.
combase: Implement HSTRING_UserSize.
combase: Implement HSTRING_UserMarshal.
combase: Implement HSTRING_User{Unmarshal, Free}.
combase/tests: Add RoGetAgileReference tests with agile objects.
combase: Don't marshal objects that implement IAgileObject in RoGetAgileReference.
wintypes/tests: Add tests for PropertySet::{Insert, Lookup, HasKey}.
wintypes/tests: Add tests for IMapView.
wintypes: Introduce a serial to track IMap state changes.
Yuxuan Shui (2):
opcservices: IOpcPart::GetContentType takes LPWSTR, not BSTR.
winegstreamer: Free stream buffers before wg_parser_disconnect.
Zhiyi Zhang (4):
gdi32: Use the maximum number of colours when biClrUsed is zero.
gdi32/tests: Test recording StretchDIBits() for bitmaps with zero biClrUsed field in EMFs.
gdi32/tests: Test recording SetDIBitsToDevice() for bitmaps with zero biClrUsed field in EMFs.
Revert "wineps: Use the correct colours when a monochrome bitmap without a colour table is the source.".
Ziqing Hui (2):
mf/tests: Test GetOutputStatus for video processor.
winegstreamer: Add semi-stub implementation for video_processor_GetOutputStatus.
Zowie van Dillen (2):
opengl32/tests: Add 16-bit bitmap rendering tests.
winex11: Check pbuffer bit instead of pixmap bit for bitmap rendering.
```
1
0
The Wine development release 10.14 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.17.
- Mono engine updated to version 10.2.0.
- Support for ping on IPv6.
- Gitlab CI now running on Debian Trixie.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.14.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.14 (total 19):
- #18233 Approach underscore bar inactive with multiple database open
- #27974 warn:winsock:wsaErrno errno 115, (Operation now in progress).
- #35622 VemsTune: program crashes on switching view modes
- #55557 wpcap:wpcap crashes on macOS
- #56639 Phantasy Star Online: Blue Burst: various missing/black textures
- #57027 GetFinalPathNameByHandleW does not handle paths exceeding MAX_PATH (260 chars)
- #57835 ROCS Show Ready crashes on unimplemented function msvcp140_atomic_wait.dll.__std_tzdb_get_time_zones
- #57946 Multiple games need maxAnisotropy values handling (GreedFall, Mafia III: Definitive Edition)
- #58141 [MDK] [WOW64] Stack overflow
- #58169 Trae installer fails: "Failed to expand shell folder constant userpf"
- #58334 ShowStopper crashes on unimplemented function ntdll.dll.RtlQueryProcessHeapInformation
- #58403 Death to Spies: intro videos show black screen (audio works)
- #58482 Roblox Studio installer crashes on unimplemented function api-ms-win-core-memory-l1-1-3.dll.VirtualProtectFromApp
- #58531 MemoryRegionInformation incorrectly returns STATUS_SUCCESS for freed memory regions
- #58574 Multiple applications require gameinput.dll (Fritz Chess Coach, Le Mans Ultimate)
- #58577 MsiGetComponentPath/MsiLocateComponent doesn't resolve a reference to .NET GAC
- #58600 Command line tab completion works improperly with files/directories containing delimiter characters
- #58608 SCardTransmit should work with pioSendPci=NULL
- #58615 winepath changes behaviour and strips ending path separator now
### Changes since 10.13:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (39):
tapi32: Move registry keys out of wine.inf.
win32u: Add NtGdiCancelDC() stub.
win32u: Implement NtUserGetCursorPos().
win32u: Implement NtGdiGet/SetMiterLimit().
server: Add a helper to check a process wow64 status.
include: Always use Unicode string constants for the PE build.
server: Use LIST_FOR_EACH_ENTRY in more places.
cabinet: Use the correct structure for DllGetVersion().
rsaenh: Don't reset key when nothing was encrypted.
winebuild: Only allow thiscall functions on i386.
server: Fix get_next_hook return value when no hook is found.
kernel32: Preserve trailing slash for existing paths in wine_get_dos_file_name().
kernel32: Preserve trailing slash for existing paths in wine_get_unix_file_name().
win32u: Define all stubs as syscalls.
vkd3d: Import upstream release 1.17.
sxs: Add support for language in manifest names.
sxs: Support XML escaping in manifest names.
sxs: Take manifest language into account when building the file name.
sxs: Install policy files the same way as normal manifests.
win32u: Disable some unused code when EGL is missing.
gitlab: Update CI image to debian trixie.
setupapi: Use SetupDiGetActualSectionToInstallW instead of duplicating that logic.
setupapi: Add support for Include directive.
setupapi: Add support for Needs directive.
wine.inf: Use Needs directive to reduce duplication.
winedump: Remove const from a member that is written to.
kernel32/tests: Clear FPU status flags before checking control word.
ntdll/tests: Also test mxcsr register in user callbacks.
ntdll/tests: Use a direct syscall to test xmm registers.
gdi32/tests: Remove some workarounds for NT4.
gdi32: Handle the default color profile on the GDI side.
gdi32: Handle the ICM\mntr key on the GDI side.
winex11: Create the ICM profile file at startup.
win32u: Remove the __wine_get_icm_profile() syscall.
win32u: Remove the GetICMProfile driver entry point.
amstream/tests: Use nameless unions/structs.
qcap: Use nameless unions/structs.
qedit: Use nameless unions/structs.
winegstreamer: Use nameless unions/structs.
Alexandros Frantzis (2):
winewayland: Mark only windows with per-pixel alpha as layered.
winewayland: Handle NULL values for xkb layout name and description.
Anders Kjersem (1):
advpack: Support ADN_DEL_IF_EMPTY flag in DelNode().
Attila Fidan (1):
winegstreamer/wma_decoder: Return S_OK from AllocateStreamingResources().
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (8):
ntdll/tests: Mark test as broken with old Windows versions.
ntdll: Fix XState data initialisation with non-AVX CPUs.
kernel32/tests: Test paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
kernel32: Handle paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
bluetoothapis/tests: Avoid crash in gatt tests with some Windows versions.
kernelbase/tests: Fix test failing with old Windows 10.
ntdll/tests: Add check for len and avoid CommitSize with old Windows.
propsys/tests: Skip tests of properties not supported by old Windows.
Brendan McGrath (1):
winegstreamer: Only add the capsfilter for avdec_h264.
Brendan Shanks (1):
ntdll: Implement NtGetCurrentProcessorNumber() with pthread_cpu_number_np() when available on macOS.
Connor McAdams (8):
ntoskrnl/tests: Add tests for getting IRP_MN_QUERY_DEVICE_TEXT based device properties.
ntoskrnl: Set DEVPKEY_Device_BusReportedDeviceDesc from driver.
winebus: Handle IRP_MN_QUERY_DEVICE_TEXT.
hidclass: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebth.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
wineusb.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebus: Generate unique container IDs when adding devices.
winebus: Override device instance enumerator string if bus type is known.
Conor McCarthy (1):
winegstreamer: Use a stride alignment of 2 for NV12 in align_video_info_planes().
Dmitry Timoshkov (3):
comdlg32: PRINTDLG_UpdatePrintDlgW() should update dmCopies field in DEVMODE.
kernel32/tests: Test FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS | FILE_ATTRIBUTE_DIRECTORY.
kernelbase: For FILE_FLAG_BACKUP_SEMANTICS also handle FILE_ATTRIBUTE_DIRECTORY in CreateFile.
Elizabeth Figura (3):
qcap/tests: Test subtype validation in QueryAccept() and SetFormat().
quartz/tests: Add more tests for video window style.
quartz: Preserve the current visibility in IVideoWindow::put_Style().
Esme Povirk (1):
mscoree: Update Wine Mono to 10.2.0.
Gabriel Ivăncescu (4):
jscript: Allow objects that expose "length" prop for Function.apply under certain conditions.
jscript: Return proper error when passing wrong type to Function.apply.
jscript: Fallback to Object's toString for Arrays when 'this' isn't an array in ES5 mode.
jscript: Fix error value when passing non-string 'this' to String's toString.
Georg Lehmann (3):
winevulkan: Reorder bitmasks to handle aliases correctly.
winevulkan: Disable h265 extensions.
winevulkan: Update to VK spec version 1.4.325.
Gerald Pfeifer (1):
winebus.sys: Use uint16_t instead of __u16.
Hans Leidekker (11):
msi: Make assembly caches global.
msi: Handle .NET assemblies in MSI_GetComponentPath().
rsaenh: Use TomCrypt for hash implementations.
include: Comment references to undefined static interfaces.
include: Define IRandomAccessStreamStatics.
include: Define ISystemMediaTransportControlsStatics.
widl: Require static interfaces to be defined.
widl: Require activation interfaces to be defined.
widl: Require composition interfaces to be defined.
widl: Require runtimeclass contracts to be defined.
winscard: Handle NULL send parameter in SCardTransmit().
Haoyang Chen (1):
qcap/vfwcapture: Validate the subtype in find_caps().
Henri Verbeet (4):
d3d11/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d10core/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d11: Disable anisotropic filtering for sampler states with zero MaxAnisotropy.
wined3d: Disable anisotropic filtering for zero max_anisotropy in sampler_desc_from_sampler_states().
Ignacy Kuchciński (1):
windows.storage: Split ApplicationData.
Jacob Czekalla (6):
hhctrl.ocx: Check for a NULL web_browser before QueryInterface.
wininet/tests: Add more http time test strings.
wininet: Fix parsing order of http times.
wininet: Fix year parsing to include millennium.
comctl32/treeview: Return from TREEVIEW_LButtonDown when the treeview handle is invalid.
comctl32/tests: Add a test for treeview deletion during NM_CLICK in LBUTTONDOWN.
Jiangyi Chen (1):
opengl32: Perform cAccumBits filtering if specified in wglChoosePixelFormat().
Joe Souza (1):
cmd: Treat most delimiters as literals if user specified quotes.
Keigo Okamoto (3):
winealsa: Send All Notes Off and Reset Controllers.
winecoreaudio: Send All Notes Off and Reset Controllers.
wineoss: Send All Notes Off and Reset Controllers.
Marc-Aurel Zent (5):
ntdll: Implement ProcessPriorityBoost class in NtQueryInformationProcess.
ntdll: Implement ProcessPriorityBoost class in NtSetInformationProcess.
kernelbase: Implement GetProcessPriorityBoost.
kernelbase: Implement SetProcessPriorityBoost.
kernel32/tests: Add tests for GetProcessPriorityBoost/SetProcessPriorityBoost.
Mike Kozelkov (1):
winbio: Add stub DLL.
Mohamad Al-Jaf (9):
cryptxml: Add stub dll.
include: Add cryptxml.h.
cryptxml: Implement CryptXmlOpenToDecode() stub.
cryptxml: Implement CryptXmlClose().
cryptxml: Implement CryptXmlGetDocContext().
cryptxml: Implement CryptXmlGetSignature().
cryptxml: Implement CryptXmlVerifySignature() stub.
cryptxml: Implement CryptXmlGetStatus().
cryptxml/tests: Add some signature verification tests.
Nikolay Sivov (5):
d2d1: Add some helpers for geometry figure manipulation.
d2d1: Implement ellipse geometry simplification.
d2d1: Implement rounded rectangle geometry simplification.
fonts: Fix "O" glyph in Tahoma Bold bitmap strikes.
d3d10/tests: Compile more test effects from sources.
Paul Gofman (35):
ntdll: Factor out chksum_add() function.
ntdll: Support SOCK_RAW / IPPROTO_ICMPV6 fallback over SOCK_DGRAM.
ws2_32/tests: Test ICMPv6 ping.
ntdll/tests: Add more tests for NtQueryVirtualMemory( MemoryRegionInformation ).
ntdll: Factor out get_memory_region_size() function.
ntdll: Reimplement get_memory_region_info() on top of get_memory_region_size().
ntdll: Add semi-stub for NtQueueApcThreadEx2().
ntdll: Validate reserve handle in NtQueueApcThreadEx2().
ntdll: Pass user APC flags to call_user_apc_dispatcher().
server: Do not allow queueing special APCs to wow64 threads.
ntdll: Implement QUEUE_USER_APC_CALLBACK_DATA_CONTEXT in NtQueueApcThreadEx2() on x64.
ntdll: Use NtContinueEx in KiUserApcDispatcher on x64.
kernelbase: Implement QueueUserAPC2().
server: Check thread and call parameters in queue_apc() for APC_USER.
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_time_zones() / __std_tzdb_delete_time_zones().
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_current_zone() / __std_tzdb_delete_current_zone().
msvcp140_atomic_wait: Stub __std_tzdb_get_leap_seconds() / __std_tzdb_delete_leap_seconds().
kernelbase: Preserve last error in OutputDebugStringA().
kernel32: Preserve last error in OutputDebugStringA().
kernel32/tests: Test last error preservation in OutputDebugString().
ntdll/tests: Test last error preservation in OutputDebugString() with debugger.
winex11.drv: Only create dummy parent when needed in create_client_window().
win32u: Avoid calling server in NtUserGetKeyState() when input keystate is in sync.
nsiproxy.sys: Get rid of echo request thread.
nsiproxy.sys: Bind to source address in icmp_send_echo().
nsiproxy.sys: Store socket type in struct icmp_data.
iphlpapi: Factor out icmp_send_echo() function.
iphlpapi/tests: Refactor APC testing in testIcmpSendEcho().
iphlpapi: Only supply APC routine if no event in icmp_send_echo().
iphlpapi: Implement Icmp6ParseReplies().
iphlpapi: Implement Icmp6CreateFile().
nsiproxy.sys: Don't try to check for original packet for ping socket.
iphlpapi: Implement Icmp6SendEcho2().
iphlpapi/tests: Add tests for Icmp6SendEcho2().
iphlpapi: Avoid leaking APC context in icmp_send_echo().
Rémi Bernon (69):
widl: Wrap strappend parameters in a new struct strbuf.
widl: Introduce a new append_basic_type helper.
widl: Remove unnecessary recursion for TYPE_BITFIELD.
widl: Move some type name construction out of write_type_left.
joy.cpl: Read the device state when getting selected effect.
winetest: Set winetest_mute_threshold to 4 when running tests.
user32: Use init_class_name(_ansi) in FindWindowEx(A|W).
win32u: Drop unnecessary NtUserCreateWindowEx version strings.
win32u: Add a helper to add atom / strings to server requests.
server: Simplify create_class atom validation check.
server: Unify reading class atom / name from requests.
widl: Introduce a new write_record_type_definition helper.
widl: Cleanup indentation and variables in write_type_left.
widl: Split write_type_left into a write_type_definition_left helper.
widl: Introduce a new append_type_left helper.
win32u: Move nulldrv client surface code from vulkan.c.
win32u: Introduce a new framebuffer object GL surface.
win32u: Create render buffers for double / stereo buffering.
win32u: Create depth attachments for the FBO surface.
widl: Remove now unnecessary write_callconv argument.
widl: Cleanup indentation and variables in write_type_right.
widl: Inline write_args into write_type_right.
widl: Introduce a new append_declspec helper.
opengl32: Hook glGet(Booleanv|Doublev|Floatv|Integer64v).
opengl32: Share wgl_context structure definition with win32u.
opengl32: Keep track of draw/read framebuffer binding.
opengl32: Return the tracked FBOs when using FBO surfaces.
include: Add gameinput.idl.
gameinput: Introduce new DLL.
dinput/tests: Add some gameinput tests.
winebus: Generate unique serial numbers when adding devices.
user32/tests: Add more GetClassInfo tests.
win32u: Forbid setting GCW_ATOM class info.
win32u: Introduce helpers to check desktop and message class.
user32: Implement integral class name versioning support.
win32u: Remove now unnecessary integral atom specific handling.
server: Return the class base atom from create_class.
opengl32: Keep track of default FBO read/draw buffers.
opengl32: Return the tracked FBO buffers when using FBO surfaces.
opengl32: Remap read / draw FBO buffers when using FBO surfaces.
opengl32: Redirect default framebuffer when using FBO surfaces.
wine.inf: Fix section name for DefaultInstall.ntx86 services.
win32u: Simplify setting extra class info in set_class_long.
win32u: Use set_class_long_size for NtUserSetClassWord.
win32u: Use get_class_long_size for get_class_word.
server: Split get_class_info request from set_class_info.
server: Get rid of set_class_info request flags.
widl: Keep track of statements source locations.
widl: Allow explicit registration by referencing runtimeclasses.
windows.storage.applicationdata: Register runtimeclasses explicitly.
windows.storage: Register runtimeclasses explicitly.
wintypes: Register runtimeclasses explicitly.
include: Remove now unnecessary registration ifdefs.
opengl32: Initialize viewport when using FBO surface.
win32u: Create a separate draw FBO for multisampled formats.
opengl32: Resolve multisample draw buffer when using FBO surfaces.
win32u: Remove unnecessary HDC parameter from client_surface_present.
win32u: Remove unnecessary HDC parameter from p_surface_create.
winex11: Remove unnecessary members from struct gl_drawable.
windows.ui: Register runtimeclasses explicitly.
windows.ui.xaml: Register runtimeclasses explicitly.
coremessaging: Register runtimeclasses explicitly.
twinapi.appcore: Register runtimeclasses explicitly.
windows.applicationmodel: Register runtimeclasses explicitly.
windows.system.profile.systemid: Register runtimeclasses explicitly.
windows.system.profile.systemmanufacturers: Register runtimeclasses explicitly.
windows.globalization: Register runtimeclasses explicitly.
appxdeploymentclient: Register runtimeclasses explicitly.
cryptowinrt: Register runtimeclasses explicitly.
Tim Clem (3):
ntdll: Initialize return value in fork_and_exec.
ntdll: Zero the process and thread handles when creating a Unix process.
kernelbase: Zero the RTL_USER_PROCESS_PARAMETERS in CreateProcessInternalW.
Tingzhong Luo (1):
shell32: Support the UserProgramFiles folder.
Tres Finocchiaro (1):
winebuild: Add flag to disable dynamicbase/aslr.
Tyson Whitehead (9):
joy.cpl: Use correct interface for effect AddRef call.
joy.cpl: Remove needless device caps retrieval.
joy.cpl: Remove incorrect DIEP_TYPESPECIFICPARAMS flag usage.
joy.cpl: Cleanup selected device Acquire / Unacquire logic.
joy.cpl: Fix effect axes / direction in SetParameters call.
joy.cpl: Avoid restarting effect while button is pressed.
joy.cpl: Turn off autocenter for every device on creation.
joy.cpl: Add specific parameters based on type and not effect GUID.
winebus: SDL backend FF effect angle requires 32 bits.
Vibhav Pant (9):
vccorlib140: Add semi-stub for Platform::Details::Heap::{Allocate, Free}.
vccorlib140: Add stub for Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Implement Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Add stub for __abi_make_type_id, Platform::Type{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Implement __abi_make_type_id.
vccorlib140: Implement Platform::Type::{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Add stub for Platform::Details::CreateValue.
vccorlib140: Implement Platform::Details::CreateValue.
vccorlib140: Use the correct symbol name for InitControlBlock on i386 and arm.
William Horvath (2):
ntdll: Check for invalid gs_base in the 64-bit segv_handler.
ntdll/tests: Re-enable a previously crashing test.
Yuxuan Shui (6):
include: Make sure to null terminate string in wine_dbg_vsprintf.
server: Fix use-after-free of handle entry.
makefiles: Don't delete Makefile if makedep is interrupted.
dmime: Fix use-after-free after performance_CloseDown.
msi/tests: Fix wrong character counts passed to RegSetValueExA.
ole32: Don't get metafile extent if there is no metafile.
Zhiyi Zhang (2):
user32/tests: Add more SendMessageCallbackA/W() tests with NULL callback.
win32u: Put the message in the queue when the callback pointer is NULL and the callback data is 1.
Ziqing Hui (1):
dwrite: Add fallback for Dingbats.
```
1
0
The vkd3d team is proud to announce that release 1.17 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Initial HLSL support for thread group shared memory.
- Several features have been implemented for the experimental Metal Shading
Language target.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.17.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.17
### libvkd3d
- The EnumerateMetaCommands() method of the ID3D12Device5 interface is
implemented.
### libvkd3d-shader
- Several new features and improvements for the HLSL source type:
- Initial thread group shared memory support.
- Improved support for geometry shaders: shader model 5 multiple output
streams, as well as SV_IsFrontFace, SV_RenderTargetArrayIndex, and
SV_ViewportArrayIndex outputs.
- Structure variable input/output semantics are propagated to the
constituent structure fields.
- Shader entry point return values are allocated before any other outputs
in the output signature. This matches d3dcompiler/fxc more closely.
- Hull shader control point pass-through.
- Reflection information can be retrieved using vkd3d_shader_scan().
- Improved preprocessor handling of comments inside include directives, as
well as inclusion of empty files.
- Memory barrier intrinsics are supported in shader model 4 target
profiles. Previous these were only supported in shader model 5 target
profiles.
- Parser support for the noise() intrinsic. Although the intrinsic itself
isn't implemented, parser support for the intrinsic is required to allow
compilation of any other shaders in the same source file to succeed as
well.
- Parser support for StructuredBuffer resources.
- Various new features and improvements for the effects (FX) source type:
- Shader blob assignments and FXLVM value expressions in ‘fx_2_0’ effects.
- Nameless structure types.
- Explicit constant buffer bind points and constant packing offsets.
- The ‘d3ds_noiseswiz’, ‘ge’, ‘lt’, and ‘noise’ FXLVM operations.
- The experimental Metal Shading Language (MSL) target supports the
following features:
- Texture sampling and gather operations.
- Loops and switches.
- Screen-space partial derivatives.
- Various integer arithmetic and comparison operations.
- Indirect addressing of constant buffers.
- Indexable temporary registers.
- Fragment shader output sample coverage masks.
- SV_Position and SV_SampleIndex fragment shader inputs.
- SV_VertexID inputs.
- When the experimental MSL target is enabled, the ‘dxbc-dxil’ source type
can be used in combination with the ‘msl’ target type to convert DXIL
shaders to MSL.
- The new ‘tx’ source type can be used in combination with the ‘d3d-asm’
target type to disassemble D3DX ‘tx_1_0’ texture shaders.
- The FX target takes alignment and padding into account in ‘fx_4_0’ buffer
size calculations.
- The SPIR-V target is capable of outputting OpSource and OpLine debug
information.
- The core grammar for the experimental SPIR-V disassembler has been updated
to the ‘vulkan-sdk-1.4.313.0’ release.
- New interfaces:
- The VKD3D_SHADER_SOURCE_TX source type specifies D3DX ‘tx_1_0’ texture
shaders.
### vkd3d-compiler
- The new ‘tx’ source type specifies D3DX ‘tx_1_0’ texture shaders.
### demos
- The new vkd3d-teapot demo uses tessellation shaders to render a version of
Martin Newell's famous teapot. It should be noted that current versions of
MoltenVK unfortunately do not support all features required to execute
this demo correctly.
### Changes since vkd3d 1.16:
```
Anna (navi) Figueiredo Gomes (5):
vkd3d-shader/hlsl: Clone the entry point body and redirect processing to the clone.
vkd3d-shader/hlsl: Reset "extern_vars" before processing "entry_func" in hlsl_emit_bytecode().
vkd3d-shader/hlsl: Add temporary variables to "dummy_scope" in prepend_uniform_copy().
vkd3d-shader/hlsl: Don't create a temporary copy for a uniform if one already exists.
vkd3d-shader/hlsl: Move hlsl_ir_function_decl->extern_vars to a local variable.
Brendan Shanks (2):
include: Add additional generated files to .gitignore.
tests: Add dxcompiler.h to .gitignore.
Conor McCarthy (9):
vkd3d-shader/dxil: Validate the function return type after calling the handler.
vkd3d-shader/dxil: Check the destination value is invalid after calling a void function handler.
vkd3d-shader/dxil: Add a null check for the type when validating non-void operands.
vkd3d-shader/ir: Allow constant buffer loads to have a minimum precision.
vkd3d-shader/dxil: Convert constant buffer minimum-precision source registers.
tests: Replace test_ps_viewport_index() with a shader runner test.
vkd3d-shader/dxil: Handle SV_ViewportArrayIndex.
tests/hlsl: Add a test for SV_PrimitiveId inputs and outputs.
vkd3d-shader/dxil: Handle SV_PrimitiveId outputs.
Elizabeth Figura (31):
vkd3d-shader/ir: Use add_signature_element() to add clip planes.
vkd3d-shader/ir: Split TEXCOORD into two separate vsir opcodes.
vkd3d-shader/ir: Split TEX into two separate vsir opcodes.
vkd3d-shader: Use the correct union members for raw and structured resources.
vkd3d-shader/preproc: Parse comments in #include and #line directives.
vkd3d-shader/preproc: Swap to the INITIAL state after ending a buffer.
vkd3d-shader/preproc: Store EOF state per buffer.
vkd3d-shader/hlsl: Add a register type field to struct hlsl_reg.
vkd3d-shader/ir: Introduce a stub SSA to temp allocation pass.
vkd3d-shader/ir: Track liveness in the SSA allocator.
vkd3d-shader/ir: Allocate SSA registers to temps.
vkd3d-shader/hlsl: Output SSA registers where possible.
vkd3d-shader/d3d-asm: Handle INT_MIN in shader_print_int_literal().
vkd3d-shader/hlsl: Convert descriptor registers to pre-5.1 form in the TPF writer.
vkd3d-shader/hlsl: Output sm1 semantics with unique register_index values.
vkd3d-shader/hlsl: Set the data type in sm4_generate_vsir_reg_from_deref().
vkd3d-shader/hlsl: Set the destination data type to UINT in sm4_generate_vsir_cast_from_bool().
vkd3d-shader/ir: Allow bitwise operations on VKD3D_DATA_INT.
tests/shader_runner: Add support for 3D resources.
tests/hlsl: Add tests for 3D textures.
tests/shader_runner: Add support for cube resources.
tests/hlsl: Add tests for cube textures.
vkd3d-shader/spirv: Do not use OpCopyMemory for partial writemasks in spirv_compiler_emit_mov().
vkd3d-shader/spirv: Use left-shifted writemasks for private variables for inputs.
vkd3d-shader/ir: Record the previous temp count before allocating any SSA values.
tests/hlsl: Add a regression test for packed SV_IsFrontFace.
vkd3d-shader: Add descriptors from SAMPLE instructions if necessary.
vkd3d-shader/d3dbc: Move TEXLD lowering to d3dbc_parse().
vkd3d-shader/d3dbc: Normalize ps 1.x output.
vkd3d-shader/d3dbc: Lower 1.4 TEXLD.
vkd3d-shader/d3dbc: Lower TEXCRD.
Evan Tang (4):
vkd3d: Replace the resource count field of struct d3d12_heap with an internal refcount.
vkd3d: Mask colour writes on graphics pipelines without fragment shaders.
tests/d3d12: Add a colour attachment to test_draw_depth_no_ps().
vkd3d: Get rid of the default fragment shader from d3d12_pipeline_state_init_graphics().
Francisco Casas (38):
tests/d3d12: Avoid out-of-bounds access when evaluating ok() args (ubsan).
tests/shader_runner_d3d12: Handle the "bug" qualifier on state creation failure.
tests/hlsl: Test the allocation order of return semantics.
vkd3d-shader/hlsl: Allocate return variables before other outputs.
tests/hlsl: Fix up point-sprite.shader_test.
vkd3d-shader/hlsl: Update the enum hlsl_sampler_dim comment.
vkd3d-shader/ir: Avoid a compiler warning in vsir_block_list_init().
tests/hlsl: Add semantic cascading tests.
vkd3d-shader/hlsl: Use the index in the hlsl_semantic when appending output copies.
vkd3d-shader/hlsl: Use the index in the hlsl_semantic when prepending input copies.
vkd3d-shader/hlsl: Don't pass the semantic index in add_semantic_var().
vkd3d-shader/hlsl: Make output semantics on structs cascade down onto the fields.
vkd3d-shader/hlsl: Make input semantics on structs cascade down onto the fields.
tests/hlsl: Add additional semantic cascading tests.
tests: Test semantic cascading signatures.
vkd3d-shader/hlsl: Dump processed function bodies.
vkd3d-shader/ir: Validate flags in SAMPLE_INFO operations.
vkd3d-shader/ir: Validate flags in RESINFO operations.
vkd3d-shader/dxil: Use iterators in sm6_parser_globals_init().
vkd3d-shader/hlsl: Use vsir_program_append() in sm1_generate_vsir_constant_defs().
vkd3d-shader/hlsl: Use vsir_program_append() in sm1_generate_vsir_sampler_dcls().
vkd3d-shader/hlsl: Use vsir_program_append() in generate_vsir_add_program_instruction().
vkd3d-shader/ir: Use iterators in vsir_program_ensure_diffuse().
vkd3d-shader/ir: Use iterators in vsir_program_remap_output_signature().
vkd3d-shader/ir: Use iterators in instruction_array_normalise_hull_shader_control_point_io().
vkd3d-shader/ir: Use iterators in vsir_program_normalise_flat_constants().
vkd3d-shader/ir: Use iterators in vsir_program_normalise_io_registers().
vkd3d-shader/ir: Remove the io_normaliser.instructions field.
vkd3d-shader/ir: Use iterators in vsir_program_remove_dead_code().
vkd3d-shader/ir: Use iterators in cf_flattener_iterate_instruction_array().
vkd3d-shader/ir: Use iterators in vsir_program_flatten_hull_shader_phases().
vkd3d-shader/ir: Use iterators in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader/ir: Use iterators in vsir_program_insert_alpha_test().
vkd3d-shader/ir: Use iterators in vsir_program_insert_clip_planes().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_size().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_size_clamp().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_coord().
vkd3d-compiler: Set a default target type even when preprocessing.
Giovanni Mascellani (251):
vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_params_init_from_operands().
vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_param_init_from_value().
vkd3d-shader/dxil: Pass a reference to the SM6 parser to sm6_register_from_value().
vkd3d-shader/dxil: Reimplement aggregate indexing using specialized value types.
tests/hlsl: Test minimum precision stride in constant buffers.
tests/hlsl: Test minimum precision 16-bit unsigned integers.
tests/hlsl: Test minimum precision 16-bit signed integers.
tests/hlsl: Remove some tests from minimum-precision.shader_test.
tests/hlsl: Test casting doubles to minimum precision integers.
tests/hlsl: Test casting minimum precision integers to doubles.
tests/hlsl: Test casting 16-bit integers to doubles.
tests/hlsl: Test native 16-bit floating point numbers.
tests/hlsl: Test minimum precision floating point numbers.
tests/hlsl: Test minimum precision stride for signed integers too.
tests/hlsl: Test minimum precision stride for floating point numbers too.
tests/hlsl: Do not test for overflowing 16-bit texture sampling.
tests/hlsl: Mark a test in object-references.shader_test as todo on MoltenVK with DXIL.
tests/hlsl: Mark some tests in clip-cull-distance.shader_test as buggy on MoltenVK with d3d12.
tests/hlsl: Mark a test in gather-offset.shader_test as buggy on MoltenVK with d3d12.
tests/hlsl: Mark some tests in wave-ops-uint.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in wave-ops-int.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in uav-atomics.shader_test as working on MoltenVK.
ci: Really use DXC 1.8.2502 for macOS.
vkd3d-shader/dxil: Do not touch the parser current value in instruction_dst_param_init_temp_vector().
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for integer values.
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for floating-point values.
vkd3d-shader/dxil: Generate specialized values in sm6_parser_constants_init() for casts.
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for null scalars.
vkd3d-shader/dxil: Remove bitcast helpers.
tests/hlsl: Test sampling with minimum precision floating-point numbers.
tests/hlsl: Test the interstage interface for minimum precision types.
tests/hlsl: Use the appropriate RTV format in shader-interstage-interface.shader_test.
tests/hlsl: Add a test reading from a minimum precision signed integer array.
tests/hlsl: Add some more minimum precision floating-point tests.
tests/hlsl: Add a test reading from a minimum precision floating-point array.
tests/hlsl: Mark a test in sm6-uav-rwtexture.shader_test as todo on MoltenVK.
tests/hlsl: Mark a test in register-reservation-resources.shader_test as todo on MoltenVK with DXIL.
tests/hlsl: Mark a test in entry-point-semantics.shader_test as buggy on MoltenVK with DXIL.
tests/hlsl: Mark some tests in geometry.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in wave-ops-float.shader_test as buggy on MoltenVK.
vkd3d-shader/glsl: Accept and ignore the REFACTORING_ALLOWED global flag.
vkd3d-shader/msl: Accept and ignore the REFACTORING_ALLOWED global flag.
vkd3d-shader/glsl: Ignore the PARTIALPRECISION destination modifier.
vkd3d-shader/msl: Ignore the PARTIALPRECISION destination modifier.
tests: Add a test for the ABSNEG source modifier.
vkd3d-shader/glsl: Support the ABSNEG source modifier.
vkd3d-shader/msl: Support the ABSNEG source modifier.
vkd3d-shader/dxil: Do not use field "reg" in of sm6_value when writing bitcasts.
vkd3d-shader/dxil: Validate that floating-point truncation casts decrease bit width.
vkd3d-shader/dxil: Validate that integer extension casts increase bit width.
vkd3d-shader/dxil: Validate that floating-point extension casts increase bit width.
vkd3d-shader/dxil: Handle 16-bit values uniformly in sm6_map_cast_op().
tests: Mark some tests in arithmetic-int-uniform.shader_test as buggy on MoltenVK < 1.2.11.
tests: Mark some tests in calculate-lod.shader_test as buggy on MoltenVK < 1.2.11.
ci: Enable testing with DXC again on macOS.
tests/hlsl: Test minimum precision IDXTEMP registers.
vkd3d-shader/hlsl: Reject programs with group shared variables.
tests/hlsl: Test some quirks of TGSMs with SM < 5.0.
tests/hlsl: Test TGSMs with minimum precision unsigned integers.
vkd3d-shader/dxil: Generate specialized values in sm6_parser_emit_cast() for trivial casts.
vkd3d-shader/dxil: Represent non uniformness in the SM6 value.
vkd3d-shader/dxil: Store a SM6 value in sm6_phi.
vkd3d-shader/dxil: Do not set the value type in sm6_parser_declare_global().
vkd3d-shader/dxil: Do not set the value type in sm6_parser_function_init().
tests: Skip test_graphics_compute_queue_synchronization() on paravirtualized MoltenVK.
tests: Add a test about discontiguous input swizzles in bytecode format.
tests: Fix the shader model requirements for a ps_5_0 shader.
vkd3d-shader/dxil: Rewrite sm6_value_is_constant() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_is_undef() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_is_ssa() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_get_constant_uint() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_value_get_constant_uint64() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_value_is_constant_zero() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_parser_init_ssa_value() in terms of the SM6 value.
vkd3d-shader/dxil: Introduce sm6_value_get_constant_float().
vkd3d-shader/dxil: Remove field "reg" from struct sm6_value.
vkd3d-shader/dxil: Emit 16-bit CONSTANT values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit arrays as minimum precision types.
vkd3d-shader/dxil: Emit 16-bit IDXTEMP values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit SSA values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit ICB values as minimum precision registers.
vkd3d-shader/ir: Rename VKD3D_SHADER_ERROR_VSIR_INVALID_HANDLER to VKD3D_SHADER_ERROR_VSIR_INVALID_OPCODE.
vkd3d-shader/dxil: Allow constant zero values to be floating point.
vkd3d-shader/dxil: Emit 16-bit raw TGSMs as minimum precision.
vkd3d-shader/dxil: Emit 16-bit structured TGSMs as minimum precision.
vkd3d-shader/dxil: Emit 16-bit GROUPSHAREDMEM values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit UNDEFINED and INVALID values as minimum precision registers.
vkd3d-shader/ir: Validate ABS instructions.
vkd3d-shader/ir: Validate ACOS instructions.
vkd3d-shader/ir: Validate ADD instructions.
vkd3d-shader/ir: Validate AND instructions.
vkd3d-shader/ir: Validate ASIN instructions.
vkd3d-shader/ir: Validate ATAN instructions.
tests: Add a test for the partial precision destination modifier.
vkd3d-shader/ir: Validate data types for NEG source modifiers.
vkd3d-shader/ir: Validate data types for BIAS source modifiers.
vkd3d-shader/ir: Validate data types for BIASNEG source modifiers.
vkd3d-shader/ir: Validate data types for SIGN source modifiers.
vkd3d-shader/ir: Validate data types for SIGNNEG source modifiers.
vkd3d-shader/ir: Introduce opcode COS.
vkd3d-shader/ir: Introduce opcode SIN.
vkd3d-shader/ir: Lower d3dbc SINCOS to the new COS and SIN instructions.
vkd3d-shader/ir: Lower tpf SINCOS to the new COS and SIN instructions.
vkd3d-shader/ir: Validate DADD instructions.
vkd3d-shader/ir: Validate DDIV instructions.
vkd3d-shader/ir: Validate DFMA instructions.
vkd3d-shader/ir: Validate DGEO instructions.
vkd3d-shader/ir: Validate DIV instructions.
vkd3d-shader/ir: Validate DLT instructions.
vkd3d-shader/ir: Validate DMAX instructions.
vkd3d-shader/ir: Validate DMIN instructions.
vkd3d-shader/ir: Validate DMOV instructions.
vkd3d-shader/ir: Validate DMUL instructions.
vkd3d-shader/ir: Validate data types for COMP source modifiers.
vkd3d-shader/ir: Validate data types for X2 source modifiers.
vkd3d-shader/ir: Validate data types for X2NEG source modifiers.
vkd3d-shader/ir: Validate data types for DZ source modifiers.
vkd3d-shader/ir: Validate data types for DW source modifiers.
vkd3d-shader/ir: Introduce VKD3DSIH_IMUL_LOW.
vkd3d-shader/ir: Lower IMUL and UMUL to IMUL_LOW.
vkd3d-shader/ir: Validate data types for ABS source modifiers.
vkd3d-shader/ir: Validate data types for ABSNEG source modifiers.
vkd3d-shader/ir: Validate data types for NOT source modifiers.
vkd3d-shader/ir: Validate data types for SATURATE destination modifiers.
vkd3d-shader/ir: Validate data types for destination shifts.
vkd3d-shader/ir: Validate DNE instructions.
vkd3d-shader/ir: Validate DRCP instructions.
vkd3d-shader/ir: Validate DSX instructions.
vkd3d-shader/ir: Validate DSX_COARSE instructions.
vkd3d-shader/ir: Validate DSX_FINE instructions.
vkd3d-shader/ir: Validate DSY instructions.
vkd3d-shader/ir: Validate DSY_COARSE instructions.
vkd3d-shader/ir: Validate DSY_FINE instructions.
vkd3d-shader/ir: Do not crash when registers cannot be resolved to signature elements.
vkd3d-shader/ir: Introduce VSIR_OP_IREM.
vkd3d-shader/ir: Repurpose IDIV to compute plain signed division.
vkd3d-shader/ir: Introduce VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Introduce VSIR_OP_UREM.
vkd3d-shader/ir: Lower UDIV to UDIV_SIMPLE and UREM.
vkd3d-shader/ir: Validate EQO instructions.
vkd3d-shader/ir: Validate DEQO instructions.
vkd3d-shader/ir: Validate EQU instructions.
vkd3d-shader/ir: Validate EXP instructions.
vkd3d-shader/ir: Validate FRC instructions.
vkd3d-shader/ir: Validate FREM instructions.
vkd3d-shader/ir: Validate GEO instructions.
vkd3d-shader/ir: Validate GEU instructions.
vkd3d-shader/ir: Test the data type when validating comparison operations.
tests/hlsl: Test int64 comparisons.
tests/hlsl: Test uint64 comparisons.
vkd3d-shader/ir: Validate HCOS instructions.
vkd3d-shader/ir: Validate HSIN instructions.
vkd3d-shader/ir: Validate HTAN instructions.
vkd3d-shader/ir: Validate IADD instructions.
vkd3d-shader/ir: Validate IEQ instructions.
vkd3d-shader/ir: Validate IGE instructions.
vkd3d-shader/ir: Validate ILT instructions.
vkd3d-shader/ir: Collect the hull shader phase flattener code together.
vkd3d-shader/ir: Handle SSA registers when flattening hull shader phases.
vkd3d-shader/ir: Do not make a local copy of the instructions array in vsir_program_flatten_hull_shader_phases().
vkd3d: Move vkd3d_vk_descriptor_set_index_from_vk_descriptor_type() to resource.c.
vkd3d/resource: Write null descriptors with their correct type when using mutable descriptor types.
vkd3d-shader/ir: Validate descriptor flags in vsir programs.
vkd3d-shader/ir: Validate UAV flags in vsir programs.
vkd3d-shader/ir: Validate IMAD operations.
vkd3d-shader/ir: Validate IMAX operations.
vkd3d-shader/ir: Validate IMIN operations.
vkd3d-shader/ir: Validate INE operations.
vkd3d-shader/ir: Validate INEG operations.
vkd3d-shader/ir: Validate IREM operations.
vkd3d-shader/ir: Validate ISHL operations.
vkd3d-shader/ir: Validate ISHR operations.
vkd3d-shader/ir: Introduce an abstraction to iterate through vsir instructions.
vkd3d-shader/ir: Use the iterator in vsir_program_lower_ifc().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_texkill().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Sort vsir_validator_instructions[] alphabetically.
vkd3d-shader/ir: Validate ISFINITE operations.
vkd3d-shader/ir: Validate ISINF operations.
vkd3d-shader/ir: Validate ISNAN operations.
vkd3d-shader/ir: Validate ITOF operations.
vkd3d-shader/ir: Validate ITOI operations.
vkd3d-shader/ir: Validate FTOI operations.
vkd3d-shader/ir: Validate FTOU operations.
vkd3d-shader/ir: Set dimension to VEC4 when converting SSAs to TEMPs.
vkd3d-shader/ir: Do not print a message for registers that are not being allocated.
vkd3d-shader/ir: Use the iterator in vsir_program_lower_udiv().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_sm1_sincos().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_sm4_sincos().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_texldp().
vkd3d-shader/ir: Validate LOG operations.
vkd3d-shader/ir: Validate LTO operations.
vkd3d-shader/ir: Validate LTU operations.
vkd3d-shader/ir: Validate MAD operations.
vkd3d-shader/ir: Validate MAX operations.
vkd3d-shader/ir: Validate MIN operations.
vkd3d-shader/ir: Validate MUL operations.
vkd3d-shader/ir: Check that LOCALTHREADINDEX registers have dimension VEC4.
vkd3d-shader/ir: Check that COVERAGE registers have dimension VEC4.
vkd3d-shader/ir: Check that DEPTHOUT registers have dimension SCALAR.
vkd3d-shader/ir: Check that DEPTHOUTGE registers have dimension SCALAR.
vkd3d-shader/ir: Check that DEPTHOUTLE registers have dimension SCALAR.
vkd3d-shader/ir: Check that LOCALTHREADID registers have dimension VEC4.
vkd3d-shader/ir: Check that THREADGROUPID registers have dimension VEC4.
vkd3d-shader/ir: Update the program TEMP count when allocating TEMP registers.
vkd3d-shader/ir: Split updating DCL_TEMPS instructions to a dedicated pass.
vkd3d-shader/ir: Check that THREADID registers have dimension VEC4.
vkd3d-shader/ir: Check that SAMPLEMASK registers have dimension SCALAR.
vkd3d-shader/ir: Check that GSINSTID registers have dimension SCALAR.
vkd3d-shader/ir: Check that OUTPOINTID registers have dimension SCALAR.
vkd3d-shader/ir: Check that PRIMID registers have dimension SCALAR.
vkd3d-shader/ir: Check that OUTSTENCILREF registers have dimension SCALAR.
vkd3d-shader/ir: Introduce vsir_program_append().
vkd3d-shader/tpf: Use iterators in tpf_write_program().
vkd3d-shader/spirv: Use iterators in spirv_compiler_generate_spirv().
vkd3d-shader/msl: Use iterators in msl_generator_generate().
vkd3d-shader/glsl: Use iterators in vkd3d_glsl_generator_generate().
vkd3d-shader/d3d-asm: Use iterators in d3d_asm_compile().
vkd3d-shader/d3dbc: Use vsir_program_append() in d3dbc_parse().
vkd3d-shader/d3dbc: Use iterators in d3dbc_write_program_instructions().
vkd3d-shader/ir: Validate NEO operations.
vkd3d-shader/ir: Validate NEU operations.
vkd3d-shader/ir: Validate NOT operations.
vkd3d-shader/ir: Validate OR operations.
vkd3d-shader/ir: Validate ORD instructions.
vkd3d-shader/ir: Validate RCP instructions.
vkd3d-shader/ir: Validate ROUND_NE instructions.
vkd3d-shader/ir: Validate ROUND_NI instructions.
vkd3d-shader/ir: Use size_t in the parameter allocator.
vkd3d-shader/ir: Use size_t in the instruction array.
vkd3d-shader: Use size_t in the string buffer.
vkd3d-shader/msl: Ignore the interpolation mode for output variables.
vkd3d-shader/msl: Emit indexable temps with the appropriate component count.
vkd3d-shader/msl: Use the union type for SAMPLEMASK registers.
vkd3d-shader/msl: Reject shaders with duplicate I/O target locations.
vkd3d-shader/msl: Convert the results of load and sample operations to the destination data type.
vkd3d-shader/dxil: Emit gather offsets as signed.
vkd3d-shader/d3d-asm: Emit precise flags for a number of opcodes.
vkd3d-shader/spirv: Support precise flags on RESINFO instructions.
vkd3d-shader/spirv: Support precise flags on SAMPLE_INFO instructions.
tests/hlsl: Test SV_GSInstanceID.
vkd3d-shader/ir: Check that GSINSTID registers have dimension VEC4.
vkd3d-shader/hlsl: Reject geometry shaders with instance count.
vkd3d-shader: Use iterators in vsir_program_scan().
vkd3d-shader/ir: Use iterators in vsir_program_normalize_addr().
vkd3d-shader/ir: Use iterators in vsir_program_ensure_ret().
vkd3d-shader: Use the structure names when creating the parameter allocators.
vkd3d-shader: Enable converting DXIL to MSL.
vkd3d-shader/msl: Allocate SSA registers to temporaries.
tests/shader_runner_metal: Allow checking shader model 5.1 too.
tests/shader_runner_metal: Run the Metal shader runner with DXIL shaders.
Henri Verbeet (148):
vkd3d-shader: Also output vkd3d_shader_verror() messages using WARN.
vkd3d-shader: Also output vkd3d_shader_vwarning() messages using WARN.
vkd3d-shader: Also output vkd3d_shader_vnote() messages using WARN.
vkd3d-shader: Remove some newlines from vkd3d-shader error messages.
tests/shader_runner_metal: Try harder to find a suitable device.
tests/shader_runner_d3d11: Direct3D 11 supports geometry shaders.
tests/hlsl: Require the "geometry-shader" cap for the relevant clip/cull-distance tests.
tests/hlsl: Get rid of a MSL todo in geometry.shader_test.
tests/hlsl: Slightly adjust the bias values in the sample-bias tests.
vkd3d-shader: Move vkd3d_siv_from_sysval_indexed() to hlsl_codegen.c.
vkd3d-shader/msl: Make the generated main function static.
tests/shader_runner: Introduce a "tessellation-shader" cap.
vkd3d-shader/msl: Ensure we have a non-NULL "resource_type_info" pointer in msl_ld().
vkd3d-shader/msl: Reject cube and multi-sample texel fetches in msl_ld().
vkd3d-shader/msl: Get rid of the "lod" field of struct msl_resource_type_info.
vkd3d-shader/msl: Slightly improve the error messages for unspecified descriptor bindings.
vkd3d-shader/msl: Continue when the SRV descriptor binding isn't specified in msl_ld().
vkd3d-shader/msl: Implement support for indirect constant buffer addressing.
vkd3d-shader/msl: Handle SV_POSITION inputs.
vkd3d-shader/msl: Handle SV_VERTEX_ID inputs.
vkd3d-shader/msl: Simplify SV_DEPTH handling.
tests/shader_runner_metal: Implement multi-sample readback.
tests/shader_runner_metal: Set the pipeline sample count in metal_runner_draw().
vkd3d-shader/msl: Handle SV_SAMPLE_INDEX inputs.
vkd3d-shader/msl: Implement support for VKD3DSPR_IDXTEMP registers.
vkd3d-shader/msl: Implement support for VKD3DSPR_SAMPLEMASK registers.
vkd3d-shader/msl: Implement VKD3DSIH_EQO.
vkd3d-shader/msl: Implement VKD3DSIH_IADD.
vkd3d-shader/msl: Implement VKD3DSIH_IGE.
vkd3d-shader/ir: Introduce vsir_opcode_get_name().
vkd3d-shader/d3dbc: Use vsir_opcode_get_name() in shader_sm1_get_opcode_info_from_vsir_instruction().
vkd3d-shader/d3dbc: Use vsir_opcode_get_name() in d3dbc_write_vsir_instruction().
vkd3d-shader/glsl: Use vsir_opcode_get_name() in shader_glsl_unhandled().
vkd3d-shader/ir: Use vsir_opcode_get_name() in vsir_program_lower_instructions().
vkd3d-shader/msl: Implement VKD3DSIH_ILT.
vkd3d-shader/msl: Implement VKD3DSIH_IMUL.
vkd3d-shader/msl: Implement loops.
vkd3d-shader/msl: Implement switches.
vkd3d-shader/msl: Implement VKD3DSIH_DISCARD.
tests/shader_runner: Rename the "ri64" probe format to "i64".
tests/shader_runner: Introduce the "u64" probe format.
tests/shader_runner: Introduce the "f64" probe format.
tests/shader_runner: Introduce the "i32" probe format.
tests/shader_runner: Introduce the "u32" probe format.
tests/shader_runner: Introduce the "f32" probe format.
demos: Allow Vulkan to determine the swapchain image count.
vkd3d-shader/msl: Implement VKD3DSIH_INEG.
vkd3d-shader/msl: Implement VKD3DSIH_ULT.
vkd3d-shader/msl: Implement VKD3DSIH_XOR.
tests/shader_runner_metal: Implement resource copies.
vkd3d-shader/msl: Implement VKD3DSIH_LD2DMS.
vkd3d-shader/ir: Use vsir_opcode_get_name() in the validator.
vkd3d-shader/msl: Use vsir_opcode_get_name() in msl_unhandled().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_handle_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_atomic_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_sample().
demos: Print the GPU and platform we're running on.
demos: Map the Win32 A-Z keys to a-z.
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_deriv_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_comparison_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_bitfield_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_ext_glsl_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_alu_instruction().
demos: Introduce a helper function to create a projection matrix.
vkd3d-shader/spirv: Emit an OpSource instruction with the source name.
vkd3d: Use the DXBC checksum to construct a shader source name.
demos/teapot: Add a tessellation demo.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_B.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_C.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_C_LZ
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_GRAD.
vkd3d-shader/spirv: Do not require VKD3D_SHADER_BINDING_FLAG_IMAGE for sampler descriptors.
vkd3d-shader/d3dbc: Use TAG_CTAB in d3dbc_compile().
demos/teapot: Add on-screen help.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_LOD.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4_C.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4_PO.
vkd3d-shader/msl: Implement support for static texel offsets in msl_sample().
vkd3d-shader/ir: Rename the VKD3DSIH_* enum elements to VSIR_OP_*.
vkd3d-shader/msl: Implement VSIR_OP_CONTINUE.
vkd3d-shader/msl: Implement VSIR_OP_DSX and VSIR_OP_DSY.
vkd3d-shader/msl: Implement VSIR_OP_DSX_COARSE and VSIR_OP_DSY_COARSE.
vkd3d-shader/msl: Implement VSIR_OP_DSX_FINE and VSIR_OP_DSY_FINE.
vkd3d-shader/msl: Implement VSIR_OP_IMAX.
vkd3d-shader/ir: Create SSA values with the corresponding dimension in vsir_program_lower_sm4_sincos().
vkd3d-shader/ir: Create SSA values with the corresponding dimension in vsir_program_lower_udiv().
demos/teapot: Add an fps counter.
vkd3d-shader/msl: Implement VSIR_OP_UMAX and VSIR_OP_UMIN.
tests/shader_runner_metal: Implement buffer textures.
vkd3d-shader/msl: Implement VSIR_OP_STORE_UAV_TYPED.
vkd3d-shader/msl: Implement VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL.
tests/shader_runner_gl: Implement geometry shaders.
demos/teapot: Add diffuse lighting.
demos/teapot: Add a flat shading toggle.
vkd3d-shader/ir: Rename enum vkd3d_data_type to vsir_data_type.
vkd3d-shader/ir: Rename VKD3D_DATA_HALF to VSIR_DATA_F16.
vkd3d-shader/ir: Rename VKD3D_DATA_FLOAT to VSIR_DATA_F32.
vkd3d-shader/ir: Rename VKD3D_DATA_DOUBLE to VSIR_DATA_F64.
demos/teapot: Animate the camera.
vkd3d-shader/ir: Rename VKD3D_DATA_INT to VSIR_DATA_I32.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT8 to VSIR_DATA_U8.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT16 to VSIR_DATA_U16.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT to VSIR_DATA_U32.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT64 to VSIR_DATA_U64.
vkd3d-shader/ir: Consistently use VKD3D_DATA_UNUSED for STREAM registers.
vkd3d-shader/ir: Rename VKD3D_DATA_UNORM to VSIR_DATA_UNORM.
vkd3d-shader/ir: Rename VKD3D_DATA_SNORM to VSIR_DATA_SNORM.
vkd3d-shader/ir: Rename VKD3D_DATA_OPAQUE to VSIR_DATA_OPAQUE.
vkd3d-shader/ir: Rename VKD3D_DATA_MIXED to VSIR_DATA_MIXED.
vkd3d-shader/ir: Rename VKD3D_DATA_CONTINUED to VSIR_DATA_CONTINUED.
vkd3d-shader/ir: Rename VKD3D_DATA_UNUSED to VSIR_DATA_UNUSED.
vkd3d-shader/ir: Rename VKD3D_DATA_BOOL to VSIR_DATA_BOOL.
vkd3d-shader/ir: Explicitly initialise the "resource_data_type" field in vsir_instruction_init().
vkd3d-shader/spirv: Use spirv_compiler_error() to report unhandled sample_info flags.
vkd3d-shader/spirv: Use spirv_compiler_error() to report unhandled resinfo flags.
vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for sample_info_uint destination operands.
vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for resinfo_uint destination operands.
vkd3d-shader/hlsl: Get rid of the "hlsl" argument to hlsl_compile_shader().
vkd3d-shader/tpf: Update the comment describing the data type mapping in init_sm4_lookup_tables().
vkd3d-shader/ir: Allow source operands of shift operations to have different data types.
vkd3d-shader/hlsl: Emit vsir from hlsl_emit_bytecode().
vkd3d-shader: Call vsir_program_scan() for d3d-asm targets in vsir_program_compile().
vkd3d-shader/spirv: Emit OpLine instructions.
demos/teapot: Add specular lighting.
vkd3d-shader/hlsl: Introduce hlsl_compile_effect().
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_emit_vsir().
vkd3d-shader/hlsl: Generate vsir signatures in hlsl_emit_vsir().
vkd3d-shader/spirv: Update the SPIR-V grammar JSON to the vulkan-sdk-1.4.313.0 release.
vkd3d-shader/ir: Free program parameters on failure in vsir_program_init() if needed.
include: Remove some redudant TAG_* definintions from vkd3d_shader_util.h.
vkd3d: Set the maximum viewport count in d3d12_pipeline_state_get_or_create_pipeline().
vkd3d-shader/ir: Use vsir_program_append() in vsir_program_ensure_ret().
tests/shader_runner: Parse hex blobs as a list of 32-bit integers.
tests: Strip reflection data from dxbc-tpf-hex shaders.
tests/d3d12: Check whether the d3d12 device supports geometry shaders.
tests/shader_runner_d3d12: Check whether the d3d12 device supports geometry shaders.
vkd3d-shader: Cleanup the vsir program on vsir_program_transform_early() failure in vsir_parse().
vkd3d-shader: Introduce struct vkd3d_shader_source_list.
vkd3d-shader/hlsl: Pass a vkd3d_shader_source_list pointer to hlsl_ctx_init().
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_compile_shader().
vkd3d-shader/hlsl: Return a vsir program from hlsl_compile_shader().
vkd3d-shader/hlsl: Support HLSL sources in vkd3d_shader_scan().
vkd3d-shader/spirv: Avoid emitting duplicate built-in inputs in spirv_compiler_emit_input().
vkd3d-shader/d3d-asm: Resolve SSA values when outputting SM<6 assembly.
vkd3d-shader/glsl: Resolve SSA values.
vkd3d-shader: Document that vkd3d_shader_scan() supports HLSL sources.
Nikolay Sivov (45):
vkd3d-shader/fx: Handle nameless structure types.
vkd3d-shader/fx: Use the correct value range for bool initializers.
vkd3d-shader/fx: Use the correct field indices when writing structure default values.
vkd3d-shader/fx: Fix the total buffer size calculation in write_fx_4_buffer().
vkd3d-shader/fx: Fix writing fx_2_0 structure parameters.
vkd3d-shader/fx: Use variable unpacked size when setting buffer sizes.
vkd3d-shader/fx: Print explicit buffer bind points in fx -> d3d-asm output.
vkd3d-shader/fx: Print packoffset() modifiers in fx -> d3d-asm output.
vkd3d-shader/fx: Fix some typos in fx_2_0 state names.
vkd3d-shader/fx: Use correct array sizes for the fx_2_0 states.
vkd3d-shader/fx: Fix reading the assignment value base type when parsing fx_2_0.
vkd3d-shader/fx: Fix a crash in fx -> d3d-asm when named values are not defined.
vkd3d-shader/fx: Handle bool types when parsing fx_2_0 assignment values.
vkd3d-shader/fx: Add a few missing fxlc opcode names.
vkd3d-shader/fx: Do not print padding bytes of fx_2_0 strings.
vkd3d-shader/fx: Use a separate table for sampler states in fx_2_0.
vkd3d-shader/fx: Give fxlvm-specific constants a version-neutral name.
vkd3d-shader/fx: Use a version-neutral name for the opcode table.
vkd3d-shader/fx: Read instruction arguments in full before printing them.
vkd3d-shader/fx: Use more generic names for the literal constant array.
vkd3d-shader/fx: Add a helper to print literals.
vkd3d-shader/fx: Rename the constant argument helper to be version-neutral.
vkd3d-shader/fx: Parse array selector expressions for fx_2_0.
vkd3d-shader/fx: Remove the unused fx_4_fxlc_argument type.
vkd3d-shader/fx: Explicitly check all known state assignment types for fx_2_0.
vkd3d-shader/fx: Output value expressions for fx_2_0.
vkd3d-shader/fx: Output indirect register access in arguments.
vkd3d-shader/fx: Add the "noise" opcode name.
vkd3d-shader/fx: Add support for tx -> text output.
vkd3d-shader/d3dbc: Use the actual instruction length in d3dbc_write_instruction().
vkd3d-shader/hlsl: Add a stub for the noise() intrinsic.
vkd3d-shader/fx: Use a version-independent structure for states.
vkd3d-shader/fx: Use the same state data helpers for both fx_2_0 and fx_4+.
vkd3d-shader/fx: Move state decomposition to the fx_4_0-specific writing path.
vkd3d-shader/fx: Move entry count updates out of the state block writing helper.
vkd3d-shader/fx: Add a format-specific callback to write state assignments.
vkd3d-shader/fx: Fix the order of the "MaterialDiffuse" and "MaterialAmbient" state entries.
vkd3d-shader/fx: Improve register naming in the disassembly output.
vkd3d-shader/fx: Use the correct value range for bools in fx_4_0 state values.
vkd3d-shader/fx: Explicitly handle bool state values when parsing.
vkd3d-shader/ir: Handle TEXLDL instructions in vsir_program_lower_instructions().
vkd3d-shader/hlsl: Handle HLSL_RESOURCE_SAMPLE_LOD in sm1_generate_vsir_instr_resource_load().
vkd3d-shader/fx: Handle regular shader blobs when parsing the state data.
vkd3d-shader/fx: Do not attempt to parse expressions without code section.
vkd3d: Return success from d3d12_device_EnumerateMetaCommands().
Shaun Ren (19):
vkd3d-shader/tpf: Read the DCL_OUTPUT_SGV instruction.
vkd3d-shader/hlsl: Implement output semantics for geometry shaders.
tests: Test signature reflection for geometry shader outputs.
vkd3d-shader/hlsl: Fix the register string for patch arrays in debug_register().
vkd3d-shader/hlsl: Support void pass-through hull shader control point functions.
vkd3d-shader/hlsl: Emit dcl_stream instructions for SM5 geometry shaders.
vkd3d-shader/hlsl: Generate vsir instructions for indexed output streams in geometry shaders.
vkd3d-shader/hlsl: Store stream index in struct hlsl_semantic.
vkd3d-shader/hlsl: Don't optimize semantic register allocations in SM1.
vkd3d-shader/hlsl: Remove a leftover TODO message.
vkd3d-shader/hlsl: Only dump store writemasks for single register types.
vkd3d-shader/hlsl: Handle nodes with NULL data types in hlsl_replace_node().
vkd3d-shader/hlsl: Allow memory barriers in SM4+ target profiles.
vkd3d-shader/hlsl: Ignore the 'groupshared' modifier for non-compute shaders.
vkd3d-shader/hlsl: Allocate groupshared registers.
vkd3d-shader/hlsl: Emit dcl_tgsm_raw instructions for raw groupshared variables.
vkd3d-shader/hlsl: Support loads from groupshared variables.
vkd3d-shader/hlsl: Support stores to raw groupshared variables.
vkd3d-shader/hlsl: Support interlocked operations on non-indexed groupshared variables.
Victor Chiletto (4):
tests/hlsl: Add a few extra structured buffer matrix load + swizzle tests.
vkd3d-shader/hlsl: Parse SRV structured buffers.
vkd3d-shader/hlsl: Transform hlsl_ir_index into structured buffers into field specific hlsl_ir_resource_loads.
vkd3d-shader/hlsl: Split matrix copies from resource loads.
```
1
0