The goal is to use the bundling mechanism to share the musl math
library code between msvcrt and ntdll, and also with a future FPU
emulation library. It should also make it easier to sync with upstream
changes.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2567
I'm not sure if I'm using the dinput HID test infrastructure correctly. Also, an existing test could be extended instead of adding a whole new test function, saving a couple of source code lines and test execution time, but I wasn't sure which one to extend - feel free to suggest one and I will update the test.
Also, maybe the suggested fix is not a great idea. Maybe there are actually some collection objects that are supposed to have a guidType that is not GUID_Unknown? I couldn't find any in the limited number of Windows environments I can access, so I wanted to put it out there for discussion.
The issue I'm trying to solve is that Zusi 3 does not appear to check the DIDFT_NODATA bit in dwType, so it just adds most of the objects listed by EnumObjects() to the SetDataFormat() call, maybe filtering out only those that have guidType = GUID_Unknown, or maybe there's an allow-list of GUIDs to add, and that list includes GUID_ZAxis. I haven't seen complaints about joysticks not working in Zusi 3 on Windows, so I guess collections (and DIDFT_NODATA objects in general) rarely/never have a non-Unknown GUID, or maybe Windows simply accepts these collections in SetDataFormat() and that only fails in Wine.
--
v2: dinput/tests: Remove unmatched winetest_pop_context().
dinput: Set guidType = GUID_Unknown for HID collections.
dinput/tests: Add guidType test for collection objects.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2573
I'm not sure if I'm using the dinput HID test infrastructure correctly. Also, an existing test could be extended instead of adding a whole new test function, saving a couple of source code lines and test execution time, but I wasn't sure which one to extend - feel free to suggest one and I will update the test.
Also, maybe the suggested fix is not a great idea. Maybe there are actually some collection objects that are supposed to have a guidType that is not GUID_Unknown? I couldn't find any in the limited number of Windows environments I can access, so I wanted to put it out there for discussion.
The issue I'm trying to solve is that Zusi 3 does not appear to check the DIDFT_NODATA bit in dwType, so it just adds most of the objects listed by EnumObjects() to the SetDataFormat() call, maybe filtering out only those that have guidType = GUID_Unknown, or maybe there's an allow-list of GUIDs to add, and that list includes GUID_ZAxis. I haven't seen complaints about joysticks not working in Zusi 3 on Windows, so I guess collections (and DIDFT_NODATA objects in general) rarely/never have a non-Unknown GUID, or maybe Windows simply accepts these collections in SetDataFormat() and that only fails in Wine.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2573
IsRectEmpty() doesn't do the right thing as padding is not a rectangle. E. g., for rect (0, 0, 0, 8) IsRectEmpty() will return TRUE while the padding is apparently not empty.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2570
There is an application uses DirectSound to play waves and uses IAudioEndpointVolume to adjust the volume, but there is no effect on the volume adjustment.
--
v5: mmdevapi: Implement function 'AEV_SetMasterVolumeLevelScalar'
https://gitlab.winehq.org/wine/wine/-/merge_requests/2565
This draft is for tracking Wine Gecko 2.47.4. I tagged rc1 release and uploaded builds and this MR makes use of it.
What's new in this release:
- Gitlab CI integration. Official binaries are build by Gitlab now.
- Improved window messages handling for FFXIV.
- New DOM API and CSS extensions for better IE compatibility mode support.
- Compatibility fixes.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2569
Support manually packing constant buffer elements through the `packoffset(·)` syntax.
Support not included yet for simultaneously having semantics, `register(·)`, and `packoffset(·)`, for abnormalities such as:
```hlsl
Texture2D tex;
cbuffer buff
{
float4 a : packoffset(c0);
sampler sam : packoffset(c0) : register(s1) : SEMANTIC;
}
float4 main() : sv_target
{
return tex.Sample(sam, float2(0, 0)) + a;
}
```
but this motivated the addition of the `hlsl_ir_var.offset_reservation` field instead of reusing `hlsl_ir_var.reg_reservation`.
--
v6: vkd3d-shader/hlsl: Consider register() as manual packing for resource fields.
tests: Test packoffset() with resources inside cbuffers.
vkd3d-shader/hlsl: Ignore packoffset() contents for SM1.
vkd3d-shader/hlsl: Don't allow manual and automatic cbuffer offset packing.
vkd3d-shader/hlsl: Detect overlaps in cbuffer offsets.
vkd3d-shader/hlsl: Support packoffset().
vkd3d-shader/hlsl: Parse packoffset().
vkd3d-shader/hlsl: Rename struct hlsl_reg_reservation fields.
tests: Test packoffset().
tests: Test cbuffer element offsets.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/106
Update the gdi_device_manager API to enable drivers to set the current mode (along with the registry mode if not already set) in
UpdateDisplayDevices.
This changes also allows us to remove the driver code that manually changes the registry settings.
--
v3: wineandroid.drv: Set the current mode using gdi_device_manager.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2568
Update the gdi_device_manager API to enable drivers to set the current mode (along with the registry mode if not already set) in
UpdateDisplayDevices.
This changes also allows us to remove the driver code that manually changes the registry settings.
--
v2: wineandroid.drv: Set the current mode using gdi_device_manager.
winemac.drv: Set the current mode using gdi_device_manager.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2568
This second MR in the Wayland series adds display configuration related enhancements, including providing more display information (like a proper/consistent name and position) to Wine and supporting GetCurrentDisplaySettings.
To get additional information from the Wayland compositor we need to use a protocol from the wayland-protocols collection, so we introduce support in the build system for protocol .xml files. These changes are introduced on their own commit in the series, but we can squash it with the next commit, where the functionality is first used, if preferred.
To be able to provide a consistent view of the display settings across all processes, this MR leverages the win32u CURRENT_SETTINGS storage mechanism (which was previously used only in the null driver).
Thanks!
--
v6: winewayland.drv: Infer and report Windows monitor positions.
winewayland.drv: Use the output name reported by the compositor.
tools: Support building Wayland protocol source files.
winewayland.drv: Handle wl_output objects only in the desktop process.
winewayland.drv: Support GetCurrentDisplaySettings.
win32u: Support setting the registry mode using gdi_device_manager.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2476
Update the gdi_device_manager API to enable drivers to set the current mode (along with the registry mode if not already set) in
UpdateDisplayDevices.
This changes also allows us to remove the driver code that manually changes the registry settings.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2568
Some drivers (AMD Radeon RX 6700 XT, with radeonsi from Mesa 22.2.0-rc3) emit
less than one invocation per pixel, presumably because they detect that the
shader control flow is uniform for all pixels. Having the control flow depend on
SV_Position avoids this test failure.
Cf. 34bd0dd0704c613abef8a9aa3ba2a2507ed02843 in wine.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/134
Normalise the incoming vkd3d_shader_instruction IR to the shader model 6 pattern where only one patch constant function is emitted. This allows generation of a single patch constant function in SPIR-V.
--
v15: vkd3d-shader/spirv: Declare the phase SPIR-V function in spirv_compiler_enter_shader_phase().
vkd3d-shader/spirv: Remove the hull shader phase array.
vkd3d-shader/trace: Trace the normalised instruction array after tracing the input.
vkd3d-shader/ir: Merge all shader IR fork and join phases into a single phase.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/84
Support manually packing constant buffer elements through the `packoffset(·)` syntax.
Support not included yet for simultaneously having semantics, `register(·)`, and `packoffset(·)`, for abnormalities such as:
```hlsl
Texture2D tex;
cbuffer buff
{
float4 a : packoffset(c0);
sampler sam : packoffset(c0) : register(s1) : SEMANTIC;
}
float4 main() : sv_target
{
return tex.Sample(sam, float2(0, 0)) + a;
}
```
but this motivated the addition of the `hlsl_ir_var.offset_reservation` field instead of reusing `hlsl_ir_var.reg_reservation`.
--
v5: vkd3d-shader/hlsl: Consider register() as manual packing for resource fields.
tests: Test packoffset() with resources inside cbuffers.
vkd3d-shader/hlsl: Ignore packoffset() contents for SM1.
vkd3d-shader/hlsl: Don't allow manual and automatic cbuffer offset packing.
vkd3d-shader/hlsl: Detect overlaps in cbuffer offsets.
vkd3d-shader/hlsl: Support packoffset().
vkd3d-shader/hlsl: Parse packoffset().
vkd3d-shader/hlsl: Rename struct hlsl_reg_reservation fields.
tests: Test packoffset().
tests: Test cbuffer element offsets.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/106
This series of patches implements GetConsoleOriginalTitleA/W().
We re-use the existing logic of GetConsoleTitle, as it is the same for GetConsoleOriginalTitle.
--
v4: kernel32/tests: Test GetConsoleOriginalTitleW() with an empty title
https://gitlab.winehq.org/wine/wine/-/merge_requests/2532
The code was not correct or very clear, and the tests were not testing what they intended to. I expanded the tests and I could add even more tests, but I was trying to stick to fixing the main problem.
Two of the new tests are to-do because Wine does not translate LDAP_OPT_ON to WLDAP32_OPT_ON in ldap_get_optionW. I haven't fixed that because to fix it properly, we would have to save the specific value that was passed to Wine's ldap_set_optionW and return that value from ldap_get_optionW instead of what was passed to OpenLDAP's ldap_set_option.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2558
First commit adds a "todo_wine" test, second commit fixes the behavior and marks the test as no longer "todo". It looks like the same logic is already implemented (and tested) for the EnumDevices method.
Commit message for the fix commit:
---
This solves an issue in ZUSI 3 settings for DirectInput devices. Delphi
defines the True value of the "C-compatible" LongBool type as -1, which
wine interpreted to mean DIENUM_STOP because it is != DIENUM_CONTINUE.
Change that logic so only an explicit DIENUM_STOP (= 0) return value
stops the enumeration of objects.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2560
On Wed Mar 1 08:51:53 2023 +0000, Zhiyi Zhang wrote:
> Make sure you pass the tests on the TestBots at
> https://testbot.winehq.org/Submit.pl first. If you have other tests
> failing only locally, you can comment them out for the time being.
I tried to add a test for this change, but it's too complex for me.
I tested my change with the project: https://github.com/ivellioscolin/NCALRPC_example
The project 'NCALRPC_example' using explicit binding handle, and the handle is always 0 in server functions.
I add some code in function 'RPCGet' in the file NCALRPC_example\Server\RPCServerImpl.cpp:
`
DWORD pid;
I_RpcBindingInqLocalClientPID(hBinding, &pid);
pData->outSize = pid;
`
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2305#note_28607
Add a new environment variable `WINEBOOT_HIDE_DIALOG` to disable configuration wait windows. Useful for wine wrappers that want to keep the UX seamless.
--
v6: Change `WINEHIDEWAIT` to `WINEBOOT_HIDE_DIALOG`
https://gitlab.winehq.org/wine/wine/-/merge_requests/2552
Add a new environment variable WINEHIDEWAIT to disable configuration wait windows. Useful for wine wrappers that want to keep the UX seamless.
--
v5: Add env variable to hide wait window
https://gitlab.winehq.org/wine/wine/-/merge_requests/2552
--
v3: uiautomationcore: Implement ILegacyIAccessibleProvider::get_Role for MSAA providers.
uiautomationcore: Add support for UIA_LegacyIAccessibleRolePropertyId.
uiautomationcore: Add support for UIA_LegacyIAccessibleChildIdPropertyId.
uiautomationcore: Add support for UIA_IsOffscreenPropertyId to MSAA providers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2523
--
v2: uiautomationcore: Implement ILegacyIAccessibleProvider::get_Role for MSAA providers.
uiautomationcore: Add support for UIA_LegacyIAccessibleRolePropertyId.
uiautomationcore: Add support for UIA_LegacyIAccessibleChildIdPropertyId.
uiautomationcore: Add support for UIA_IsOffscreenPropertyId to MSAA providers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2523
Word 2016 queries a lot of font glyph bounding boxes and bitmaps with translation matrices. The
result of these queries is not cached because the transform matrix is not the identity matrix.
However, the translation offsets don't affect FreeType font operations at all, which can be
verified in ft_matrix_from_dwrite_matrix() called by get_glyph_transform(). So these results with
translation matrices can be cached as well. With this patch, Word 2016 stuttering is reduced
significantly.
--
v4: dwrite: Use cache when font transform matrix contains only translation offsets.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2482
--
v2: imm32/tests: Add some ImmGetCandidateWindow tests.
imm32/tests: Add some ImmGetCandidateListCount(W|A) tests.
imm32/tests: Add some ImmGetCandidateList(W|A) tests.
imm32/tests: Add some ImmRequestMessageW tests.
imm32/tests: Add some spurious IME select calls.
imm32/tests: Add some ImeSetActiveContext tests.
imm32/tests: Init INPUTCONTEXT status in ImeSelect.
imm32: Avoid recursing into ImeSelect calls.
imm32/tests: Add some ImmSetOpenStatus tests.
imm32/tests: Add some ImmSetConversionStatus tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2548
According to the tests in 23b72ad, when we are reading a compressed stream, the type returned by `stream_props_GetMediaType()` should reflect compressed format even if we finnally output uncomressed data. For example, if we use wmvcore reader to read a WMV3 stream and output RGB24, the format information returned by `stream_props_GetMediaType()` should be WMV3, not RGB24.
This patch set is marked as draft now, because PATCH 2 and PATCH 3 is affected by 3e8936a2 in MR !2258. So I'll submit a newer version of this after !2258 get merged.
--
v5: winegstreamer: Use codec format in stream_props_GetMediaType.
winegstreamer: Implement amt_from_wg_format_video_wmv.
winegstreamer: Implement wg_format_from_caps_video_wmv.
winegstreamer: Implement wg_parser_stream_get_codec_format.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2387
Required for !1857 to not break when comctl32 version 6 isn't requested by application (in particular, found this in [qapitrace](https://github.com/apitrace/apitrace)).
Manifest resource id and assembly identity name match with Windows.
For isolation purposes, activation context is disabled while emitting events.
--
v3: comdlg32: Enable visual styles when showing IFileDialog.
comdlg32: Return E_UNEXPECTED if IFileDialog is already shown
https://gitlab.winehq.org/wine/wine/-/merge_requests/2068