The Wine development release 10.14 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.17.
- Mono engine updated to version 10.2.0.
- Support for ping on IPv6.
- Gitlab CI now running on Debian Trixie.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.14.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.14/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.14 (total 19):
- #18233 Approach underscore bar inactive with multiple database open
- #27974 warn:winsock:wsaErrno errno 115, (Operation now in progress).
- #35622 VemsTune: program crashes on switching view modes
- #55557 wpcap:wpcap crashes on macOS
- #56639 Phantasy Star Online: Blue Burst: various missing/black textures
- #57027 GetFinalPathNameByHandleW does not handle paths exceeding MAX_PATH (260 chars)
- #57835 ROCS Show Ready crashes on unimplemented function msvcp140_atomic_wait.dll.__std_tzdb_get_time_zones
- #57946 Multiple games need maxAnisotropy values handling (GreedFall, Mafia III: Definitive Edition)
- #58141 [MDK] [WOW64] Stack overflow
- #58169 Trae installer fails: "Failed to expand shell folder constant userpf"
- #58334 ShowStopper crashes on unimplemented function ntdll.dll.RtlQueryProcessHeapInformation
- #58403 Death to Spies: intro videos show black screen (audio works)
- #58482 Roblox Studio installer crashes on unimplemented function api-ms-win-core-memory-l1-1-3.dll.VirtualProtectFromApp
- #58531 MemoryRegionInformation incorrectly returns STATUS_SUCCESS for freed memory regions
- #58574 Multiple applications require gameinput.dll (Fritz Chess Coach, Le Mans Ultimate)
- #58577 MsiGetComponentPath/MsiLocateComponent doesn't resolve a reference to .NET GAC
- #58600 Command line tab completion works improperly with files/directories containing delimiter characters
- #58608 SCardTransmit should work with pioSendPci=NULL
- #58615 winepath changes behaviour and strips ending path separator now
### Changes since 10.13:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Alexandre Julliard (39):
tapi32: Move registry keys out of wine.inf.
win32u: Add NtGdiCancelDC() stub.
win32u: Implement NtUserGetCursorPos().
win32u: Implement NtGdiGet/SetMiterLimit().
server: Add a helper to check a process wow64 status.
include: Always use Unicode string constants for the PE build.
server: Use LIST_FOR_EACH_ENTRY in more places.
cabinet: Use the correct structure for DllGetVersion().
rsaenh: Don't reset key when nothing was encrypted.
winebuild: Only allow thiscall functions on i386.
server: Fix get_next_hook return value when no hook is found.
kernel32: Preserve trailing slash for existing paths in wine_get_dos_file_name().
kernel32: Preserve trailing slash for existing paths in wine_get_unix_file_name().
win32u: Define all stubs as syscalls.
vkd3d: Import upstream release 1.17.
sxs: Add support for language in manifest names.
sxs: Support XML escaping in manifest names.
sxs: Take manifest language into account when building the file name.
sxs: Install policy files the same way as normal manifests.
win32u: Disable some unused code when EGL is missing.
gitlab: Update CI image to debian trixie.
setupapi: Use SetupDiGetActualSectionToInstallW instead of duplicating that logic.
setupapi: Add support for Include directive.
setupapi: Add support for Needs directive.
wine.inf: Use Needs directive to reduce duplication.
winedump: Remove const from a member that is written to.
kernel32/tests: Clear FPU status flags before checking control word.
ntdll/tests: Also test mxcsr register in user callbacks.
ntdll/tests: Use a direct syscall to test xmm registers.
gdi32/tests: Remove some workarounds for NT4.
gdi32: Handle the default color profile on the GDI side.
gdi32: Handle the ICM\mntr key on the GDI side.
winex11: Create the ICM profile file at startup.
win32u: Remove the __wine_get_icm_profile() syscall.
win32u: Remove the GetICMProfile driver entry point.
amstream/tests: Use nameless unions/structs.
qcap: Use nameless unions/structs.
qedit: Use nameless unions/structs.
winegstreamer: Use nameless unions/structs.
Alexandros Frantzis (2):
winewayland: Mark only windows with per-pixel alpha as layered.
winewayland: Handle NULL values for xkb layout name and description.
Anders Kjersem (1):
advpack: Support ADN_DEL_IF_EMPTY flag in DelNode().
Attila Fidan (1):
winegstreamer/wma_decoder: Return S_OK from AllocateStreamingResources().
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (8):
ntdll/tests: Mark test as broken with old Windows versions.
ntdll: Fix XState data initialisation with non-AVX CPUs.
kernel32/tests: Test paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
kernel32: Handle paths in GetFinalPathNameByHandleW exceeding MAX_PATH.
bluetoothapis/tests: Avoid crash in gatt tests with some Windows versions.
kernelbase/tests: Fix test failing with old Windows 10.
ntdll/tests: Add check for len and avoid CommitSize with old Windows.
propsys/tests: Skip tests of properties not supported by old Windows.
Brendan McGrath (1):
winegstreamer: Only add the capsfilter for avdec_h264.
Brendan Shanks (1):
ntdll: Implement NtGetCurrentProcessorNumber() with pthread_cpu_number_np() when available on macOS.
Connor McAdams (8):
ntoskrnl/tests: Add tests for getting IRP_MN_QUERY_DEVICE_TEXT based device properties.
ntoskrnl: Set DEVPKEY_Device_BusReportedDeviceDesc from driver.
winebus: Handle IRP_MN_QUERY_DEVICE_TEXT.
hidclass: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebth.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
wineusb.sys: Print a warning for unhandled IRP_MN_QUERY_DEVICE_TEXT text types.
winebus: Generate unique container IDs when adding devices.
winebus: Override device instance enumerator string if bus type is known.
Conor McCarthy (1):
winegstreamer: Use a stride alignment of 2 for NV12 in align_video_info_planes().
Dmitry Timoshkov (3):
comdlg32: PRINTDLG_UpdatePrintDlgW() should update dmCopies field in DEVMODE.
kernel32/tests: Test FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_POSIX_SEMANTICS | FILE_ATTRIBUTE_DIRECTORY.
kernelbase: For FILE_FLAG_BACKUP_SEMANTICS also handle FILE_ATTRIBUTE_DIRECTORY in CreateFile.
Elizabeth Figura (3):
qcap/tests: Test subtype validation in QueryAccept() and SetFormat().
quartz/tests: Add more tests for video window style.
quartz: Preserve the current visibility in IVideoWindow::put_Style().
Esme Povirk (1):
mscoree: Update Wine Mono to 10.2.0.
Gabriel Ivăncescu (4):
jscript: Allow objects that expose "length" prop for Function.apply under certain conditions.
jscript: Return proper error when passing wrong type to Function.apply.
jscript: Fallback to Object's toString for Arrays when 'this' isn't an array in ES5 mode.
jscript: Fix error value when passing non-string 'this' to String's toString.
Georg Lehmann (3):
winevulkan: Reorder bitmasks to handle aliases correctly.
winevulkan: Disable h265 extensions.
winevulkan: Update to VK spec version 1.4.325.
Gerald Pfeifer (1):
winebus.sys: Use uint16_t instead of __u16.
Hans Leidekker (11):
msi: Make assembly caches global.
msi: Handle .NET assemblies in MSI_GetComponentPath().
rsaenh: Use TomCrypt for hash implementations.
include: Comment references to undefined static interfaces.
include: Define IRandomAccessStreamStatics.
include: Define ISystemMediaTransportControlsStatics.
widl: Require static interfaces to be defined.
widl: Require activation interfaces to be defined.
widl: Require composition interfaces to be defined.
widl: Require runtimeclass contracts to be defined.
winscard: Handle NULL send parameter in SCardTransmit().
Haoyang Chen (1):
qcap/vfwcapture: Validate the subtype in find_caps().
Henri Verbeet (4):
d3d11/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d10core/tests: Test that sampler states with anisotropic filtering and zero MaxAnisotropy can be created.
d3d11: Disable anisotropic filtering for sampler states with zero MaxAnisotropy.
wined3d: Disable anisotropic filtering for zero max_anisotropy in sampler_desc_from_sampler_states().
Ignacy Kuchciński (1):
windows.storage: Split ApplicationData.
Jacob Czekalla (6):
hhctrl.ocx: Check for a NULL web_browser before QueryInterface.
wininet/tests: Add more http time test strings.
wininet: Fix parsing order of http times.
wininet: Fix year parsing to include millennium.
comctl32/treeview: Return from TREEVIEW_LButtonDown when the treeview handle is invalid.
comctl32/tests: Add a test for treeview deletion during NM_CLICK in LBUTTONDOWN.
Jiangyi Chen (1):
opengl32: Perform cAccumBits filtering if specified in wglChoosePixelFormat().
Joe Souza (1):
cmd: Treat most delimiters as literals if user specified quotes.
Keigo Okamoto (3):
winealsa: Send All Notes Off and Reset Controllers.
winecoreaudio: Send All Notes Off and Reset Controllers.
wineoss: Send All Notes Off and Reset Controllers.
Marc-Aurel Zent (5):
ntdll: Implement ProcessPriorityBoost class in NtQueryInformationProcess.
ntdll: Implement ProcessPriorityBoost class in NtSetInformationProcess.
kernelbase: Implement GetProcessPriorityBoost.
kernelbase: Implement SetProcessPriorityBoost.
kernel32/tests: Add tests for GetProcessPriorityBoost/SetProcessPriorityBoost.
Mike Kozelkov (1):
winbio: Add stub DLL.
Mohamad Al-Jaf (9):
cryptxml: Add stub dll.
include: Add cryptxml.h.
cryptxml: Implement CryptXmlOpenToDecode() stub.
cryptxml: Implement CryptXmlClose().
cryptxml: Implement CryptXmlGetDocContext().
cryptxml: Implement CryptXmlGetSignature().
cryptxml: Implement CryptXmlVerifySignature() stub.
cryptxml: Implement CryptXmlGetStatus().
cryptxml/tests: Add some signature verification tests.
Nikolay Sivov (5):
d2d1: Add some helpers for geometry figure manipulation.
d2d1: Implement ellipse geometry simplification.
d2d1: Implement rounded rectangle geometry simplification.
fonts: Fix "O" glyph in Tahoma Bold bitmap strikes.
d3d10/tests: Compile more test effects from sources.
Paul Gofman (35):
ntdll: Factor out chksum_add() function.
ntdll: Support SOCK_RAW / IPPROTO_ICMPV6 fallback over SOCK_DGRAM.
ws2_32/tests: Test ICMPv6 ping.
ntdll/tests: Add more tests for NtQueryVirtualMemory( MemoryRegionInformation ).
ntdll: Factor out get_memory_region_size() function.
ntdll: Reimplement get_memory_region_info() on top of get_memory_region_size().
ntdll: Add semi-stub for NtQueueApcThreadEx2().
ntdll: Validate reserve handle in NtQueueApcThreadEx2().
ntdll: Pass user APC flags to call_user_apc_dispatcher().
server: Do not allow queueing special APCs to wow64 threads.
ntdll: Implement QUEUE_USER_APC_CALLBACK_DATA_CONTEXT in NtQueueApcThreadEx2() on x64.
ntdll: Use NtContinueEx in KiUserApcDispatcher on x64.
kernelbase: Implement QueueUserAPC2().
server: Check thread and call parameters in queue_apc() for APC_USER.
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_time_zones() / __std_tzdb_delete_time_zones().
msvcp140_atomic_wait: Semi-stub __std_tzdb_get_current_zone() / __std_tzdb_delete_current_zone().
msvcp140_atomic_wait: Stub __std_tzdb_get_leap_seconds() / __std_tzdb_delete_leap_seconds().
kernelbase: Preserve last error in OutputDebugStringA().
kernel32: Preserve last error in OutputDebugStringA().
kernel32/tests: Test last error preservation in OutputDebugString().
ntdll/tests: Test last error preservation in OutputDebugString() with debugger.
winex11.drv: Only create dummy parent when needed in create_client_window().
win32u: Avoid calling server in NtUserGetKeyState() when input keystate is in sync.
nsiproxy.sys: Get rid of echo request thread.
nsiproxy.sys: Bind to source address in icmp_send_echo().
nsiproxy.sys: Store socket type in struct icmp_data.
iphlpapi: Factor out icmp_send_echo() function.
iphlpapi/tests: Refactor APC testing in testIcmpSendEcho().
iphlpapi: Only supply APC routine if no event in icmp_send_echo().
iphlpapi: Implement Icmp6ParseReplies().
iphlpapi: Implement Icmp6CreateFile().
nsiproxy.sys: Don't try to check for original packet for ping socket.
iphlpapi: Implement Icmp6SendEcho2().
iphlpapi/tests: Add tests for Icmp6SendEcho2().
iphlpapi: Avoid leaking APC context in icmp_send_echo().
Rémi Bernon (69):
widl: Wrap strappend parameters in a new struct strbuf.
widl: Introduce a new append_basic_type helper.
widl: Remove unnecessary recursion for TYPE_BITFIELD.
widl: Move some type name construction out of write_type_left.
joy.cpl: Read the device state when getting selected effect.
winetest: Set winetest_mute_threshold to 4 when running tests.
user32: Use init_class_name(_ansi) in FindWindowEx(A|W).
win32u: Drop unnecessary NtUserCreateWindowEx version strings.
win32u: Add a helper to add atom / strings to server requests.
server: Simplify create_class atom validation check.
server: Unify reading class atom / name from requests.
widl: Introduce a new write_record_type_definition helper.
widl: Cleanup indentation and variables in write_type_left.
widl: Split write_type_left into a write_type_definition_left helper.
widl: Introduce a new append_type_left helper.
win32u: Move nulldrv client surface code from vulkan.c.
win32u: Introduce a new framebuffer object GL surface.
win32u: Create render buffers for double / stereo buffering.
win32u: Create depth attachments for the FBO surface.
widl: Remove now unnecessary write_callconv argument.
widl: Cleanup indentation and variables in write_type_right.
widl: Inline write_args into write_type_right.
widl: Introduce a new append_declspec helper.
opengl32: Hook glGet(Booleanv|Doublev|Floatv|Integer64v).
opengl32: Share wgl_context structure definition with win32u.
opengl32: Keep track of draw/read framebuffer binding.
opengl32: Return the tracked FBOs when using FBO surfaces.
include: Add gameinput.idl.
gameinput: Introduce new DLL.
dinput/tests: Add some gameinput tests.
winebus: Generate unique serial numbers when adding devices.
user32/tests: Add more GetClassInfo tests.
win32u: Forbid setting GCW_ATOM class info.
win32u: Introduce helpers to check desktop and message class.
user32: Implement integral class name versioning support.
win32u: Remove now unnecessary integral atom specific handling.
server: Return the class base atom from create_class.
opengl32: Keep track of default FBO read/draw buffers.
opengl32: Return the tracked FBO buffers when using FBO surfaces.
opengl32: Remap read / draw FBO buffers when using FBO surfaces.
opengl32: Redirect default framebuffer when using FBO surfaces.
wine.inf: Fix section name for DefaultInstall.ntx86 services.
win32u: Simplify setting extra class info in set_class_long.
win32u: Use set_class_long_size for NtUserSetClassWord.
win32u: Use get_class_long_size for get_class_word.
server: Split get_class_info request from set_class_info.
server: Get rid of set_class_info request flags.
widl: Keep track of statements source locations.
widl: Allow explicit registration by referencing runtimeclasses.
windows.storage.applicationdata: Register runtimeclasses explicitly.
windows.storage: Register runtimeclasses explicitly.
wintypes: Register runtimeclasses explicitly.
include: Remove now unnecessary registration ifdefs.
opengl32: Initialize viewport when using FBO surface.
win32u: Create a separate draw FBO for multisampled formats.
opengl32: Resolve multisample draw buffer when using FBO surfaces.
win32u: Remove unnecessary HDC parameter from client_surface_present.
win32u: Remove unnecessary HDC parameter from p_surface_create.
winex11: Remove unnecessary members from struct gl_drawable.
windows.ui: Register runtimeclasses explicitly.
windows.ui.xaml: Register runtimeclasses explicitly.
coremessaging: Register runtimeclasses explicitly.
twinapi.appcore: Register runtimeclasses explicitly.
windows.applicationmodel: Register runtimeclasses explicitly.
windows.system.profile.systemid: Register runtimeclasses explicitly.
windows.system.profile.systemmanufacturers: Register runtimeclasses explicitly.
windows.globalization: Register runtimeclasses explicitly.
appxdeploymentclient: Register runtimeclasses explicitly.
cryptowinrt: Register runtimeclasses explicitly.
Tim Clem (3):
ntdll: Initialize return value in fork_and_exec.
ntdll: Zero the process and thread handles when creating a Unix process.
kernelbase: Zero the RTL_USER_PROCESS_PARAMETERS in CreateProcessInternalW.
Tingzhong Luo (1):
shell32: Support the UserProgramFiles folder.
Tres Finocchiaro (1):
winebuild: Add flag to disable dynamicbase/aslr.
Tyson Whitehead (9):
joy.cpl: Use correct interface for effect AddRef call.
joy.cpl: Remove needless device caps retrieval.
joy.cpl: Remove incorrect DIEP_TYPESPECIFICPARAMS flag usage.
joy.cpl: Cleanup selected device Acquire / Unacquire logic.
joy.cpl: Fix effect axes / direction in SetParameters call.
joy.cpl: Avoid restarting effect while button is pressed.
joy.cpl: Turn off autocenter for every device on creation.
joy.cpl: Add specific parameters based on type and not effect GUID.
winebus: SDL backend FF effect angle requires 32 bits.
Vibhav Pant (9):
vccorlib140: Add semi-stub for Platform::Details::Heap::{Allocate, Free}.
vccorlib140: Add stub for Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Implement Platform::Details::{Allocate(ptrdiff_t, size_t), ControlBlock::ReleaseTarget}.
vccorlib140: Add stub for __abi_make_type_id, Platform::Type{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Implement __abi_make_type_id.
vccorlib140: Implement Platform::Type::{Equals, GetTypeCode, ToString, FullName::get}.
vccorlib140: Add stub for Platform::Details::CreateValue.
vccorlib140: Implement Platform::Details::CreateValue.
vccorlib140: Use the correct symbol name for InitControlBlock on i386 and arm.
William Horvath (2):
ntdll: Check for invalid gs_base in the 64-bit segv_handler.
ntdll/tests: Re-enable a previously crashing test.
Yuxuan Shui (6):
include: Make sure to null terminate string in wine_dbg_vsprintf.
server: Fix use-after-free of handle entry.
makefiles: Don't delete Makefile if makedep is interrupted.
dmime: Fix use-after-free after performance_CloseDown.
msi/tests: Fix wrong character counts passed to RegSetValueExA.
ole32: Don't get metafile extent if there is no metafile.
Zhiyi Zhang (2):
user32/tests: Add more SendMessageCallbackA/W() tests with NULL callback.
win32u: Put the message in the queue when the callback pointer is NULL and the callback data is 1.
Ziqing Hui (1):
dwrite: Add fallback for Dingbats.
```
The vkd3d team is proud to announce that release 1.17 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Initial HLSL support for thread group shared memory.
- Several features have been implemented for the experimental Metal Shading
Language target.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.17.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.17
### libvkd3d
- The EnumerateMetaCommands() method of the ID3D12Device5 interface is
implemented.
### libvkd3d-shader
- Several new features and improvements for the HLSL source type:
- Initial thread group shared memory support.
- Improved support for geometry shaders: shader model 5 multiple output
streams, as well as SV_IsFrontFace, SV_RenderTargetArrayIndex, and
SV_ViewportArrayIndex outputs.
- Structure variable input/output semantics are propagated to the
constituent structure fields.
- Shader entry point return values are allocated before any other outputs
in the output signature. This matches d3dcompiler/fxc more closely.
- Hull shader control point pass-through.
- Reflection information can be retrieved using vkd3d_shader_scan().
- Improved preprocessor handling of comments inside include directives, as
well as inclusion of empty files.
- Memory barrier intrinsics are supported in shader model 4 target
profiles. Previous these were only supported in shader model 5 target
profiles.
- Parser support for the noise() intrinsic. Although the intrinsic itself
isn't implemented, parser support for the intrinsic is required to allow
compilation of any other shaders in the same source file to succeed as
well.
- Parser support for StructuredBuffer resources.
- Various new features and improvements for the effects (FX) source type:
- Shader blob assignments and FXLVM value expressions in ‘fx_2_0’ effects.
- Nameless structure types.
- Explicit constant buffer bind points and constant packing offsets.
- The ‘d3ds_noiseswiz’, ‘ge’, ‘lt’, and ‘noise’ FXLVM operations.
- The experimental Metal Shading Language (MSL) target supports the
following features:
- Texture sampling and gather operations.
- Loops and switches.
- Screen-space partial derivatives.
- Various integer arithmetic and comparison operations.
- Indirect addressing of constant buffers.
- Indexable temporary registers.
- Fragment shader output sample coverage masks.
- SV_Position and SV_SampleIndex fragment shader inputs.
- SV_VertexID inputs.
- When the experimental MSL target is enabled, the ‘dxbc-dxil’ source type
can be used in combination with the ‘msl’ target type to convert DXIL
shaders to MSL.
- The new ‘tx’ source type can be used in combination with the ‘d3d-asm’
target type to disassemble D3DX ‘tx_1_0’ texture shaders.
- The FX target takes alignment and padding into account in ‘fx_4_0’ buffer
size calculations.
- The SPIR-V target is capable of outputting OpSource and OpLine debug
information.
- The core grammar for the experimental SPIR-V disassembler has been updated
to the ‘vulkan-sdk-1.4.313.0’ release.
- New interfaces:
- The VKD3D_SHADER_SOURCE_TX source type specifies D3DX ‘tx_1_0’ texture
shaders.
### vkd3d-compiler
- The new ‘tx’ source type specifies D3DX ‘tx_1_0’ texture shaders.
### demos
- The new vkd3d-teapot demo uses tessellation shaders to render a version of
Martin Newell's famous teapot. It should be noted that current versions of
MoltenVK unfortunately do not support all features required to execute
this demo correctly.
### Changes since vkd3d 1.16:
```
Anna (navi) Figueiredo Gomes (5):
vkd3d-shader/hlsl: Clone the entry point body and redirect processing to the clone.
vkd3d-shader/hlsl: Reset "extern_vars" before processing "entry_func" in hlsl_emit_bytecode().
vkd3d-shader/hlsl: Add temporary variables to "dummy_scope" in prepend_uniform_copy().
vkd3d-shader/hlsl: Don't create a temporary copy for a uniform if one already exists.
vkd3d-shader/hlsl: Move hlsl_ir_function_decl->extern_vars to a local variable.
Brendan Shanks (2):
include: Add additional generated files to .gitignore.
tests: Add dxcompiler.h to .gitignore.
Conor McCarthy (9):
vkd3d-shader/dxil: Validate the function return type after calling the handler.
vkd3d-shader/dxil: Check the destination value is invalid after calling a void function handler.
vkd3d-shader/dxil: Add a null check for the type when validating non-void operands.
vkd3d-shader/ir: Allow constant buffer loads to have a minimum precision.
vkd3d-shader/dxil: Convert constant buffer minimum-precision source registers.
tests: Replace test_ps_viewport_index() with a shader runner test.
vkd3d-shader/dxil: Handle SV_ViewportArrayIndex.
tests/hlsl: Add a test for SV_PrimitiveId inputs and outputs.
vkd3d-shader/dxil: Handle SV_PrimitiveId outputs.
Elizabeth Figura (31):
vkd3d-shader/ir: Use add_signature_element() to add clip planes.
vkd3d-shader/ir: Split TEXCOORD into two separate vsir opcodes.
vkd3d-shader/ir: Split TEX into two separate vsir opcodes.
vkd3d-shader: Use the correct union members for raw and structured resources.
vkd3d-shader/preproc: Parse comments in #include and #line directives.
vkd3d-shader/preproc: Swap to the INITIAL state after ending a buffer.
vkd3d-shader/preproc: Store EOF state per buffer.
vkd3d-shader/hlsl: Add a register type field to struct hlsl_reg.
vkd3d-shader/ir: Introduce a stub SSA to temp allocation pass.
vkd3d-shader/ir: Track liveness in the SSA allocator.
vkd3d-shader/ir: Allocate SSA registers to temps.
vkd3d-shader/hlsl: Output SSA registers where possible.
vkd3d-shader/d3d-asm: Handle INT_MIN in shader_print_int_literal().
vkd3d-shader/hlsl: Convert descriptor registers to pre-5.1 form in the TPF writer.
vkd3d-shader/hlsl: Output sm1 semantics with unique register_index values.
vkd3d-shader/hlsl: Set the data type in sm4_generate_vsir_reg_from_deref().
vkd3d-shader/hlsl: Set the destination data type to UINT in sm4_generate_vsir_cast_from_bool().
vkd3d-shader/ir: Allow bitwise operations on VKD3D_DATA_INT.
tests/shader_runner: Add support for 3D resources.
tests/hlsl: Add tests for 3D textures.
tests/shader_runner: Add support for cube resources.
tests/hlsl: Add tests for cube textures.
vkd3d-shader/spirv: Do not use OpCopyMemory for partial writemasks in spirv_compiler_emit_mov().
vkd3d-shader/spirv: Use left-shifted writemasks for private variables for inputs.
vkd3d-shader/ir: Record the previous temp count before allocating any SSA values.
tests/hlsl: Add a regression test for packed SV_IsFrontFace.
vkd3d-shader: Add descriptors from SAMPLE instructions if necessary.
vkd3d-shader/d3dbc: Move TEXLD lowering to d3dbc_parse().
vkd3d-shader/d3dbc: Normalize ps 1.x output.
vkd3d-shader/d3dbc: Lower 1.4 TEXLD.
vkd3d-shader/d3dbc: Lower TEXCRD.
Evan Tang (4):
vkd3d: Replace the resource count field of struct d3d12_heap with an internal refcount.
vkd3d: Mask colour writes on graphics pipelines without fragment shaders.
tests/d3d12: Add a colour attachment to test_draw_depth_no_ps().
vkd3d: Get rid of the default fragment shader from d3d12_pipeline_state_init_graphics().
Francisco Casas (38):
tests/d3d12: Avoid out-of-bounds access when evaluating ok() args (ubsan).
tests/shader_runner_d3d12: Handle the "bug" qualifier on state creation failure.
tests/hlsl: Test the allocation order of return semantics.
vkd3d-shader/hlsl: Allocate return variables before other outputs.
tests/hlsl: Fix up point-sprite.shader_test.
vkd3d-shader/hlsl: Update the enum hlsl_sampler_dim comment.
vkd3d-shader/ir: Avoid a compiler warning in vsir_block_list_init().
tests/hlsl: Add semantic cascading tests.
vkd3d-shader/hlsl: Use the index in the hlsl_semantic when appending output copies.
vkd3d-shader/hlsl: Use the index in the hlsl_semantic when prepending input copies.
vkd3d-shader/hlsl: Don't pass the semantic index in add_semantic_var().
vkd3d-shader/hlsl: Make output semantics on structs cascade down onto the fields.
vkd3d-shader/hlsl: Make input semantics on structs cascade down onto the fields.
tests/hlsl: Add additional semantic cascading tests.
tests: Test semantic cascading signatures.
vkd3d-shader/hlsl: Dump processed function bodies.
vkd3d-shader/ir: Validate flags in SAMPLE_INFO operations.
vkd3d-shader/ir: Validate flags in RESINFO operations.
vkd3d-shader/dxil: Use iterators in sm6_parser_globals_init().
vkd3d-shader/hlsl: Use vsir_program_append() in sm1_generate_vsir_constant_defs().
vkd3d-shader/hlsl: Use vsir_program_append() in sm1_generate_vsir_sampler_dcls().
vkd3d-shader/hlsl: Use vsir_program_append() in generate_vsir_add_program_instruction().
vkd3d-shader/ir: Use iterators in vsir_program_ensure_diffuse().
vkd3d-shader/ir: Use iterators in vsir_program_remap_output_signature().
vkd3d-shader/ir: Use iterators in instruction_array_normalise_hull_shader_control_point_io().
vkd3d-shader/ir: Use iterators in vsir_program_normalise_flat_constants().
vkd3d-shader/ir: Use iterators in vsir_program_normalise_io_registers().
vkd3d-shader/ir: Remove the io_normaliser.instructions field.
vkd3d-shader/ir: Use iterators in vsir_program_remove_dead_code().
vkd3d-shader/ir: Use iterators in cf_flattener_iterate_instruction_array().
vkd3d-shader/ir: Use iterators in vsir_program_flatten_hull_shader_phases().
vkd3d-shader/ir: Use iterators in vsir_program_materialise_phi_ssas_to_temps().
vkd3d-shader/ir: Use iterators in vsir_program_insert_alpha_test().
vkd3d-shader/ir: Use iterators in vsir_program_insert_clip_planes().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_size().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_size_clamp().
vkd3d-shader/ir: Use iterators in vsir_program_insert_point_coord().
vkd3d-compiler: Set a default target type even when preprocessing.
Giovanni Mascellani (251):
vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_params_init_from_operands().
vkd3d-shader/dxil: Pass a reference to the SM6 parser to src_param_init_from_value().
vkd3d-shader/dxil: Pass a reference to the SM6 parser to sm6_register_from_value().
vkd3d-shader/dxil: Reimplement aggregate indexing using specialized value types.
tests/hlsl: Test minimum precision stride in constant buffers.
tests/hlsl: Test minimum precision 16-bit unsigned integers.
tests/hlsl: Test minimum precision 16-bit signed integers.
tests/hlsl: Remove some tests from minimum-precision.shader_test.
tests/hlsl: Test casting doubles to minimum precision integers.
tests/hlsl: Test casting minimum precision integers to doubles.
tests/hlsl: Test casting 16-bit integers to doubles.
tests/hlsl: Test native 16-bit floating point numbers.
tests/hlsl: Test minimum precision floating point numbers.
tests/hlsl: Test minimum precision stride for signed integers too.
tests/hlsl: Test minimum precision stride for floating point numbers too.
tests/hlsl: Do not test for overflowing 16-bit texture sampling.
tests/hlsl: Mark a test in object-references.shader_test as todo on MoltenVK with DXIL.
tests/hlsl: Mark some tests in clip-cull-distance.shader_test as buggy on MoltenVK with d3d12.
tests/hlsl: Mark a test in gather-offset.shader_test as buggy on MoltenVK with d3d12.
tests/hlsl: Mark some tests in wave-ops-uint.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in wave-ops-int.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in uav-atomics.shader_test as working on MoltenVK.
ci: Really use DXC 1.8.2502 for macOS.
vkd3d-shader/dxil: Do not touch the parser current value in instruction_dst_param_init_temp_vector().
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for integer values.
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for floating-point values.
vkd3d-shader/dxil: Generate specialized values in sm6_parser_constants_init() for casts.
vkd3d-shader/dxil: Generate CONSTANT values in sm6_parser_constants_init() for null scalars.
vkd3d-shader/dxil: Remove bitcast helpers.
tests/hlsl: Test sampling with minimum precision floating-point numbers.
tests/hlsl: Test the interstage interface for minimum precision types.
tests/hlsl: Use the appropriate RTV format in shader-interstage-interface.shader_test.
tests/hlsl: Add a test reading from a minimum precision signed integer array.
tests/hlsl: Add some more minimum precision floating-point tests.
tests/hlsl: Add a test reading from a minimum precision floating-point array.
tests/hlsl: Mark a test in sm6-uav-rwtexture.shader_test as todo on MoltenVK.
tests/hlsl: Mark a test in register-reservation-resources.shader_test as todo on MoltenVK with DXIL.
tests/hlsl: Mark a test in entry-point-semantics.shader_test as buggy on MoltenVK with DXIL.
tests/hlsl: Mark some tests in geometry.shader_test as buggy on MoltenVK.
tests/hlsl: Mark some tests in wave-ops-float.shader_test as buggy on MoltenVK.
vkd3d-shader/glsl: Accept and ignore the REFACTORING_ALLOWED global flag.
vkd3d-shader/msl: Accept and ignore the REFACTORING_ALLOWED global flag.
vkd3d-shader/glsl: Ignore the PARTIALPRECISION destination modifier.
vkd3d-shader/msl: Ignore the PARTIALPRECISION destination modifier.
tests: Add a test for the ABSNEG source modifier.
vkd3d-shader/glsl: Support the ABSNEG source modifier.
vkd3d-shader/msl: Support the ABSNEG source modifier.
vkd3d-shader/dxil: Do not use field "reg" in of sm6_value when writing bitcasts.
vkd3d-shader/dxil: Validate that floating-point truncation casts decrease bit width.
vkd3d-shader/dxil: Validate that integer extension casts increase bit width.
vkd3d-shader/dxil: Validate that floating-point extension casts increase bit width.
vkd3d-shader/dxil: Handle 16-bit values uniformly in sm6_map_cast_op().
tests: Mark some tests in arithmetic-int-uniform.shader_test as buggy on MoltenVK < 1.2.11.
tests: Mark some tests in calculate-lod.shader_test as buggy on MoltenVK < 1.2.11.
ci: Enable testing with DXC again on macOS.
tests/hlsl: Test minimum precision IDXTEMP registers.
vkd3d-shader/hlsl: Reject programs with group shared variables.
tests/hlsl: Test some quirks of TGSMs with SM < 5.0.
tests/hlsl: Test TGSMs with minimum precision unsigned integers.
vkd3d-shader/dxil: Generate specialized values in sm6_parser_emit_cast() for trivial casts.
vkd3d-shader/dxil: Represent non uniformness in the SM6 value.
vkd3d-shader/dxil: Store a SM6 value in sm6_phi.
vkd3d-shader/dxil: Do not set the value type in sm6_parser_declare_global().
vkd3d-shader/dxil: Do not set the value type in sm6_parser_function_init().
tests: Skip test_graphics_compute_queue_synchronization() on paravirtualized MoltenVK.
tests: Add a test about discontiguous input swizzles in bytecode format.
tests: Fix the shader model requirements for a ps_5_0 shader.
vkd3d-shader/dxil: Rewrite sm6_value_is_constant() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_is_undef() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_is_ssa() in terms of the value type.
vkd3d-shader/dxil: Rewrite sm6_value_get_constant_uint() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_value_get_constant_uint64() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_value_is_constant_zero() in terms of the SM6 value.
vkd3d-shader/dxil: Rewrite sm6_parser_init_ssa_value() in terms of the SM6 value.
vkd3d-shader/dxil: Introduce sm6_value_get_constant_float().
vkd3d-shader/dxil: Remove field "reg" from struct sm6_value.
vkd3d-shader/dxil: Emit 16-bit CONSTANT values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit arrays as minimum precision types.
vkd3d-shader/dxil: Emit 16-bit IDXTEMP values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit SSA values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit ICB values as minimum precision registers.
vkd3d-shader/ir: Rename VKD3D_SHADER_ERROR_VSIR_INVALID_HANDLER to VKD3D_SHADER_ERROR_VSIR_INVALID_OPCODE.
vkd3d-shader/dxil: Allow constant zero values to be floating point.
vkd3d-shader/dxil: Emit 16-bit raw TGSMs as minimum precision.
vkd3d-shader/dxil: Emit 16-bit structured TGSMs as minimum precision.
vkd3d-shader/dxil: Emit 16-bit GROUPSHAREDMEM values as minimum precision registers.
vkd3d-shader/dxil: Emit 16-bit UNDEFINED and INVALID values as minimum precision registers.
vkd3d-shader/ir: Validate ABS instructions.
vkd3d-shader/ir: Validate ACOS instructions.
vkd3d-shader/ir: Validate ADD instructions.
vkd3d-shader/ir: Validate AND instructions.
vkd3d-shader/ir: Validate ASIN instructions.
vkd3d-shader/ir: Validate ATAN instructions.
tests: Add a test for the partial precision destination modifier.
vkd3d-shader/ir: Validate data types for NEG source modifiers.
vkd3d-shader/ir: Validate data types for BIAS source modifiers.
vkd3d-shader/ir: Validate data types for BIASNEG source modifiers.
vkd3d-shader/ir: Validate data types for SIGN source modifiers.
vkd3d-shader/ir: Validate data types for SIGNNEG source modifiers.
vkd3d-shader/ir: Introduce opcode COS.
vkd3d-shader/ir: Introduce opcode SIN.
vkd3d-shader/ir: Lower d3dbc SINCOS to the new COS and SIN instructions.
vkd3d-shader/ir: Lower tpf SINCOS to the new COS and SIN instructions.
vkd3d-shader/ir: Validate DADD instructions.
vkd3d-shader/ir: Validate DDIV instructions.
vkd3d-shader/ir: Validate DFMA instructions.
vkd3d-shader/ir: Validate DGEO instructions.
vkd3d-shader/ir: Validate DIV instructions.
vkd3d-shader/ir: Validate DLT instructions.
vkd3d-shader/ir: Validate DMAX instructions.
vkd3d-shader/ir: Validate DMIN instructions.
vkd3d-shader/ir: Validate DMOV instructions.
vkd3d-shader/ir: Validate DMUL instructions.
vkd3d-shader/ir: Validate data types for COMP source modifiers.
vkd3d-shader/ir: Validate data types for X2 source modifiers.
vkd3d-shader/ir: Validate data types for X2NEG source modifiers.
vkd3d-shader/ir: Validate data types for DZ source modifiers.
vkd3d-shader/ir: Validate data types for DW source modifiers.
vkd3d-shader/ir: Introduce VKD3DSIH_IMUL_LOW.
vkd3d-shader/ir: Lower IMUL and UMUL to IMUL_LOW.
vkd3d-shader/ir: Validate data types for ABS source modifiers.
vkd3d-shader/ir: Validate data types for ABSNEG source modifiers.
vkd3d-shader/ir: Validate data types for NOT source modifiers.
vkd3d-shader/ir: Validate data types for SATURATE destination modifiers.
vkd3d-shader/ir: Validate data types for destination shifts.
vkd3d-shader/ir: Validate DNE instructions.
vkd3d-shader/ir: Validate DRCP instructions.
vkd3d-shader/ir: Validate DSX instructions.
vkd3d-shader/ir: Validate DSX_COARSE instructions.
vkd3d-shader/ir: Validate DSX_FINE instructions.
vkd3d-shader/ir: Validate DSY instructions.
vkd3d-shader/ir: Validate DSY_COARSE instructions.
vkd3d-shader/ir: Validate DSY_FINE instructions.
vkd3d-shader/ir: Do not crash when registers cannot be resolved to signature elements.
vkd3d-shader/ir: Introduce VSIR_OP_IREM.
vkd3d-shader/ir: Repurpose IDIV to compute plain signed division.
vkd3d-shader/ir: Introduce VSIR_OP_UDIV_SIMPLE.
vkd3d-shader/ir: Introduce VSIR_OP_UREM.
vkd3d-shader/ir: Lower UDIV to UDIV_SIMPLE and UREM.
vkd3d-shader/ir: Validate EQO instructions.
vkd3d-shader/ir: Validate DEQO instructions.
vkd3d-shader/ir: Validate EQU instructions.
vkd3d-shader/ir: Validate EXP instructions.
vkd3d-shader/ir: Validate FRC instructions.
vkd3d-shader/ir: Validate FREM instructions.
vkd3d-shader/ir: Validate GEO instructions.
vkd3d-shader/ir: Validate GEU instructions.
vkd3d-shader/ir: Test the data type when validating comparison operations.
tests/hlsl: Test int64 comparisons.
tests/hlsl: Test uint64 comparisons.
vkd3d-shader/ir: Validate HCOS instructions.
vkd3d-shader/ir: Validate HSIN instructions.
vkd3d-shader/ir: Validate HTAN instructions.
vkd3d-shader/ir: Validate IADD instructions.
vkd3d-shader/ir: Validate IEQ instructions.
vkd3d-shader/ir: Validate IGE instructions.
vkd3d-shader/ir: Validate ILT instructions.
vkd3d-shader/ir: Collect the hull shader phase flattener code together.
vkd3d-shader/ir: Handle SSA registers when flattening hull shader phases.
vkd3d-shader/ir: Do not make a local copy of the instructions array in vsir_program_flatten_hull_shader_phases().
vkd3d: Move vkd3d_vk_descriptor_set_index_from_vk_descriptor_type() to resource.c.
vkd3d/resource: Write null descriptors with their correct type when using mutable descriptor types.
vkd3d-shader/ir: Validate descriptor flags in vsir programs.
vkd3d-shader/ir: Validate UAV flags in vsir programs.
vkd3d-shader/ir: Validate IMAD operations.
vkd3d-shader/ir: Validate IMAX operations.
vkd3d-shader/ir: Validate IMIN operations.
vkd3d-shader/ir: Validate INE operations.
vkd3d-shader/ir: Validate INEG operations.
vkd3d-shader/ir: Validate IREM operations.
vkd3d-shader/ir: Validate ISHL operations.
vkd3d-shader/ir: Validate ISHR operations.
vkd3d-shader/ir: Introduce an abstraction to iterate through vsir instructions.
vkd3d-shader/ir: Use the iterator in vsir_program_lower_ifc().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_texkill().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_precise_mad().
vkd3d-shader/ir: Sort vsir_validator_instructions[] alphabetically.
vkd3d-shader/ir: Validate ISFINITE operations.
vkd3d-shader/ir: Validate ISINF operations.
vkd3d-shader/ir: Validate ISNAN operations.
vkd3d-shader/ir: Validate ITOF operations.
vkd3d-shader/ir: Validate ITOI operations.
vkd3d-shader/ir: Validate FTOI operations.
vkd3d-shader/ir: Validate FTOU operations.
vkd3d-shader/ir: Set dimension to VEC4 when converting SSAs to TEMPs.
vkd3d-shader/ir: Do not print a message for registers that are not being allocated.
vkd3d-shader/ir: Use the iterator in vsir_program_lower_udiv().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_sm1_sincos().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_sm4_sincos().
vkd3d-shader/ir: Use the iterator in vsir_program_lower_texldp().
vkd3d-shader/ir: Validate LOG operations.
vkd3d-shader/ir: Validate LTO operations.
vkd3d-shader/ir: Validate LTU operations.
vkd3d-shader/ir: Validate MAD operations.
vkd3d-shader/ir: Validate MAX operations.
vkd3d-shader/ir: Validate MIN operations.
vkd3d-shader/ir: Validate MUL operations.
vkd3d-shader/ir: Check that LOCALTHREADINDEX registers have dimension VEC4.
vkd3d-shader/ir: Check that COVERAGE registers have dimension VEC4.
vkd3d-shader/ir: Check that DEPTHOUT registers have dimension SCALAR.
vkd3d-shader/ir: Check that DEPTHOUTGE registers have dimension SCALAR.
vkd3d-shader/ir: Check that DEPTHOUTLE registers have dimension SCALAR.
vkd3d-shader/ir: Check that LOCALTHREADID registers have dimension VEC4.
vkd3d-shader/ir: Check that THREADGROUPID registers have dimension VEC4.
vkd3d-shader/ir: Update the program TEMP count when allocating TEMP registers.
vkd3d-shader/ir: Split updating DCL_TEMPS instructions to a dedicated pass.
vkd3d-shader/ir: Check that THREADID registers have dimension VEC4.
vkd3d-shader/ir: Check that SAMPLEMASK registers have dimension SCALAR.
vkd3d-shader/ir: Check that GSINSTID registers have dimension SCALAR.
vkd3d-shader/ir: Check that OUTPOINTID registers have dimension SCALAR.
vkd3d-shader/ir: Check that PRIMID registers have dimension SCALAR.
vkd3d-shader/ir: Check that OUTSTENCILREF registers have dimension SCALAR.
vkd3d-shader/ir: Introduce vsir_program_append().
vkd3d-shader/tpf: Use iterators in tpf_write_program().
vkd3d-shader/spirv: Use iterators in spirv_compiler_generate_spirv().
vkd3d-shader/msl: Use iterators in msl_generator_generate().
vkd3d-shader/glsl: Use iterators in vkd3d_glsl_generator_generate().
vkd3d-shader/d3d-asm: Use iterators in d3d_asm_compile().
vkd3d-shader/d3dbc: Use vsir_program_append() in d3dbc_parse().
vkd3d-shader/d3dbc: Use iterators in d3dbc_write_program_instructions().
vkd3d-shader/ir: Validate NEO operations.
vkd3d-shader/ir: Validate NEU operations.
vkd3d-shader/ir: Validate NOT operations.
vkd3d-shader/ir: Validate OR operations.
vkd3d-shader/ir: Validate ORD instructions.
vkd3d-shader/ir: Validate RCP instructions.
vkd3d-shader/ir: Validate ROUND_NE instructions.
vkd3d-shader/ir: Validate ROUND_NI instructions.
vkd3d-shader/ir: Use size_t in the parameter allocator.
vkd3d-shader/ir: Use size_t in the instruction array.
vkd3d-shader: Use size_t in the string buffer.
vkd3d-shader/msl: Ignore the interpolation mode for output variables.
vkd3d-shader/msl: Emit indexable temps with the appropriate component count.
vkd3d-shader/msl: Use the union type for SAMPLEMASK registers.
vkd3d-shader/msl: Reject shaders with duplicate I/O target locations.
vkd3d-shader/msl: Convert the results of load and sample operations to the destination data type.
vkd3d-shader/dxil: Emit gather offsets as signed.
vkd3d-shader/d3d-asm: Emit precise flags for a number of opcodes.
vkd3d-shader/spirv: Support precise flags on RESINFO instructions.
vkd3d-shader/spirv: Support precise flags on SAMPLE_INFO instructions.
tests/hlsl: Test SV_GSInstanceID.
vkd3d-shader/ir: Check that GSINSTID registers have dimension VEC4.
vkd3d-shader/hlsl: Reject geometry shaders with instance count.
vkd3d-shader: Use iterators in vsir_program_scan().
vkd3d-shader/ir: Use iterators in vsir_program_normalize_addr().
vkd3d-shader/ir: Use iterators in vsir_program_ensure_ret().
vkd3d-shader: Use the structure names when creating the parameter allocators.
vkd3d-shader: Enable converting DXIL to MSL.
vkd3d-shader/msl: Allocate SSA registers to temporaries.
tests/shader_runner_metal: Allow checking shader model 5.1 too.
tests/shader_runner_metal: Run the Metal shader runner with DXIL shaders.
Henri Verbeet (148):
vkd3d-shader: Also output vkd3d_shader_verror() messages using WARN.
vkd3d-shader: Also output vkd3d_shader_vwarning() messages using WARN.
vkd3d-shader: Also output vkd3d_shader_vnote() messages using WARN.
vkd3d-shader: Remove some newlines from vkd3d-shader error messages.
tests/shader_runner_metal: Try harder to find a suitable device.
tests/shader_runner_d3d11: Direct3D 11 supports geometry shaders.
tests/hlsl: Require the "geometry-shader" cap for the relevant clip/cull-distance tests.
tests/hlsl: Get rid of a MSL todo in geometry.shader_test.
tests/hlsl: Slightly adjust the bias values in the sample-bias tests.
vkd3d-shader: Move vkd3d_siv_from_sysval_indexed() to hlsl_codegen.c.
vkd3d-shader/msl: Make the generated main function static.
tests/shader_runner: Introduce a "tessellation-shader" cap.
vkd3d-shader/msl: Ensure we have a non-NULL "resource_type_info" pointer in msl_ld().
vkd3d-shader/msl: Reject cube and multi-sample texel fetches in msl_ld().
vkd3d-shader/msl: Get rid of the "lod" field of struct msl_resource_type_info.
vkd3d-shader/msl: Slightly improve the error messages for unspecified descriptor bindings.
vkd3d-shader/msl: Continue when the SRV descriptor binding isn't specified in msl_ld().
vkd3d-shader/msl: Implement support for indirect constant buffer addressing.
vkd3d-shader/msl: Handle SV_POSITION inputs.
vkd3d-shader/msl: Handle SV_VERTEX_ID inputs.
vkd3d-shader/msl: Simplify SV_DEPTH handling.
tests/shader_runner_metal: Implement multi-sample readback.
tests/shader_runner_metal: Set the pipeline sample count in metal_runner_draw().
vkd3d-shader/msl: Handle SV_SAMPLE_INDEX inputs.
vkd3d-shader/msl: Implement support for VKD3DSPR_IDXTEMP registers.
vkd3d-shader/msl: Implement support for VKD3DSPR_SAMPLEMASK registers.
vkd3d-shader/msl: Implement VKD3DSIH_EQO.
vkd3d-shader/msl: Implement VKD3DSIH_IADD.
vkd3d-shader/msl: Implement VKD3DSIH_IGE.
vkd3d-shader/ir: Introduce vsir_opcode_get_name().
vkd3d-shader/d3dbc: Use vsir_opcode_get_name() in shader_sm1_get_opcode_info_from_vsir_instruction().
vkd3d-shader/d3dbc: Use vsir_opcode_get_name() in d3dbc_write_vsir_instruction().
vkd3d-shader/glsl: Use vsir_opcode_get_name() in shader_glsl_unhandled().
vkd3d-shader/ir: Use vsir_opcode_get_name() in vsir_program_lower_instructions().
vkd3d-shader/msl: Implement VKD3DSIH_ILT.
vkd3d-shader/msl: Implement VKD3DSIH_IMUL.
vkd3d-shader/msl: Implement loops.
vkd3d-shader/msl: Implement switches.
vkd3d-shader/msl: Implement VKD3DSIH_DISCARD.
tests/shader_runner: Rename the "ri64" probe format to "i64".
tests/shader_runner: Introduce the "u64" probe format.
tests/shader_runner: Introduce the "f64" probe format.
tests/shader_runner: Introduce the "i32" probe format.
tests/shader_runner: Introduce the "u32" probe format.
tests/shader_runner: Introduce the "f32" probe format.
demos: Allow Vulkan to determine the swapchain image count.
vkd3d-shader/msl: Implement VKD3DSIH_INEG.
vkd3d-shader/msl: Implement VKD3DSIH_ULT.
vkd3d-shader/msl: Implement VKD3DSIH_XOR.
tests/shader_runner_metal: Implement resource copies.
vkd3d-shader/msl: Implement VKD3DSIH_LD2DMS.
vkd3d-shader/ir: Use vsir_opcode_get_name() in the validator.
vkd3d-shader/msl: Use vsir_opcode_get_name() in msl_unhandled().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_handle_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_atomic_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_sample().
demos: Print the GPU and platform we're running on.
demos: Map the Win32 A-Z keys to a-z.
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_deriv_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_comparison_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_bitfield_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_ext_glsl_instruction().
vkd3d-shader/spirv: Use vsir_opcode_get_name() in spirv_compiler_emit_alu_instruction().
demos: Introduce a helper function to create a projection matrix.
vkd3d-shader/spirv: Emit an OpSource instruction with the source name.
vkd3d: Use the DXBC checksum to construct a shader source name.
demos/teapot: Add a tessellation demo.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_B.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_C.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_C_LZ
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_GRAD.
vkd3d-shader/spirv: Do not require VKD3D_SHADER_BINDING_FLAG_IMAGE for sampler descriptors.
vkd3d-shader/d3dbc: Use TAG_CTAB in d3dbc_compile().
demos/teapot: Add on-screen help.
vkd3d-shader/msl: Implement VKD3DSIH_SAMPLE_LOD.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4_C.
vkd3d-shader/msl: Implement VKD3DSIH_GATHER4_PO.
vkd3d-shader/msl: Implement support for static texel offsets in msl_sample().
vkd3d-shader/ir: Rename the VKD3DSIH_* enum elements to VSIR_OP_*.
vkd3d-shader/msl: Implement VSIR_OP_CONTINUE.
vkd3d-shader/msl: Implement VSIR_OP_DSX and VSIR_OP_DSY.
vkd3d-shader/msl: Implement VSIR_OP_DSX_COARSE and VSIR_OP_DSY_COARSE.
vkd3d-shader/msl: Implement VSIR_OP_DSX_FINE and VSIR_OP_DSY_FINE.
vkd3d-shader/msl: Implement VSIR_OP_IMAX.
vkd3d-shader/ir: Create SSA values with the corresponding dimension in vsir_program_lower_sm4_sincos().
vkd3d-shader/ir: Create SSA values with the corresponding dimension in vsir_program_lower_udiv().
demos/teapot: Add an fps counter.
vkd3d-shader/msl: Implement VSIR_OP_UMAX and VSIR_OP_UMIN.
tests/shader_runner_metal: Implement buffer textures.
vkd3d-shader/msl: Implement VSIR_OP_STORE_UAV_TYPED.
vkd3d-shader/msl: Implement VKD3DSGF_FORCE_EARLY_DEPTH_STENCIL.
tests/shader_runner_gl: Implement geometry shaders.
demos/teapot: Add diffuse lighting.
demos/teapot: Add a flat shading toggle.
vkd3d-shader/ir: Rename enum vkd3d_data_type to vsir_data_type.
vkd3d-shader/ir: Rename VKD3D_DATA_HALF to VSIR_DATA_F16.
vkd3d-shader/ir: Rename VKD3D_DATA_FLOAT to VSIR_DATA_F32.
vkd3d-shader/ir: Rename VKD3D_DATA_DOUBLE to VSIR_DATA_F64.
demos/teapot: Animate the camera.
vkd3d-shader/ir: Rename VKD3D_DATA_INT to VSIR_DATA_I32.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT8 to VSIR_DATA_U8.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT16 to VSIR_DATA_U16.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT to VSIR_DATA_U32.
vkd3d-shader/ir: Rename VKD3D_DATA_UINT64 to VSIR_DATA_U64.
vkd3d-shader/ir: Consistently use VKD3D_DATA_UNUSED for STREAM registers.
vkd3d-shader/ir: Rename VKD3D_DATA_UNORM to VSIR_DATA_UNORM.
vkd3d-shader/ir: Rename VKD3D_DATA_SNORM to VSIR_DATA_SNORM.
vkd3d-shader/ir: Rename VKD3D_DATA_OPAQUE to VSIR_DATA_OPAQUE.
vkd3d-shader/ir: Rename VKD3D_DATA_MIXED to VSIR_DATA_MIXED.
vkd3d-shader/ir: Rename VKD3D_DATA_CONTINUED to VSIR_DATA_CONTINUED.
vkd3d-shader/ir: Rename VKD3D_DATA_UNUSED to VSIR_DATA_UNUSED.
vkd3d-shader/ir: Rename VKD3D_DATA_BOOL to VSIR_DATA_BOOL.
vkd3d-shader/ir: Explicitly initialise the "resource_data_type" field in vsir_instruction_init().
vkd3d-shader/spirv: Use spirv_compiler_error() to report unhandled sample_info flags.
vkd3d-shader/spirv: Use spirv_compiler_error() to report unhandled resinfo flags.
vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for sample_info_uint destination operands.
vkd3d-shader/ir: Consistently use VSIR_DATA_U32 for resinfo_uint destination operands.
vkd3d-shader/hlsl: Get rid of the "hlsl" argument to hlsl_compile_shader().
vkd3d-shader/tpf: Update the comment describing the data type mapping in init_sm4_lookup_tables().
vkd3d-shader/ir: Allow source operands of shift operations to have different data types.
vkd3d-shader/hlsl: Emit vsir from hlsl_emit_bytecode().
vkd3d-shader: Call vsir_program_scan() for d3d-asm targets in vsir_program_compile().
vkd3d-shader/spirv: Emit OpLine instructions.
demos/teapot: Add specular lighting.
vkd3d-shader/hlsl: Introduce hlsl_compile_effect().
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_emit_vsir().
vkd3d-shader/hlsl: Generate vsir signatures in hlsl_emit_vsir().
vkd3d-shader/spirv: Update the SPIR-V grammar JSON to the vulkan-sdk-1.4.313.0 release.
vkd3d-shader/ir: Free program parameters on failure in vsir_program_init() if needed.
include: Remove some redudant TAG_* definintions from vkd3d_shader_util.h.
vkd3d: Set the maximum viewport count in d3d12_pipeline_state_get_or_create_pipeline().
vkd3d-shader/ir: Use vsir_program_append() in vsir_program_ensure_ret().
tests/shader_runner: Parse hex blobs as a list of 32-bit integers.
tests: Strip reflection data from dxbc-tpf-hex shaders.
tests/d3d12: Check whether the d3d12 device supports geometry shaders.
tests/shader_runner_d3d12: Check whether the d3d12 device supports geometry shaders.
vkd3d-shader: Cleanup the vsir program on vsir_program_transform_early() failure in vsir_parse().
vkd3d-shader: Introduce struct vkd3d_shader_source_list.
vkd3d-shader/hlsl: Pass a vkd3d_shader_source_list pointer to hlsl_ctx_init().
vkd3d-shader/hlsl: Initialise the vsir program in hlsl_compile_shader().
vkd3d-shader/hlsl: Return a vsir program from hlsl_compile_shader().
vkd3d-shader/hlsl: Support HLSL sources in vkd3d_shader_scan().
vkd3d-shader/spirv: Avoid emitting duplicate built-in inputs in spirv_compiler_emit_input().
vkd3d-shader/d3d-asm: Resolve SSA values when outputting SM<6 assembly.
vkd3d-shader/glsl: Resolve SSA values.
vkd3d-shader: Document that vkd3d_shader_scan() supports HLSL sources.
Nikolay Sivov (45):
vkd3d-shader/fx: Handle nameless structure types.
vkd3d-shader/fx: Use the correct value range for bool initializers.
vkd3d-shader/fx: Use the correct field indices when writing structure default values.
vkd3d-shader/fx: Fix the total buffer size calculation in write_fx_4_buffer().
vkd3d-shader/fx: Fix writing fx_2_0 structure parameters.
vkd3d-shader/fx: Use variable unpacked size when setting buffer sizes.
vkd3d-shader/fx: Print explicit buffer bind points in fx -> d3d-asm output.
vkd3d-shader/fx: Print packoffset() modifiers in fx -> d3d-asm output.
vkd3d-shader/fx: Fix some typos in fx_2_0 state names.
vkd3d-shader/fx: Use correct array sizes for the fx_2_0 states.
vkd3d-shader/fx: Fix reading the assignment value base type when parsing fx_2_0.
vkd3d-shader/fx: Fix a crash in fx -> d3d-asm when named values are not defined.
vkd3d-shader/fx: Handle bool types when parsing fx_2_0 assignment values.
vkd3d-shader/fx: Add a few missing fxlc opcode names.
vkd3d-shader/fx: Do not print padding bytes of fx_2_0 strings.
vkd3d-shader/fx: Use a separate table for sampler states in fx_2_0.
vkd3d-shader/fx: Give fxlvm-specific constants a version-neutral name.
vkd3d-shader/fx: Use a version-neutral name for the opcode table.
vkd3d-shader/fx: Read instruction arguments in full before printing them.
vkd3d-shader/fx: Use more generic names for the literal constant array.
vkd3d-shader/fx: Add a helper to print literals.
vkd3d-shader/fx: Rename the constant argument helper to be version-neutral.
vkd3d-shader/fx: Parse array selector expressions for fx_2_0.
vkd3d-shader/fx: Remove the unused fx_4_fxlc_argument type.
vkd3d-shader/fx: Explicitly check all known state assignment types for fx_2_0.
vkd3d-shader/fx: Output value expressions for fx_2_0.
vkd3d-shader/fx: Output indirect register access in arguments.
vkd3d-shader/fx: Add the "noise" opcode name.
vkd3d-shader/fx: Add support for tx -> text output.
vkd3d-shader/d3dbc: Use the actual instruction length in d3dbc_write_instruction().
vkd3d-shader/hlsl: Add a stub for the noise() intrinsic.
vkd3d-shader/fx: Use a version-independent structure for states.
vkd3d-shader/fx: Use the same state data helpers for both fx_2_0 and fx_4+.
vkd3d-shader/fx: Move state decomposition to the fx_4_0-specific writing path.
vkd3d-shader/fx: Move entry count updates out of the state block writing helper.
vkd3d-shader/fx: Add a format-specific callback to write state assignments.
vkd3d-shader/fx: Fix the order of the "MaterialDiffuse" and "MaterialAmbient" state entries.
vkd3d-shader/fx: Improve register naming in the disassembly output.
vkd3d-shader/fx: Use the correct value range for bools in fx_4_0 state values.
vkd3d-shader/fx: Explicitly handle bool state values when parsing.
vkd3d-shader/ir: Handle TEXLDL instructions in vsir_program_lower_instructions().
vkd3d-shader/hlsl: Handle HLSL_RESOURCE_SAMPLE_LOD in sm1_generate_vsir_instr_resource_load().
vkd3d-shader/fx: Handle regular shader blobs when parsing the state data.
vkd3d-shader/fx: Do not attempt to parse expressions without code section.
vkd3d: Return success from d3d12_device_EnumerateMetaCommands().
Shaun Ren (19):
vkd3d-shader/tpf: Read the DCL_OUTPUT_SGV instruction.
vkd3d-shader/hlsl: Implement output semantics for geometry shaders.
tests: Test signature reflection for geometry shader outputs.
vkd3d-shader/hlsl: Fix the register string for patch arrays in debug_register().
vkd3d-shader/hlsl: Support void pass-through hull shader control point functions.
vkd3d-shader/hlsl: Emit dcl_stream instructions for SM5 geometry shaders.
vkd3d-shader/hlsl: Generate vsir instructions for indexed output streams in geometry shaders.
vkd3d-shader/hlsl: Store stream index in struct hlsl_semantic.
vkd3d-shader/hlsl: Don't optimize semantic register allocations in SM1.
vkd3d-shader/hlsl: Remove a leftover TODO message.
vkd3d-shader/hlsl: Only dump store writemasks for single register types.
vkd3d-shader/hlsl: Handle nodes with NULL data types in hlsl_replace_node().
vkd3d-shader/hlsl: Allow memory barriers in SM4+ target profiles.
vkd3d-shader/hlsl: Ignore the 'groupshared' modifier for non-compute shaders.
vkd3d-shader/hlsl: Allocate groupshared registers.
vkd3d-shader/hlsl: Emit dcl_tgsm_raw instructions for raw groupshared variables.
vkd3d-shader/hlsl: Support loads from groupshared variables.
vkd3d-shader/hlsl: Support stores to raw groupshared variables.
vkd3d-shader/hlsl: Support interlocked operations on non-indexed groupshared variables.
Victor Chiletto (4):
tests/hlsl: Add a few extra structured buffer matrix load + swizzle tests.
vkd3d-shader/hlsl: Parse SRV structured buffers.
vkd3d-shader/hlsl: Transform hlsl_ir_index into structured buffers into field specific hlsl_ir_resource_loads.
vkd3d-shader/hlsl: Split matrix copies from resource loads.
```
The Wine development release 10.13 is now available.
What's new in this release:
- Windows.Gaming.Input configuration tab in the Joystick Control Panel.
- ECDSA_P521 and ECDH_P521 algorithms in BCrypt.
- OpenGL WoW64 thunks are all generated.
- Still more support for Windows Runtime metadata in WIDL.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.13.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.13/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.13 (total 32):
- #21864 Default paper size A4 instead of my printers default
- #32334 Microsoft SQL Server Management Studio Express 2005: Connection window is too narrow
- #44066 mintty/msys2 doesn't work since wine 2.5.0 (named pipes)
- #50174 Microsoft Office 365 login page for activating Office is blank
- #52844 Multiple games stuck/crash with a black screen after/before intro (Call of Duty: Black Ops II, Nioh 2 - The Complete Edition)
- #54157 dir command of cmd fails on Z: on Ubuntu under WSL
- #56246 Regarding the color depth of BMP in the SavePicture method: the value is unstable.
- #56697 _kbhit ignores the last event in the queue
- #56754 Amazing Adventures 2 CD: bundled demo launchers fail to launch game
- #56883 DualSense bumpers registering as two buttons on wine 9.9 and later
- #57115 CEF sample application "Draggable" test fails
- #57116 Crash during codecs test on CEF sample application in 64-bit wineprefix (widevinecdm)
- #57130 CEF sample application WebGL test fails
- #57131 Info and profile buttons in CEF sample application instantly close
- #57458 FL Studio logo appears on the top left of the screen and with a black background
- #57648 Wrong Cursor on Wayland
- #57783 Approach will not run in a virgin 10.0 wineprefix
- #58122 WSAENOTSOCK error when calling winsock.Send() on duplicated socket
- #58389 Wrong path, app fails to start (regression): err:environ:init_peb starting L"\\\\?\\unix\\home\\user\\krita-x64-5.2.9-setup.exe
- #58393 FlexiPDFfails to run in wine-10.10
- #58396 virtual terminal captures mouse
- #58425 video/x-h264 alignment=au caps causes artifacts and crashes with streams that have NALUs split across buffers
- #58448 Metasequoia 3.1.6 OpenGL regression
- #58459 Doom 3: BFG Edition fails to start
- #58477 Some VST plugins fail
- #58488 Bejeweled 3: black screen on start
- #58493 Gothic and Gothic II crash with Access Violation
- #58497 Strings are a confusing mix of US and British English
- #58500 64-bit "Plain Vanilla Compiling" fails
- #58528 CRYPT_AcquirePrivateKeyFromProvInfo does not check machine store for private key
- #58549 Call of Duty: Black Ops II has no sound
- #58571 On NetBSD, the case-insensitive mechanism for filenames appears to be broken
### Changes since 10.12:
```
Adam Markowski (2):
po: Update Polish translation.
po: Update Polish translation.
Akihiro Sagawa (1):
ntdll: Remove redundant fusefs detection for NetBSD.
Alexandre Julliard (39):
winebrowser: Use wine_get_unix_file_name() instead of wine_nt_to_unix_file_name().
makefiles: Don't try to install symlinks for programs if not supported.
ntdll: Share more filename string constants.
ntdll: Move the helper to build NT pathnames to file.c.
ntdll: Add a ntdll_get_unix_file_name() helper.
win32u: Use the ntdll_get_unix_file_name() helper.
winemac.drv: Use the ntdll_get_unix_file_name() helper.
winex11.drv: Use the ntdll_get_unix_file_name() helper.
winspool: Use the ntdll_get_unix_file_name() helper.
mountmgr: Perform the filename conversion to the Unix side when setting shell folders.
mountmgr: Perform the filename conversion to the Unix side when querying shell folders.
ntdll: Add a private info class in NtQueryInformationFile() to return the Unix file name.
kernel32: Reimplement wine_get_unix_file_name() using WineFileUnixNameInformation.
kernel32: Remove leftover debug traces.
ntdll: Get rid of the wine_nt_to_unix_file_name syscall.
ntdll: Remove some commented stubs that no longer exist in recent Windows.
ntdll: Add NtAccessCheckByTypeAndAuditAlarm() and NtCloseObjectAuditAlarm() stubs.
ntdll: Add more LPC stubs.
kernel32/tests: Fix a couple of test failures.
winebuild: Unify the get_stub_name() and get_link_name() helpers.
winebuild: Support -syscall flag for stubs.
ntdll: Add stubs for some syscalls that need explicit ids.
kernel32/tests: Fix some test failures on Windows.
msvcrt: Remove __GNUC__ checks.
vcomp: Remove __GNUC__ checks.
krnl386: Remove __i386__ checks.
mmsystem: Remove __i386__ checks.
system.drv: Remove __i386__ checks.
win87em: Remove __i386__ checks.
ntdll: Remove trailing backslashes from NT names.
kernelbase: Get the CPU count from SYSTEM_CPU_INFORMATION.
light.msstyles: Update generated bitmaps.
joy.cpl: Use aligned double type to avoid compiler warnings.
server: Add a helper to check if a thread is suspended.
wbemprox: Get the CPU count from the PEB.
taskmgr: Get the CPU count from the PEB.
ntdll/tests: Get the CPU count from the PEB.
kernel32/tests: Get the CPU count from the PEB.
cmd/tests: Fix cleanup of created files.
Alfred Agrell (2):
dsound/tests: Add tests for IDirectSoundBuffer_Lock.
dsound: Improve IDirectSoundBufferImpl_Lock handling of invalid arguments.
Alistair Leslie-Hughes (7):
msado15: Support all Fields interfaces.
msado15: Support all Field interfaces.
msado15: Support all Connection interfaces.
msdasql/tests: Allow database tests to run as normal user.
msado15/tests: Check return value (Coverity).
msado15: Implement ADOConnectionConstruction15::get_DSO.
msado15/tests: Fixup error return values for the ConnectionPoint tests.
Ally Sommers (1):
ws2_32: Add afunix.h header.
Andrey Gusev (1):
wined3d: Add NVIDIA GeForce RTX 4060 Mobile.
Arkadiusz Hiler (2):
winebus: Add Logitech G920 mapping to the SDL backend.
winebus: Don't consider wheels / flight sticks as gamepads.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
cfgmgr32/tests: Load imports dynamically to allow execution on Windows 7.
Billy Laws (2):
ntdll/tests: Add THREAD_CREATE_FLAGS_BYPASS_PROCESS_FREEZE test.
ntdll: Support THREAD_CREATE_FLAGS_BYPASS_PROCESS_FREEZE flag.
Brendan McGrath (9):
mf/tests: Test when SAR requests a new sample.
mf/tests: Test sequence of calls during a Pause and Seek.
mf: Restart transforms and sinks on seek.
mf: Don't send MFT_MESSAGE_NOTIFY_START_OF_STREAM when seeking.
mfmediaengine: Don't perform implicit flush on state change.
mfmediaengine: Request sample if we are seeking.
mf/tests: Test H264 decoder when duration and time are zero.
mf/tests: Test WMV decoder when duration and time are zero.
winegstreamer: Correct duration if provided value is zero.
Brendan Shanks (6):
win32u: Remove Mac suitcase/resource-fork font support.
xinput1_3: Correctly handle a NULL GUID parameter in XInputGetDSoundAudioDeviceGuids().
xinput9_1_0: Implement by dynamically loading and calling xinput1_4.dll.
ntdll: Ensure %cs is correct in sigcontext on x86_64 macOS.
winevulkan: Enable VK_EXT_swapchain_maintenance1 when available.
win32u: Create Vulkan swapchains with VkSwapchainPresentScalingCreateInfoEXT when the surface will be scaled.
Connor McAdams (7):
d3dx9: Replace D3DFORMAT constants with enum d3dx_pixel_format_id constants.
d3dx9: Introduce d3dx_resource_type enumeration.
d3dx9: Introduce d3dx_image_file_format enumeration.
d3dx9: Move functions intended for code sharing into a separate source file.
d3dx9: Get rid of ID3DXBuffer usage in d3dx_helpers.
d3dx9: Don't include d3dx9 header in d3dx_helpers.
d3dx10: Use shared d3dx code in get_image_info when possible.
Conor McCarthy (3):
mfplat/tests: Add NV12 650 x 850 to image_size_tests.
mf/tests: Add a video processor NV12 test with a width alignment of 2.
winegstreamer: Do not pass a sample size to wg_transform_read_mf().
Csányi István (1):
winebus.sys: Fix DualSense BT quirk.
Daniel Lehman (4):
ucrtbase/tests: Move cexp tests from msvcr120.
ucrtbase: Add carg implementation.
ucrtbase: Add cargf implementation.
msvcp140_atomic_wait: Add __std_execution_* functions.
Dmitry Timoshkov (1):
windowscodecs: Propagate ::CopyPixels() return value.
Elizabeth Figura (18):
quartz/tests: Create separate IEnumPins instances.
qasf/tests: Test AllocateStreamingResources() error propagation.
mf/tests: Test IMediaObject::AllocateStreamingResources().
winegstreamer: Return S_OK from AllocateStreamingResources().
wined3d/glsl: Transpose the bump environment matrix.
Revert "wined3d/glsl: Transpose the bump environment matrix.".
d3d9/tests: Add comprehensive D3DTSS_TEXTURETRANSFORMFLAGS tests.
wined3d: Handle all invalid values in compute_texture_matrix().
wined3d: Pass the attribute coordinate count to get_texture_matrix().
wined3d: Pass 3 as the attribute count for generated texcoords.
wined3d: Alter the texture matrix even for non-projected textures.
wined3d: Copy the projective divisor in the FFP vertex pipeline.
wined3d: Initialize all remaining FFP texture coordinates to zero.
wined3d: Always divide 1.x projected textures by W for shaders.
wined3d: Always divide 1.x projected textures by W in the FFP.
dxcore: Reset the factory object on destruction.
dxcore: Separate a dxcore_adapter_create() helper.
maintainers: Add dxcore to the D3D section.
Eric Pouech (7):
winedump: Fix crash while dumping CLR blobs.
cmd/tests: Add a couple of tests about return code propagation.
cmd: Fix exit code when run with /C command line option.
cmd: Factorize some code.
cmd: Use a context when handling input from command line (/c, /k).
cmd: Separate command file handling from external commands.
cmd: Fix exit code in cmd /c when leaving nested command files.
Esme Povirk (9):
comctl32/tests: Add general tests for OBJID_QUERYCLASSNAMEIDX.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for Animate controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for hotkey controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for listviews.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for tooltips.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for trackbar controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for treeviews.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for updown controls.
comctl32/tests: Remove individual OBJID_QUERYCLASSNAMEIDX tests.
Gabriel Ivăncescu (40):
mshtml: Use HasAttribute instead of GetAttributeNode when checking if specified attribute.
mshtml: Clone name properly from attached attribute nodes.
mshtml: Use a BSTR to store the detached attribute's name.
mshtml: Use a helper function to find an attribute in the collection's list.
mshtml: Detach attribute nodes when removing the attribute from the element.
mshtml: Implement 'specified' for detached attributes.
mshtml/tests: Add tests for more element prototype props.
mshtml/tests: Test frame and iframe element props.
mshtml: Only allow a specific set of builtin props as attributes for elements.
mshtml: Only allow a specific set of builtin props as attributes for button elements.
mshtml: Only allow a specific set of builtin props as attributes for form elements.
mshtml: Only allow a specific set of builtin props as attributes for frame elements.
mshtml: Only allow a specific set of builtin props as attributes for iframe elements.
mshtml: Only allow a specific set of builtin props as attributes for img elements.
mshtml: Only allow a specific set of builtin props as attributes for input elements.
mshtml: Only allow a specific set of builtin props as attributes for label elements.
mshtml: Only allow a specific set of builtin props as attributes for link elements.
mshtml: Only allow a specific set of builtin props as attributes for meta elements.
mshtml: Only allow a specific set of builtin props as attributes for object elements.
mshtml: Only allow a specific set of builtin props as attributes for option elements.
mshtml: Only allow a specific set of builtin props as attributes for script elements.
mshtml: Only allow a specific set of builtin props as attributes for select elements.
mshtml: Only allow a specific set of builtin props as attributes for style elements.
mshtml: Only allow a specific set of builtin props as attributes for table elements.
mshtml: Only allow a specific set of builtin props as attributes for table data cell elements.
mshtml: Only allow a specific set of builtin props as attributes for table row elements.
mshtml: Only allow a specific set of builtin props as attributes for text area elements.
mshtml: Handle NULL inputs in node's replaceChild.
mshtml: Handle NULL input in node's removeChild.
mshtml: Handle NULL input in node's appendChild.
mshtml: Handle NULL input in node's insertBefore.
mshtml/tests: Test IHTMLElement6::getAttributeNode in legacy modes.
mshtml/tests: Test mixing attribute nodes and collections across modes.
mshtml/tests: Test node hierarchy for attribute nodes in IE9+ modes.
mshtml/tests: Don't create global variable due to typo.
mshtml: Fix expando for IE9 attr nodes.
mshtml: Fix gecko element leak when retrieving ownerElement.
mshtml: Traverse the node on attribute nodes.
mshtml: Allow custom set attributes with same name as builtin methods in legacy modes.
mshtml: Fix 'expando' and 'specified' for attributes in legacy modes.
Giovanni Mascellani (10):
mmdevapi/tests: Check that incompatible formats are rejected by IsFormatSupported().
mmdevapi/tests: Remove workaround for Wine < 1.3.28.
mmdevapi/tests: Test rendering with floating point formats.
mmdevapi/tests: Test supported formats for capturing.
mmdevapi: Error out if the channel count or sampling rate doesn't match the mix format.
Revert "mmdevapi: Error out if the channel count or sampling rate doesn't match the mix format.".
mmdevapi/tests: Mark a wrong error code by IsFormatSupported() as todo.
mmdevapi/tests: Do not test QueryInterface() with a NULL output pointer.
winepulse.drv: Allow 32-bit PCM audio samples.
winecoreaudio.drv: Do not spam fixmes for unknown channels.
Hans Leidekker (20):
crypt32: Retry with CRYPT_MACHINE_KEYSET in CRYPT_AcquirePrivateKeyFromProvInfo().
windows.gaming.input: Turn put_Parameters() into a regular method.
widl: Truncate identifiers that exceed the 255 character limit.
widl: Check that retval parameters also have an out attribute.
widl: Check eventadd method parameters.
widl: Check eventremove method parameters.
widl: Check propget method parameters.
widl: Check propput method parameters.
include: Comment reference to undefined activation interface.
widl: Check activation method parameters.
widl: Check composition method parameters.
include: Add missing runtimeclass contract attributes.
widl: Require runtimeclass contract or version attribute.
widl: Use a structure for the version attribute.
widl: Fix version attribute value.
widl: Skip array size parameters.
widl: Fix encoding of array parameters.
widl: Only use 32-bit integers in row structures.
widl: Add an implicit apicontract attribute.
widl: Always store member references in attributes.
Haoyang Chen (2):
explorer: Ignore command line character case.
explorer: Allow /n to be followed by other arguments.
Henri Verbeet (1):
wined3d: Add GPU information for AMD NAVI44.
Huw D. M. Davies (1):
winemac: Define missing status variable.
Jacek Caban (78):
krnl386: Remove __GNUC__ check.
ntdll: Remove __GNUC__ checks.
ntdll/tests: Remove __GNUC__ checks.
ntoskrnl: Remove __GNUC__ check.
oleaut32: Remove __GNUC__ check.
advapi32: Initialize temp variable in test_incorrect_api_usage.
crypt32/tests: Use dummySubject in CryptSIPLoad invalid parameter test.
kernel32/tests: Initialize stackvar in test_IsBadReadPtr test.
ole32/tests: Initialize rect in OleDraw invalid parameter test.
shlwapi/tests: Initialize cookie before passing it to add_call.
webservices/tests: Use valid url for WsEncodeUrl invalid argument tests.
d3dx9/tests: Fix identity_matrix initialization.
d3dx10/tests: Initialize data in test_D3DX10CreateAsyncMemoryLoader.
d3dx11/tests: Initialize data in test_D3DX11CreateAsyncMemoryLoader.
uxtheme/tests: Initialize rect in test_DrawThemeEdge.
ntoskrnl/tests: Use initialized client dispatch in WskSocket call.
quartz/tests: Initialize mt in test_connect_direct.
d3d10core/tests: Initialize box in test_copy_subresource_region.
d3d11/tests: Initialize box in test_copy_subresource_region.
msvcp60/tests: Don't use const pointers for thiscall thunks.
msvcp90/tests: Don't use const pointers for thiscall thunks.
msvcr90/tests: Initialize key value in test_bsearch_s.
include: Add _callnewh declaration.
user32/tests: Use switch statement in test_keyboard_layout.
opengl32: Move manual wow64 thunks declarations to generated header.
opengl32: Move thunks declarations to generated header.
opengl32: Use generated header for all thunk declarations.
opengl32: Use generated header wrapper declarations.
include: Add IHTMLAttributeCollection4 declaration.
mshtml: Add IHTMLAttributeCollection4 stub implementation.
opengl32: Move static keyword logic to generate_unix_thunk.
opengl32: Use generate_unix_thunk for wow64 wgl thunks.
opengl32: Use generate_unix_thunk for wow64 gl thunks.
opengl32: Use generate_unix_thunk for wow64 ext thunks.
opengl32: Remove no longer used get_func_args arguments.
mshtml: Add create_node fallback to cloneNode.
mshtml: Add DOM attribute node implementation.
mshtml: Implement HTMLAttributeCollection4::get_length.
mshtml: Implement IHTMLAttributeCollection4::item.
mshtml: Implement IHTMLAttributeCollection4::getNamedItem.
mshtml: Properly expose Attr and NamedNodeMap properties.
mshtml/tests: Add more attribute nodes tests.
opengl32: Use generated wow64 thunk for wglMakeCurrent.
opengl32: Use generated wow64 thunk for wglMakeContextCurrentARB.
opengl32: Use generated wow64 thunk for wglDeleteContext.
opengl32: Use manual_win_functions for wglGetCurrentReadDCARB.
opengl32: Avoid unneeded wrapper return type casts.
opengl32: Use generated wow64 thunk for wglCreateContext.
opengl32: Use generated wow64 thunk for wglCreateContextAttribsARB.
opengl32: Don't generate wrapper declarations for functions implemented on PE side.
opengl32: Introduce wow64 wrappers and use it for glClientWaitSync implementation.
opengl32: Use wow64 wrapper for glFenceSync implementation.
opengl32: Use wow64 wrapper for glDeleteSync implementation.
opengl32: Use wow64 wrapper for glGetSynciv implementation.
opengl32: Use wow64 wrapper for glIsSync implementation.
opengl32: Use wow64 wrapper for glWaitSync implementation.
opengl32: Factor out return_wow64_string.
opengl32: Use generated thunk for glGetString.
opengl32: Use generated thunk for glGetStringi.
opengl32: Use generated thunk for wglGetExtensionsStringARB.
opengl32: Use generated thunk for wglGetExtensionsStringEXT.
opengl32: Use generated thunk for wglQueryCurrentRendererStringWINE.
opengl32: Use generated thunk for wglQueryRendererStringWINE.
opengl32: Improve whitespaces in wrapper declarations.
opengl32: Use extra unix call argument to pass client buffer from glUnmapBuffer.
opengl32: Use extra unix call argument to pass client buffer from glUnmapNamedBuffer.
opengl32: Use wow64 wrappers for glMapBuffer and glMapBufferARB implementations.
opengl32: Use wow64 wrappers for glMapBufferRange.
opengl32: Use wow64 wrappers for glMapNamedBuffer and glMapNamedBufferEXT.
opengl32: Use wow64 wrappers for glMapNamedBufferRange and glMapNamedBufferRangeEXT.
opengl32: Use wow64 wrappers for glGetBufferPointerv and glGetBufferPointervARB.
opengl32: Use wow64 wrappers for glGetNamedBufferPointerv and glGetNamedBufferPointervEXT.
opengl32: Pass array arguments as pointers in unix calls.
opengl32: Use generated thunk for glPathGlyphIndexRangeNV.
opengl32: Pass type as a string to get_wow64_arg_type.
opengl32: Use generated thunk for wglCreatePbufferARB.
opengl32: Use generated thunk for wglGetPbufferDCARB.
opengl32: Use generated thunk for wglGetProcAddress.
Jacob Czekalla (5):
hhctrl.ocx: Add a search button to the search tab.
hhctrl.ocx: Selection of treeview items in the content tab should reflect web browser page.
mshtml/tests: Add call stacking to htmldoc test framework.
mshtml/tests: Add iframe event tests in htmldoc.c.
mshtml: Fire BeforeNavigate2 for documents in async_open.
Jake Coppinger (1):
ntdll: Add a stub for RtlQueryProcessHeapInformation().
Jan Sikorski (1):
maintainers: Remove myself as d3d maintainer.
Joe Souza (1):
conhost: Implement F1 and F3 support for history retrieval.
Kareem Aladli (4):
kernelbase: Implement VirtualProtectFromApp.
kernelbase/tests: Add tests for VirtualProtectFromApp.
ntdll: Set old_prot to PAGE_NOACCESS in NtProtectVirtualMemory() if the range is not mapped or committed.
ntdll/tests: Add tests for NtProtectVirtualMemory().
Ken Sharp (3):
configure: Do not hardcode "gcc" in message.
po: Standardise source strings to English (United States).
po: Update English (Default) resource.
Maotong Zhang (2):
comdlg32/tests: Fix file type combo box selection in file dialogs.
comdlg32: Display filter specs in itemdlg File Type combo box.
Marc-Aurel Zent (2):
ntdll: Implement ThreadPriorityBoost class in NtQueryInformationThread.
ntdll: Implement ThreadPriorityBoost class in NtSetInformationThread.
Michael Stefaniuc (8):
dmcompos: Return E_NOTIMPL from the stub SignPost track Clone() method.
dmcompos/tests: Fix the expected value in an ok() message.
dmcompos: Simplify the DMChordMap IPersistStream_Load() method.
include: Tag the DMUS_IO_* structs that changed between DX versions.
dmstyle: Handle DX7 versions of 'note' and 'crve' chunks.
dmusic: Don't open code debugstr_chunk in dmobject.c.
dmusic: Add a helper to deal with different versions / sizes of a chunk.
dmstyle: Support loading the DX7 version of the Style form.
Michael Stopa (2):
kernel32/tests: SetFileInfo should accept FileRenameInfoEx.
kernelbase: Pass FileRenameInfoEx to NtSetInformationFile.
Mike Kozelkov (2):
urlmon: Add PersistentZoneIdentifier semi-stubs.
urlmon/tests: Add PersistentZoneIdentifier test cases.
Mohamad Al-Jaf (5):
include: Add windows.media.core.idl.
include: Add windows.media.mediaproperties.idl.
include: Add windows.media.transcoding.idl.
windows.media: Implement IActivationFactory::ActivateInstance() for IMediaTranscoder.
cryptowinrt: Implement ICryptographicBufferStatics::EncodeToBase64String().
Nikolay Sivov (33):
d3d9/tests: Fix use-after-free (ASan).
kernel32/tests: Fix double free of mutex handle.
d3dx10/tests: Add a test for effect compiler behavior.
windowscodecs/converter: Add 16bppGrayHalf -> 128bppRGBFloat conversion path.
windowscodecs/converter: Add 16bppGrayHalf -> 32bppBGRA conversion path.
windowscodecs/converter: Propagate source failure in 24bppBGR -> 128bppRGBAFloat conversion.
windowscodecs/converter: Propagate source failure in 32bppBGRA -> 128bppRGBAFloat conversion.
windowscodecs/converter: Propagate source failure in 48bppRGB -> 128bppRGBFloat conversion.
windowscodecs/converter: Propagate source failure in 96bppRGBFloat -> 128bppRGBFloat conversion.
windowscodecs/converter: Propagate source failure in 48bppRGBHalf -> 128bppRGBFloat conversion.
d3d11: Make sure that index buffer is set for indexed draws.
d3d11: Make sure that index buffer is set for instanced indexed draws.
wined3d: Fix reference_graphics_pipeline_resources() argument type to match callers.
d3d12/tests: Add a test for creating a device from dxcore adapters.
d2d1: Implement mesh population methods.
d2d1: Add a stub for geometry realization object.
d2d1: Add initial implementation of CopyFromRenderTarget().
d2d1: Improve bitmap methods traces.
d2d1: Implement ComputeArea() for rectangles.
d2d1: Implement ComputeArea() for transformed geometries.
dxcore/tests: Add positive interface checks.
dxcore/tests: Move GetProperty() tests to a separate function.
dxcore/tests: Add some tests for InstanceLuid property.
dxcore: Add support for InstanceLuid property.
dxcore: Fix property size check in GetProperty().
dxcore: Implement GetPropertySize().
dxcore/tests: Add some tests for IsHardware property.
dxcore: Return stub value for IsHardware property.
dxcore/tests: Add some GetAdapterByLuid() tests.
dxcore: Implement GetAdapterByLuid().
d3d12: Support creating devices using dxcore adapters.
dxcore: Add support for DriverDescription property.
dxcore: Add support for DriverVersion property.
Paul Gofman (17):
kernelbase: Duplicate GetOverlappedResult() implementation instead of calling GetOverlappedResultEx().
kernelbase: Always set last error in GetOverlappedResult[Ex]().
kernelbase: Wait in GetOverlappedResultEx() even if IOSB status is not pending.
d2d1: Implement D2D1ComputeMaximumScaleFactor().
opengl32: Map glCompressedTexImage2DARB to glCompressedTexImage2D if ARB_texture_compression is missing.
shell32: Add AccountPictures known folder.
nsiproxy.sys: Implement IP interface table.
iphlpapi: Implement GetIpInterfaceTable().
nsi/tests: Add tests for IP interface table.
iphlpapi: Implement GetIpInterfaceEntry().
bcrypt: Factor out len_from_bitlen() function.
bcrypt: Use bit length instead of key size in key_import_pair().
bcrypt: Handle importing ECDSA_P384 private blob.
bcrypt: Support ECDSA_P521 algorithm.
bcrypt/tests: Test ECDH_384 same way as ECDH_256.
bcrypt: Support ECDH_P521 algorithm.
bcrypt: Check output size early in key_asymmetric_encrypt() for RSA.
Piotr Caban (9):
msado15/tests: Test functions called in ADORecordsetConstruction_put_Rowset.
msado15/tests: Check recordset state in ADORecordsetConstruction tests.
msado15/tests: Don't check count before running ADORecordsetConstruction field tests.
msado15/tests: Add initial _Recordset_MoveNext tests.
msado15/tests: Add _Recordset_get_RecordCount test.
msado15/tests: Test IRowsetExactScroll interface in put_Rowset tests.
vccorlib140: Add stub dll.
vccorlib140: Add Platform::Details::InitializeData semi-stub.
combase: Fix initialization flags in RoInitialize.
Ratchanan Srirattanamet (1):
msi: Fix .NET assembly-related functionalities due to missed string copy.
Roman Pišl (2):
ole32/tests: Test that cursor is preserved in DoDragDrop.
ole32: Preserve cursor in DoDragDrop.
Rémi Bernon (56):
win32u: Only update the window GL drawable when making one current.
win32u: Move window drawable query out of DC drawable helpers.
win32u: Update DC OpenGL drawable when it is acquired.
winebus.sys: Prefer hidraw for all Virpil (VID 3344) devices.
win32u: Also flush the GL drawable if the client surface is offscreen.
win32u: Clear DC opengl drawable when releasing cached dce.
joy.cpl: Initialize size before calling RegGetValueW.
winebus: Use a single global structure for bus options.
winebus: Support per-device/vendor hidraw registry option.
windows.gaming.input: Forward get_NonRoamableId to Wine provider.
windows.gaming.input: Forward get_DisplayName to Wine provider.
joy.cpl: Use XInputGetStateEx to get guide button.
joy.cpl: Add a new windows.gaming.input test tab.
joy.cpl: List windows.gaming.input device interfaces.
joy.cpl: Read windows.gaming.input device interface state.
joy.cpl: Draw windows.gaming.input gamepad device.
joy.cpl: Draw windows.gaming.input raw game controller.
winemac: Create new client views with each VK/GL surface.
winemac: Use the new client surface views for GL rendering.
winemac: Get rid of now unnecessary child cocoa views.
winemac: Sync current context when drawable was updated.
win32u: Call opengl_drawable_flush even if drawables didn't change.
winebus: Better separate hidraw from evdev in udev_add_device.
winebus: Read evdev device info and feature bits on creation.
winebus: Fill device mapping before report descriptor creation.
winebus: Force the ordering of some common evdev gamepad buttons.
winedmo: Avoid seeking past the end of stream.
winedmo: Avoid reading past the end of stream.
winedmo: Use the stream context to cache stream chunks.
winedmo: Return container duration if no stream duration is found.
winedmo: Return an integer from wave_format_tag_from_codec_id.
winedmo: Seek to keyframes, using avformat_seek_file.
widl: Get the version attribute from the typelib.
winebus: Return error status if SDL is disabled.
winebus: Introduce a new set_abs_axis_value helper.
winebus: Emulate some gamepad buttons in the evdev backend.
winebus: Introduce a new hid_device_add_gamepad helper.
winebus: Use hid_device_add_gamepad in the evdev backend.
win32u: Move nulldrv pixel format array inline.
win32u: Allocate a global pixel formats array on the unix side.
win32u: Keep pbuffer internal context on the wgl_context struct.
win32u: Use eglGetConfigs rather than eglChooseConfig.
win32u: Use surfaceless EGL platform for nulldrv.
widl: Fix parsing of contract version.
widl: Fix ATTR_CONTRACTVERSION output in header files.
widl: Fix ATTR_CONTRACTVERSION in metadata files.
widl: Write deprecated version in metadata files.
windows.gaming.input: Only create Gamepad instances for XInput devices.
winebus: Improve gamepad report compatibility with XUSB / GIP.
windows.gaming.input: Use a generic dinput device data format.
winebus: Use a vendor specific usage for gamepad guide buttons.
winebus: Don't try to create rumble effect on device startup.
winebus: Create dedicated threads to write evdev haptics output reports.
win32u: Release the previous context drawables when changing contexts.
win32u: Flush the new drawables after successful make_current.
win32u: Notify the opengl drawables when they are (un)made current.
Shaun Ren (4):
sapi/stream: Remove the FIXME message for unknown ISpStream interfaces.
sapi/tests: Test resampler support in ISpVoice.
sapi/tts: Implement TTS engine audio output resampler.
sapi/tts: Support allow_format_changes in ISpVoice::SetOutput.
Thibault Payet (1):
server: Always use the thread Unix id in ptrace for FreeBSD.
Tim Clem (4):
wow64cpu: In Unix calls, always return the status from the non-Wow dispatcher.
winebus: Quiet a log message about ignored HID devices.
win32u: Fix an uninitialized variable warning.
win32u: Remove a log message in get_shared_window.
Tomasz Pakuła (1):
winebus: Do not touch autocenter on device init and device reset.
Vibhav Pant (55):
bluetoothapis: Fix resource leak in bluetooth_auth_wizard_ask_response.
include/ddk: Use the correct parameter types for ZwCreateEvent.
setupapi/tests: Add tests for built-in device properties.
ntoskrnl.exe/tests: Add tests for built-in properties for PnP device instances.
setupapi: Support built-in properties in SetupDiGetDevicePropertyW and CM_Get_DevNode_Property_ExW.
propsys/tests: Add conformance tests for getting PropertyDescriptions from PropertySystem.
propsys/tests: Add conformance tests for PSGetPropertyKeyFromName.
include: Add declaration for PSGetPropertySystem.
propsys: Add stubs for PropertySystem.
propsys: Add stubs for PSGetNameFromPropertyKey.
propsys/tests: Add conformance tests for PSGetNameFromPropertyKey.
propsys: Add IPropertyDescription stub for system defined properties.
propsys: Implement IPropertyDescription for several known system properties.
propsys/tests: Add some tests for PropVariantChangeType(VT_CLSID).
propsys: Implement PropVariantChangeType(VT_CLSID) for string types.
propsys/tests: Add test for PropVariantToGUID with VT_ARRAY | VT_UI1 values.
winebth.sys: Only set properties for radio devices after they have been started.
include: Add Windows.Foundation.Collections.PropertySet runtime class.
wintypes/tests: Add conformance tests for Windows.Foundation.Collections.PropertySet.
wintypes: Add stubs for Windows.Foundation.Collections.PropertySet.
wintypes: Add stubs for IObservableMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IMap<HSTRING, IInspectable *> to PropertySet.
wintypes: Add stubs for IIterable<IKeyValuePair<HSTRING, IInspectable *>> to PropertySet.
windows.devices.enumeration: Implement DeviceInformationStatics::FindAllAsync using DevGetObjects.
windows.devices.enumeration/tests: Add weak reference tests for DeviceWatcher.
windows.devices.enumeration: Implement IWeakReferenceSource for DeviceWatcher.
windows.devices.enumeration: Implement DeviceInformationStatics::DeviceWatcher using DevCreateObjectQuery.
cfgmgr32: Add stubs for DevGetObjectProperties(Ex).
cfgmgr32: Implement DevFreeObjectProperties.
cfgmgr32: Implement DevGetObjectProperties for device interfaces.
ntoskrnl.exe/tests: Add tests for device updates in DevCreateObjectQuery.
cfgmgr32: Implement device updates for DevCreateObjectQuery.
widl: Fix crash while replacing type parameters for arrays.
cfgmgr32: Fix crash when CM_Register_Notification is called with a NULL filter.
cfgmgr32: Add stub for DevFindProperty.
cfgmgr32: Implement DevFindProperty.
cfgmgr32/tests: Add some tests for calling DevGetObjects with filters.
cfgmgr32: Validate DEVPROP_FILTER_EXPRESSION values passed to Dev{GetObjects, CreateObjectQueryEx}.
cfgmgr32: Implement support for basic filter expressions in DevGetObjects.
vccorlib140: Add stub for GetActivationFactoryByPCWSTR.
vccorlib140: Implement GetActivationFactoryByPCWSTR.
vccorlib140: Add stub for GetIidsFn.
vccorlib140: Implement GetIidsFn.
include: Add windows.devices.bluetooth.advertisement.idl.
windows.devices.bluetooth/tests: Add tests for IBluetoothLEAdvertisementWatcher.
windows.devices.bluetooth: Add stubs for BluetoothLEAdvertisementWatcher.
windows.devices.bluetooth: Implement BluetoothLEAdvertisementWatcher::get_{Min, Max}SamplingInterval.
windows.devices.bluetooth: Implement BluetoothLEAdvertisementWatcher::get_{Min, Max}OutOfRangeTimeout.
winebth.sys: Remove GATT service entries when they are removed from the Unix Bluetooth service.
winebth.sys: Enumerate and store GATT characteristics for each LE device.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_CHARACTERISTICS.
winebth.sys: Remove GATT characteristic entries when they are removed from the Unix Bluetooth service.
bluetoothapis: Implement BluetoothGATTGetCharacteristics.
bluetoothapis/tests: Implement tests for BluetoothGATTGetCharacteristics.
winebth.sys: Set additional properties for remote Bluetooth devices.
Yeshun Ye (2):
dsound: Check if 'cbPropData' for DSPROPERTY_Description1 is large enough.
dsound/tests: Add test for DSPROPERTY_DIRECTSOUNDDEVICE_DESCRIPTION_1.
Yongjie Yao (1):
wbemprox: Add Status property in Win32_DesktopMonitor.
Yuxuan Shui (10):
ntdll/tests: Check the context of a user callback.
ntdll: Also restore rbp before calling user mode callback.
cmd: Fix out-of-bound access when handling tilde modifiers.
d2d1: Fix out-of-bound array access.
cfgmgr32: Fix double-free of property buffers.
server: Fix use-after-free in screen_buffer_destroy.
urlmon/tests: Fix test_PersistentZoneIdentifier freeing the wrong thing.
urlmon/tests: Fix out-of-bound write into tmp_dir.
ntdll: Fix inconsistency in LFH block size calculation during realloc.
rpcrt4: Don't read past the end of params in client_do_args.
Zhao Yi (1):
wined3d: Return error code when Vulkan swapchain creation fails.
Zhiyi Zhang (23):
user32/tests: Test WM_PRINT with an invisible parent.
win32u: Allow PRF_CHILDREN to paint even though child windows have an invisible parent.
include: Add windows.ui.windowmanagement.idl.
include: Add Windows.UI.ViewManagement.ApplicationView runtime class.
twinapi.appcore: Register some Windows.UI.ViewManagement.ApplicationView runtime classes.
twinapi.appcore: Register Windows.UI.ViewManagement.UIViewSettings runtime classes.
twinapi.appcore/tests: Add Windows.UI.ViewManagement.ApplicationView runtime class tests.
twinapi.appcore: Add Windows.UI.ViewManagement.ApplicationView runtime class stub.
include: Add AccessibilitySettings runtime class.
windows.ui/tests: Add IAccessibilitySettings tests.
windows.ui: Add IAccessibilitySettings stub.
windows.ui: Implement accessibilitysettings_get_HighContrast().
dwrite/tests: Add IDWriteFontDownloadQueue tests.
dwrite: Implement dwritefactory3_GetFontDownloadQueue().
d3d11: Return S_OK for d3d11_device_RegisterDeviceRemovedEvent().
light.msstyles: Make toolbar button background transparent at the center.
winemac.drv: Use a window level higher than kCGDockWindowLevel for WS_EX_TOPMOST windows.
windows.globalization/tests: Add IApplicationLanguagesStatics tests.
windows.globalization: Add IApplicationLanguagesStatics stub.
windows.globalization/tests: Add ILanguage2 tests.
windows.globalization: Implement ILanguage2.
windows.applicationmodel/tests: Add Windows.ApplicationModel.DesignMode tests.
windows.applicationmodel: Add Windows.ApplicationModel.DesignMode runtime class stub.
Ziqing Hui (10):
fonts: Make numbers bold for WineTahomaBold.
comctl32/tests: Check RGB value in test_alpha.
comctl32/tests: Test image bitmap bits in test_alpha.
comctl32/tests: Test adding 32bpp images with alpha to 24bpp image list.
comctl32/tests: Use winetest_{push,pop}_context in test_alpha.
comctl32/tests: Test image flags in test_alpha.
comctl32/tests: Also test v5 with test_alpha().
fonts: Make special ASCII characters bold for WineTahomaBold.
fonts: Make uppercase ASCII letters bold for WineTahomaBold.
fonts: Make lowercase ASCII letters bold for WineTahomaBold.
```
The Wine development release 10.12 is now available.
What's new in this release:
- Optional EGL backend in the X11 driver.
- Support for Bluetooth Low Energy services.
- More support for generating Windows Runtime metadata in WIDL.
- ARM64 builds enabled in Gitlab CI.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.12.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.12/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.12 (total 17):
- #19561 Very large memory leak when doing overlapped reads
- #38337 clang compiling warnings
- #42882 HDX server software: rs232 port access not working
- #52720 Speed up cmd.exe:batch in Wine
- #55776 Some game use video as intro will stock after video is finished
- #57204 after enable winedmo, Little Witch Nobeta video wont play anymore
- #57244 Train capacity 300% 2 will crash after enable the winedmo
- #57489 GetPointerPenInfo not located in USER32.dll when attempting to run Clip Studio Paint 3.0
- #57790 FindVUK doesn't show drive details
- #58263 Wine Internet Settings crashes on unimplemented function shdocvw.dll.ParseURLFromOutsideSourceW
- #58422 Soldier of Fortune II crashes on start
- #58423 Flickering in games using dxvk/vkd3d-proton on sway
- #58429 Betfair Poker setup never gets past the splash screen
- #58435 winepath -w conversion outputs wrong filenames
- #58436 x11, kotor keeps minimizing
- #58437 Total Commander 11.55 complains "Access denied" for EVERY file >= 1 MB in "Compare files by content"
- #58475 Wine Mono corlib tests cause wineserver to assert
### Changes since 10.11:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (1):
po: Update Japanese translation.
Alex Henrie (3):
ntdll: Don't skip synchronous read when serial read timeout is infinite.
inetcpl: Restore parse_url_from_outside implementation.
ntdll: Detect the optical disc type on Linux using a SCSI command.
Alexandre Julliard (16):
server: Always use the thread Unix id in ptrace().
rpcrt4: Silence compiler warnings about pointer wraparound.
gitlab: Build an arm64 image.
ntdll: Remove duplicate backslashes in get_unix_full_path().
winevulkan: Skip a couple of unneeded conversion functions.
gitlab: Add an ARM64 build.
faudio: Import upstream release 25.07.
gitlab: Update sarif-converter URL.
ntdll: Get rid of the wine_unix_to_nt_file_name syscall.
ntdll: Unify the Unix to NT path conversion helpers.
gitlab: Add a daily test run for new wow64 mode.
winetest: Use compiler macros to generate the compiler version info.
winex11: Disable more wintab code when support is missing.
oleaut32: Use DOUBLE type where appropriate to match the PSDK.
include: Use aligned int64 types where possible.
setupapi/tests: Don't test an uninitialized value.
Alexandros Frantzis (2):
winewayland: Use system cursor shapes when possible.
winewayland: Support layered windows with per-pixel alpha.
Alfred Agrell (1):
include: Enable __uuidof(IUnknown).
Alistair Leslie-Hughes (2):
shell32: Avoid closing a handle twice.
msado15: Implement _Connection::get_version.
Anton Baskanov (1):
quartz: Decommit the allocator before entering the streaming CS in AVIDec.
Arkadiusz Hiler (1):
cfgmgr32: Preserve registry casing when getting device interface list.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
dxcore/tests: Skip tests when there is no display available.
Brendan McGrath (3):
winegstreamer: Remove 'au' alignment for h264.
winegstreamer: Signal eos on disconnect.
winegstreamer: Don't hold lock during wg_parser_stream_get_buffer.
Connor McAdams (2):
d3dx9: Replace txc_fetch_dxtn with bcdec.
d3dx9: Replace txc_compress_dxtn with stb_dxt.
Daniel Lehman (3):
ucrtbase/tests: Add tests for expf.
ucrtbase/tests: Move exp tests from msvcr120.
include: Add _wcstod_l declaration.
Dmitry Timoshkov (1):
ntdll: Initialization of XState features should not depend on AVX support.
Elizabeth Figura (5):
kernel32/tests: Test opening a directory with ReOpenFile().
kernelbase: Use FILE_NON_DIRECTORY_FILE in ReOpenFile().
ntdll/tests: Add comprehensive reparse point tests.
kernel32/tests: Test CreateSymbolicLink().
xaudio2: Do not register classes from xapofx or x3daudio dlls.
Eric Pouech (7):
cmd: Introduce struct batch_file to hold information about a .cmd file.
cmd: Add a cache for the labels lookup.
cmd/tests: Add tests about .cmd file alteration while executing it.
widl: Fix segfault when inheriting from an incomplete interface.
widl: Remove unneeded condition.
widl: Ensure inherited interface is declared before using it.
include: Remove duplicated declarations in .idl files.
Esme Povirk (3):
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for status controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for toolbars.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for progress bars.
Gabriel Ivăncescu (4):
mshtml: Clear the document before opening it for writing.
mshtml: Implement document.linkColor.
mshtml: Implement document.vLinkColor.
mshtml: Don't add HTMLDOMNode props to the NodeList.
Hans Leidekker (16):
widl: Add rows for the static attribute.
widl: Add TYPE_ATTR_ABSTRACT flag if a runtime class has no member interfaces.
widl: Add rows for the default attribute.
widl: Add rows for the activatable attribute.
widl: Add rows for the threading attribute.
widl: Add rows for the marshalingbehavior attribute.
widl: Relax check on runtimeclass definitions.
widl: Store a variable pointer instead of a declaration in expressions.
widl: Store the runtimeclass for constructor interfaces.
widl: Factor out an add_member_interfaces() helper.
widl: Add rows for static interfaces.
widl: Include version in activatable attribute value.
widl: Add rows for activation interfaces.
widl: Add rows for the composable attribute.
widl: Add rows for composition interfaces.
widl: Skip writing metadata if winrt_mode is not set.
Huw D. M. Davies (1):
kernel32: Use the correct buffer length.
Jacek Caban (8):
webservices: Don't assume that enum is unsigned in WsInitializeMessage.
dmime/tests: Use ceil instead of round.
configure: Build PEs with -ffp-exception-behavior=maytrap.
d3dcompiler: Don't assume that enum is unsigned in d3dcompiler_get_blob_part.
d3dcompiler: Handle all D3D_BLOB_PART values in d3dcompiler_get_blob_part validation.
d3dcompiler: Use __WINE_CRT_PRINTF_ATTR.
wined3d: Use __WINE_CRT_PRINTF_ATTR.
widl: Rename metadata stream type enum values to avoid conflict with Cygwin limits.h.
Joe Souza (3):
cmd: COPY should output file names as they are copied.
cmd/tests: Add tests to verify COPY command output.
cmd: Allow '+' as delimiter for tab-completion, e.g. 'copy file+file2'.
Mike Kozelkov (1):
urlmon: Add PersistentZoneIdentifier COM object stubs.
Nikolay Sivov (2):
kernel32: Add a stub for CreateBoundaryDescriptorA().
include: Remove duplicated CreateBoundaryDescriptorW() definition.
Owen Rudge (1):
mshtml: Implement document.aLinkColor.
Paul Gofman (5):
user32/tests: Add tests for STARTF_USESHOWWINDOW.
win32u: Respect STARTF_USESHOWWINDOW in show_window().
winepulse.drv: Avoid hangs on exit when pulse main loop thread gets killed.
winebus.sys: Check for udev_device_get_subsystem() error in udev_add_device().
winebus.sys: Close fd if device is not handled in udev_add_device().
Ryan Houdek (1):
wineboot: Detect TSC frequency on Arm64.
Rémi Bernon (64):
winex11: Release the GL drawable on creation failure.
win32u: Keep window GL drawables in a global linked list.
win32u: Notify the drivers when GL drawables are detached.
win32u: Update opengl drawables with window state.
win32u: Update the window state in more places.
winewayland: Drop now unnecessary GL drawable tracking.
winex11: Remove now unnecessary drawable tracking.
winewayland: Remove unnecessary context config.
wineandroid: Remove unnecessary context config.
win32u: Move EGL context creation out of the drivers.
winewayland: Only detach/attach client surface if it is different.
opengl32: Do not filter legacy extensions.
opengl32: Add a helper to read OpenGL registry options.
opengl32: Add an EnabledExtensions registry option.
user32: Init class name outside of get_versioned_name.
user32: Move user32_module default out of get_class_info.
user32: Load class module in get_class_version.
user32: Move get_class_version out of get_class_info.
comctl32: Fix class name case in manifest.
user32: Always copy class names to a temporary buffer.
win32u: Add traces to wglGetExtensionsString*.
win32u: Add an EGLSurface pointer to opengl_drawable struct.
win32u: Move EGL make_current context function out of the drivers.
winex11: Remove now unnecessary x11drv_context structure.
winex11: Add an option to use the new EGL OpenGL backend.
winemac: Remove now unnecessary pbuffer tracking.
win32u: Avoid calling detach, flush or swap on pbuffer drawables.
win32u: Avoid releasing opengl drawable within drawables_lock.
win32u: Implement generic EGL driver pbuffer surface.
winewayland: Use a distinct wayland_pbuffer struct for pbuffers.
win32u: Remove now unnecessary opengl_drawable hdc member.
win32u: Remove VkResult from surface_presented functions.
win32u: Introduce a new client_surface struct for vulkan surfaces.
win32u: Keep client surfaces in a global list.
win32u: Update client surfaces when window state changes.
win32u: Present client surfaces through the vtable.
mf/session: Clarify internal states from session states separation.
mf/session: Move internal states to a separate command_state enum.
mf/session: Remove unnecessary SESSION_FLAG_PENDING_COMMAND flag.
mf/session: Replace SESSION_FLAG_FINALIZE_SINKS with dedicated states.
mf/session: Replace SESSION_FLAG_END_OF_PRESENTATION with dedicated states.
mf/session: Introduce a SESSION_FLAG_SOURCE_SHUTDOWN presentation flag.
mf/session: Simplify the media session shutdown event handling.
win32u: Fix incorrect length in font extension check.
winegstreamer: Force h264parse to output 'au' aligned byte-stream.
mp3dmod: Fix some media type leaks.
mp3dmod: Avoid uninitialized variable access.
winegstreamer: Fix some video decoder media type leaks.
mf/tests: Fix some leaks in transform tests.
mf/tests: Avoid leaking D3D resources through IMFTrackedSample.
mf/tests: Skip memory-hungry H264 encoder tests on 32bit.
mfplat/tests: Add more tests for event queue shutdown.
mfsrcsnk: Queue an event before shutting down the event queues.
winegstreamer: Queue an event before shutting down the event queues.
mf/session: Handle an optional MEError event from sources on shutdown.
winegstreamer: Remove now unnecessary IMFMediaShutdownNotify.
mf/session: Remove now unnecessary IMFMediaShutdownNotify.
include: Remove now unnecessary IMFMediaShutdownNotify interface.
winewayland: Clear the current client surface on vulkan detach.
winewayland: Merge the vulkan client surface with wayland_client_surface.
winex11: Move client surface code out of vulkan ifdef.
winex11: Create client surfaces for opengl drawables.
win32u: Replace opengl drawables tracking with client surfaces.
server: Keep owned mutex syncs alive until abandoned.
Shaun Ren (11):
sapi/tests: Copy SPVTEXTFRAG list into a contiguous array.
sapi/tests: Introduce simulate_output option in tts.
sapi/tests: Add some SSML tests in tts.
sapi/tts: Support XML-related flags in ISpVoice::Speak.
sapi/xml: Add a stub SSML parser.
sapi/xml: Parse the <speak> SSML root element.
sapi/xml: Implement add_sapi_text_fragement().
sapi/xml: Parse the <p> and <s> SSML elements.
sapi/xml: Parse the rate attribute in the SSML <prosody> element.
sapi/xml: Parse the volume attribute in the <prosody> SSML element.
sapi/xml: Parse the pitch attribute in the <prosody> SSML element.
Vibhav Pant (17):
include: Add devquerydef.h.
include: Add devfiltertypes.h.
include: Add devquery.h.
cfgmgr32/tests: Add tests for DevGetObjects.
cfgmgr32: Add a basic implementation for DevGetObjects(Ex) for device interface objects.
ntoskrnl.exe/tests: Add tests for Io{Get,Set}DeviceInterfacePropertyData.
ntoskrnl.exe: Implement IoGetDeviceInterfacePropertyData.
ntoskrnl.exe: Implement IoSetDeviceInterfacePropertyData.
cfgmgr32/tests: Add tests for fetching specific properties in DevGetObjects.
cfgmgr32: Stub DevCreateObjectQuery(Ex) functions.
cfgmgr32: Implement initial device enumeration for DevCreateObjectQuery.
cfgmgr32: Support fetching properties for device objects in Dev{GetObjects, CreateObjectQueryEx}.
winebth.sys: Create PDOs for remote Bluetooth devices.
winebth.sys: Store a list of GATT services discovered on LE devices.
winebth.sys: Implement IOCTL_WINEBTH_LE_DEVICE_GET_GATT_SERVICES.
bluetoothapis: Implement BluetoothGATTGetServices.
bluetoothapis/tests: Add tests for BluetoothGATTGetServices.
Yuxuan Shui (11):
mscoree/tests: Fix string lengths passed to RegSetKeyValueA.
msvcp90: Fix vector_base_v4 allocation sizes.
msvcp90: Fix calculation of segment addresses in vector.
msvcrt: Don't release io memory during process shutdown.
wined3d: Fix missing data/resource type bounds check.
dxgi/tests: Fix out-of-bound in test_cursor_clipping.
ddraw/tests: Release device after ddraw.
d3dx9/tests: Fix volume test boxes.
wined3d: Fix double-free when shader_set_function fails.
quartz/tests: Fix out-of-bound use of video_types in test_connect_pin.
dsound: Make sure to null-terminate strings for callbacks.
Zhiyi Zhang (10):
comctl32/listview: Test WM_PAINT with a subclassed header that paints without validating update regions.
comctl32/listview: Validate header region after painting it.
bcp47langs: Add GetFontFallbackLanguageList() stub.
gdiplus/tests: Test drawing indexed bitmaps with a palette that has alpha.
gdiplus: Fix drawing indexed bitmaps with a palette that has alpha.
gdiplus: Don't zero out allocated memory in GdipAlloc().
win32u: Limit the work area to the monitor rect.
user32/tests: Add some tests for DefWindowProc() WM_PRINT message handling.
win32u: Fix the return value for WM_PRINT handling in DefWindowProc().
win32u: Support PRF_CHILDREN when handling WM_PRINT for DefWindowProc().
Ziqing Hui (1):
shell32: Rework FO_MOVE operation for SHFileOperationW.
```
The Wine development release 10.11 is now available.
What's new in this release:
- Preparation work for NTSync support.
- More support for generating Windows Runtime metadata in WIDL.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.11.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.11/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.11 (total 25):
- #31212 Some VST instruments crash when reloaded in Mixcraft
- #37131 Clang Static Analyzer: Division by zero
- #42033 Fallout 3: Radio music not playing
- #50278 Diggles: The Myth of Fenris (GOG version) crashes on launch
- #50577 Saya no Uta: hangs on RtlpWaitForCriticalSection
- #55019 kernel32:process - Accents cause test_Environment() to fail on Windows
- #56086 C&C Generals Zero Hour has graphic errors in menu
- #56128 Genshin Impact: after changing to another window and back, input does not work anymore
- #56517 osu!: Does not launch since 9.3
- #57020 Anritsu Software Toolbox doesn't install properly
- #57656 CryptMsgGetParam() with CMSG_SIGNER_AUTH_ATTR_PARAM/CMSG_SIGNER_UNAUTH_ATTR_PARAM returns success with 0 buffer size
- #57802 WordPro's "view Settings" not saving properly
- #58321 Purple Place exits
- #58343 Multiple games have rendering errors after d0fd9e87c (Kathy Rain 2, Among Us, Green Hell)
- #58344 Magic The Gathering Arena: Black screen in wine-10.9
- #58345 Far File Manager 3 x86-64's product features during installation cannot be configured/are missing
- #58356 Doom I & II Enhanced (2019 re-release based on Unity engine) crashes after the intro videos
- #58363 Thief II crashes
- #58364 Pegasus Email draws incorrectly
- #58372 EZNEC pro2+ 7.0 runs, but calculations have errornous exponential values
- #58373 Bejeweled 3 runs but the screen is black
- #58381 "musl: Use __builtin_rint if available" breaks clang builds (except aarch64)
- #58384 Sid Meier's Civilization III becomes unresponsive
- #58402 Sid Meier's Civilization III: severe discoloration
- #58412 winedbg recursively forks until the memory is exhausted
### Changes since 10.10:
```
Alexandre Julliard (36):
winebuild: Refuse to do non-PE builds on platforms that don't support it.
winegcc: Refuse to do non-PE builds on platforms that don't support it.
ntdll: Use NtOpenFile to open nls files in the system directory.
ntdll: Use UNICODE_STRINGs in the main image loading helpers.
ntdll: Pass the full image NT path through the server startup information.
ntdll: Move resolving the initial image name to the get_full_path() helper.
ntdll: Add a helper to return both NT and Unix names to open a file.
ntdll: Make get_redirect() static.
ntdll: Try to build a proper NT name when opening files with \??\unix.
server: Return the NT file name in ObjectNameInformation for file objects.
winecrt0: Add a default implementation for DllGetVersion().
resources: Generate version strings from the corresponding version number.
mountmgr: Use the \\?\unix prefix to open device files.
appwiz.cpl: Store the registry key name in Unicode.
appwiz.cpl: Use GetFinalPathNameByHandleW to get the DOS path of the package to install.
user32: Add a macro to define the list of user callbacks.
mscoree: Use GetFinalPathNameByHandleW to get the DOS path of the Mono directory.
mshtml: Use GetFinalPathNameByHandleW to get the DOS path of the Gecko directory.
start: Use GetFinalPathNameByHandleW to get the DOS path of a Unix file.
kernelbase: Convert slashes in Unix paths in GetFinalPathNameByHandleW.
wineps.drv: Use \\?\unix paths to load the AFM files.
winemenubuilder: Use \\?\unix paths to load the link files.
kernel32: Reimplement conversion to DOS name using GetFinalPathNameByHandleW.
ntdll: Reimplement the RtlGetFullPathName_U Unix path heuristic using ObjectNameInformation.
ntdll: Restrict some Unixlib helpers to Wine internal usage.
ntdll: Add a private helper to retrieve a DOS file name.
ntdll: Return NT paths in the get build/data dir helpers.
ntdll: Fix get_core_id_regs_arm64() prototype for non-Linux platforms.
ntdll: Pass the Unix prot flags to the map_fixed_area() helper.
ntdll: Don't set VPROT_WRITEWATCH flag on pages when using kernel write watches.
win32u: Add a helper to convert file names to NT format consistently.
ntdll: Only reset the reported write watch range in NtGetWriteWatch.
ntdll: Correctly report execute faults on ARM64.
ntdll: Correctly report execute faults on ARM.
makefiles: Support specifying the PE architecture as "none".
makefiles: Fix program installation for Windows builds.
Bernhard Kölbl (1):
mfmediaengine: Enable XVP for playback topology.
Bernhard Übelacker (10):
msvcrt/tests: Add broken to new j modifier tests.
oleaut32: In VarFormat do not count '#' in exponent into fractional digits.
msi: Use LRESULT to store return value from CallWindowProcW.
winetest: Fail only if output_size exceeds the limit.
gitlab: Derive the windows tests from a common .wine-test-windows.
gitlab: Remove name containing CI environment variables in windows tests.
comctl32: Use LRESULT to store return value from CallWindowProcW.
comdlg32: Use LRESULT/INT_PTR to store return value from CallWindowProcA.
winetest: Use LRESULT to return value from CallWindowProcA.
gitlab: Remove other user controlled CI environment variables.
Bradan Fleming (1):
winemenubuilder: Quote Exec arguments in desktop entries.
Brendan McGrath (3):
mfmediaengine: Only forward the most recent seek time.
mfreadwrite/tests: Check DEFAULT_STRIDE is not always present.
mfreadwrite: Fix media type output when video processor is used.
Charlotte Pabst (9):
mf: Clear pending MFT stream requests when flushing.
Revert "mf: Release pending items when sample grabber is stopped.".
ntdll: Treat Rbp as CONTEXT_INTEGER register.
mf/tests: Rename test_source to test_stub_source.
mf/tests: Rename test_seek_source to test_source.
mf/tests: Move some functions.
mf/tests: Add tests for thinning.
mf: Don't forward thinning to clock.
mf: Handle thinning in media session.
Connor McAdams (4):
comctl32/tests: Add tests for iImage value for listview subitems.
comctl32/listview: Don't touch iImage value for subitems if LVS_EX_SUBITEMIMAGES is not set.
comctl32/tests: Add item state value tests for LVS_OWNERDATA controls.
comctl32/listview: Properly handle item state value for LVS_OWNERDATA controls.
Conor McCarthy (4):
rtworkq/tests: Test closing a timer or event handle after submission.
ntdll/tests: Test early closure of handles used for threadpool waits.
ntdll: Initialise waitable handles with NULL.
ntdll: Duplicate handles for thread pool waits.
Dylan Donnell (1):
kernelbase: Allocate a new buffer for the module name in LoadLibraryExA.
Elizabeth Figura (34):
qasf/tests: Test AllocateStreamingResources()/FreeStreamingResources() calls.
qasf/dmowrapper: Fail Pause() if there is no DMO.
qasf/dmowrapper: Call AllocateStreamingResources() and FreeStreamingResources().
qasf/dmowrapper: Handle a NULL output buffer in GetBufferAndLength().
ir50_32/tests: Add tests.
ir50_32/tests: Move compression and decompression tests from mf:transform.
ir50_32: Use case-insensitive comparison for the compression fourcc.
ir50_32: Do not handle a NULL input pointer in ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Return ICERR_OK from ICM_DECOMPRESS_END.
ir50_32: Suggest 24-bit RGB.
ir50_32: Do not validate biPlanes.
ir50_32: Explicitly fill the whole BITMAPINFOHEADER in ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Fix the return value of ICM_DECOMPRESS_GET_FORMAT.
ir50_32: Fix the error value for mismatching dimensions.
ir50_32: Support decoding to RGB565.
qasf/tests: Test dynamic format change on the DMO wrapper.
qasf/dmowrapper: Delay SetActualDataLength().
qasf/dmowrapper: Handle dynamic format change.
quartz/tests: Port test_source_allocator() to avidec.
quartz/avidec: Don't set the data length to 0.
quartz/tests: Test dynamic format change on the AVI decoder.
quartz: Add a copy_bitmap_header() helper.
quartz/avidec: Correctly calculate the BITMAPINFOHEADER size for BI_BITFIELDS.
quartz/avidec: Handle dynamic format change.
winegstreamer: Support the Indeo 5.0 format in DirectShow.
server: Use an event sync for thread objects.
server: Use an event sync for job objects.
server: Use an event sync for process objects.
server: Use an event sync for debug objects.
server: Use an event sync for device manager objects.
server: Use an event sync for completion port objects.
server: Use an event sync for timer objects.
server: Use an event sync for console objects.
server: Use an event sync for console server objects.
Esme Povirk (10):
gdiplus: Account for gdi32 clipping in GdipFillRegion.
gdiplus: Don't clip the HRGN passed to alpha_blend_pixels_hrgn.
comctl32: Implement MSAA events for updown controls.
gdiplus/tests: Region hit-testing is done in device coordinates.
gdiplus: Use graphics transform in GdipIsVisibleRegionPoint.
gdiplus: Do not create HRGN in GdipIsVisibleRegionPoint.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for list boxes.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for static controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for edit controls.
comctl32: Implement OBJID_QUERYCLASSNAMEIDX for combo boxes.
Hans Leidekker (19):
widl: Add rows for the delegate type.
widl: Handle NULL type name.
widl: Add rows for propget methods.
widl: Add rows for propput methods.
widl: Add rows for eventadd methods.
widl: Add rows for eventremove methods.
widl: Add rows for regular methods.
widl: Use a define for maximum name length.
widl: Add rows for the overload attribute.
widl: Add rows for the default_overload attribute.
widl: Add rows for the deprecated attribute.
widl: Correct element type for interface signature.
widl: Don't sort the property and event tables.
widl: Add a helper to build the method name.
widl: Add a helper to retrieve method attributes and flags.
widl: Store EventRegistrationToken reference in the real type.
widl: Add separate property rows for interfaces and classes.
widl: Add separate event rows for interfaces and classes.
widl: Add rows for the runtimeclass type.
Ignacy Kuchciński (4):
user32: Add GetPointerPenInfo stub.
user32: Add GetPointerDeviceProperties stub.
user32: Add GetPointerDeviceRects stub.
user32: Add GetRawPointerDeviceData stub.
Julius Bettin (1):
kernelbase: Implement HeapSummary.
Nikolay Sivov (9):
bluetoothapis: Fix typo in a format string (Coverity).
version/tests: Fix a typo (Coverity).
amstream/tests: Add a few return value checks (Coverity).
widl: Always use NdrClientCall2() for interpreted stubs.
widl: Do not write "const" modifiers for _PARAM_STRUCT fields.
mfmediaengine: Simplify state -> event mapping.
kernel32/tests: Use ViewShare value instead of a literal constant.
ntdll/tests: Add a test for automatically resizing a mapped disk file.
ntdll/tests: Tweak mapped file test to better match actual use case.
Paul Gofman (4):
avifil32/tests: Test creating AVI file with OF_CREATE but without access mode.
avifil32: Assume OF_WRITE for OF_CREATE in AVIFileOpenW().
avifil32: Fix dwLength counting for fixed size samples.
user32: Reserve more space in the kernel callback table.
Piotr Caban (10):
musl: Reimplement rint so it doesn't depend on floating point operations precision.
musl: Use __builtin_rint if available.
msvcrt: Use rint() from the bundled musl library.
msvcrt: Fix allocated buffer size in _getcwd.
include: Add errlup.idl.
musl: Don't use __builtin_rint in clang builds.
musl: Optimize rint when floating point operations use 53-bit precision.
msvcrt: Fix allocated buffer size in _getdcwd.
ucrtbase/tests: Cleanup temporary files in _sopen_s tests.
msvcrt: Support _SH_SECURE in _wsopen_dispatch().
Rémi Bernon (80):
winex11: Update GL drawable offscreen status instead of recreating.
winex11: Update every window GL drawable on resize / reparent.
winex11: Update drawable size and offscreen when presenting.
winex11: Drop pixmap-based child window workaround.
winex11: Rename context drawables to draw / read.
winex11: Remove unnecessary glx_pixel_format pointers.
winex11: Remove unnecessary hdc context member.
win32u: Introduce an opengl_drawable base struct.
win32u: Return an opengl_drawable from pbuffer_create.
wineandroid: Add a refcount to struct gl_drawable.
win32u: Add a refcount to struct opengl_drawable.
include: Add APP_LOCAL_DEVICE_ID definition.
opengl32: Hook and flush context on glClear.
winewayland: Update the drawable size on context_flush.
winex11: Use a separate drawable vtable for pbuffers.
win32u: Use the drawable vtable to destroy pbuffers.
win32u: Allocate GL drawables on behalf of the drivers.
winewayland: Switch client surfaces when presenting.
win32u: Keep a reference to the GL drawables in the windows.
win32u: Keep a reference to the pbuffer drawables in the DCs.
win32u: Track and update opengl drawables in the contexts.
wineandroid: Remove now unnecessary context sync.
winemac: Remove now unnecessary context sync.
winewayland: Remove now unnecessary context sync.
win32u: Avoid reading GL data past the end of the memory DC bitmap.
server: Move object grab/release out of (add|remove)_queue.
server: Add an operation to retrieve an object sync.
server: Redirect fd-based objects sync to the fd.
server: Introduce a new event sync object.
server: Use an event sync for fd objects.
user32/tests: Cleanup window class versioning tests.
user32/tests: Test window class versioned name with integer atom.
user32/tests: Test that window class atom cannot be changed.
win32u/tests: Test window class name with integer atom.
win32u: Use the right pointer when destroying window.
user32/tests: Call flush_event after SetForegroundWindow calls.
server: Use an event sync for thread apc objects.
server: Use an event sync for context objects.
server: Use an event sync for startup info objects.
ntdll/tests: Link atom functions directly.
ntdll/tests: Add more integral atom tests.
ntdll: Set returned atom to 0 when we should.
ntdll: Allow deleting integral atoms from tables.
user32: Clamp atom to MAXINTATOM in get_int_atom_value.
win32u: Clamp atom to MAXINTATOM in get_int_atom_value.
winemac: Drop the SkipSingleBufferFlushes option.
win32u: Use the drawable vtable for flush and swap.
win32u: Add a flags parameter to opengl_drawable flush.
win32u: Pass opengl_drawable pointers to make_current.
win32u: Use the DC opengl drawable for the memory DC surface.
win32u: Keep track of the most recent window GL drawable.
opengl32: Ignore RGB565 pixel formats with memory DCs.
server: Use an event sync for file lock objects.
server: Use an event sync for debug event objects.
server: Use a static array for atom table atoms.
server: Use a count instead of last atom index.
server: Forbid using string atom 0xc000.
server: Use a static array for atom table hash.
server: Keep computed atom hash in local variables.
server: Remove unused atom pinned member.
winex11: Avoid requesting CWStackMode alone with managed windows.
server: Use the console sync for screen buffers objects.
server: Use the console sync for console input objects.
server: Use the console sync for console output objects.
server: Get rid of the console signaled flag.
server: Create a global atom table on startup.
server: Remove now unnecessary global table checks.
server: Pass atom table parameter to atom functions.
server: Introduce a new get_user_atom_name request.
server: Introduce a new add_user_atom request.
server: Move some checks inside of mutex do_release.
server: Split mutex to a dedicated sync object.
server: Split semaphore to a dedicated sync object.
server: Use a flag to keep track of message queue waits.
server: Use a signaled flag for message queue sync.
win32u/tests: Test that window properties are global atoms.
user32: Implement GetClipboardFormatNameA with NtUserGetClipboardFormatName.
win32u: Implement NtUserGetClipboardFormatName using NtUserGetAtomName.
server: Create and use a user atom table for class names.
server: Initialize global and user tables with some atoms.
Santino Mazza (1):
winex11.drv: Add programmer dvorak layout.
Vibhav Pant (17):
include: Add definitions for IBluetoothDeviceId, BluetoothError.
include: Add windows.devices.bluetooth.genericattributeprofile.idl.
include: Add definitions for IBluetoothLEDevice.
include: Add definitions for IGattDeviceService2.
windows.devices.bluetooth/tests: Add tests for BluetoothLEDeviceStatics.
windows.devices.bluetooth: Add stubs for BluetoothLEDeviceStatics.
setupapi/tests: Add tests for SetupDi{Set,Get}DeviceInterfacePropertyW.
setupapi: Implement SetupDiSetDeviceInterfacePropertyW.
setupapi: Implement SetupDiGetDeviceInterfacePropertyW.
ntoskrnl.exe/tests: Add tests for SetupDiGetDeviceInterfacePropertyW with enabled interfaces.
setupapi/tests: Add tests for SetupDiGetDeviceInterfacePropertyKeys.
setupapi: Implement SetupDiGetDeviceInterfacePropertyKeys.
setupapi: Implement additional built-in properties in SetupDiGetDeviceInterfacePropertyW.
setupapi/tests: Add additional tests for device instance properties DEVPKEY_{DeviceInterface_ClassGuid, Device_InstanceId}.
cfgmgr32: Implement CM_Get_Device_Interface_PropertyW for all property keys.
cfgmgr32/tests: Add additional tests for CM_Get_Device_Interface_PropertyW.
setupapi: Return built-in property keys for device interfaces even when the Properties subkey for the interface doesn't exist.
William Horvath (1):
wow64win: Fix UNICODE_STRING thunking in wow64_NtUserRegisterWindowMessage.
Yuxuan Shui (23):
msvcirt/tests: Fix use-after-free in test_ifstream.
msvcirt/tests: Avoid out-of-bound access in test_strstreambuf.
mshtml: Fix misuse of IWinInetHttpInfo_QueryInfo.
shell32: Fix use-after-free in ShellView_WndProc.
shell32/tests: Add missing double null termination in shlfileop.
kernelbase: Handle short urls in UrlIsA.
uiautomationcore/tests: Fix missing terminators in some nav_seqs.
wintrust: Fix data length mix-up in asn decoder.
gdi32: Fix missing terminator element in Devanagari_consonants.
xcopy: Fix out-of-bound access when parsing arguments.
usp10/tests: Avoid out-of-bound use of glyphItems when nGlyphs mismatches.
rpcrt4/tests: Fix out-of-bound write in test_pointer_marshal.
wininet: Fix handling of empty strings in urlcache_hash_key.
wininet: Use BYTE instead of char for hash calculation.
crypt32: Fix missing size check in CSignedEncodeMsg_Open.
crypt32: Handle missing attributes in CDecodeSignedMsg_GetParam.
crypt32/tests: Add signed message CryptMsgGetParam tests with > 1 signers.
crypt32: Fix creating signed message with > 1 signers.
gdiplus/tests: Fix out-of-bound use of expected in ok_path_fudge.
hid/tests: Fix out-of-bound use of nodes in test_device_info.
crypt32: Don't release context in CSignedEncodeMsg_Open.
find/tests: Fix out-of-bound access to input in mangle_text.
kernelbase: Fix array underflow when checking for trailing spaces.
Zhiyi Zhang (10):
include: Fix dcomp.idl method name and order.
user32: Add ScheduleDispatchNotification() stub.
ntdll: Use explicit ACTIVATION_CONTEXT type instead of HANDLE.
kernel32/tests: Add tests for normal activation context stack frame flags.
ntdll: Set and check 0x8 flag for activation context stack frames.
ntdll: Implement RtlActivateActivationContextUnsafeFast().
ntdll: Implement RtlDeactivateActivationContextUnsafeFast().
kernel32/tests: Add tests for RtlActivateActivationContextUnsafe() and RtlDeactivateActivationContextUnsafeFast().
comctl32/tests: Test listview background mix mode.
comctl32/listview: Set the initial background mix mode to TRANSPARENT.
```
The Wine development release 10.10 is now available.
What's new in this release:
- Mono engine updated to version 10.1.0.
- OSMesa library no longer needed.
- More support for generating Windows Runtime metadata in WIDL.
- Locale data updated to Unicode CLDR 47.
- P010 format support in Media Foundation.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.10.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.10/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.10 (total 38):
- #17614 Rise of Nations: Both mouse keys required for single left-click
- #19226 Braid: Both Shift keys needed to move puzzle pieces
- #19662 Lotus Freelance Graphics 2.1 hangs at the splash screen
- #21369 HTML-Kit 292's tab bar isn't fully visible without scrolling at 96 DPI
- #24026 Tab completion for cmd
- #24209 Burger Shop is shifted to the top left corner in full screen mode
- #33302 regedit: binary values editor layout is broken
- #35103 Baofeng5-5.31.1128's Welcome window crash on start
- #40144 Installing Canon printer driver does not work
- #44120 Steam Big Picture mode fails to display content, it shows a black screen (d3d10)
- #44453 Noteworthy Composer crashes in winealsa
- #50450 Ricoh Digital Camera Utility 5 crashes when switching from Browser to Laboratory and vise versa
- #51350 Horizon Chase freezes on startup
- #53002 Wondershare Uniconverter 13 not displaying characters
- #53071 AVCLabs Video Enhancer AI crashes on start
- #53401 regedit does not import .reg files
- #55593 F.E.A.R crashes with "Out of memory" error when starting a new game
- #55985 S.T.A.L.K.E.R. Anomaly: Crashes when loading into save file.
- #57230 F.E.A.R Combat black screen at startup due to out of memory error
- #58000 New thread stack uses too much memory
- #58001 "Eador. Masters of the Broken World" bad map textures after starting game
- #58064 Unreal 2 hangs with a black screen when switching to 1440X900 resolution
- #58078 StarCraft Remastered: game is not started with wine-10.5
- #58107 PlayOnline Viewer: Window not activated when restoring from a minimised state.
- #58182 Virtual desktop corked in 10.6
- #58190 secur32:ntlm tests fail on Windows 11 24H2
- #58196 d3d9:device WM_WINDOWPOSCHANGED test fails consistently on Linux since Wine 10.5
- #58233 gitlab-ci shows occasional crashes in tests dmsynth, dmusic, winmm:midi
- #58246 HP Prime Virtual Calculator: crashes on start
- #58253 Multiple games have a beeping noise on exit (The Fidelio Incident, Vampyr)
- #58259 Qt Installer for Windows doesn't work
- #58275 Wrong "range" selection logic using SHIFT
- #58286 Cannot create a 64-bit wineprefix with old wow64
- #58293 Regression caused by switch to realloc which doesn't zero added memory
- #58328 "msvcrt: Use RVAs in rtti and exception data on all platforms except i386" breaks RTTI on arm32
- #58329 Smartsuite 3.1 installer crashes
- #58340 dbghelp: symt_add_func_line, possible use after free.
- #58349 Build failure with clang for x86_64 target due to recent RTTI changes
### Changes since 10.9:
```
Alexandre Julliard (29):
configure: Always check for a valid 64-bit libdir.
configure: Don't use the 64-bit tools if --enable-tools is specified.
configure: Cache the results of the MTLDevice check.
winebuild: Extend the -syscall flag to allow specifying the syscall number.
tools: Support explicit syscall numbers in make_specfiles.
ntdll: Add explicit ids to a number of syscalls.
msvcrt: Add macros to wrap RTTI initialization functions.
msvcrt: Always define full type data for exception types.
msvcrt: Use RVAs for exception data but not RTTI on 32-bit ARM.
msvcrt: Use varargs macros to define C++ exception types.
msvcrt: Always define full RTTI data.
msvcrt: Use varargs macros to define RTTI data.
msvcrt/tests: Simplify the RTTI macros.
kernelbase: Flesh out RaiseFailFastException() implementation.
msvcrt: Define C++ type info as an array to avoid & operator.
msvcrt: Define C++ type info using RVAs for PE builds.
msvcrt: Define RTTI base descriptor as an array to avoid & operator.
msvcrt: Define RTTI data using RVAs for PE builds.
faudio: Import upstream release 25.06.
mpg123: Import upstream release 1.33.0.
png: Import upstream release 1.6.48.
xslt: Import upstream release 1.1.43.
nls: Update locale data to CLDR version 47.
msvcrt: Use old-style gcc varargs macros for RTTI data.
ntdll: Only clear 64K of the initial thread stack.
ntdll: Handle FileNetworkOpenInformation directly in fill_file_info().
ntdll: Use ObjectNameInformation to retrieve file name for FileNameInformation.
msvcrt: Point to the correct type info entry in the PE build macros.
server: Return the correct status depending on object type for ObjectNameInformation.
Alexandros Frantzis (2):
winewayland: Improve cleanup of text-input pending state.
winewayland: Ignore text-input "done" events that don't modify state.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (8):
taskschd/tests: Fix test failure on Windows 7.
shell32/tests: Avoid hang in test_rename.
d3d10: Return S_OK from parse_fx10_annotations instead of variable hr.
mmdevapi: Avoid race between main and notify thread.
d2d1/tests: Skip tests when device creation fails.
dbghelp: Avoid use after free by moving assignment before vector_add (ASan).
kernel32/tests: Don't call pNtCompareObjects in Windows 8.
kernel32/tests: Re-enable console handle test in Windows 8 with broken.
Brendan McGrath (4):
mfplat/tests: Add image size tests for P010.
mfplat: Add support for the P010 format.
winegstreamer: Add support for the P010 format.
winedmo: Add support for the P010 format.
Brendan Shanks (3):
winemac: Remove additional pre-macOS 10.12 workarounds.
configure: Remove unnecessary METAL_LIBS variable.
winemac: Remove #defines for conflicting macOS function names.
Daniel Lehman (2):
msvcr120/tests: Clear math error callback after test.
musl: Set EDOM in exp for NAN.
Dmitry Timoshkov (6):
kerberos: Add support for SECBUFFER_STREAM to SpUnsealMessage().
ldap: Avoid code duplication between sasl_client_start() and sasl_client_step().
Revert "combase: Find correct apartment in ClientRpcChannelBuffer_SendReceive()."
msv1_0: Perform NULL check before looking for a buffer of particular type.
kerberos: EncryptMessage() should fail if context doesn't support confidentiality.
kerberos: When requested confidentiality InitializeSecurityContext() should also add integrity.
Elizabeth Figura (11):
dxgi: Do not print a FIXME for DXGI_PRESENT_ALLOW_TEARING.
amstream/tests: Test reconnection done by CreateSample().
amstream: Don't bother calling SetFormat() if a NULL surface was passed.
amstream: Call SetFormat() before creating the sample.
amstream: Unblock GetBuffer() in Decommit().
amstream: Add more traces.
wined3d/spirv: Limit parameters to the relevant shader versions.
wined3d/vk: Use the XY11 fixup for SNORM formats only for legacy d3d.
amstream/tests: Avoid creating a ddraw RGB24 surface.
amstream/tests: Avoid calling GetAllocatorRequirements() from DecideAllocator().
d3d11: Implement CreateRasterizerState2().
Eric Pouech (5):
dbghelp: Speed up global symbols at startup.
dbghelp: Get fpo stream information directly in new PDB reader.
dbghelp: Simplify signature of PDB unwinders.
dbghelp: Rename declarations for old PBD backend.
dbghelp: Let new PDB reader exist independently of the old one.
Esme Povirk (1):
mscoree: Update Wine Mono to 10.1.0.
Gabriel Ivăncescu (4):
mshtml/tests: Test mixed charset encodings for document and text resources.
mshtml: Try to guess the script encoding when there's no BOM.
mshtml: Remove outdated FIXME comment.
urlmon: Skip fragment part when checking filenames for file protocol.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.318.
Hans Leidekker (21):
widl: Add typeref rows for enums.
widl: Add typedef, field and constant rows for enums.
widl: Add rows for the flags attribute.
widl: Add rows for the contract attribute.
widl: Add rows for the version attribute.
msv1_0: Pass a SecBuffer to create_signature() instead of an index.
msv1_0: Pass a SecBuffer to verify_signature() instead of an index.
msv1_0: Support SECBUFFER_STREAM in ntlm_SpUnsealMessage().
kerberos: Fix the wow64 thunk for unseal_message().
kerberos: Avoid buffer copy in kerberos_SpUnsealMessage().
ldap: Use SECBUFFER_STREAM in sasl_decode().
widl: Add rows for the apicontract type.
widl: Add rows for the contractversion attribute.
widl: Add rows for the apicontract attribute.
widl: Add rows for the struct type.
widl: Add rows for the interface type.
widl: Add rows for the uuid attribute.
widl: Add rows for the exclusiveto attribute.
widl: Add rows for the requires keyword.
find: Support /c switch.
secur32/tests: Fix test failure on Windows 11.
Jacek Caban (3):
winegcc: Allow specifying multiple debug files.
makedep: Introduce output_debug_files helper.
configure: Support generating both DWARF and PDB debug info in a single build.
Jacob Czekalla (8):
taskschd/tests: Adds a test for IRegisteredTaskCollection get_Item and get_Count.
taskschd: Implements IRegisteredTaskCollection get_Item().
taskschd: Implements IRegisteredTaskCollection get_Count().
comdlg32/tests: Add tests for changing devmode properties in the hook procedure for PrintDlgW.
comdlg32: Don't use a shadow devmode structure in PrintDlgW.
comdlg32/tests: Add tests for changing devmode properties in the hook procedure for PrintDlgA.
comdlg32: Don't use a shadow devmode structure in PrintDlgA.
comdlg32/tests: Remove tests in printer_properties_hook_proc for A and W versions.
Joe Souza (2):
include: Fix mistitled field in CONSOLE_READCONSOLE_CONTROL.
cmd: Implement tab completion for command line entry.
Lorenzo Ferrillo (1):
shell32: Create an internal IDropSource in SHDoDragDrop if it wasn't passed by the caller.
Matteo Bruni (1):
d3dcompiler/tests: Avoid precision issues in the trigonometry tests.
Nikolay Sivov (3):
d3d10/tests: Check d3d buffer sizes in effects tests.
include: Add GetCurrentThreadStackLimits() prototype.
d3dx9/tests: Add a few tests for technique/pass access with the effect compiler API.
Paul Gofman (11):
crypt32: Duplicate provided root store in CRYPT_CreateChainEngine().
msvcrt: Print FIXME when WideCharToMultiByte() fails in create_locinfo().
msvcrt: Support j modifier in scanf.
wbemprox: Pass current directory correctly to CreateProcessW() in process_create().
kernel32/tests: Test loading dll as resource or datafile with wow64 FS redirection disabled.
version/tests: Test GetFileVersionInfoW() with wow64 FS redirection.
msi/tests: Test installing 64 bit library loaded into wow64 installer process.
msi: Allocate buffer in msi_get_file_version_info().
msi: Get system directory just once.
msi: Fix getting version info for library loaded into wow64 process.
xaudio2/tests: Add some tests for XAudio2 refcounting.
Piotr Caban (3):
ucrtbase: Fix CP_UTF8 handling in _toupper_l.
ucrtbase: Fix CP_UTF8 handling in _tolower_l.
ucrtbase: Fix case mapping and ctype1 tables for utf8 locale.
Ralf Habacker (1):
ws2_32: Keep parameters in traces for bind() synchronized with connect().
Rémi Bernon (52):
opengl32: Simplify wglMake(Context)Current control flow.
opengl32: Cache context creation attributes.
opengl32: Use cached attributes to detect legacy contexts.
opengl32: Generate args loading / locking for wrapped functions.
opengl32/tests: Test wglShareLists with modified contexts.
opengl32: Track current context attributes changes.
opengl32: Track a subset of the context attributes.
opengl32: Implement wglCopyContext with tracked attributes.
opengl32/tests: Add more tests with wglCopyContext after usage.
win32u: Drop now unused wglCopyContext entry points.
opengl32: Implement wglShareLists by copying after recreation.
win32u: Drop now unused wglShareLists entry points.
win32u: Avoid closing NULL egl_handle on dlopen failure.
win32u: Return hwnd from get_full_window_handle when invalid.
ole32/tests: Add an test with implicit MTA creation.
ole32/tests: Add more tests with RPC from the wrong thread.
ole32/tests: Check calling a proxy after re-creating the STA.
winex11: Flag offscreen formats as bitmap compatible if possible.
winex11: Check XVisualInfo vs GLXFBConfig depth to avoid BadMatch.
opengl32: Expose every pixel format on memory DCs.
opengl32/tests: Relax memory DC pixel format selection.
windows.devices.enumeration: Return S_OK from IDeviceWatcher::Start with unsupported filter.
win32u: Remove unnecessary window_entry member.
winex11: Remove unnecessary gl3_context context member.
winex11: Remove old window drawable lookup and check.
server: Fix shared object offset when additional blocks are allocated.
win32u: Remove unnecessary shared object lock reset.
server: Allocate shared memory objects for windows.
server: Move window dpi_context to the shared memory.
win32u: Pass id and offset separately to find_shared_session_object.
win32u: Read window dpi_context from the shared memory.
opengl32: Move glFlush / glFinish hooking from win32u.
winex11: Use opengl_funcs for glFlush / glFinish.
winemac: Use opengl_funcs for glFlush.
win32u: Pass the window instance to create_window request.
server: Introduce a dedicated init_window_info request.
server: Get rid of set_window_info request flags.
win32u: Use a separate variable for windows free_list iteration.
win32u: Use a dedicated struct for window destroy entries.
win32u: Fix copy of vulkan surfaces list on window destruction.
opengl32: Flush the contexts on gl(Draw|Read)Pixels and glViewport.
win32u: Use a pbuffer to implement GL on memory DCs.
win32u: Drop now unnecessary OSMesa dependency.
win32u: Remove now unnecessary context and pbuffer funcs.
widl: Write apicontracts macros before they are used.
widl: Skip writing type definition if already written.
widl: Always write WinRT enum type definitions.
win32u: Implement NtUserRegisterWindowMessage.
win32u/tests: Test that user atoms are not a global atoms.
win32u/tests: Test some pinned global and user atoms.
user32: Implement RegisterWindowMessage(A|W) using NtUserRegisterWindowMessage.
user32: Implement RegisterClipboardFormat(A|W) using NtUserRegisterWindowMessage.
Stefan Dösinger (2):
d3d9/tests: Relax the focus==device window reactivate WM_WINDOWPOSCHANGED test.
d3d9/tests: Make the reactivate_messages_filtered test more meaningful on Windows.
Tim Clem (3):
gitlab: Switch to a Sequoia-based VM for the macOS CI build.
vcruntime140_1: Add a version resource.
msvcp140_2: Add a version resource.
Topi-Matti Ritala (1):
po: Update Finnish translation.
Vibhav Pant (6):
bluetoothapis: Return the correct error value in BluetoothAuthenticateDeviceEx.
include: Add windows.networking.sockets.idl.
include: Add windows.devices.bluetooth.rfcomm.idl.
include: Add definitions for Windows.Devices.Bluetooth.BluetoothDevice.
windows.devices.bluetooth/tests: Add tests for BluetoothDeviceStatics.
windows.devices.bluetooth: Add stub for IBluetoothDeviceStatics.
Vitaly Lipatov (1):
wine.inf: Add subkey Parameters for Tcpip6 and Dnscache services.
Yuxuan Shui (24):
amstream: Remove sample from update queue when releasing it.
msctf: Fix read of invalid memory in SINK_FOR_EACH.
cmd: Fix out-of-bound access when parsing commands that start with >.
cmd: Don't check for quotes past the start of the command.
hid/tests: Fix stack use-after-return in test_read_device.
gdiplus/tests: Use correctly formatted description.
gdiplus/tests: Make sure stride is correct for GdipCreateBitmapFromScan0.
inetmib1: Fix table emptiness check.
iphlpapi: Fix use-after-free of apc context.
kernel32/tests: Cancel IO before returning from function.
server: Fix leak of object name in device_open_file.
d3dx9_36/tests: Use correct row pitch for D3DXLoadSurfaceFromMemory.
kernel32/tests: Fix the string argument to WritePrivateProfileSectionA.
kernelbase/tests: Make sure buffer is big enough for test paths.
mshtml: Fix buffer underflow in range_to_string.
d3dx9: Set shared parameters pointer to NULL when freeing it.
mfreadwrite/tests: Fix missing terminator in attribute_desc.
nsiproxy.sys: Fix size mismatch writing into ipstatlist.
kernel32/tests: Fix out-of-bound read in test_CreateFileA.
msi/tests: Fix out-of-bound memcmp.
oleaut32: Fix out-of-bound read in OleLoadPicturePath when szURLorPath is empty.
propsys/tests: Use correct length for debugstr_wn in test_PropVariantToBSTR.
setupapi/tests: Fix double close of HSPFILEQ.
shell32/tests: Make sure to use the right type of strings.
Zhiyi Zhang (14):
d3d11/tests: Test d3d11 device context interfaces.
d3d11: Add ID3D11DeviceContext2 stub.
d3d11: Add ID3D11DeviceContext3 stub.
d3d11: Add ID3D11DeviceContext4 stub.
kernelbase: Silence a noisy FIXME in AppPolicyGetWindowingModel().
comctl32/taskdialog: Fix layout when there is no button.
ntdll: Implement RtlQueryInformationActiveActivationContext().
include: Add errhandlingapi.h.
combase: Add RoFailFastWithErrorContextInternal2() stub.
combase: Add RoGetErrorReportingFlags() stub.
combase: Add RoReportUnhandledError() stub.
combase: Add an error message when class is not found.
d3dcompiler_47: Implement D3DCreateLinker().
d3dcompiler_47: Implement D3DCreateFunctionLinkingGraph().
```
The Wine development release 10.9 is now available.
What's new in this release:
- Bundled vkd3d upgraded to version 1.16.
- Initial support for generating Windows Runtime metadata in WIDL.
- Support for compiler-based exception handling with Clang.
- EGL library support available to all graphics drivers.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.9.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.9/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.9 (total 34):
- #10853 Code::Blocks 8.02 IDE: some toolbar strips are too long
- #10941 Wine does not print in a new allocated console window using AllocConsole()
- #21666 Heavy Metal Pro fails to print Record Sheet
- #22018 No MIDI music in Alonix
- #26017 3D Pinball - Space Cadet: fullscreen does not work properly
- #34331 Toolbar buttons can be activated without a proper click
- #35882 Empire Earth 1.x display artifacts
- #46750 MS Office 2010 on Windows 7 crash
- #47281 wineserver uses a full CPU core with Ableton Live 10.0.6 and a custom Wine version
- #51386 ln.exe needs KERNEL32.dll.FindFirstFileNameW
- #51644 Implementation of wsplitpath_s required for The Legend of Heroes: Trails of Cold Steel
- #51945 property "Size" from win32_logicaldisk gives bogus results
- #52239 Partially invisible URL in TurnFlash's About window
- #54899 EA app launcher problem with text display
- #55254 Dyson Sphere Program (Steam): white artefact on opening scene
- #55255 Dyson Sphere Program (Steam): mouse ignored if switching windows
- #55304 Kerberos authentication stopped to work after PE wldap32 conversion
- #55928 NtQuerySystemInformation SystemProcessInformation result misaligned
- #56068 No "Timeout" command
- #56186 The 32-bit dmusic:dmusic fails in a 64-bit wineprefix
- #56859 Can't install photoshop CS6 through wine
- #57105 Steam GPU process crash loop with 64-bit wineprefix
- #57178 toolbar control doesn't forward WM_NOTIFY to it's original parent (affects 7-zip file manager)
- #57387 Sega Rally Championship Demo crashes at startup if Direct3d/renderer set to GDI
- #57613 Calling 'iphlpapi.GetIpNetTable' with a large number of network interfaces present crashes Wine builtin NSI proxy service
- #58060 Zafehouse: Diaries demo crashes in d3dx_initialize_image_from_wic with unsupported pixel format {6fddc324-4e03-4bfe-b185-3d77768dc902}
- #58133 Gigapixel ai no longer starts 8.3.3
- #58203 PL/SQL Developer: All system memory gets eaten
- #58217 The Journeyman Project 3 doesn't work in virtual desktop mode
- #58243 Geekbench 6 crashes at start.
- #58255 Player2 crashes
- #58269 Build regression in wine 10.7 using clang on aarch64 (error in backend: Invalid register name "x18")
- #58277 Virtual desktop doesn't resize correctly
- #58285 Crystal of Atlan - Hard crash after server selection
### Changes since 10.8:
```
Adam Markowski (1):
po: Update Polish translation.
Alanas Tebuev (4):
comctl32/tests: Test WM_NOTIFY CBEN_ENDEDITW conversion and forwarding in toolbar.
comctl32: Rewrite COMCTL32_array_reserve (was PAGER_AdjustBuffer).
comctl32: Move WM_NOTIFY unicode to ansi conversion code from pager.c to commctrl.c.
comctl32/toolbar: Forward WM_NOTIFY CBEN_ENDEDITW and CBEN_ENDEDITA.
Alex Henrie (1):
wintrust: Initialize all cert fields in WINTRUST_AddCert.
Alexandre Julliard (33):
configure: Correctly override DLLEXT for ARM builds.
include: Output the name label directly in the __ASM_GLOBL macro.
include: Add a macro to define a pointer variable in assembly.
ntdll: Call the syscall dispatcher from assembly on thread init.
ntdll: Set registers directly when calling __wine_syscall_dispatcher_return() on syscall fault.
ntdll: Use %r13 to store the TEB in the syscall dispatcher.
ntdll: Move the syscall frame and syscall table to the ntdll thread data.
ntdll: Share is_inside_syscall() helper across platforms.
winedump: Dump syscall numbers.
ntdll: Add tracing for syscall entry/exit.
ntdll: Add tracing for user callback entry/exit.
wineps: Use the correct metrics count in generated font data.
dbghelp: Use the __cpuid() intrinsic.
vkd3d: Import upstream release 1.16.
ntdll: Pre-compute the syscall frame and XState data size.
ntdll: Only create logical processor information when needed.
ntdll: Perform some shared data initialization before starting wineboot.
ntdll: Perform CPU features initialization before starting wineboot.
ntdll: Perform XState data initialization before starting wineboot.
ntdll: Fetch the XState supported features mask from the user shared data.
ntdll: Fetch the XState features mask from the user shared data.
ntdll: Fetch the XState features size from the user shared data.
ntdll: Fetch the XState compaction flag from the user shared data.
ntdll: Fetch the XState features offsets from the user shared data.
ntdll: Check processor features from the user shared data.
ntdll: Get rid of the cached cpu_info structure.
ntdll: Generate the CPU features bits from the user shared data.
ntdll: Don't bother checking for cpuid availability.
ntdll: Check directly for valid %fs register instead of using a syscall flag.
ntdll: Check for wrfsbase availability from the user shared data.
ntdll: Check for xsavec availability from the user shared data.
ntdll: Check for fxsave availability from the user shared data.
ntdll: Check for xsave availability from the user shared data.
Alfred Agrell (1):
kernel32/tests: Don't import NtCompareObjects before Windows 10.
Bernhard Kölbl (2):
setupapi/tests: Add display enum tests.
win32u: Provide more gpu device properties.
Bernhard Übelacker (6):
ucrtbase/tests: Avoid reading behind buffer in test_swprintf (ASan).
timeout/tests: Move the ctrl-c tests to an intermediate process.
nsiproxy: Avoid buffer overflow in ipv4_neighbour_enumerate_all.
dmusic: Only extract name in EnumInstrument when the valid flag is set.
ntdll: Align records retrieved by SystemProcessInformation.
gdiplus: Add check of type parameter to be positive (ASan).
Brendan McGrath (5):
mf/tests: Add negative timestamp tests for h264.
winegstreamer: Use provided PTS and duration in video_decoder.
winegstreamer: Avoid rounding errors when generating timestamps.
winegstreamer: Don't generate sample timestamps for the WMV decoder.
winegstreamer: Fixup negative input timestamps.
Brendan Shanks (1):
ntdll: Don't swap GSBASE on macOS in user_mode_callback_return().
Charlotte Pabst (1):
mf: Release pending items when sample grabber is stopped.
Connor McAdams (3):
d3dx9/tests: Add tests for {1,2,4}bpp indexed PNG files.
d3dx9: Properly handle indexed pixel formats smaller than 8bpp.
d3dx9: Add support for decoding 2bpp indexed PNG files.
Conor McCarthy (1):
user32: Restore the previous thread DPI awareness context before leaving CalcChildScroll().
Daniel Lehman (3):
msvcr120/tests: Test exp.
musl: Pass math_error callback to exp.
msvcr120: Add cexp() implementation.
David Kahurani (1):
xmllite/tests: Add more writer tests.
Dmitry Timoshkov (4):
ldap: When initializing security context ask for mutual authentication.
ldap: Sasl_encode()/sasl_decode() should treat encrypted buffer as data + token for Kerberos.
ldap: Add support for missing ISC_RET_CONFIDENTIALITY in the server response.
ldap: Save server attributes also on 2nd authentication step.
Elizabeth Figura (23):
wined3d: Move the remainder of the table fog flag to wined3d_extra_vs_args.
wined3d: Move the remainder of the shade mode flag to wined3d_extra_vs_args.
wined3d: Move the ortho_fog flag to wined3d_extra_vs_args.
wined3d: Remove no longer used transforms from wined3d_state.
wined3d: Feed point size clamping constants through a push constant buffer.
amstream/tests: Add more tests for the ddraw stream allocator.
amstream: Avoid shadowing in ddraw_meminput_Receive().
amstream: Rename "busy" to "pending".
amstream: Implement the custom ddraw stream allocator.
amstream: Fix allocator pitch tests.
amstream: Allocate the media type in set_mt_from_desc().
amstream/tests: Add more format tests.
amstream: Handle 8-bit RGB in set_mt_from_desc().
amstream: Fill the whole AM_MEDIA_TYPE in set_mt_from_desc().
amstream: Use set_mt_from_desc() in IMediaSample::GetMediaType().
amstream: Do not alter the current media type in SetFormat().
amstream: Take the actual ddraw pitch into account in GetMediaType().
amstream: Fill the source and target rects in set_mt_from_desc().
amstream: Report a top-down DIB in set_mt_from_desc().
wined3d/vk: Use an XY11 fixup for 2-channel SNORM formats.
wined3d/spirv: Implement clip planes.
wined3d/spirv: Implement point size.
wined3d/spirv: Implement point sprite.
Eric Pouech (4):
dbghelp: Don't dupe some exports on 64bit compilation.
kernel32/tests: Test closing of std handles when closing console.
wineconsole: Create child with unbound console handles.
kernelbase: Don't close handles in FreeConsole() for a Unix console.
Esme Povirk (5):
gdiplus: Remove repeated points before widening paths.
comctl32: Add tests for trackbar MSAA events.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for trackbars.
comctl32/tests: Fix childid in trackbar statechange event.
gdiplus: Unify region rasterization in GdipFillRegion.
Gabriel Ivăncescu (5):
include: Add IHTMLDOMAttribute3 interface.
mshtml: Expose ownerElement from attribute nodes in IE8+ modes.
mshtml: Implement ownerElement prop for attribute nodes.
mshtml: Introduce dispex_builtin_prop_name that returns static string for builtins.
mshtml: Finish the nsAString in element_has_attribute.
Hans Leidekker (12):
secur32: Reset function tables in nego_SpInitLsaModeContext() and nego_SpAcceptLsaModeContext().
widl: Initial support for generating Windows Runtime metadata.
widl: Write the string stream.
widl: Write the user string stream.
widl: Write the blob stream.
widl: Write the guid stream.
winedump: Also dump the Culture column of the Assembly table.
widl: Write the table stream.
widl: Implement the Module table.
widl: Implement the TypeDef table.
widl: Implement the Assembly table.
widl: Implement the AssemblyRef table.
Huw D. M. Davies (1):
winemac: Ensure pglGetString is initialized before calling init_gl_info().
Jacek Caban (7):
msvcrt: Add empty block for __EXCEPT_PAGE_FAULT.
include: Use ULONG for RpcExceptionCode macro.
ntdll: Pass exception code to exception handlers in __C_specific_handler.
ntdll: Mark IsBadStringPtr functions as noinline.
configure: Enable -fasync-exceptions when supported.
include: Enable compiler exceptions on Clang for 64-bit MSVC targets.
ntdll/tests: Register runtime function in test___C_specific_handler.
Jinoh Kang (2):
server: Add `nested` parameter to redraw_window().
server: Remove unused parameter `frame` from redraw_window().
Louis Lenders (4):
wbemprox: Return the SMBIOSTableData[] when querying SMBiosData.
user32: Add stub for SetProcessLaunchForegroundPolicy.
pdh: Add stub for PdhEnumObjects{A,W}.
pdh: Add stub for PdhGetRawCounterArrayW{A,W}.
Makarenko Oleg (1):
winebus: Fix detection of devices with no axis.
Michael Stefaniuc (4):
dmime: Handle (skip over) text MIDI meta events.
dmime: Print the MIDI meta event type for unhandled messages.
dmime: Support the MIDI meta end of track event.
dmime: Parse and ignore MIDI key signature meta events.
Mohamad Al-Jaf (10):
include: Add dxcore C interface macros.
dxcore/tests: Add DXCoreCreateAdapterFactory() tests.
dxcore: Implement DXCoreCreateAdapterFactory().
dxcore/tests: Add IDXCoreAdapterFactory::CreateAdapterList() tests.
dxcore: Partially implement IDXCoreAdapterFactory::CreateAdapterList().
dxcore: Implement IDXCoreAdapterList::GetAdapterCount().
dxcore/tests: Add IDXCoreAdapterList::GetAdapter() tests.
dxcore: Implement IDXCoreAdapterList::GetAdapter().
dxcore/tests: Add IDXCoreAdapter::GetProperty() tests.
dxcore: Implement IDXCoreAdapter::GetProperty(HardwareID).
Nikolay Sivov (14):
comctl32/taskdialog: Protect WM_COMMAND handler from partially initialized dialog.
dwrite: Update script information with Unicode 14-16 additions.
odbc32: Ignore SQL_ATTR_CONNECTION_POOLING on global environment.
odbc32: Improve string attribute detection in SQLSetStmtAttr().
odbc32: Fix data buffer size handling when forwarding SQLGetInfo -> SQLGetInfoW.
windowscodecs/tiff: Remove remaining endianess compiler checks.
windowscodecs/metadata: Remove remaining endianess compiler checks.
windowscodecs/tiff: Fix source buffer size for 16bpp format (ASan).
odbc32: Destroy child objects automatically on successful SQLDisconnect().
comctl32/listview: Fix lbutton item selection with Shift+Ctrl.
comctl32/listview: Do not consider key state when navigating with alphanumeric keys.
d3dx9/tests: Add an effect compiler test for accessing functions.
mf/samplegrabber: Initialize state -> event map in a more robust way.
mf/clock: Initialize state -> notification map in a more robust way.
Panayiotis Talianos (1):
wined3d: Swap wined3d_resource.heap_pointer on swapchain present.
Paul Gofman (4):
wbemprox: Only use IOCTL_DISK_GET_DRIVE_GEOMETRY_EX if GetDiskFreeSpaceExW() fails.
mountmgr.sys: Fill DiskNumber and ExtentLength for IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS.
win32u: Implement NtGdiDdDDIOpenAdapterFromDeviceName().
ntdll: Avoid excessive committed range scan in NtProtectVirtualMemory().
Piotr Caban (24):
oledb32: Remove leading whitespaces from property name in datainit_GetDataSource.
msado15: Don't clear VARIANT in _Record_get_ActiveConnection.
msado15: Don't store active connection as variant.
msado15: Add _Recordset_putref_ActiveConnection implementation.
msado15: Add _Recordset_put_ActiveConnection implementation.
msado15: Use _Recordset_put_ActiveConnection in recordset_Open implementation.
msado15: Don't overwrite data in resize_recordset.
msado15: Avoid unneeded data copy in load_all_recordset_data.
msado15: Set recordset index in load_all_recordset_data.
msado15: Handle rowsets with unknown number of rows in load_all_recordset_data.
msado15: Add support for obtaining base tables and views in _Recordset_Open.
include: Define DBSCHEMA_* GUIDs.
include: Add dbsrst.idl.
msado15: Return error in recordset_MoveNext when there are no more records.
msado15: Skip columns without name in create_bindings.
msado15: Handle DBTYPE_VARIANT in load_all_recordset_data.
msado15: Pass DBCOLUMNINFO to append_field helper.
msado15: Add Field_put_Precision implementation.
msado15: Add Field_get_Precision implementation.
msado15: Add Field_put_NumericScale implementation.
msado15: Add Field_get_NumericScale implementation.
msado15: Handle DBTYPE_DATE in load_all_recordset_data.
msado15: Add connection_OpenSchema implementation.
include: Add DBBOOKMARK enum.
Rémi Bernon (39):
winex11: Remove unnecessary mutable_pf member.
opengl32: Move legacy extensions fixup from winex11.
winex11: Focus the desktop window when _NET_ACTIVE_WINDOW is None.
winex11: Don't activate/update foreground in virtual desktop mode.
win32u: Pass opengl_funcs pointer to init_wgl_extensions.
win32u: Initialize opengl_funcs tables even on failure.
win32u: Move the opengl_funcs tables out of the drivers.
include: Generate EGL prototypes and ALL_EGL_FUNCS macro.
win32u: Load EGL and expose functions in opengl_funcs.
winewayland: Use the EGL functions loaded from win32u.
wineandroid: Use the EGL functions loaded from win32u.
Revert "winex11: Focus the desktop window when _NET_ACTIVE_WINDOW is None."
winex11: Track _MOTIF_WM_HINTS property in the window state.
winex11: Avoid unnecessary _NET_WM_FULLSCREEN_MONITORS requests.
winex11: Trace more window change request serials.
winex11: Move managed window check to window_set_net_wm_state.
winex11: Update the current window state when ignoring events.
win32u: Open and initialize an EGL platform display.
wineandroid: Use the EGL display opened from win32u.
winewayland: Use the EGL display opened from win32u.
win32u: Introduce an EGL opengl_driver_function table.
win32u: Implement OpenGL pixel formats over EGL configs.
wineandroid: Use win32u for EGL display and pixel formats.
winewayland: Use win32u for EGL display and pixel formats.
winex11: Keep track of xinerama fullscreen monitors generation.
winex11: Continue requesting desired window state on no-op event.
winex11: Serialize individual _NET_WM_STATE bit changes.
winex11: Track window pending config position / size independently.
winex11: Keep track of the last config above flag used.
winex11: Serialize managed window config change requests.
winex11: Serialize window config requests with some other requests.
winex11: Don't set _MOTIF_WM_HINTS / _NET_WM_STATE for embedded windows.
winex11: Avoid requesting impossible state changes over and over.
winex11: Don't delay config requests for embedded windows.
winex11: Don't expect an event from config requests while window is unmapped.
winex11: Wait for decoration change side effects before changing focus.
user32/tests: Flush events before changing foreground.
user32/tests: Make test_foregroundwindow test more reliable.
winex11: Listen for ConfigureNotify events on the virtual desktop.
Santino Mazza (3):
amstream: Call QueryAccept with the new media type.
amstream/tests: Test how the ddraw allocator properties change.
amstream: Return error when calling SetFormat with allocated samples.
Steven Flint (1):
ntdll: Implement RtlCreateServiceSid.
Vibhav Pant (6):
winebth.sys: Implement IOCTL_WINEBTH_RADIO_START_AUTH.
bluetoothapis: Implement BluetoothAuthenticateDeviceEx.
bluetoothapis: Use a wizard GUI to respond to pairing requests if an authentication callback is not registered.
bluetoothapis/tests: Add tests for BluetoothAuthenticateDeviceEx.
winebth.sys: Don't decrement the reference count for the DBusPendingCall received by bluez_device_pair_callback.
bluetoothapis: Fix a potential handle leak in BluetoothAuthenticateDeviceEx.
Yuxuan Shui (4):
wineps.drv: Avoid double destroy of PSDRV_Heap.
ntdll: Fix out-of-bound read in RtlIpv6AddressToStringExA.
xmllite/tests: Fix out-of-bound read.
crypt32: Fix invalid access of list head.
Zhiyi Zhang (26):
include: Avoid a C++ keyword.
windows.ui: Return a newer IUISettings5 interface.
windows.ui: Use helpers to implement IWeakReference.
geolocation: Use helpers to implement IWeakReference.
wintypes/tests: Use defined constants.
wintypes: Implement IReference<UINT32>.
wintypes: Implement IReference<BYTE>.
wintypes: Implement IReference<FLOAT>.
wintypes: Implement IReference<GUID>.
wintypes: Implement IReference<INT16>.
wintypes: Implement IReference<INT32>.
wintypes: Implement IReference<INT64>.
wintypes: Implement IReference<UINT64>.
wintypes: Implement IReference<DateTime>.
wintypes: Implement IReference<Point>.
wintypes: Implement IReference<Rect>.
wintypes: Implement IReference<Size>.
wintypes: Implement IReference<TimeSpan>.
d3d11/tests: Test newer device interfaces.
d3d11: Add ID3D11Device3 stub.
d3d11: Add ID3D11Device4 stub.
d3d11: Add ID3D11Device5 stub.
dxgi: Add IDXGIResource1 stub.
dxgi: Add IDXGISurface2 stub.
dxgi/tests: Add tests for subresource surfaces.
dxgi: Implement subresource surface support.
```
The vkd3d team is proud to announce that release 1.16 of vkd3d, the Direct3D
to Vulkan translation library, is now available.
This release contains improvements that are listed in the release notes below.
The main highlights are:
- Support for DirectX Intermediate Language (DXIL) shaders.
- Initial support for geometry shaders in the HLSL compiler.
- Miscellaneous bug fixes.
The source is available from the following location:
<https://dl.winehq.org/vkd3d/source/vkd3d-1.16.tar.xz>
The current source can also be pulled directly from the git repository:
<https://gitlab.winehq.org/wine/vkd3d.git>
Vkd3d is available thanks to the work of multiple people. See the file AUTHORS
for the complete list.
# What's new in vkd3d 1.16
### libvkd3d
- DXIL shaders are supported in the default configuration. Previously this
required building vkd3d with the ‘-DVKD3D_SHADER_UNSUPPORTED_DXIL’
preprocessor option. The also raises the maximum supported shader model to
version 6.0.
- Graphics pipeline state objects can be created from shaders with embedded
root signatures. This was already possible for compute pipeline state
objects.
- The SetEventOnMultipleFenceCompletion() method of the ID3D12Device1
interface is implemented.
- When the VK_KHR_zero_initialize_workgroup_memory extension is supported,
libvkd3d supports zero-initialising compute shader thread group shared
memory.
- The VK_KHR_maintenance2 extension is now explicitly required. libvkd3d
already unconditionally used features provided by this extension, but
unfortunately didn't explicitly require it. Support for this extension is
widespread, and the extension is part of Vulkan 1.1.
### libvkd3d-shader
- The previously experimental support for compiling DXIL shaders is now a
supported feature and enabled by default. Please note that this feature is
nevertheless still far from perfect.
- New features for the HLSL source type:
- Initial support for geometry shaders.
- Indirect addressing in shader model 1-3 target profiles.
- Modulus and truncation operations in shader model 1-3 target profiles.
- Vectorised output code.
- Further improved constant folding and propagation.
- The following intrinsic functions are supported:
- AllMemoryBarrier()
- AllMemoryBarrierWithGroupSync()
- DeviceMemoryBarrier()
- DeviceMemoryBarrierWithGroupSync()
- GroupMemoryBarrier()
- GroupMemoryBarrierWithGroupSync()
- The ‘.Length’ Texture object property.
- The ‘SV_RenderTargetArrayIndex’ and ‘SV_ViewportArrayIndex’ semantics in
tessellation shaders.
- Disassembler support for binary ‘fx_2_0’ effects.
- Experimental built-in support for disassembling SPIR-V shaders, enabled by
building vkd3d with the ‘-DVKD3D_SHADER_UNSUPPORTED_SPIRV_PARSER’
preprocessor option. When enabled, the built-in SPIR-V disassembler is
used instead of SPIRV-Tools for the ‘spirv-text’ target type, as well as
for the debug output enabled by the VKD3D_SHADER_DEBUG environment
variable.
- The experimental OpenGL Shading Language (GLSL) target supports indirect
addressing of constant buffers.
- The experimental Metal Shading Language (MSL) target supports texture
loads.
- New interfaces:
- The VKD3D_SHADER_COMPILE_OPTION_FEATURE_ZERO_INITIALIZE_WORKGROUP_MEMORY
flag indicates support for zero-initialising workgroup memory in the
SPIR-V target environment.
- The VKD3D_SHADER_COMPONENT_INT64 enumeration value indicates a 64-bit
signed integer value.
- The VKD3D_SHADER_COMPONENT_FLOAT16 enumeration value indicates a 16-bit
IEEE floating-point value.
- The VKD3D_SHADER_COMPONENT_UINT16 enumeration value indicates a 16-bit
unsigned integer value.
- The VKD3D_SHADER_COMPONENT_INT16 enumeration value indicates a 16-bit
signed integer value.
- When targeting VKD3D_SHADER_API_1_16, the
VKD3D_SHADER_RESOURCE_DATA_NONE enumeration value is returned for the
‘resource_data_type’ field in the vkd3d_shader_descriptor_info structure
for sampler descriptors. VKD3D_SHADER_API_1_15 and before use the
VKD3D_SHADER_RESOURCE_DATA_UINT enumeration value for this.
### demos
- The vkd3d demos now work on both the Microsoft Windows and Apple macOS
builds. The macOS versions of the vkd3d demos are completely new in vkd3d
1.16, while the Windows demos could previously be built, but only worked
on Wine. Note that the vkd3d demos produced by a Windows build of vkd3d
are distinct from those produced by the ‘make crosstest’ target: the
former are Vulkan applications using vkd3d, while the latter are Direct3D
12 applications.
- The vkd3d demos have basic support for DPI scaling.
### build
- Perl and the ‘JSON’ Perl module have been added as build dependencies.
These are used for the experimental built-in SPIR-V disassembler, as well
as for the macOS versions of the vkd3d demos.
### Changes since vkd3d 1.15:
```
Andrey Gusev (2):
vkd3d-shader/dxil: Store the actual return value in sm6_parser_signatures_init().
vkd3d-shader/ir: Store the actual return value in shader_signature_map_patch_constant_index_ranges().
Anna (navi) Figueiredo Gomes (6):
tests/hlsl: Add lower sm1 saturate test.
tests/hlsl: Add angle bracket state block syntax test.
vkd3d-shader: Parse angle bracket initializer in state blocks.
tests/hlsl: Add some fx_4_0 state tests.
vkd3d-shader/fx: Don't cast between int and uint in state blocks.
vkd3d-shader/hlsl: Use the source data type in clone_interlocked().
Conor McCarthy (13):
tests/hlsl: Add typed buffer SRV 16-bit tests.
tests/hlsl: Add a sampler 16-bit test.
tests/hlsl: Add a TGSM 16-bit test.
tests/hlsl: Add a typed SRV load 16-bit test.
tests/hlsl: Add interstage interface 16-bit tests.
tests/hlsl: Add a conditional 16-bit test.
tests: Replace test_vs_ps_relative_addressing() with a shader runner test.
tests/hlsl: Test casts to 16-bit float.
tests/hlsl: Test casts to 16-bit int.
tests/hlsl: Test casts to 16-bit uint.
tests/hlsl: Test casts from double to 16-bit integer types.
vkd3d-shader/tpf: Emit the resource data type only for typed resource declarations.
tests/hlsl: Add a shader model 5.1 test to srv-byteaddressbuffer.shader_test.
Elizabeth Figura (70):
vkd3d-shader/hlsl: Don't mark extern variables with an explicit first_write or last_read.
vkd3d-shader/hlsl: Skip transformation passes on error.
vkd3d-shader/hlsl: Remove the type equality assertions in hlsl_new_ternary_expr().
vkd3d-shader/hlsl: Handle error instructions in hlsl_new_swizzle().
vkd3d-shader/hlsl: Add a hlsl_block_add_uint_constant() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_int_constant() helper.
vkd3d-shader/hlsl: Inline add_pow_expr().
vkd3d-shader/hlsl: Add a hlsl_block_add_float_constant() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_unary_expr() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_cast() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_binary_expr() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_expr() helper.
vkd3d-shader/hlsl: Pass a block to hlsl_new_void_expr().
vkd3d-shader/hlsl: Pass the target block to hlsl_new_load_component().
vkd3d-shader/hlsl: Add a hlsl_block_add_store_index() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_simple_store() helper.
vkd3d-shader/hlsl: Pass the target block to hlsl_new_store_component().
vkd3d-shader/hlsl: Return void from hlsl_block_add_store_component().
vkd3d-shader/hlsl: Return an error expr from hlsl_add_load_component() on allocation failure.
vkd3d-shader/hlsl: Add a hlsl_block_add_load_index() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_simple_load() helper.
vkd3d-shader/hlsl: Emit the minimum-precision global flag when minimum-precision semantics are used.
vkd3d-shader/hlsl: Emit minimum-precision signatures.
vkd3d-shader/hlsl: Emit the minimum-precision SFI0 flag.
vkd3d-shader/hlsl: Use common hlsl_type_is_integer() and hlsl_base_type_is_integer() helpers.
vkd3d-shader/hlsl: Pass the correct type to base_type_get_semantic_equivalent().
vkd3d-shader/hlsl: Make min16uint into a first-class type.
vkd3d-shader/hlsl: Add a hlsl_block_add_jump() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_if() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_loop() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_index() helper.
vkd3d-shader/hlsl: Add a hlsl_block_add_resource_store() helper.
vkd3d-shader/hlsl: Fix temp allocation for ps 1.x.
vkd3d-shader/hlsl: Fix writing the sincos extra constants.
vkd3d-shader/hlsl: Introduce hlsl_block_add_resource_load().
vkd3d-shader/hlsl: Introduce hlsl_block_add_swizzle().
vkd3d-shader/hlsl: Return an error expression from add_cast() on allocation failure.
vkd3d-shader/hlsl: Do not abort when performing an invalid explicit cast.
vkd3d-shader/hlsl: Do not abort when performing an invalid implicit cast.
vkd3d-shader/hlsl: Stop checking for failure from intrinsic_float_convert_arg().
vkd3d-shader/hlsl: Don't invalidate OOB constant derefs.
vkd3d-shader/hlsl: Zero-initialize "nonconst_i" and "ret_swizzle" in copy_propagation_replace_with_deref().
vkd3d-shader/hlsl: Reuse shader model 1-3 constants.
vkd3d-shader/hlsl: Use vsir_*_from_hlsl_node() helpers in more places.
vkd3d-shader/hlsl: Set the correct index count for sm1 DEPTHOUT.
vkd3d-shader/hlsl: Initialize the vsir dimension for sm1.
vkd3d-shader/hlsl: Leave the swizzle zero for VSIR_DIMENSION_NONE registers.
vkd3d-shader/hlsl: Initialize the temp count for sm1.
vkd3d-shader/glsl: Invert gl_FragCoord w.
vkd3d-shader/hlsl: Allow compiling directly to GLSL.
vkd3d-shader/hlsl: Introduce a compiler pass to vectorize expressions.
vkd3d-shader/hlsl: Introduce a compiler pass to vectorize stores.
vkd3d-shader/hlsl: Set the sysval for more sm1 semantics.
vkd3d-shader/hlsl: Set the right interpolation mode in the vsir signature.
vkd3d-shader/ir: Introduce a vsir_dst_param_init_null() helper.
vkd3d-shader/ir: Validate SSA write masks.
vkd3d-shader: Normalize TEXKILL to use a source register.
tests/hlsl: Show that GetRenderTargetSampleCount() returns a vector.
vkd3d-shader/hlsl: Return a uint1 from GetRenderTargetSampleCount().
vkd3d-shader/ir: Merge tess factor used masks together.
vkd3d-shader/spirv: Return void from spirv_compiler_emit_input().
vkd3d-shader/spirv: Do not declare inputs with an empty used_mask.
vkd3d-shader/hlsl: Emit an error when min16uint is used in d3dbc target profiles.
vkd3d-shader/hlsl: Do not emit HLSL_OP1_ABS for unsigned types.
tests/hlsl: Add more tests for the "numthreads" attribute.
vkd3d-shader/hlsl: Validate "numthreads" attribute values.
vkd3d-shader/ir: Use the .w component of the existing swizzle when lowering texldb.
vkd3d-shader/hlsl: Fix an incorrect error message for referring to non-struct types with "struct".
tests/hlsl: Add more tests for struct syntax.
vkd3d-shader/hlsl: Forbid referring to typedefs with "struct".
Feifan He (3):
tests/shader_runner_metal: Introduce a helper to encode the argument buffer.
tests/shader_runner_metal: Add texture support.
vkd3d-shader/msl: Implement VKD3DSIH_LD.
Francisco Casas (38):
vkd3d-shader/hlsl: Also dump preprocessed shaders.
tests/test-driver: Print the shader model for the detailed output of the hlsl backend.
tests/test-driver: Group together tags in the same line and shader model.
tests/test-driver: Merge the same consecutive tags togeter.
vkd3d-make/hlsl: Trace the number of registers allocated in allocate_temp_registers().
vkd3d-shader/hlsl: Only use the temp copy for variables that are written.
tests: Test unused invalid samples with a static sampler.
vkd3d-shader/hlsl: Run folding passes again after lower_nonconstant_array_loads.
vkd3d-shader/hlsl: Don't cast all expressions to float.
vkd3d-shader/hlsl: Remove lower_nonfloat_exprs().
vkd3d-shader/hlsl: Lower TRUNC expressions for SM1.
tests: Add a hard test for copy-propagation invalidation.
vkd3d-shader/hlsl: Fix invalidation of the wrong components in copy-propagation.
tests/hlsl: Test for loss of precision on integer negation in d3dbc target profiles.
tests/hlsl: Test integer modulus with big integers.
tests/hlsl: Test integer division with big integers.
vkd3d-shader/hlsl: Don't lower integer MOD and DIV on const passes for d3dbc target profiles.
vkd3d-shader/hlsl: Lower integer modulus for d3dbc target profiles.
tests/hlsl: Test vertex shader uniform indirect addressing.
tests/hlsl: Test SM1 vertex shader uniform allocation on indirect addressing.
vkd3d-shader/d3dbc: Respect "idx_count" when writing registers.
vkd3d-shader/hlsl: Implement indirect addressing for d3dbc target profiles.
vkd3d-shader/ir: Normalise MOVA and d3dbc indirect addressing.
vkd3d-shader/hlsl: Allow non-constant deref propagation on SM1.
vkd3d-shader/ir: Reset instruction pointers after shader_instruction_array_insert_at().
tests/hlsl: Test the object .Length property.
vkd3d-shader/hlsl: Support the .Length property for Textures.
vkd3d-shader/hlsl: Make struct_declaration_without_vars return void.
vkd3d-shader/hlsl: Avoid leaking declaration_statement blocks.
vkd3d-shader/hlsl: Avoid leaking blocks on YYABORT.
vkd3d-shader/hlsl: Add parse_variable_def destructors to the parser.
vkd3d-shader/hlsl: Add switch_case destructors to the parser.
vkd3d-shader/hlsl: Remove the unnecessary "instr" field from the parser %union.
vkd3d-shader/hlsl: Parse barriers.
vkd3d-shader/hlsl: Mark stores dirty on interlocked operation in vectorize_stores().
vkd3d-shader/hlsl: Generate vsir for HLSL_IR_SYNC operations.
tests: Add tests for DeviceMemoryBarrierWithGroupSync().
ci: Update the DXC version used on the CI to 1.8.2502.
Giovanni Mascellani (104):
tests: Enable tessellation shaders in the Vulkan shader runner.
tests: Test I/O index ranges not intersecting a signature element for a given register.
vkd3d-shader/ir: Report errors in the I/O normaliser instead of asserting.
vkd3d-shader/ir: Use a structure to record range data in the I/O normaliser.
vkd3d-shader/ir: Handle index ranges that do not touch a signature element for each register.
vkd3d-shader/tpf: Allow I/O index ranges to not intersect a signature element for a given register.
vkd3d: Require extension VK_KHR_maintenance2.
vkd3d: Rename push_descriptor_set to root_descriptor_set.
vkd3d: Put all root descriptors in a single Vulkan descriptor set when using Vulkan heaps.
tests: Test embedding the root signature in shaders for graphics pipelines.
vkd3d: Take the root signature from shaders when creating graphics pipelines.
vkd3d/device: Require VK_KHR_zero_initialize_workgroup_memory when appropriate.
vkd3d: Split Vulkan debug messages.
vkd3d-shader/spirv: Emit immediate words for unhandled instructions.
tests/shader_runner: Allow selecting the executor.
tests/shader_runner: Allow selecting the compiler.
tests: Store the compiler string in the shader runner capabilities.
tests/shader_runner: Avoid creating devices for backends that won't execute.
vkd3d-shader/ir: Validate CONSTBUFFER registers.
vkd3d-shader/ir: Disallow CONSTBUFFER registers in destination parameters.
vkd3d-shader/ir: Disallow IMMCONSTBUFFER registers in destination parameters.
ci: Define VKD3D_TEST_DEBUG when running the CI scripts.
tests: Mark a few other timestamp query tests as buggy on MoltenVK.
tests: Mark two other tessellation tests as buggy on MoltenVK.
tests: Transition texture state to inherit aliased data.
tests: Mark a test about resource aliasing as todo on MoltenVK.
vkd3d-shader/spirv: Run the vsir passes before creating the SPIR-V generator.
vkd3d-shader/spirv: Immediately store a reference to the program in the SPIR-V generator.
vkd3d-shader/spirv: Do not store duplicate references to the signatures.
vkd3d-shader/spirv: Do not steal the instruction array from the vsir program.
vkd3d-shader: Represent descriptor information in the vsir program.
tests: Mark a queue synchronization test as buggy on MoltenVK.
tests: Mark an early depth stencil test as buggy on MoltenVK.
vkd3d-shader/ir: Validate register id and index for RESOURCE registers.
vkd3d-shader/ir: Validate register id and index for UAV registers.
vkd3d-shader/ir: Validate register id and index for SAMPLER registers.
vkd3d-shader/ir: Validate register id and index for CONSTBUFFER registers.
tests: Mark a number of test failures as buggy on macOS before Sequoia.
ci: Disable testing with DXC on macOS.
tests: Mark a todo as resolved on MoltenVK 1.2.12.
vkd3d-shader/msl: Set the prefix to "unknown" for unhandled shader types in msl_generator_init().
tests/d3d12: Always set descriptor heaps.
tests/shader_runner: Always set descriptor heaps.
tests/shader_runner_metal: Handle multisampled 2D texture arrays properly.
tests/shader_runner_metal: Do not use shared buffers.
vkd3d-shader/msl: Access descriptors with a type-erased array.
tests/shader_runner_d3d11: Do not create CPU-readable multisample resolution textures.
tests: Create structured buffers with the appropriate stride.
vkd3d-shader: Represent resource data types as vkd3d_data_type in struct vkd3d_shader_descriptor_info1.
vkd3d-shader/d3d-asm: Expose the raw value if unknown in shader_dump_resource_type().
vkd3d-shader/d3d-asm: Expose the raw value if unknown in shader_dump_data_type().
vkd3d-shader/d3d-asm: Include the program descriptors when tracing vsir code.
vkd3d-shader/d3d-asm: Trace register names for I/O declarations.
vkd3d-shader: Describe the resource data types of samplers as NONE.
vkd3d-shader/ir: Validate descriptor types in vsir programs.
vkd3d-shader/ir: Validate descriptor resource types in vsir programs.
vkd3d-shader/ir: Validate descriptor resource data types in vsir programs.
vkd3d-shader/ir: Validate descriptor counts in vsir programs.
tests/shader_runner_d3d9: Request the adapter specified on the command line.
tests/hlsl: Do not test 16-bit out-of-bound SRV buffer reads.
tests/hlsl: Do not test 16-bit out-of-bound UAV writes.
tests/hlsl: Remove a test in which a function reads an "out" argument.
tests/hlsl: Do not test 16-bit out-of-bound varyings.
tests/hlsl: Do not test dst() on integer arguments with SM6.
tests/hlsl: Fix the precision for a 16-bit arithmetic test.
tests/hlsl: Do not test the implicit passthrough control point phase for SM6.
vkd3d-shader/ir: Validate that DEPTHOUT registers aren't used as sources.
vkd3d-shader/ir: Validate that DEPTHOUTGE registers aren't used as sources.
vkd3d-shader/ir: Validate that DEPTHOUTLE registers aren't used as sources.
tests/d3d12: Set the descriptor heap when clearing UAVs.
tests/d3d12: Check that B5G6R5_UNORM and B5G5R5A1_UNORM are supported before testing them.
tests/d3d12: Do not allow texture creation to fail when testing UAV uint clears.
tests/d3d12: Do not test out-of-bound UAV uint clears.
tests/d3d12: Do not validate the semantic of uint-clearing R11G11B10_FLOAT resources.
tests/d3d12: Skip testing NULL VBVs on NVIDIA on Windows.
vkd3d-shader/msl: Introduce msl_print_src().
vkd3d-shader/msl: Introduce msl_print_bitcast().
vkd3d-shader/msl: Use the standard helper to print bitcasts.
vkd3d-shader/dxil: Create vsir registers from DXIL handles when needed.
vkd3d-shader/dxil: Have sm6_parser_emit_reg_composite_construct() accept an array of registers.
vkd3d-shader/dxil: Introduce a uniform interface to synthesize a register from a SM6 value.
vkd3d-shader/dxil: Move the VSIR register in the SM6 value outside of the union.
vkd3d-shader/dxil: Generate SSA values in sm6_parser_get_value_idx_by_ref().
vkd3d-shader/dxil: Generate SSA values in instruction_dst_param_init_ssa_vector().
vkd3d-shader/dxil: Generate SSA values in instruction_dst_param_init_ssa_scalar().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_atomicrmw().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_binop().
vkd3d-shader/dxil: Do not encode the offset twice for structured TGSM loads.
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_dx_atomic_binop().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_dx_sincos().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_cmpxchg().
vkd3d-shader/dxil: Generate SSA values in sm6_parser_emit_phi().
vkd3d-shader/dxil: Generate UNDEFINED values in sm6_parser_constants_init().
vkd3d-shader/dxil: Generate INVALID values in sm6_parser_constants_init().
vkd3d-shader/dxil: Generate INVALID values in sm6_parser_emit_unhandled().
vkd3d-shader/dxil: Rename VALUE_TYPE_ICB to VALUE_TYPE_DATA.
vkd3d-shader/dxil: Generate ICB values in sm6_parser_declare_icb().
vkd3d-shader/dxil: Generate IDXTEMP values in sm6_parser_declare_indexable_temp().
vkd3d-shader/dxil: Generate GROUPSHAREDMEM values in sm6_parser_declare_tgsm_raw().
vkd3d-shader/dxil: Generate GROUPSHAREDMEM values in sm6_parser_declare_tgsm_structured().
vkd3d-shader/dxil: Call register_get_float_value() directly in sm6_value_get_constant_float().
tests: Expect success when creating resources in certain cases.
tests: Allow creating GPU upload heaps.
tests: Check that shader-visible descriptor heaps have a valid GPU descriptor handle start.
Henri Verbeet (58):
vkd3d-shader/dxbc: Update the vkd3d_shader_parse_input_signature() documentation for dxbc-dxil shaders.
vkd3d-shader/dxil: Avoid using the I/O signatures from the DXBC container.
vkd3d-shader/dxbc: Do not extract I/O signatures for DXIL shaders.
tests: Add a signature reflection test for arrayed inputs and outputs.
vkd3d-shader: Handle arrayed elements in vkd3d_shader_signature_from_shader_signature().
vkd3d: Avoid vkd3d_shader_parse_input_signature().
vkd3d-shader/dxbc: Set the "elements_capacity" field as well in shader_parse_signature().
vkd3d-shader/dxbc: Output messages for invalid semantic name references in shader_parse_signature().
vkd3d-shader/dxbc: Validate component types in shader_parse_signature().
vkd3d-shader/dxil: Generate I/O signatures with 16-bit component types for native 16-bit shaders.
tests: Add a shader model 6 signature reflection test for different types.
vkd3d-shader: Enable DXIL support in the default configuration.
vkd3d-shader/fx: Use vkd3d_string_buffer_print_f32() in parse_fx_4_numeric_value().
ci: Install libjson-perl.
vkd3d-shader/spirv: Do not sign-extend *ptr in vkd3d_spirv_build_string().
vkd3d-shader/fx: Output error messages for invalid sizes.
vkd3d-shader/fx: Handle parser failures in fx_parse().
vkd3d-shader/spirv: Implement outputting instruction offsets.
vkd3d-shader/spirv: Implement outputting opcode names.
vkd3d-shader/spirv: Handle "IdRef" operands.
vkd3d-shader/spirv: Handle "IdResult" operands.
vkd3d-shader/spirv: Handle "IdResultType" operands.
vkd3d-shader/spirv: Handle "LiteralInteger" operands.
vkd3d-shader/spirv: Handle "LiteralString" operands.
vkd3d-shader/spirv: Handle "ValueEnum" operands.
vkd3d-shader/spirv: Handle "BitEnum" operands.
build: Get rid of some redundant instances of "checking" in AC_MSG_CHECKING messages.
demos: Add copyright headers to the HLSL shaders.
tests/hlsl: Add another constant folding test.
vkd3d-shader/hlsl: Do not collect expressions across different operations in hlsl_normalize_binary_exprs().
vkd3d-shader/glsl: Implement VKD3DSIH_XOR.
build: Add @DL_LIBS@ to tests_vkd3d_shader_api_LDADD.
demos: Add basic DPI handling.
demos: Get rid of some unused includes.
demos: Move the vkd3d parts of demo_xcb.h into a separate header.
tests/shader_runner: Get rid of enum texture_data_type.
vkd3d-shader/d3d-asm: Include the I/O signatures when tracing vsir code.
vkd3d-shader/spirv: We can parse up to SPIR-V 1.6.
build: Do not add libvkd3d-shader.la to DEMOS_LDADD twice.
ci: Install mingw-w64-tools in the Linux image.
demos: Split demo_win32.h.
demos: Make the demos work in the Windows build.
vkd3d: Introduce struct vkd3d_null_event.
vkd3d: Introduce d3d12_fence_add_waiting_event().
tests/d3d12: Test ID3D12Device1_SetEventOnMultipleFenceCompletion().
vkd3d: Validate the fence count in d3d12_device_SetEventOnMultipleFenceCompletion().
vkd3d: Handle single fence waits in d3d12_device_SetEventOnMultipleFenceCompletion().
vkd3d: Handle multiple fence ALL waits in d3d12_device_SetEventOnMultipleFenceCompletion().
vkd3d: Handle multiple fence ANY waits in d3d12_device_SetEventOnMultipleFenceCompletion().
vkd3d: Handle multiple fence NULL event waits in d3d12_device_SetEventOnMultipleFenceCompletion().
demos: Make the demos work in the macOS build.
demos: Avoid objc_msgSend_fpret() on ARM64 macOS.
ci: Build the demos on macOS.
demos: Build with -fno-lto.
build: Sort the $(vkd3d_shader_tests) list.
vkd3d-shader/dxil: Document the supported dxbc-dxil transformations.
build: Add the SPIR-V grammar JSON to the distribution.
build: Add the Objective-C API JSON to the distribution.
Nikolay Sivov (23):
vkd3d-shader/preproc: Do not attempt to load empty included files.
vkd3d-shader/fx: Implement parsing complex value and index expressions.
vkd3d-shader/fx: Improve state object nesting for the fx -> text output.
vkd3d-shader/fx: Fix condition when printing literal constant arguments.
vkd3d-shader/fx: Parse technique and pass blocks for fx_2_0.
vkd3d-shader/fx: Add support for parsing fx_2_0 annotations.
vkd3d-shader/fx: Fix const strings array types.
vkd3d-shader/fx: Add support for parsing fx_2_0 parameters.
vkd3d-shader/fx: Add support for parsing numeric states in fx_2_0 passes.
vkd3d-shader/fx: Output object initialiser IDs for fx_2_0.
vkd3d-shader/fx: Print string object entries for fx_2_0.
vkd3d-shader/fx: Add a helper to escape printed strings.
vkd3d-shader/fx: Read fx_2_0 assignment data outside of its dumping helper.
vkd3d-shader/fx: Add support for parsing fx_2_0 sampler states.
vkd3d-shader/fx: Add support for dumping fx_2_0 shader blobs.
vkd3d-shader/fx: Dump complex state value blobs for fx_2_0.
vkd3d-shader/fx: Support dumping parameter and array selector assignments for fx_2_0.
vkd3d-shader/fx: Pad fx_2_0 object data blobs with zeroes.
vkd3d-shader/fx: Set GeometryShader state type as an object type.
vkd3d-shader/fx: Accept int(0) as well as uint(0) constant value for object-type states.
tests: Add a fx_4_1 compilation test for the BlendState states.
vkd3d-shader/fx: Use the same BlendState states description for both fx_4_1 and fx_5_0.
vkd3d-shader/fx: Use appropriate BlendState description when tracing.
Petrichor Park (1):
tests/shader_runner: Allow controlling which shader models to run via command line.
Shaun Ren (44):
vkd3d-shader/tpf: Write non-zero static offsets in relative addressing mode in sm4_write_register_index().
vkd3d-shader/glsl: Implement support for indirect constant buffer addressing.
vkd3d-shader/hlsl: Allow uint1-typed deref path nodes.
vkd3d-shader/hlsl: Allow non-constant indices in register_deref_usage().
vkd3d-shader/hlsl: Support patch arrays in hlsl_reg_from_deref().
vkd3d-shader/hlsl: Support indirect addressing of uniforms in sm4_generate_vsir_reg_from_deref().
vkd3d-shader/hlsl: Introduce simplify_exprs().
vkd3d-shader/hlsl: Introduce component_index_from_deref_path_node().
vkd3d-shader/hlsl: Rename init_deref() to hlsl_init_deref().
vkd3d-shader/hlsl: Implement copy-propagation of derefs with a non-constant index.
tests/hlsl: Add dynamic addressing copy-propagation tests.
vkd3d-shader/hlsl: Parse the maxvertexcount attribute.
vkd3d-shader/hlsl: Parse primitive type modifiers in geometry shaders.
vkd3d-shader/hlsl: Validate and record input primitive types in geometry shaders.
vkd3d-shader/hlsl: Validate stream output object declarations.
vkd3d-shader/hlsl: Validate stream output parameters in geometry shaders.
vkd3d-shader/hlsl: Forbid output parameters in geometry shaders.
tests/hlsl: Add geometry shader syntax tests.
vkd3d-shader/hlsl: Remove the unused hlsl_array_type_to_string() declaration.
vkd3d-shader/hlsl: Support input primitive arrays in geometry shaders.
vkd3d-shader/hlsl: Implement input semantics for geometry shaders.
vkd3d-shader/hlsl: Store geometry shader properties in struct vsir_program.
vkd3d-shader/tpf: Emit geometry shader property declarations.
tests: Add a signature reflection test for geometry shader inputs.
vkd3d-shader/hlsl: Divert written uniform derefs to temps before copy-propagation passes.
vkd3d-shader/hlsl: Ensure that uniform objects are never written to in copy_propagation_transform_object_load().
tests/hlsl: Add a test for copy-propagation of uniform texture object writes.
vkd3d-shader/hlsl: Use dcl_output_siv for patch constant function sysval outputs.
vkd3d-shader/hlsl: Free all allocators in allocate_semantic_registers().
vkd3d-shader/hlsl: Prioritize smaller writemasks for all allocators in allocate_semantic_registers().
vkd3d-shader/tpf: Support SV_RenderTargetArrayIndex/SV_ViewportArrayIndex sysvals in tessellation shaders.
tests: Add signature reflection tests for register allocation rules in tessellation shaders.
vkd3d-shader/hlsl: Add special allocation rules for patch constant data.
vkd3d-shader/hlsl: Support HLSL_CLASS_STREAM_OUTPUT in hlsl type helpers.
vkd3d-shader/hlsl: Parse the Append() method for stream outputs.
vkd3d-shader/hlsl: Parse the RestartStrip() method for stream outputs.
vkd3d-shader/hlsl: Introduce HLSL_REGSET_STREAM_OUTPUTS regset.
vkd3d-shader/hlsl: Allocate registers for stream output objects.
vkd3d-shader/hlsl: Validate and record stream output objects.
tests/hlsl: Add geometry shader stream output syntax tests.
vkd3d-shader/hlsl: Use a block in append_output_copy*().
vkd3d-shader/hlsl: Append output copies for stream output Append() invocations.
vkd3d-shader/hlsl: Validate maximum output size in geometry shaders.
vkd3d-shader/hlsl: Generate vsir instructions for stream output operations.
Victor Chiletto (3):
tests/shader_runner_d3d12: Pass the structure byte stride for SRVs.
tests/hlsl: Attempt to deduce the data type of unspecified type texture data.
tests/hlsl: Add tests for SRV structured buffers.
```
The Wine development release 10.8 is now available.
What's new in this release:
- User handles in shared memory for better performance.
- Improvements to TIFF image support.
- More work on the new PDB backend.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.8.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.8/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.8 (total 18):
- #37813 Defiance fails to connect to login Server
- #51248 UrlGetPart produces different results from Windows
- #54995 msys2-64/cygwin64: git clone fails with 'Socket operation on non-socket'
- #56723 Vegas Pro 14: crash upon creating the main window
- #56983 UI: Application using ModernWPF crashes, Windows.UI.ViewManagement.UISettings not implemented
- #57148 cmd,for: ghidraRun.bat shows: Syntax error: unexpected IN
- #57397 Apps hang when trying to show tooltip
- #57424 msys2-64/cygwin64: mintty.exe not able to show bash.exe output.
- #57575 dmsynth: incorrect condition for buffer underrun in synthsink.c:synth_sink_write_data
- #57805 Wine CoreMIDI: Extra program change event on sending program change through MIDI Output from winmm
- #57941 Build broken with libglvnd <=1.3.3
- #57986 Final Fantasy XI Online window borders and content behave strangely
- #58067 comctl32/edit: Unable to enter values in Adobe Lightroom Classic 10.4
- #58085 foobar2000. Columns UI user interface error listing fonts using DirectWrite
- #58185 Country Siblings: EXCEPTION_ACCESS_VIOLATION related with D3D11
- #58191 dwrite tests fail to compile with mingw-gcc 15 due to attempt to link to truncf
- #58207 Caret gets broken in Edit (incl Combobox) when using long texts
- #58212 boost::interprocess::named_mutex does not work
### Changes since 10.7:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (5):
d2d1: Fix a crash in Clear method if no target is set.
d2d1: Fix a crash in DrawBitmap method family if no target is set.
d2d1: Fix a crash in DrawGeometry method family if no target is set.
d2d1: Fix a crash in FillGeometry method family if no target is set.
d2d1: Fix a crash in DrawGlyphRun method family if no target is set.
Alex Henrie (5):
dsound/tests: Allocate right amount of memory in test_secondary8 (ASan).
opcservices: Fix string comparison in opc_part_uri_get_rels_uri.
mfmediaengine/tests: Mark a refcount test in test_SetCurrentTime as flaky.
quartz: Clamp MediaSeeking_GetCurrentPosition to the stop position.
quartz/tests: Increase the timeout of a pause test in test_media_event.
Alexandre Julliard (16):
shell32/tests: Remove leftover file that hides succeeding tests.
tools: Add support for syscalls with a custom entry point.
ntdll: Define NtQueryInformationProcess as a custom syscall.
ntdll: Don't require syscall flag on Zw functions.
ntdll/tests: Add a test for syscall numbering.
dbghelp: Fix wrong variable used in EX case.
mountmgr: Remove redundant casts.
odbc32: Remove redundant casts.
opengl32: Remove redundant casts.
winebth.sys: Remove redundant casts.
winegstreamer: Remove redundant casts.
wineps: Remove redundant casts.
winedmo: Remove redundant casts.
ntdll: Use the appropriate type for the xstate_features_size variable.
include: Add some fields to the user shared data.
include: Fix the name of the user shared data structure.
Alexandros Frantzis (2):
winewayland: Use ARGB buffers for shaped windows.
winex11: Initialize ex_style_mask output parameter.
Alfred Agrell (9):
ntdll: Fix RtlUTF8ToUnicodeN for expected output ending with a surrogate pair that doesn't fit.
include: Fix a typoed vtable call macro.
include: Fix some typoed vtable call macros.
include: Fix a typoed vtable call macro.
include: Fix a typoed vtable call macro.
include: Fix some typoed vtable call macros.
include: Fix some typoed comments.
include: Fix some typoed vtable call macros.
include: Fix some typoed vtable call macros.
Alistair Leslie-Hughes (6):
odbc32: SQLColAttributesW accept field id SQL_COLUMN_NAME.
include: Add ApplicationRecoveryInProgress/Finished prototype.
include: Add InitNetworkAddressControl prototype.
include: Add some SHARD_* defines.
include: Add some ENDSESSION_* defines.
include: Add IHTMLOptionButtonElement interface.
Andrew Nguyen (1):
wine.inf: Add BootId value for Session Manager\Memory Management\PrefetchParameters key.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Bernhard Übelacker (1):
server: Improve returned value in member WriteQuotaAvailable.
Brendan McGrath (3):
winegstreamer: Only align the first plane in gst_video_info_align.
winegstreamer: Allow decodebin to eliminate caps that don't use system memory.
mfreadwrite: Use stream_index from ASYNC_SAMPLE_READY command.
Brendan Shanks (5):
winemac: Set the OpenGL backbuffer size to the size in window DPI.
winhttp: Use GlobalAlloc for the result of WinHttpDetectAutoProxyConfigUrl.
winhttp: Add a cache to WinHttpDetectAutoProxyConfigUrl().
nsiproxy: Set the name of internal threads.
nsiproxy: Implement change notifications for NSI_IP_UNICAST_TABLE on macOS.
Connor McAdams (6):
d3dx9: Make functions for pixel copying/conversion/filtering static.
d3dx9: Move code for format conversion of a single pixel into a common helper function.
d3dx9/tests: Add some color key tests.
d3dx9: Set all color channels to zero when color keying.
d3dx9: Calculate a range of color key channel values in d3dx_load_pixels_from_pixels() if necessary.
d3dx9: Don't color key compressed pixel formats on 32-bit d3dx9.
Dmitry Timoshkov (3):
combase: Find correct apartment in ClientRpcChannelBuffer_SendReceive().
user32/tests: Add a message test for listbox redrawing after LB_SETCOUNT.
ldap: Use correct SPN when authenticating to Kerberos DC.
Eric Pouech (17):
dbghelp: Introduce a cache for loading blocks in new PDB reader.
winedump: Dump some symbols for managed code.
dbghelp: Silence symbol for managed code.
dbghelp: Silence FIXME when dealing with empty hash table.
dbghelp: Fix using Start parameter in TI_FINDCHILDREN request.
dbghelp: Get rid of code quality warning.
dbghelp: Return method_result from pdb_reader_request_cv_typeid.
dbghelp: Load global symbols from DBI.
dbghelp: Beef up reading compiland header helper.
dbghelp: Build compiland table for new PDB reader.
dbghelp: Create all symt* from new PDB reader.
dbghelp: Workaround SAST false positive.
dbghelp: Skip compilands without MSF stream (new PDB).
dbghelp: Add method to query backend for symbol by address.
dbghelp: Add method to query symbols by name.
dbghelp: Add method to enumerate symbols.
dbghelp: Load compilands on demand (new PDB).
Gabriel Ivăncescu (29):
mshtml: Ignore setting non-writable external props.
mshtml: Don't redefine deleted props in dispex_define_property.
jscript: Properly fill the builtin props.
mshtml: Expose "arguments" from host functions in IE9+ modes.
mshtml: Expose "caller" from host functions in IE9+ modes.
mshtml: Expose "arguments" and "caller" from host constructors in IE9+ modes.
mshtml: Get rid of useless "iter" member in the attribute collection enum.
mshtml/tests: Test iframe window navigation resetting props.
mshtml: Fill the props in the host method instead of enumerating next prop.
mshtml: Only fill the external props once, unless they are volatile.
mshtml: Properly fill the prototype's "constructor" prop.
mshtml: Properly fill the constructor's "prototype" prop.
mshtml: Properly fill the window's constructors.
mshtml: Properly fill the window's script vars.
mshtml: Enumerate all own custom props if requested.
mshtml: Implement nodeType prop for attributes.
mshtml: Implement attributes prop for attributes.
mshtml: Implement ownerDocument prop for attributes.
mshtml: Implement cloneNode for attributes.
mshtml: Implement appendChild for attributes.
mshtml: Implement insertBefore for attributes.
mshtml: Implement hasChildNodes for attributes.
mshtml: Implement childNodes prop for attributes.
mshtml: Implement firstChild prop for attributes.
mshtml: Implement lastChild prop for attributes.
mshtml: Implement previousSibling prop for attributes.
mshtml: Implement nextSibling prop for attributes.
mshtml: Implement replaceChild for attributes.
mshtml: Implement removeChild for attributes.
Georg Lehmann (1):
winevulkan: Update to VK spec version 1.4.315.
Hans Leidekker (2):
winedump: Improve formatting of CLR metadata.
wldap32: Don't map errors from ldap_set_optionW().
Jacek Caban (2):
mshtml: Add CSSStyleDeclaration::content property implementation.
ntdll/tests: Initialize out buffer in threadpool tests.
Jinoh Kang (2):
include: Fix ARM64EC acq/rel barrier to match ARM64.
user32/tests: Test BeginPaint() clipbox of cropped window with CS_PARENTDC.
Mike Swanson (1):
notepad: Restructure menus and make hot-keys unique.
Mohamad Al-Jaf (6):
windows.ui: Implement IUISettings4 stub.
windows.ui: Implement IUISettings5 stub.
coremessaging: Add IDispatcherQueueControllerStatics stub.
coremessaging/tests: Add IDispatcherQueueControllerStatics::CreateOnDedicatedThread() tests.
coremessaging/tests: Add CreateDispatcherQueueController() tests.
coremessaging: Partially implement CreateDispatcherQueueController().
Nikolay Sivov (17):
windowscodecs/tests: Use wide-char literals in tests.
windowscodecs/converter: Add 48bppRGBHalf -> 32bppBGRA conversion path.
windowscodecs/converter: Add 48bppRGBHalf -> 128bppRGBFloat conversion path.
windowscodecs/tests: Add a test for 24bpp TIFF with separate sample planes.
windowscodecs/tiff: Add support for files with separate planes.
windowscodecs: Fix information strings for the Ico decoder.
windowscodecs: Fix information strings for the Jpeg decoder.
windowscodecs: Fix information strings for the Tiff decoder.
libs: Enable JPEG codec in libtiff.
windowscodecs/tiff: Use libjpeg for colorspace conversion YCbCr -> RGB.
windowscodecs/tests: Add some tests for multi-frame tiffs vs SUBFILETYPE tag.
windowscodecs/tiff: Skip frames marked with SUBFILETYPE(0x1).
comctl32/edit: Remove change notifications on Ctrl+A selections.
user32/edit: Reset internal capture state on WM_CAPTURECHANGED.
comctl32/edit: Reset internal capture state on WM_CAPTURECHANGED.
windowscodecs/tiff: Zero-initialize decoder structure.
gdi32/uniscribe: Do not limit the number of items in ScriptStringAnalyse().
Paul Gofman (10):
win32u: Don't redraw window in expose_window_surface() if window has surface.
win32u: Don't inflate rect in expose_window_surface().
shell32: Avoid writing past end of xlpFile or lpResult in SHELL_FindExecutable().
ntdll: Bump current build number to 19045 (Win10 22H2).
services: Create ImagePath registry value with REG_EXPAND_SZ type.
ntdll: Allocate output string if needed for REG_EXPAND_SZ in RTL_ReportRegistryValue().
user32: Add stub for IsWindowArranged().
msvcp: Use _beginthreadex() in _Thrd_start().
kernel32/tests: Add test for removing completion port association with job.
server: Support removing completion port association with job.
Piotr Caban (12):
netapi32: Validate bufptr argument before accessing it.
netapi32: Fix WOW64 server_getinfo thunk.
netapi32: Fix WOW64 share_add thunk.
netapi32: Fix WOW64 wksta_getinfo thunk.
netapi32: Use correct allocators for buffers returned by NetServerGetInfo and NetWkstaGetInfo.
netapi32: Add NetShareGetInfo implementation for remote machines.
ntdsapi: Add DsMakeSpnA implementation.
ntdsapi: Fix referrer handling in DsMakeSpnW function.
msado15: Don't return early in _Recordset_Open if there are no columns.
msado15: Initialize columns in ADORecordsetConstruction_put_Rowset.
msado15: Fix Fields object refcounting.
msado15/tests: Fix some memory leaks.
Rémi Bernon (37):
winebus: Ignore mouse / keyboard hidraw devices by default.
server: Remove const qualifier from shared memory pointers.
include: Implement ReadAcquire64.
server: Use NTUSER_OBJ constants for user object types.
server: Allocate a session shared memory header structure.
server: Move the user object handle table to the shared memory.
win32u: Use the session shared object to implement is_window.
win32u: Use the session shared object for user handle entries.
winewayland: Implement window surface shape and color keying.
windows.gaming.input: Move async impl interfaces to a dedicated IDL.
windows.media.speech: Sync async impl with windows.gaming.input.
cryptowinrt: Sync async impl with windows.gaming.input.
windows.devices.enumeration: Sync async impl with windows.gaming.input.
windows.security.credentials.ui.userconsentverifier: Sync async impl with windows.gaming.input.
server: Remove unused get_window_info atom reply parameter.
win32u: Read the windows full handle from the shared memory.
win32u: Use the session user entries for is_current_thread_window.
win32u: Use the session user entries for is_current_process_window.
win32u: Read window tid / pid from the session shared memory.
wineandroid: Get rid of now unnecessary function loading.
winex11: Get rid of now unnecessary function loading.
winemac: Get rid of now unnecessary function loading.
winewayland: Get rid of now unnecessary function loading.
win32u: Pass thread id to next_process_user_handle_ptr.
win32u: Get rid of struct WND tid member.
win32u: Get rid of struct user_object.
gitlab: Run ntoskrnl tests with win64 architecture.
windows.devices.enumeration: Factor DeviceWatcher creation in a device_watcher_create helper.
windows.devices.enumeration: Implement DeviceWatcher::get_Status.
windows.devices.enumeration: Implement DeviceWatcher async state changes.
windows.devices.enumeration: Split setupapi device enumeration to a separate helper.
windows.media.speech/tests: Make refcount tests results deterministic.
win32u: Don't load the display drivers in service processes.
win32u: Rename set_window_style to set_window_style_bits.
win32u: Add NtUserAlterWindowStyle syscall stub.
win32u: Implement and use NtUserAlterWindowStyle.
winebus: Skip device stop if it wasn't started.
Tim Clem (2):
ntdll: Treat TokenElevationTypeDefault tokens in the admin group as elevated.
advapi32/tests: Skip a token elevation test if OpenProcess fails.
Vibhav Pant (8):
windows.devices.enumeration/tests: Add conformance tests for FindAllAsync().
windows.devices.enumeration: Add a stubbed implementation for FindAllAsync() and DeviceInformationCollection.
windows.devices.enumeration: Add a stubbed IDeviceInformation implementation for device interfaces.
windows.devices.enumeration: Create IDeviceInformation objects from all present device interfaces.
windows.devices.enumeration: Add tests for initial device enumeration in DeviceWatcher.
windows.devices.enumeration: Implement IDeviceInformationStatics::CreateWatcher.
windows.devices.enumeration: Implement EnumerationCompleted handler for DeviceWatcher.
windows.devices.enumeration: Implement initial device enumeration for DeviceWatcher::Start().
Yeshun Ye (3):
dssenh: Add 'CRYPT_VERIFYCONTEXT | CRYPT_NEWKEYSET' support for CPAcquireContext.
dssenh/tests: Add test for CryptAcquireContextA.
find: Support switch /i or /I.
Yuxuan Shui (3):
win32u: Fix potential use of uninitialized variables.
msvcrt: Use _LDOUBLE type in exported functions.
ntdll: Also relocate entry point for builtin modules.
Zhiyi Zhang (4):
windows.ui: Implement IWeakReferenceSource for IUISettings.
windows.ui: Implement weak_reference_source_GetWeakReference().
include: Add windows.ui.viewmanagement.core.idl.
include: Add ID3D11FunctionLinkingGraph.
Ziqing Hui (11):
shell32/tests: More use of check_file_operation helper in test_copy.
shell32: Fail if wildcards are in target file names.
shell32: Introduce file_entry_{init,destroy} helpers.
shell32: Remove a useless index variable in parse_file_list.
shell32: Rework FO_COPY operation.
shell32: Remove useless bFromRelative member.
shell32: Add overwrite confirmation for FO_COPY.
shell32/tests: Add more wildcard target tests.
shell32: Introduce has_wildcard helper.
shell32: Handle invalid parameter correctly for SHFileOperationW.
shell32: Introduce parse_target_file_list helper.
```
The Wine development release 10.7 is now available.
What's new in this release:
- User fault fd support to improve write watches performance.
- Support for Float format conversions in WindowsCodecs.
- More work on the new PDB backend.
- Various bug fixes.
The source is available at <https://dl.winehq.org/wine/source/10.x/wine-10.7.tar.xz>
Binary packages for various distributions will be available
from the respective [download sites][1].
You will find documentation [here][2].
Wine is available thanks to the work of many people.
See the file [AUTHORS][3] for the complete list.
[1]: https://gitlab.winehq.org/wine/wine/-/wikis/Download
[2]: https://gitlab.winehq.org/wine/wine/-/wikis/Documentation
[3]: https://gitlab.winehq.org/wine/wine/-/raw/wine-10.7/AUTHORS
----------------------------------------------------------------
### Bugs fixed in 10.7 (total 14):
- #18803 PokerStars windows disappear on alert
- #18926 In Winamp, the "send to..." submenu in the playlist menu does not appear
- #20172 Button "Alt Gr" triggers access violation in Teach2000
- #31775 Misaligned icons in icon bar
- #33624 winhelp: Popups appear with bogus scrollbars which disappear when you click them
- #37706 ScrollWindowEx() returns ERROR if the window is not visible (in the Windows API sense); real Windows returns NULLREGION
- #38379 Barnham Junction fails to start "Cannot create file C\users\username\Temp\BBC*.tmp\Sim Resources\Barnham Junction\Nameboard.bmp"
- #48792 HeidiSQL: some icons completely grayed out
- #50226 Native Access 1.13.5 Setup PC.exe Installer installs infinitely
- #50851 The procedure entry point RasClearConnectionStatistics could not be located in the dynamic link library RASAPI32.dll
- #56107 Comdlg32/Color - Cross not painted
- #57684 Games do not receive keyboard input in virtual desktop mode
- #58072 LVSCW_AUTOSIZE does not include the size of the state imagelist
- #58082 Race condition in GlobalMemoryStatusEx() implementation
### Changes since 10.6:
```
Adam Markowski (1):
po: Update Polish translation.
Akihiro Sagawa (3):
cmd: Use the OEM code page if GetConsoleOutputCP fails.
cmd/tests: Add updated code page test in batch file.
cmd: Use the console output code page to read batch files.
Alex Henrie (2):
gdi32: Limit source string length in logfont_AtoW (ASan).
gdi32: Ensure null termination in logfont_AtoW.
Alexander Morozov (3):
ntoskrnl.exe/tests: Test some Io functions with FDO and PDO.
ntoskrnl.exe/tests: Test that calling some Io functions does not result in receiving IRP_MN_QUERY_ID.
ntoskrnl.exe: Fix getting DevicePropertyEnumeratorName.
Alexandre Julliard (25):
ntdll: Round the virtual heap size to a page boundary.
kernel32/tests: Don't use _ReadWriteBarrier on ARM platforms.
configure: Default to MSVC mode with LLVM cross-compilers.
configure: Move cross-compiler checks before header checks.
configure: Make the missing PE compiler notice a warning.
configure: Use a standard pkg-config check for Alsa.
include: Use pragma push/pop.
tools: Use pragma push/pop.
dlls: Use pragma push/pop.
programs: Use pragma push/pop.
configure: Re-enable pragma pack warnings.
urlmon/tests: Run the ftp tests against test.winehq.org.
wininet/tests: Run the ftp tests against test.winehq.org.
include: Avoid long types on the Unix side.
ntdll: Remove redundant casts.
win32u: Remove redundant casts.
winex11: Remove redundant casts.
winemac: Remove redundant casts.
wineandroid: Remove redundant casts.
winewayland: Remove redundant casts.
tools: Fix tracing of empty strarray.
tools: Use booleans where appropriate.
tools: Generate syscall macros directly with the right offset.
tools: Add a platform-independent name for the ALL_SYSCALLS macros.
ntdll: Add a test for invalid syscall numbers.
Alexandros Frantzis (3):
winewayland: Support building with older EGL headers.
winewayland: Always check the role to determine whether a surface is a toplevel.
winewayland: Introduce helper to check whether a surface is toplevel.
Attila Fidan (1):
winewayland: Require wl_pointer for pointer constraints.
Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.
Bernhard Übelacker (4):
ntoskrnl.exe/tests: Remove unused function pointers.
spoolss: Avoid buffer-overflow when setting numentries (ASan).
d3d11/tests: Add broken to test_nv12.
gdi32/tests: Remove one test for NtGdiMakeFontDir.
Billy Laws (2):
ntdll: Allow mem{cpy,move} optimisation now -fno-builtins is used.
ntdll: Check arm64ec TEB frames are valid before popping them.
Brendan McGrath (3):
mf: Update state and start clock for both paused and stopped.
mf: Reset audio client on flush.
winegstreamer: Handle the Stream Group Done event.
Brendan Shanks (2):
win32u: Enter font_lock in NtGdiMakeFontDir.
win32u: Raise realized font handle limit to 5000.
Charlotte Pabst (1):
mfplat/tests: Don't assume video processor MFT can provide samples.
Dmitry Timoshkov (3):
user32/tests: Add more ScrollWindowEx() tests.
win32u: Fix return value of ScrollWindowEx() for invisible windows.
windowscodecs: Also initialize FlipRotator.bpp field.
Elizabeth Figura (4):
wined3d/glsl: Move clip distance enabling to shader_glsl_apply_draw_state().
wined3d/glsl: Move GL_FRAMEBUFFER_SRGB application to shader_glsl_apply_draw_state().
wined3d: Move SRGB write enable to wined3d_extra_ps_args.
wined3d: Move the clip plane mask to wined3d_extra_vs_args.
Eric Pouech (9):
dbghelp: Move typedef handling to the new PDB backend.
dbghelp: Add user field to function and inline sites.
dbghelp: Move reading inlinee line number information to PDB backend.
dbghelp: Directly store compiland's name in symt_compiland.
dbghelp: Use symref_t to describe a symbol's container.
cmd: Factor out code_page when searching for a label.
conhost: Add support for ESC in win32 edit mode.
conhost: Handle ctrl-break unconditionally.
conhost: Handle ctrl-c from unix console in ReadConsoleW + control.
Esme Povirk (7):
oleaut32: Use apartment-less WIC.
oleaut32: Copy palette from WIC source for indexed formats.
gdiplus: Limit clip region calculation to device rectangle.
gdiplus: Don't trace old values in GdipSetMatrixElements.
appwiz.cpl: Report addon download failures.
comctl32: Implement EVENT_OBJECT_STATECHANGE for progress control.
comctl32: Implement EVENT_OBJECT_VALUECHANGE for progress bars.
Francisco Casas (1):
d2d1: Compile shaders on device creation instead of device context creation.
Gabriel Ivăncescu (9):
mshtml: Rename struct constructor to stub_constructor.
mshtml: Consolidate the functional constructors into a common struct implementation.
mshtml: Define the constructor's prototype on mshtml side.
mshtml: Define "create" from XMLHttpRequest constructor as a jscript prop in IE9+ modes.
mshtml: Return proper string from functional constructors' toString in IE9+ modes.
mshtml: Store the object_id of the last object in the prototype chain that contains the needed prop.
mshtml: Validate builtin host functions in IE9+ using prototype_id rather than tid where possible.
mshtml: Use designated initializers for the Location dispex data.
mshtml: Remove unused struct mutation_observer_ctor.
Hans Leidekker (3):
odbc32: Fix replicating unixODBC data sources.
include: Fix typos in exclusiveto attributes.
msv1_0: Drop the ntlm_auth check.
Jinoh Kang (4):
Revert "kernel32/tests: Don't use _ReadWriteBarrier on ARM platforms."
kernel32/tests: Don't use _ReadWriteBarrier() on clang.
kernel32/tests: Run store_buffer_litmus_test() in a single-iteration loop.
kernel32/tests: Shorten time for negative half of litmus test for FlushProcessWriteBuffers().
Keno Fischer (1):
ntdll: Make server requests robust to spurious short writes.
Louis Lenders (1):
combase: Add stub for RoOriginateErrorW.
Marc-Aurel Zent (4):
server: Store process base priority separately.
server: Use process base priority in set_thread_base_priority.
ntdll: Implement ProcessBasePriority class in NtSetInformationProcess.
ntdll/tests: Add tests for setting process base priority.
Michael Stefaniuc (2):
maintainers: Remove myself as the Stable maintainer.
dmsynth: Don't report an underrun when current equals write position.
Mohamad Al-Jaf (4):
windows.media.mediacontrol: Fix a memory leak.
windows.devices.enumeration: Guard against WindowsDuplicateString() failure.
windows.system.profile.systemid/tests: Add ISystemIdentificationInfo::get_Id() tests.
windows.system.profile.systemid: Implement ISystemIdentificationInfo::get_Id().
Nikolay Sivov (23):
include: Add newer winhttp option constants.
comctl32/tests: Add a column width test for LVSCW_AUTOSIZE with a state imagelist.
comctl32/listview: Use state icon width when autosizing columns.
winedump: Fix a crash in 'dump' command.
include: Change the schannel.h guard name.
include: Add WINHTTP_SECURITY_INFO type.
windowscodecs/tests: Remove A->W test data conversion.
windowscodecs/tests: Add some tests for encoder info.
windowscodecs: Fix JPEG encoder information strings.
windowscodecs: Fix TIFF encoder information strings.
shell32: Simplify error handling when FolderItemVerbs object is created.
shell32: Fix use-after-free at FolderItemVerbs creation (ASan).
windows.ui/tests: Remove tests for exact color values.
uiautomationcore: Fix BSTR buffer overrun (ASan).
comdlg32/colordlg: Fix color picker cursor painting.
windowscodecs/png: Fix byte-swapping mode usage in the encoder.
windowscodecs/tests: Add a test for big-endian TIFF image data handling.
windowscodecs/tiff: Remove unnecessary image data byte-swaping.
windowscodecs/converter: Add 24bppBGR -> 128bppRGBAFloat conversion path.
windowscodecs/converter: Add 32bppBGRA - > 128bppRGBAFloat conversion path.
windowscodecs/converter: Add 128bppRGBAFloat -> 32bppBGRA conversion path.
windowscodecs/converter: Add 96bppRGBFloat -> 128bppRGBFloat conversion path.
windowscodecs/converter: Add 96bppRGBFloat -> 32bppBGRA conversion path.
Pali Rohár (2):
win87em: Fix __FPMATH symbol name.
krnl386: Set carry flag for unimplemented DPMI 0800h call (Physical Address Mapping).
Paul Gofman (6):
opengl32: Don't distinguish WGL_SWAP_EXCHANGE_ARB and WGL_SWAP_UNDEFINED_ARB when filtering in wglChoosePixelFormatARB().
kernel32/tests: Add more tests for write watches.
ntdll: Use UFFD for write watches support if available.
wbemprox: Implement Win32_CacheMemory table.
netapi32: Fix service names in NetStatisticsGet().
ntdll: Make sure NT flag is not set before iretq in wine_syscall_dispatcher_return on x86-64.
Piotr Caban (18):
msvcr110/tests: Link to msvcr110.
msvcr70/tests: Link to msvcr70.
msvcr71/tests: Link to msvcr71.
include: Add _FCbuild() declaration.
include: Add vsscanf declaration.
include: Add function declarations used in msvcr120 tests.
msvcr120/tests: Link to msvcr120.
msvcrt: Fix memory leaks in create_locinfo.
makefiles: Use -fno-builtin for CRT tests.
msvcr80/tests: Link to msvcr80.
include: Add functions used by msvcr90 tests.
msvcr90/tests: Link to msvcr90.
msvcrt: Avoid dynamic allocation when storing locale name.
msvcrt: Use LC_MAX constant in create_locinfo.
secur32/tests: Make NTLM server challenge blob human-readable.
secur32/tests: Use one copy of server challenge reply in NTLM tests.
secur32/tests: Fix NTLM tests on Windows 11 by accepting NTLMv2 in test server response.
secur32/tests: Don't accept NTLMv1 type 3 message in NTLM tests.
Rastislav Stanik (1):
kernelbase: Fix race condition in GlobalMemoryStatusEx().
Rémi Bernon (12):
d3d9/tests: Skip some d3d12 tests instead of crashing.
win32u: Use the driver_funcs interface for osmesa pixel formats.
win32u: Add an opengl_driver_funcs entry to implement wglGetProcAddress.
opengl32: Generate error messages in null functions.
opengl32: Pass null GL funcs to __wine_get_wgl_driver.
win32u: Add procedure loading to generic OpenGL code.
win32u: Add a generic wglSwapBuffers implementation.
wineandroid: Use the generic wglSwapBuffers implementation.
winemac: Use the generic wglSwapBuffers implementation.
winewayland: Use the generic wglSwapBuffers implementation.
winex11: Use the generic wglSwapBuffers implementation.
win32u: Add nulldrv swap_buffers implementation.
Stefan Dösinger (3):
odbc32: Don't call wcslen in debugstr_sqlwstr.
odbc32: Retlen may be NULL in SQLGetData.
msvcrt: Add truncf to the import library.
Tim Clem (1):
comctl32: Track initial taskdialog layout on a per-dialog basis.
Yuxuan Shui (1):
winegstreamer: Make sure WMSyncReader never reads in the background.
```