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