Wine-Announce
By thread
wine-announce@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
February 2026
- 1 participants
- 3 messages
Wine release 11.3
by Alexandre Julliard
The Wine development release 11.3 is now available.
What's new in this release:
- Mono engine updated to version 11.0.0
- Bundled vkd3d upgraded to version 1.19.
- Improved FIR filter in DirectSound.
- More optimizations in PDB loading.
- Light theme renamed to Aero for compatibility.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.3.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.3/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.3 (total 30):
- #40435 42Tags (.NET app) doesn't launch (System.Globalization.CultureNotFoundException: Culture ID 0 (0x0000) is not a supported culture.)
- #44820 Processes might terminate with incorrect exit code due to race-condition when threads are killed during shutdown
- #45343 Multiple apps (Vavoo Webinstaller,Kodi) fail with windows version set to Win7: wmic.exe needs support for "/?" switch
- #46384 Can't run zools backup tool on wine
- #49453 ExtractNow: buttons do nothing / don't work / function (needs comctl32 version 6)
- #50177 War Thunder Launcher doesn't render anything, just spams d2d_geometry_sink_AddArc stubs
- #50449 zdaemon - Program freezes if both keyboard and mouse are used at the same time
- #50814 Adobe Audition 2020 crashes on startup, reporting 'Direct2D Drawbot error' (d2d_device_context_Flush is a stub)
- #54610 fusion:asmcache - 32-bit calls to InstallAssembly(..., NULL) crash on Windows 11
- #54636 fusion:asmenum - test_enumerate() fails on Windows 11
- #54656 The winscard tests are not run on the GitLab CI
- #56927 msys2-64/cygwin64: rsync fails with 'Socket operation on non-socket'
- #57435 D2D1GeometrySinc::AddArc() doesn't properly mark end of the figure segment
- #57585 Many games focus poorly when alt-tabbing back into them, without UseTakeFocus=N
- #58582 Rainmeter 4.5.23: crashes on X11 after refreshing default skin Clock.ini
- #58911 doaxvv(DMM) occasionally crashes (WMV playback bug)
- #58978 QuarkXPress 2024 crashes on start with "System.InvalidOperationException: The calling thread must be STA"
- #59005 winhlp / winhelp32: Selecting "Edit > Copy" in Westwood Monopoly (1995) help file crashes
- #59232 Flight Simulator 2000 has flickers and performance issues when rendering the 3D world with a 2D instrument panel in windowed mode
- #59257 RTF clipboard reads randomly chosen string (regression from wine 10)
- #59315 Sysinternals TCPView crashes on unimplemented function IPHLPAPI.DLL.GetOwnerModuleFromTcpEntry
- #59323 Guild Wars 2 crashes with Wine 11.1 and Winewayland enabled with dev builds of DXVK (newer than Jan 23rd)
- #59362 Gdiplus LockBits() flags=0 different behavior than Microsoft implementation
- #59372 Regression: wine completely broken in the presence of non-graphics gl devices since 11.1
- #59403 Missing parameter validation in printf() family of functions
- #59404 Framemaker 8 crashes due to patch to sysparams.c
- #59413 Unable to open a certain PNG image, 'copypixels_to_24bppBGR Unimplemented conversion path'
- #59418 Potential off-by one in swapchain.c
- #59426 iWin Games Manager V4 installer fails to create services
- #59428 Amazon Chime 5.23 installer fails
### Changes since 11.2:
```
Alex Henrie (2):
winhttp: Use the wcsdup function in set_cookies.
winecfg: Use the wcsdup function instead of reimplementing it.
Alexandre Julliard (21):
include: Define more XSTATE bits.
include: Import apisetcconv.h from mingw-w64.
include: Import wtypesbase.idl from mingw-w64.
include: Add intsafe.h based on the mingw-w64 version.
include: Fix POINTSTOPOINT definition.
include: Add IsLFNDrive prototype.
include: Implement strsafe.h based on the mingw-w64 header.
libs: Add strsafe library.
include: Update FMExtensionProc function signature.
d3d11: Use nameless unions/structs.
makedep: Look for explicitly listed header also in the source file directory.
makedep: Use booleans where appropriate.
libs: Remove some unused includes.
include: Always define cdecl.
include: Add GetNumberFormatEx prototype.
msvcrt: Add wcstoimax/wcstoumax.
include: Update timezone variable definitions.
include: Use _CRT_ALIGN in msvcrt headers.
include: Move the div() declaration back into the extern "C" block.
configure: Treat the Windows build as a normal PE build.
vkd3d: Import upstream release 1.19.
Alistair Leslie-Hughes (1):
include: Avoid C++ keyword.
Andrew Nguyen (2):
advapi32/tests: Add additional tests for interactive service creation.
services: Allow ".\LocalSystem" account name for an interactive service.
Anton Baskanov (1):
dsound: Use a better FIR filter generated with the Parks-McClellan algorithm.
Bernhard Übelacker (4):
xaudio2_7/tests: Dynamically load function XAudio2CreateWithVersionInfo.
gdiplus: Allow GdipBitmapLockBits without read/write flags.
ws2_32: Allow using duplicated socket handles in closesocket().
winegstreamer: Use a single call to free the streams array (ASan).
Brendan McGrath (25):
mf/tests: Modify test_seek_clock_sink to be ref counted.
mf/tests: Modify test_media_sink to store test_stream_sink.
mf/tests: Add ClockStateSink to test media sink.
mf/tests: Fix leaks in test source.
mf/tests: Test that there is no pre-roll during scrubbing.
mf/tests: Check that Rate change in PLAY state is ignored.
mf: Make flushing on sample grabber largely a no-op.
mf: Keep count of samples queued.
mf: Always queue a sample unless stopped.
mf: Ensure we always have four requests outstanding/satisfied.
mf: Remove no longer used sample_count and samples array.
mf: Request new sample before processing markers.
mf/tests: Test SAR's IMFRateSupport interface.
mf/tests: Test SAR's IMFPresentationTimeSource interface.
mf/tests: Test SAR's SetPresentationClock.
mf/tests: Test SAR timer with pre-roll and no duration.
mf/tests: Test SAR timer with pre-roll and duration.
mf/tests: Test SAR timer with ENDOFSEGMENT marker.
mf/tests: Test SAR scrubbing start.
mf: Don't perform preroll if we are scrubbing.
mf/tests: Check for GetPresentationClock after MESessionStarted event.
mf/tests: Test sequence of event processing on early sample request.
mf: Fix crash when stream is null during sample request.
mf/tests: Test media sessions sink request count.
mf: Only decrement sink requests on delivery of sample.
Brendan Shanks (3):
win32u: Support real handles to the current process in NtUserGetProcessDpiAwarenessContext().
win32u: Support real handles to the current process in NtUserGetSystemDpiForProcess().
joy.cpl: Avoid hangs when closing the panel.
Conor McCarthy (9):
winegstreamer: Free the stream objects during reader destruction.
mf/tests: Stop checking samples at the end of the expected array.
mf/tests: Change todo to flaky for the H.264 decoder ouput type change test.
mfplat/tests: Test NV12 negative stride in MFCreateMediaBufferFromMediaType().
mf/tests: Test sample copier 2D buffers.
mf/tests: Test H.264 decoder 2D buffers.
mf/tests: Test WMV decoder 2D buffers.
mf/tests: Test color convert 2D buffers.
winegstreamer: Support 2D sample buffer.
Daniel Lehman (1):
cldapi: Add stub dll.
Dmitry Timoshkov (3):
dlls: Rename light.msstyles to aero.msstyles.
uxtheme/tests: Add a test to show that current theme name is supposed to be "aero.msstyles".
windowscodecs: Add fallback path to copypixels_to_24bppBGR().
Elizabeth Figura (11):
ddrawex: Handle NULL desc in EnumDisplayModes().
gdi32/tests: Test AddFontResource() search order.
gdi32: Look for fonts in system32.
wined3d: Remove the "iPixelFormat" field from struct wined3d_pixel_format.
ntdll/tests: Add exhaustive tests for all directory information classes.
kernel32/tests: Test whether EA size is returned from FindFirstFile().
ntdll: Always initialize the reparse tag in get_file_info().
ntdll: Return the reparse tag in EaSize for non-Extd directory classes.
kernelbase: Use FileBothDirectoryInformation in FindFirstFile().
ntdll: Initialize the entire FileId in FileIdExtdBothDirectoryInformation.
ntdll: Initialize LockingTransactionId in FileIdGlobalTxDirectoryInformation.
Eric Pouech (16):
dbghelp/pdb: Remove unused parameter.
dbghelp/pdb: Fix incorrect offset when extracting S_CONSTANT name.
dbghelp/pdb: Introduce iterator over DBI hash entries.
dbghelp/pdb: Set new offset in pdb_reader_symbol_skip_if().
dbghelp/pdb: Split loading of top level objects in compiland stream.
dbghelp: Use symref_t as container for top level functions.
dbghelp/pdb: Load symt_function on demand.
dbghelp/pdb: No longer store symt_function in symt_compiland.
dbghelp/pdb: Construct the global information from the hash table.
dbghelp/pdb: Support rva inside symbol when searching globals.
msvcrt: Ignore negative precision for float args in printf().
include: Add BCRYPT_SUCCESS macro to bcrypt.h.
include: Mark unused arguments as such in ws2tcpip.h.
include/msvcrt: Use the correct stream for wscanf* implementations.
include/msvcrt: Match some constants with intsafe.h.
include/msvcrt: Define gmtime_s() in time.h.
Esme Povirk (5):
gdiplus: Remove an assumption that an enum type is unsigned.
mscoree: Update Wine Mono to 11.0.0.
wine.inf: Add a default association for .reg files.
wow64win: SPI_GETDEFAULTINPUTLANG result is pointer-sized.
windowscodecs: Fix size check in gif copy_interlaced_pixels.
Etaash Mathamsetty (1):
ntoskrnl: Use fastcall for KeInitializeGuardedMutex.
Filip Bakreski (1):
mshtml: Add XMLSerializer implementation.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.344.
Giovanni Mascellani (13):
mmdevapi: Reject wave formats with zero samples per seconds.
mmdevapi: Reject wave formats with zero block alignment.
winecoreaudio.drv: Avoid a division by zero.
winepulse.drv: Avoid a division by zero.
winealsa.drv: Avoid a division by zero.
wineoss.drv: Avoid a division by zero.
winebus.sys: Define BUS_USB if it is missing.
mmdevapi/tests: Reorganize rendering format tests.
mmdevapi/tests: Use test contexts in rendering format tests.
mmdevapi/tests: Introduce a helper to test rendering for a single format.
mmdevapi/tests: Reorganize capturing format tests.
mmdevapi/tests: Use test contexts in capturing format tests.
mmdevapi/tests: Introduce a helper to test capturing for a single format.
Hans Leidekker (3):
bcrypt: Add support for BCRYPT_ECC_CURVE_25519.
bcrypt: Add support for importing and exporting generic ECDH keys.
bcrypt: Compute derived key directly in BCryptSecretAgreement().
Jacek Caban (19):
winebuild: Check for LLVM tool name too when using cc_command in find_tool.
winegcc: Add --cc-cmd option support.
makedep: Pass configured compiler with --cc-cmd to winegcc and winebuild.
include: Add missing extern C to rtlsupportapi.h.
include: Add missing exception macros.
winecrt0: Add support for GCC-style constructors and destructors.
ucrtbase: Add atexit support.
include: Add erfc and nan declarations.
include: Move float_t and double_t declarations from musl.
include: Add at_quick_exit and quick_exit declarations.
include: Don't use div wrappers for PE builds.
include: Add fwide and mbsinit declarations.
configure: Build PE modules with -mlong-double-64.
include: Add long double math function declarations.
compiler-rt: Import more builtin functions.
configure: Use compiler-rt in mingw mode too.
winegcc: Use compiler-rt instead of -lgcc on mingw targets.
include: Don't use explicit alignment for 64-bit msvcrt types on PE targets.
include: Don't use explicit alignment for 64-bit types on PE targets.
Janne Kekkonen (1):
ws2_32: Add stub for WSCInstallProvider64_32.
Matteo Bruni (6):
mmdevapi: Move some declarations to mmdevapi_private.h.
mmdevapi: Allow querying I{Simple,Channel}AudioVolume from IAudioSessionControl.
mmdevapi: Add some traces around session retrieval.
mmdevapi: Add some session_wrapper traces.
dsound: Set all channel volumes to 0 when DSBVOLUME_MIN is passed in.
dsound: Flush denormals in the mixing thread.
Nikolay Sivov (11):
d2d1: Correct arc rotation angles for ellipse segments.
d2d1: Implement arc approximation with Bezier segments.
d2d1: Forward geometry group methods to the path representing the group.
d2d1/tests: Add another test for transformed geometry behavior.
d2d1: Use non-multiplied transform when forwarding transformed geometry methods.
msxml3/tests: Add more tests for createNode().
msxml3: Handle type names in createNode().
msxml3/tests: Add some SAX tests for different encodings.
msxml3/tests: Add doctype SAX parsing test.
msxml3/tests: Use wide strings for property names.
msxml3/tests: Add a test for handler property types in VB API.
Patrick Zacharias (1):
wined3d: Access the right pixel format in swapchain_gl_present().
Paul Gofman (7):
iphlpapi: Implement GetOwnerModuleFromTcpEntry().
iphlpapi: Implement GetOwnerModuleFromTcp6Entry().
win32u: Register WGL_ARB_multisample extension for EGL backend.
win32u: Set pbuffer drawable to internal context in wglBindTexImageARB().
opengl32: Create compatibility context in wrap_wglCreateContext().
win32u: Don't present new drawable in context_sync_drawables().
opengl32: Also bind default framebuffer in pop_default_fbo().
Piotr Caban (4):
riched20: Fix crash when copying text.
ucrtbase: Fix scanset character range handling in scanf.
advapi32: Fix memory leak in ReportEventA.
bcrypt: Support BCRYPT_PBKDF2_ALG_HANDLE pseudo handle.
Piotr Pawłowski (1):
msvcrt: Create copy of C++ exception object in std::rethrow_exception().
Rémi Bernon (32):
winemac: Register clipboard format with NtUserRegisterWindowMessage.
winewayland: Register clipboard format with NtUserRegisterWindowMessage.
winex11: Register clipboard format with NtUserRegisterWindowMessage.
setupapi: Fix some cfgmgr32 function signatures.
cfgmgr32/tests: Add missing newline.
include: Update cfgmgr32.h definitions.
cfgmgr32: Add missing entries to cfgmgr32.spec.
win32u: Ignore EGL device if context cannot be created.
imm32/tests: Add some tests with ImmToAsciiEx bypass.
cfgmgr32: Split sources to separate files.
cfgmgr32: Implement CM_Get_Class_Key_Name(_Ex)(A|W).
setupapi: Forward CM_Get_Class_Key_Name(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Open_Class_Key(_Ex)(A|W).
setupapi: Forward CM_Open_Class_Key(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Cache some common root registry keys.
cfgmgr32: Implement CM_Enumerate_Classes(_Ex).
setupapi: Forward CM_Enumerate_Classes(_Ex) to cfgmgr32.
win32u: Only link client surfaces after they are fully created.
cfgmgr32: Implement CM_Enumerate_Enumerators(_Ex)(A|W).
setupapi: Forward CM_Enumerate_Enumerators(_Ex)(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Open_Device_Interface_Key(_Ex)(A|W).
cfgmgr32: Implement CM_Get_Class_Registry_Property(A|W).
setupapi: Forward CM_Get_Class_Registry_Property(A|W) to cfgmgr32.
cfgmgr32: Implement CM_Get_Class_Property(_Ex)W.
win32u: Don't offset client rect when using D3D present rect.
win32u: Or the GL_FLUSH_INTERVAL flag when updating the swap interval.
user32/tests: Test EnableMouseInPointer message translation.
win32u: Implement NtUserEnableMouseInPointer semi-stub.
ddraw: Pass the active device to material_activate.
win32u: Only update host window state if clip_client changes.
winevulkan: Only filter out CLOCK_MONOTONIC(_RAW)_EXT time domains.
winevulkan: Implement support for VK_EXT_present_timing.
Tim Clem (1):
avicap32: Fail gracefully if V4L is unavailable.
Vibhav Pant (5):
windows.devices.bluetooth/tests: Add initial tests for BluetoothAdapter.
windows.devices.bluetooth: Implement BluetoothAdapter::GetDefaultAsync.
windows.devices.bluetooth: Implement BluetoothAdapter::FromIdAsync.
windows.devices.bluetooth: Implement BluetoothAdapter::get_BluetoothAddress.
bluetoothapis: Simplify BluetoothGATTGetServices.
Viktor Balogh (1):
dinput: Return DIERR_UNSUPPORTED in dinput_device_Escape.
Zhiyi Zhang (7):
comctl32/tests: Add image swapping test for ImageList_Copy().
comctl32/imagelist: Fix swapping images in ImageList_Copy().
d2d1: Return S_OK for d2d_device_context_Flush().
comctl32/tests: Test ACM_OPEN with a NULL LPARAM.
comctl32/animate: Always return FALSE for ACM_OPEN with a NULL LPARAM.
gdi32/tests: Add tests for GdiTransparentBlt() with 32-bit DIB bitmaps.
win32u: Ignore alpha channels for 32-bit DIB bitmaps.
Ziqing Hui (4):
mfreadwrite: Implement stream_create_transforms helper.
mfreadwrite: Rename update_media_type_from_upstream and make it non-static.
mfreadwrite: Implement transforms creation for writer.
mfreadwrite: Create converter if failed to use a single encoder.
```
Feb. 20, 2026
vkd3d release 1.19
by Alexandre Julliard
The vkd3d team is proud to announce that release 1.19 of vkd3d, the 3D
graphics porting library, is now available.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.19.tar.xz>
The current source can also be pulled directly from either of these git
repositories:
<https://gitlab.winehq.org/wine/vkd3d.git>
<https://codeberg.org/vkd3d/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.19
### libvkd3d
- Barriers are inserted as required between render passes targeting the same
images. Typical desktop GPUs tend to not care much about these, but this is
important for correctness on tile-based renderers.
- The ‘minimum’ and ‘maximum’ texture filtering reduction modes are supported.
### libvkd3d-shader
- Much improved handling of clip and cull distance shader input/output arrays
for SPIR-V targets. Direct3D source formats represent clip and cull
distances as 2 4-component registers, while SPIR-V represents them as scalar
arrays. The previous code for mapping between these conventions was
unfortunately relatively fragile and unable to handle a number of cases.
- Several new features and improvements for the HLSL source type:
- Effects (FX) target profiles can output embedded shader blobs. These are
created by the CompileShader() and ConstructGSWithSO() intrinsic
functions.
- Statically initialised variables are considered to be static expressions.
For example, ‘int count = 4; float4 array[count];’ is now accepted as
valid by the compiler.
- Store operations to ‘RWStructuredBuffer’ resources.
- Load operations from structured thread group shared memory.
- Copy operations involving structured resources.
- Casts of floating-point constants to Boolean values now correctly fold any
non-zero value to ‘true’. Previously ‘(bool)0.25f’ for example would get
constant folded to ‘false’.
- The ‘static’ storage-class specifier is allowed on functions.
- The ‘Buffer’, ‘StructuredBuffer’, and ‘ByteAddressBuffer’ types are
supported in effects (FX) target profiles.
- The following legacy Direct3D byte-code instructions are implemented:
- dp2add
- loop/endloop
- lrp
- nrm
- pow
- rep/endrep
- When the VKD3D_SHADER_DUMP_PATH environment variable is used to dump input
and output shaders, compilation messages like errors and warnings produced
by the compiler will be dumped as well.
- New interfaces:
- The VKD3D_SHADER_PARAMETER_NAME_PROJECTED_TEXTURE_MASK shader parameter
specifies which textures in a shader model 1.0-1.3 pixel shader should be
considered to be projected textures.
### build
- New environment variables:
- VKD3D_TEST_WRAPPER can be used to wrap test execution.
### Changes since vkd3d 1.18:
```
Anna (navi) Figueiredo Gomes (12):
tests/hlsl: Add const scalar array dimension tests.
vkd3d-shader/hlsl: Store statically initialized constant scalars/vectors in ctx->static_initializers.
vkd3d-shader/hlsl: Unify add_shader_compilation() cleanup.
vkd3d-shader/hlsl: Store parsed values in hlsl_ir_compile().
tests/hlsl: Add effect CompileShader() tests.
vkd3d-shader/fx: Add HLSL_CLASS_GEOMETRY_SHADER to helper functions.
vkd3d-shader/fx: Implement shader assignment.
vkd3d-shader/fx: Implement shader initializers.
vkd3d-shader/fx: Introduce write_var_type().
vkd3d-shader/fx: Implement ConstructGSWithSO().
vkd3d-shader/fx: Handle HLSL_IR_INDEX assignments.
tests/shader_runner: Support requiring runner tags in [require] sections.
Conor McCarthy (9):
vkd3d-shader/dxil: Emit branch instructions during parsing.
vkd3d-shader/dxil: Emit switch instructions during parsing.
vkd3d-shader/dxil: Emit return instructions during parsing.
vkd3d-shader/dxil: Emit an error if a return instruction has operands.
vkd3d-shader/dxil: Initialise or validate forward-referenced values in a helper function.
vkd3d-shader/dxil: Move relative index validation outside sm6_parser_get_value_index().
vkd3d-shader/dxil: Emit phi instructions during parsing.
vkd3d-shader/dxil: Get rid of struct sm6_block.
vkd3d: Implement sampler min/max reduction filtering.
Elizabeth Figura (9):
vkd3d-shader: Implement shader model 1.0-1.3 texture projection.
vkd3d-shader/hlsl: Calculate the bind count from the vector width.
vkd3d-shader/hlsl: Handle HLSL_CLASS_VECTOR in hlsl_regset_index_from_deref().
vkd3d-shader/hlsl: Avoid creating "index-val" synthetic temps if we can detect the variable was unmodified.
vkd3d-shader/hlsl: Return an error instruction from add_call() on failure.
tests/hlsl: Add more tests for function modifiers.
vkd3d-shader/hlsl: Allow "static" on functions.
vkd3d-shader/hlsl: Rename HLSL_MODIFIER_EXPORT to HLSL_STORAGE_EXPORT.
vkd3d-shader/preproc: Add a terminating ] or } to the last macro argument.
Evan Tang (3):
vkd3d: Add barriers between render passes to the same image.
tests/d3d12: Add some missing UAV barriers after UAV clears.
vkd3d: Print an error before freezing due to needing timeline semaphores.
Francisco Casas (40):
tests/hlsl: Test clip/cull distance inputs.
tests/hlsl: Test clip distance semantic indexes above the 0-1 range.
vkd3d-shader/ir: Introduce vsir_opcode_is_fork_or_join_phase().
vkd3d-shader/ir: Introduce vsir_opcode_is_control_point_phase().
vkd3d-shader/ir: Assign new register indexes to clip plane signature elements.
vkd3d-shader/ir: Introduce vsir_signature_element_is_array().
vkd3d-shader/ir: Transform clip/cull inputs/outputs into arrays.
tests/hlsl: Test clip/cull distance semantics as arrays.
vkd3d-shader/spirv: Remove the unused "array_element_mask field" from struct vkd3d_shader_output_info.
tests/shader_runner: Introduce struct input_layout.
tests/shader_runner: Restore the input layout after "draw quad" operations.
tests/shader_runner: Avoid segfaults on missing signature elements.
tests/hlsl: Don't test values of clip distance array addressing tests on Windows.
tests/shader_runner: Implement support for d3dbc integer constants.
tests/hlsl: Test SM3 loops with user-provided integer registers.
tests/hlsl: Test SM3 loops with shader-defined int registers.
tests/hlsl: Test SM3 loops with gradient instructions.
tests/hlsl: Test SM3 shaders that use the `loop` instruction.
tests/hlsl: Add additional SM3 loop tests to discern when user-defined ints are used.
tests/d3dbc: Add two SM3 loop tests.
vkd3d-shader: Add VKD3D_SHADER_BLOCK_REP as a breakable cf_info.
vkd3d-shader/d3d-asm: Indent REP blocks.
vkd3d-shader/tpf: Use vkd3d_shader_verror() to report errors.
vkd3d-shader/d3dbc: Fail compilation on LOOP instructions.
vkd3d-shader/ir: Lower REP and ENDREP d3dbc instructions.
vkd3d-shader/d3d-asm: Fix a comment in shader_print_dcl_usage().
vkd3d-shader/ir: Actually retrieve the indexable temporary count in vsir_program_get_idxtemp_count().
vkd3d-shader/ir: Remove unnecessary program traces from vsir_program_normalise_sysval_array().
tests/d3dbc: Add SM3 tests for loop instructions.
tests/d3dbc: Test addressing a constant buffer with the vs_2_0 loop instruction.
vkd3d-shader/d3dbc: Initialise CONSTINT and CONSTBOOL registers with the proper vsir data type.
vkd3d-shader/ir: Lower d3dbc loop instructions.
vkd3d-shader/ir: Copy inputs to an IDXTEMP when there is vN[aL] access.
vkd3d-shader/d3dbc: Add a used_mask to all input registers on indirect addressing.
vkd3d-shader/hlsl: Initialize all blocks before any 'goto fail'.
vkd3d-shader/hlsl: Unroll loops one at the time.
vkd3d-shader/ir: Don't reach unreacheable code in vsir_dst_operand_io_normalise().
vkd3d-shader/hlsl: Make "intrinsic" const in add_call().
vkd3d-shader/fx: Make "state" const in fx_4_parse_state_object_initializer().
tests/vkd3d_shader_api: Avoid a 'const' discard warning in test_emit_signature().
Giovanni Mascellani (146):
vkd3d-shader: Explicitly initialize the parser status to VKD3D_OK.
vkd3d-shader/dxil: Parse the parameter attribute group records.
vkd3d-shader/dxil: Parse well-known attributes in parameter attribute groups.
vkd3d-shader/dxil: Parse well-known attributes with numeric value in parameter attribute groups.
vkd3d-shader/dxil: Parse string attributes in parameter attribute groups.
vkd3d-shader/dxil: Parse string attributes with string value in parameter attribute groups.
tests/shader_runner_d3d12: Do not leave a root signature around between draw calls.
tests/shader_runner_d3d12: Do not keep a free list for pipeline states.
tests/shader_runner_d3d12: Lay out the descriptor heap as suggested by descriptor mappings.
tests/shader_runner: Keep a single array of shader model strings.
tests/shader_runner: Use SHADER_MODEL_MAX to represent the maxium supported shader model.
tests/hlsl: Test SM6.6 dynamic resources.
vkd3d-shader/dxil: Check the fields of well-known structure types.
tests/shader_runner_vulkan: Support explicit descriptor mapping.
tests/d3d12: Avoid a warning about passing a pointer to a const uninitialized object.
ci: Set the macOS runner timeout to ten minutes.
vkd3d-shader/dxil: Move the function emission state outside the opcode switch.
vkd3d-shader/dxil: Pass function emission state to sm6_parser_emit_alloca().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_alloca().
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Handle allocation failure in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Parse parameter attribute records.
vkd3d-shader/dxil: Set the attribute group count to zero if allocation fails.
tests/hlsl: Test the default denormalized mode.
vkd3d-shader/dxil: Parse the f32 denormalization mode.
tests/hlsl: Fix the render target format for arithmetic-float-uniform.shader_test.
tests/d3dbc: Relax the precision for some nrm tests.
tests: Do not put storage buffer descriptors in the descriptor pool.
vkd3d: Remove unused field storage_buffer_max_descriptors from vkd3d_device_descriptor_limits.
vkd3d: Rename the struct vkd3d_device_descriptor_limits fields.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_binop().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_binop().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_br().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_br().
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_call().
vkd3d-shader/dxil: Remove sm6_parser_emit_unhandled().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_unary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_barrier().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_raw_buffer_load().
vkd3d-shader/dxil: Use sm6_parser_add_function_instruction() in sm6_parser_emit_reg_composite_construct().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_buffer_update_counter().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_calculate_lod().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_cbuffer_load().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_dx_input_register_mov().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_input_register_mov().
vkd3d-shader/dxil: Do not access unallocated instructions in sm6_parser_emit_dx_create_handle().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_stream().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_discard().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_domain_location().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_dot().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_eval_attrib().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_fabs().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_compute_builtin().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_ma().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_binary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_tertiary().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_load_input().
tests/hlsl: Add more direct SM<6 clip/cull distance array tests.
vkd3d-shader/dxil: Do not advance the instruction pointer in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_make_double().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_quad_op().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_raw_buffer_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_sample_count().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_get_sample_pos().
tests/hlsl: Test load/sample status and CheckAccessFullyMapped().
vkd3d-shader/dxil: Emit warnings for unrecognised DXIL structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.f32 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.i32 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f32 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i32 structures.
vkd3d-shader/dxil: Remove the "reg_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Remove the "reg_data_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_value_validate_is_texture_handle().
vkd3d-shader/dxil: Introduce resource_kind_is_buffer().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_get_dimensions().
vkd3d-shader/dxil: Validate the types of SSA values.
vkd3d-shader/dxil: Parse aggregate constants.
vkd3d-shader/dxil: Parse null structure constants.
vkd3d-shader/d3d-asm: Dump the denormal modes.
vkd3d-shader/dxil: Preserve f64 denormals if they're used in the shader.
vkd3d-shader/tpf: Preserve f64 denormals if they're used in the shader.
vkd3d-shader/ir: Introduce the f16 denormal mode.
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_sample().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_sample_index().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_saturate().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_split_double().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_store_output().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Use resource_kind_is_multisampled() in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Use resource_kind_is_texture() in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Remove the "resource_type" field from struct sm6_descriptor_info.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f64 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i64 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.i16 structures.
vkd3d-shader/dxil: Recognise dx.types.CBufRet.f16 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.f16 structures.
vkd3d-shader/dxil: Recognise dx.types.ResRet.i16 structures.
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_gather().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_texture_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_active_ballot().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_active_bit().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_wave_op().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_void().
vkd3d-shader/dxil: Recognise dx.types.SamplePos structures.
vkd3d-shader/dxil: Recognise dx.types.ResBind structures.
vkd3d-shader/dxil: Recognise dx.types.ResourceProperties structures.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cast().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cast().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cmp2().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cmp2().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_extractval().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_extractval().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_gep().
vkd3d-shader/dxil: Do not access unallocated instructions in sm6_parser_emit_gep().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_load().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_load().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_phi().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_phi().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_ret().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_ret().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_store().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_store().
tests/d3dbc: Relax the precision for some POW tests.
tests/hlsl: Mark some modulo tests as buggy on NVIDIA.
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_switch().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_switch().
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_vselect().
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_vselect().
vkd3d-shader/dxil: Assume that all control paths update the instruction count.
vkd3d-shader/dxil: Do not store a pointer to the current instruction in the function state any more.
vkd3d-shader/dxil: Apply the precise modifier to all vsir instructions generated by a DXIL instruction.
vkd3d-shader/dxil: Pass the function emission state to sm6_function_emit_label().
vkd3d-shader/dxil: Allocate instructions directly in dxil_emit_function_label().
vkd3d-shader/dxil: Do not preallocate vsir instructions.
vkd3d-shader/ir: Avoid a "may be used uninitialized" warning in vsir_program_lower_d3dbc_loops().
vkd3d-shader/dxil: Destroy instruction arrays with shader_instruction_array_destroy().
vkd3d-shader/dxil: Use iterators in sm6_function_emit_instructions().
vkd3d-shader/dxil: Generate MOVs for trivial casts.
Henri Verbeet (84):
tests/hlsl: Avoid sampling on texel edges in ps1-projection.shader_test.
vkd3d-shader/ir: Move "has_descriptor_info" and "has_no_modifiers" to struct vsir_normalisation_flags.
vkd3d-shader: Introduce vkd3d_shader_string_from_message_context().
tests/hlsl: Add a sampler min/max reduction filtering test.
tests/d3dbc: Add some tests for nrm instructions.
vkd3d-shader/ir: Lower VSIR_OP_NRM instructions.
tests/d3dbc: Add some tests for lrp instructions.
vkd3d-shader/ir: Lower VSIR_OP_LRP instructions.
vkd3d-shader/ir: Rename struct vkd3d_shader_dst_param to struct vsir_dst_operand.
vkd3d-shader/ir: Rename struct vkd3d_shader_src_param to struct vsir_src_operand.
tests/d3dbc: Add some tests for dp2add instructions.
vkd3d-shader/ir: Lower VSIR_OP_DP2ADD instructions.
vkd3d-shader: Dump compilation messages as well.
tests/shader_runner: Do not match tags that aren't present.
tests/shader_runner: Introduce read_literal().
tests/shader_runner: Introduce struct uniform_buffer.
tests/d3dbc: Add some tests for pow instructions.
vkd3d-shader/ir: Lower VSIR_OP_POW instructions.
tests/shader_runner: Return the resource type and slot from parse_resource_reference().
tests/shader_runner: Expect the "<type>-<slot>" format in parse_resource_reference().
tests/shader_runner: Use parse_resource_reference() and read_literal() to implement clear operations.
tests/shader_runner: Use parse_resource_reference() to implement probe operations.
tests/shader_runner: Use parse_resource_reference() to implement write operations.
vkd3d-shader/ir: Trace the progam on failure in vsir_transform_().
vkd3d-shader/ir: Take the register count into account in vsir_program_add_fog_input().
tests/hlsl: Require the wave-ops capability for wave-reconvergence.shader_test.
tests/shader_runner_vulkan: Use storage image reads without format if supported.
tests/shader_runner_vulkan: Require "shaderStorageImageReadWithoutFormat" for typed UAV loads.
tests/shader_runner_vulkan: Allow unused input elements.
tests/shader_runner_vulkan: Add a DXIL run.
tests/shader_runner_vulkan: Add support for wave operations.
tests/shader_runner_vulkan: Free the compiled shader on failure in compile_hlsl_and_scan().
tests/shader_runner_vulkan: Free compiled shaders on error paths. (Valgrind)
vkd3d-shader/dxil: Free attribute group attributes on cleanup. (Valgrind)
vkd3d-shader/ir: Reset "ins" after invalidating it in vsir_program_normalise_sysval_array(). (Valgrind)
vkd3d-shader/ir: Free the "semantic_name" field of the removed element in vsir_program_remove_signature_element().
vkd3d-shader/hlsl: Cleanup "body" and "patch_body" in hlsl_emit_vsir(). (Valgrind)
vkd3d-shader/hlsl: Cleanup "initializer_block" on error paths in hlsl_emit_vsir(). (Valgrind)
vkd3d-shader: Introduce vkd3d_shader_code_from_bytecode_buffer().
vkd3d-shader: Introduce vkd3d_bytecode_buffer_cleanup().
vkd3d-shader/hlsl: Avoid leaking the output buffer on HLSL context errors in sm4_generate_rdef(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking the output buffer on HLSL context errors in sm1_generate_ctab().
vkd3d-shader/dxbc: Avoid leaking the output buffer on errors in vkd3d_shader_serialize_dxbc().
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_2_write(). (Valgrind)
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_4_write().
vkd3d-shader/fx: Avoid leaking the output buffer on HLSL context errors in hlsl_fx_5_write().
vkd3d-shader/fx: Do not allocate entries for anonymous types in write_type(). (Valgrind)
vkd3d-shader/fx: Avoid accessing "entry" after freeing it in decompose_fx_4_state_function_call(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_f16tof32(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_f32tof16(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking "body" in lower_isinf(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking type name strings for unsigned types. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking method name strings. (Valgrind)
vkd3d-shader/ir: Properly determine the defined block count in vsir_cfg_init(). (Valgrind)
vkd3d-shader/hlsl: Avoid leaking modifier name strings. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking base type name strings on error paths. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for name strings. (Valgrind)
vkd3d-shader/hlsl: Do not create name strings for KW_CONSTANTBUFFER tokens. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking expression blocks on "array" rule error paths.
vkd3d-shader/tpf: Avoid leaking the output buffer on errors in tpf_write_signature().
tests: Only read the requested component count in check_readback_data_vec_(). (Valgrind)
vkd3d-shader/hlsl: Add a destructor for attribute lists. (Valgrind)
vkd3d-shader/hlsl: Rename free_parse_initializer() to cleanup_parse_initializer().
vkd3d-shader/hlsl: Add a destructor for initialiser lists. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for state blocks. (Valgrind)
vkd3d-shader/hlsl: Introduce hlsl_func_parameters_cleanup().
vkd3d-shader/hlsl: Avoid leaking redundant function declarations. (Valgrind)
vkd3d-shader/hlsl: Add a destructor for function parameters. (Valgrind)
readme: Provide a slightly more detailed overview of vkd3d.
vkd3d-shader/hlsl: Avoid leaking the (empty) return block on error for returns without value. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking the RHS block on error for assignment expressions. (Valgrind)
vkd3d-shader/hlsl: Avoid leaking conditional expression blocks on error. (Valgrind)
tests/hlsl_d3d12: Avoid leaking the "errors" blobs in test_compile_null_terminator(). (Valgrind)
tests/vkd3d_shader_api: Avoid leaking compiled shaders in test_parameters(). (Valgrind)
tests/vkd3d_shader_api: Avoid leaking "compiler" in test_scan_signatures(). (Valgrind)
tests/shader_runner: Avoid leaking "shader_source" in run_shader_tests(). (Valgrind)
tests/test-driver: Get rid of the "line" and "model" parameters to print_entry().
build: Use the same driver for all tests.
build: Append $(EXEEXT) to SHADER_TEST_LOG_COMPILER.
tests/test-driver: Introduce VKD3D_TEST_WRAPPER to wrap test execution.
vkd3d-shader/hlsl: Introduce struct ctab_ctx.
vkd3d-shader/hlsl: Introduce struct rdef_ctx.
vkd3d-shader/preproc: Avoid accessing "source_name" after preproc_push_include() in preproc_lexer_parse(). (Valgrind)
vkd3d-shader/preproc: Avoid leaking macro argument values on error paths. (Valgrind)
Nikolay Sivov (1):
vkd3d-shader/fx: Fix shader object counters.
Santino Mazza (2):
vkd3d-shader/hlsl: Store auxiliary CTAB type information in struct ctab_ctx.
vkd3d-shader/hlsl: Store auxiliary RDEF type information in struct rdef_ctx.
Shaun Ren (22):
tests/hlsl: Add some structured copy tests.
tests/hlsl: Add more TGSM tests.
vkd3d-shader/hlsl: Validate groupshared variables.
vkd3d-shader/hlsl: Use a block in split_copy().
vkd3d-shader/ir: Don't propagate SSAs when 32/64-bit conversions are performed.
vkd3d-shader/ir: Set the correct source swizzles for immconsts in vsir_program_copy_propagation().
vkd3d-shader/ir: Lower swapc instructions to movc.
vkd3d-shader/ir: Optimise programs in vsir_program_transform().
vkd3d-shader/hlsl: Emit structured TGSM declarations.
vkd3d-shader/hlsl: Emit structured TGSM loads.
vkd3d-shader/hlsl: Split array/struct copies with structured RHS.
vkd3d-shader/hlsl: Introduce a split_copies() helper.
vkd3d-shader/hlsl: Support non-load RHS in stream Append().
tests/hlsl: Add some unroll attribute tests with non-static unroll limits.
vkd3d-shader/hlsl: Fold casting from floating numerals to bools correctly in fold_cast().
vkd3d-shader/hlsl: Remove flatten_conditional_branches() from hlsl_run_folding_passes().
vkd3d-shader/hlsl: Defer evaluating unroll limit attributes until needed.
vkd3d-shader/fx: Add some "sampler_dim" array overflow assertions.
vkd3d-shader/fx: Write StructuredBuffer/ByteAddressBuffer object types only for fx_5_* profiles.
vkd3d-shader/fx: Support *Buffer types in get_fx_4_type_name().
vkd3d-shader/fx: Support *Buffer types in write_fx_4_type().
tests/hlsl: Add effect variable tests for *Buffer types.
Victor Chiletto (6):
vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for whole struct structured stores.
vkd3d-shader/hlsl: Add an explicit hlsl_fixme() for r-value matrix structured stores.
tests/hlsl: Add new UAV structured store tests.
vkd3d-shader/hlsl: Return the found index node on hlsl_index_chain_has_resource_access().
vkd3d-shader/hlsl: Parse structured buffer subfield stores.
vkd3d-shader/hlsl: Emit vsir structured stores.
```
Feb. 19, 2026
Wine release 11.2
by Alexandre Julliard
The Wine development release 11.2 is now available.
What's new in this release:
- More optimizations in PDB loading.
- Support for MSVC constructors in C runtime.
- Easier mechanism for creating version resources.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/11.x/wine-11.2.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-11.2/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 11.2 (total 32):
- #27269 Bitcoin 0.3.21 toolbar not displayed correctly
- #33058 Visual Basic 6 crashes when object browser is clicked
- #38183 King of Dragon Pass crashes when loading a saved game
- #44548 Imperium GBR doesn't reproduce audio associated with videos when native dsound.dll is loaded
- #45968 explorer.exe needs "Cascade Windows" function -> 'user32.CascadeWindows' implementation
- #46197 explorer.exe needs "Tile Windows" implementation -> user32.TileWindows()
- #46577 Black Mirror (2017) low performance in d3d11 mode
- #46630 Futuremark 3DMark Vantage 1.1.x requires support for D3D11_FORMAT_SUPPORT_***
- #50480 No audio in some movies in some Daedalic games (A new beginning & Night of the rabbit)
- #50501 Default wrapping mode DWRITE_WORD_WRAPPING_WRAP is not handled correctly
- #50681 The Hong Kong Massacre floor texture is glitchy with OpenGL renderer
- #51426 Alacritty crashes on start (needs ResizePseudoConsole implementation)
- #52497 Sam & Max Save the World: episode Culture Shock (GOG Original Edition) crashes when gameplay starts
- #52592 MilkyTracker does not work: no valid waveout devices.
- #54119 Fifa 2005 demo opens menu in 5 minutes
- #54247 4Story launcher tries to download file but doesn't work
- #57733 MMH7Editor is not started
- #57856 Drop list is not working including Winecfg
- #57893 Progress is not going until you move a mouse
- #58167 Pegasus Mail immediately restores window
- #58575 Low performance in an old Directx8 Sonic fangame in wined3d
- #58919 osu!stable freezes when running on winewayland
- #59120 xactengine3_7:xact3 is crashing since 2025-11-19 with debian 12 and older.
- #59159 Divinity II: Developer's Cut crashes after showing the loading screen
- #59181 GTA: San andreas/Vice city - Intro videos aren't properly rendered, showing only a white screen
- #59234 Wine: Windows batch "WHERE" command return a wrong exit code in quiet mode
- #59280 Wine 11.0 Shop Titans crash
- #59290 Serial baud rates above 115200 not supported due to bug in serial.c
- #59320 Gothic 1 Demo hangs on startup
- #59350 Nexus Terminal install abended (regression)
- #59373 Kyodai Mahjongg runs without audio in WOW64
- #59374 Codename Panzers Phase 1 and 2: fail to start with EGL
### Changes since 11.1:
```
Alex Schwartz (1):
winewayland: Fix non-square icons with xdg-toplevel-icon protocol.
Alexandre Julliard (25):
winewayland: Fix build error with older wl_pointer interface.
makefiles: Generate version resources from makefile variables.
ntdll: Don't use 64-bit arguments for NtSetLdtEntries().
winebuild: Disallow int64 and int128 types for syscall entry points.
win32u: Specify NtUserCreateWindowEx handle arguments as ptr.
faudio: Import upstream release 26.02.
png: Import upstream release 1.6.54.
xslt: Import upstream release 1.1.45.
jpeg: Import upstream release 10.
ntdll: Rename some builtin unixlib functions to reflect current usage.
ntdll: Add a helper to retrieve a builtin module.
ntdll: Add a helper to load the unixlib functions.
ntdll: Add SIGQUIT to the blocked signals.
ntdll: Add support for loading a unixlib with an explicit name.
winecrt0: Add a helper for loading a unixlib by name.
mmdevapi: Load the unixlib directly for audio drivers.
makefiles: Add support for building pure unixlibs without a PE side.
makefiles: Fix a typo.
wow64: Add missing Unicode string mapping for MemoryWineLoadUnixLibByName.
ntdll: Support a __wine_unix_lib_init entry point in unix libs.
win32u: Use the __wine_unix_lib_init entry point.
winex11.drv: Use the __wine_unix_lib_init entry point.
include: Add a few more SAL macros.
include: Add BitScanForward64 and BitScanReverse64.
include: Add Int32x32To64 and UInt32x32To64.
Alistair Leslie-Hughes (1):
inkobj: Correct install path.
Anton Baskanov (7):
dmsynth: Set the event on the error path in synth_sink_render_thread.
dmsynth: Exit the render thread when initialization fails.
dmsynth: Try to maintain a fixed write latency by varying the wait time.
dmsynth: Simplify synth_sink_wait_play_end by making it similar to the main rendering loop.
dmsynth: Call GetCurrentPosition from a separate thread.
dmsynth: Estimate a continuously-advancing buffer position for a more precise timing.
dmsynth: Clear the buffer notifications before closing the event handle.
Bartosz Kosiorek (1):
gdiplus/tests: Add tests for GdipWarpPath.
Bernhard Übelacker (3):
shell32: Create parent directories when creating trash directory.
winhttp/tests: Add broken in test_WinHttpGetProxyForUrl.
shell32: Create parent directories when creating trash directory.
Biswapriyo Nath (8):
include: Add D3D12_FEATURE_DATA_VIDEO_MOTION_ESTIMATOR in d3d12video.idl.
include: Add enum flag operators for D3D11_RLDO_FLAGS.
include: Add ID3D12SDKConfiguration1 definition in d3d12.idl.
include: Add ID3D12DeviceFactory definition in d3d12.idl.
include: Add ID3D12DeviceConfiguration definition in d3d12.idl.
include: Replace new D3D12_BARRIER_SYNC_INDEX_INPUT name in d3d12.idl.
include: Add D3D12_BARRIER_SYNC_CLEAR_UNORDERED_ACCESS_VIEW in d3d12.idl.
include: Add D3D12_MESSAGE_ID_INCOMPATIBLE_BARRIER_LAYOUT in d3d12sdklayers.idl.
Conor McCarthy (8):
winegstreamer: Do not clear the output type in resampler SetInputType().
winegstreamer: Support null type in resampler SetInputType().
winegstreamer: Support null type in resampler SetOutputType().
mf/tests: Test resampler output type after setting the input type.
mf/tests: Validate the input type in the topology test sink.
mf/tests: Do not expect stereo audio when a decoder and resampler are used.
mf/tests: Add more topology loader tests.
mf/tests: Test topology loader transform enumeration.
Dmitry Timoshkov (3):
advapi32/tests: Add a test for creating service with empty display name.
services: Treat empty service display name same way as NULL.
advapi32/tests: Retry on failure instead of using unconditional Sleep().
Elizabeth Figura (9):
ddraw: Enumerate the ramp device.
ntoskrnl/tests: Test FileFsDeviceInformation.
ntoskrnl/tests: Test DEVICE_OBJECT fields.
ntoskrnl: Fill the Characteristics field of DEVICE_OBJECT.
ntoskrnl: Handle FileFsDeviceInformation.
wined3d: Clear backup_dc and backup_wnd when deleting them.
d3d9/tests: Test more shaders and the FFP in shadow_test().
d3d8/tests: Test more shaders and the FFP in shadow_test().
wined3d/spirv: Pass vkd3d_shader_d3dbc_source_info.
Eric Pouech (15):
dbghelp: Use same request as native to get TLS variable offset.
dbghelp/pdb: Always load TPI header in init_DBI().
dbghelp/pdb: Create symref for top and compilands.
dbghelp/pdb: Introduce helper to search in DBI globals.
dbghelp: Start implementing symbol information from symref_t.
dbghelp: Allow symbol lookup methods to return symref instead of ptr.
dbghelp/pdb: No longer create symt for top level global variables.
dbghelp/pdb: No longer create symt for (file) local variables.
dbghelp: Simplify check for local scope when removing a module.
dbghelp: Pass a symref for lexical parent when creating a compiland.
dbghelp/pdb: No longer use symt_module to store compilands.
winedump: Misc improvements for dumping PDB files.
winedump: Support ranges DBI (globals), TPI, IPI sections (PDB).
winedump: Add ability to filter compilands (PDB).
winedump: Dump PDB arm switch table and annotation codeview record.
Esme Povirk (7):
wminet_utils: Add stub dll.
wminet_utils: Stub Initialize.
wminet_utils: Implement GetCurrentApartmentType.
wminet_utils: Implement ConnectServerWmi.
wminet_utils: Implement ExecQueryWmi.
wminet_utils: Implement CloneEnumWbemClassObject.
win32u: Actually return HKL for SPI_GETDEFAULTINPUTLANG.
Etaash Mathamsetty (2):
ntoskrnl.exe: Implement KeAcquireGuardedMutex.
ntoskrnl.exe: Implement KeReleaseGuardedMutex.
Gabriel Ivăncescu (2):
jscript: Always treat DISPATCH_METHOD | DISPATCH_PROPERTYGET as method call if arguments are supplied.
mshtml/tests: Test calling function object method with return value and arg in legacy modes.
Hans Leidekker (2):
winedump: Print CLR string offset instead of index.
odbcad32: Add stub program.
Jacek Caban (2):
mshtml: Remove event handler when setting its property to a string in IE9+ modes.
mshtml: Update element event handlers when the corresponding attribute value changes.
Jactry Zeng (4):
include: Update STORAGE_BUS_TYPE in ntddstor.h.
mountmgr.sys: Stub StorageDeviceTrimProperty query.
kernel32/tests: Add tests of StorageDeviceTrimProperty query.
winebus.sys: Add INOTIFY_CFLAGS to UNIX_CFLAGS.
Louis Lenders (1):
kernelbase: Return S_OK in ResizePseudoConsole.
Myles Gray (1):
ntdll: Report all possible serial baud rates.
Nikolay Sivov (23):
dwrite/tests: Add more tests for GetClusterMetrics().
dwrite/layout: Set RTL flag for clusters representing inline objects.
dwrite/layout: Fix itemization with inline objects.
dwrite/tests: Add more tests for whitespace flag of inline clusters.
dwrite/layout: Add a helper for producing lines.
dwrite/tests: Add some tests for DetermineMinWidth().
dwrite/layout: Use whole text buffer to set line 'newline' length metric.
dwrite/layout: Preserve whitespace flag for all types of clusters.
dwrite/tests: Add another HitTestTextPosition() test.
dwrite/layout: Rework line helper to take cluster count instead of upper boundary.
dwrite/layout: Store full resolved level for each run.
dwrite/tests: Add a test for newline clusters with HitTestTextPosition().
dwrite/layout: Partially implement HitTestTextPosition().
dwrite/layout: Improve support for wrapping modes.
dwrite/layout: Implement run reordering.
msxml3/sax: Add some traces for setting handlers.
msxml3/tests: Add some tests for IVBSAXContentHandler behavior.
msxml3/saxreader: Make sure VB startElement/endElement are never called with a NULL uri.
d2d1/tests: Add some more tests for geometry groups.
d2d1: Store original segment data when building paths.
d2d1: Implement Stream() method for paths.
d2d1: Add a way to stream any type of geometry internally.
d2d1: Create a path internally for the geometry group.
Paul Gofman (1):
opengl32: Pass app's FBO to set_current_fbo().
Piotr Caban (4):
msado15/tests: Cleanup after _Recordset_put_Filter tests.
msado15: Add helper for obtaining bookmark data.
msado15: Add _Recordset::Find implementation.
msado15/tests: Add _Recordset::Find tests.
Rémi Bernon (41):
win32u: Extract pbuffer create/destroy to dedicated helpers.
opengl32: Generate function pointers with wrapper types.
opengl32: Move pbuffer handle allocation to the client side.
opengl32: Return early on memory allocation failure.
opengl32: Move context handle allocation to the client side.
opengl32: Move current context error to the client wrapper.
opengl32: Move sync handle allocation to the client side.
winevulkan: Rename make_vulkan VkVariable type to type_name.
winevulkan: Hoist some type info in local variables.
winevulkan: Introduce a new Type base class for types.
winevulkan: Implement require and set_order in the base class.
winevulkan: Implement type aliasing with the base class.
winevulkan: Get rid of make_vulkan type_info.
opengl32: Fix a typo in client-side GLsync allocated object.
winevulkan: Use the Define class for constants too.
winevulkan: Simplify make_vulkan structure generation.
winevulkan: Take all type dependencies into account when ordering.
winevulkan: Enumerate types from the base Type class.
winevulkan: Remove unnecessary make_vulkan is_alias.
winevulkan: Generate function pointers interleaved with structs.
winevulkan: Always sort constant and defines.
winevulkan: Filter out non required types by default when enumerating.
winevulkan: Inline make_vulkan loader_body method.
winevulkan: Factor out pNext and sType name checks.
winevulkan: Get rid of debug handles unwraps in struct chains.
opengl32: Rename wgl_context to opengl_context.
opengl32: Avoid creating contexts with unsupported HDCs.
opengl32: Remove unnecessary null_get_pixel_formats.
opengl32: Create a temporary window in copy_context_attributes.
opengl32: Use separate functions to create / destroy / reset contexts.
opengl32: Update make_opengl to latest spec revision.
opengl32: Don't generate thunks for unexposed functions.
opengl32: Alias GL_EXT_copy_texture and GL_VERSION_1_2.
opengl32: Alias GL_ARB_texture_compression to GL_VERSION_1_3.
opengl32: Remove remaining glVertexAttribDivisor altenative.
opengl32: Generate GL/WGL/EGL extension list macros.
opengl32: Parse extension aliases from the registry.
opengl32: Support GLES and pass through extensions.
opengl32: Add more extension aliases manually.
win32u/tests: Test that window properties don't actually require atoms.
server: Only try to grab atom for string window properties.
Stefan Dösinger (2):
kernelbase: Don't write result on async NtWriteFile returns.
kernelbase: Don't write result on async NtReadFile returns.
Thomas Csovcsity (1):
where: Add quiet mode.
Tim Clem (4):
winemac.drv: Only set the app icon once per process.
ntdll: Report free space for "important" data on macOS.
mountmgr.sys: Report free space for "important" data on macOS.
winemac.drv: Unconditionally use CreateIconFromResourceEx for app icons.
Twaik Yont (7):
explorer: Keep systray visible with taskbar enabled.
wineandroid: Fix ANDROID_WindowPosChanged prototype in android.h.
wineandroid: Drop leftover drawable_mutex after win32u OpenGL changes.
wineandroid: Fix start_device_callback assignment type.
win32u: Fix wineandroid build after OpenGL drawable refactoring.
ntdll: Export Java globals for dlsym lookup.
wineandroid: Fix WineAndroid device access path.
Yeshun Ye (3):
cmd: Allow '/' in quoted 'WCMD_pushd' args.
cmd/tests: Add test for 'start' with '/d'.
start: Remove quotes from the path specified by '/d'.
Yuxuan Shui (13):
winebuild: Generate start and end symbols for .CRT sections.
winegcc: Merge .CRT sections for windows targets.
include: Add prototype for _initterm.
crt: Run MSVC constructors and destructors.
qasf: Stop the WMReader first in asf_reader_destroy.
qasf: Don't start a stopped stream in media_seeking_ChangeCurrent.
kernel32/tests: Fix CreateToolhelp32Snapshot failure check.
kernel32/tests: Handle ERROR_BAD_LENGTH from CreateToolhelp32Snapshot.
include: Add TH32CS_SNAPMODULE32.
kernel32: Fix CreateToolhelp32Snapshot on old WoW64.
kernel32/tests: Test CreateToolhelp32Snapshot with TH32CS_SNAPMODULE32.
kernel32: Implement TH32CS_SNAPMODULE32 support for CreateToolhelp32Snapshot.
dbghelp: Rewrite EnumerateLoadedModulesW64 in terms of CreateToolhelp32Snapshot.
Zhiyi Zhang (10):
twinapi.appcore: Add Windows.ApplicationModel.Core.CoreApplication activation factory.
twinapi.appcore/tests: Add tests for Windows.ApplicationModel.Core.CoreApplication activation factory.
twinapi.appcore/tests: Add tests for statics2_GetForCurrentView().
twinapi.appcore: Add statics2_GetForCurrentView() stub.
windows.ui: Implement uisettings_UIElementColor().
windows.ui: Add ICoreWindowStatic stub.
windows.ui/tests: Add tests for corewindow_static_GetForCurrentThread().
windows.ui: Add corewindow_static_GetForCurrentThread() stub.
d2d1: Warn in d2d_device_context_set_error().
wined3d: Reset internal_format_set when using the backup DC.
```
Feb. 6, 2026