On Windows it seems sending to port 0 does nothing and does not error.
Presently sendmsg errors with EINVAL.
This works around it, by checking if it's port 0 then skipping the data.
--
v19: ntdll: Do not send data to port 0.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2100
On Windows it seems sending to port 0 does nothing and does not error.
Presently sendmsg errors with EINVAL.
This works around it, by checking if it's port 0 then skipping the data.
--
v18: ntdll: Do not send data to port 0.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2100
session_request_sample() calls session_request_sample_from_node() and increments sink.requests only if that succeeds. But session_request_sample_from_node() calls session_deliver_sample_to_node() synchronously for MF_TOPOLOGY_TRANSFORM_NODE if there are output samples available. Then, if sink.requests is zero before this session_request_sample() call that sample is silently dropped.
It might not be easily noticeable currently, but I have a patchset which implements _ProcessMessage(MFT_MESSAGE_COMMAND_DRAIN) needed for some games (and also improving end of playback by fully delivering output including few last frames). And currently if session_deliver_sample_to_node() performs drain and that drain produces any samples we get a data sample processed but end marker silently dropped resulting in hanging session. That market gets to session_request_sample / session_request_sample_from_node but gets dropped in session_deliver_sample_to_node due to the reason first patch is fixing.
Thus also the second patch. I am not sure it is strictly needed, but the current handling of that seems fragile to me, I suppose we shouldn't ever drop markers.
--
v3: mf/session: Avoid dropping samples delivered from transform in session_request_sample_from_node().
https://gitlab.winehq.org/wine/wine/-/merge_requests/2012
This is the last piece that's needed for function calls to basically work.
--
v2: vkd3d-shader/hlsl: Allow the final expression in a for loop initializer to be omitted.
vkd3d-shader/hlsl: Handle early return after a CF block only if there was actually a return somewhere in the CF block.
vkd3d-shader/hlsl: Inline function calls.
vkd3d-shader/hlsl: Emit a hlsl_fixme() for unhandled instruction types when writing bytecode.
vkd3d-shader/hlsl: Lower return statements.
vkd3d-shader/hlsl: Emit a hlsl_fixme() if multiple valid entry point definitions are given.
vkd3d-shader/hlsl: Skip functions that don't have a body when looking for the entry point.
tests: Avoid performing a multi-component UAV load in uav-out-param.shader_test.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/85
Convert all consecutive calls to d7_DrawPrimitive(TRIANGLE_FAN) into
a single call to d7_DrawPrimitive(TRIANGLE_LIST) with all the vertices.
Note, it *increase* the number of vertices, but bandwith is much less costly
than multiple calls.
Note, only a very precise subset of the calls get buffered in order to
ensure that the disruption is minimal.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33814
--
v8: ddraw: Convert buffer API to use d3d_device struct
ddraw: Also Buffer D3DPT_POINTLIST
ddraw: directly buffering in the streaming buffer
https://gitlab.winehq.org/wine/wine/-/merge_requests/2105
session_request_sample() calls session_request_sample_from_node() and increments sink.requests only if that succeeds. But session_request_sample_from_node() calls session_deliver_sample_to_node() synchronously for MF_TOPOLOGY_TRANSFORM_NODE if there are output samples available. Then, if sink.requests is zero before this session_request_sample() call that sample is silently dropped.
It might not be easily noticeable currently, but I have a patchset which implements _ProcessMessage(MFT_MESSAGE_COMMAND_DRAIN) needed for some games (and also improving end of playback by fully delivering output including few last frames). And currently if session_deliver_sample_to_node() performs drain and that drain produces any samples we get a data sample processed but end marker silently dropped resulting in hanging session. That market gets to session_request_sample / session_request_sample_from_node but gets dropped in session_deliver_sample_to_node due to the reason first patch is fixing.
Thus also the second patch. I am not sure it is strictly needed, but the current handling of that seems fragile to me, I suppose we shouldn't ever drop markers.
--
v2: mf/session: Avoid dropping samples delivered from transform in session_request_sample_from_node().
https://gitlab.winehq.org/wine/wine/-/merge_requests/2012
Not completely sure if it's worth having for 8.0, but opening this to share the target I'm trying to reach.
--
v8: ntdll: Add a thread-specific category group cache.
ntdll: Use atomics and lock-free list for category groups.
ntdll: Implement Low Fragmentation Heap frontend.
ntdll: Split heap_resize_block into heap_resize_(block|large) helpers.
ntdll: Count allocations and automatically enable LFH.
ntdll: Increase heap block tail_size capacity to 16 bits.
ntdll: Implement HeapCompatibilityInformation.
ntdll: Fix HeapWalk with empty uncommitted consecutive subheaps.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1628
WinRT apps check if the Windows theme is set to dark mode through IUISettings3::GetColorValue().
An option needs to be added to Winecfg to enable dark mode support, which just sets the registry key AppsUseLightTheme to 0 for dark mode and 1 for light mode. It will have to be in a separate merge request. Also, not sure if a dark mode checkbox should be added or if dark mode should be automatically set based on the loaded theme in Wine. Though, for the latter there needs to be a property that returns the mode of the theme. Name alone might not be sufficient.
--
v4: windows.ui: Implement IUISettings3::GetColorValue().
windows.ui/tests: Add IUISettings3::GetColorValue() tests.
windows.ui: Add IUISettings3 stub interface.
windows.ui: Add stub DLL.
include: Add windows.ui.viewmanagement.idl file.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2103
--
v2: riched20/tests: Add retry loop around OpenClipboard() to avoid access denial.
riched20: Ensure clipboard has been pasted before testing the result.
riched20: Support SFF_SELECTION when streaming in plain text.
riched20/tests: Add tests when pasting in plain text mode.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2138
--
v6: wpcap/tests: Initial tests.
wpcap: Try to enable 32-bit mmap() support in libpcap.
wpcap: Add wow64 thunks.
wpcap: Enable UTF-8 encoding in libpcap.
wpcap: Reimplement pcap_loop() on top of pcap_next_ex().
wpcap: Implement pcap_init().
wpcap: Implement pcap_dump_close().
wpcap: Implement pcap_bufsize().
wpcap: Fix an off-by-one error in convert_length_to_ipv6_mask().
wpcap: Make Unix call parameters wow64 compatible.
wpcap: Sync spec file with latest version of libpcap.
configure: Check for pcap_init() instead of pcap_create().
https://gitlab.winehq.org/wine/wine/-/merge_requests/2123
--
v5: wpcap/tests: Initial tests.
wpcap: Try to enable 32-bit mmap() support in libpcap.
wpcap: Add wow64 thunks.
wpcap: Enable UTF-8 encoding in libpcap.
wpcap: Reimplement pcap_loop() on top of pcap_next_ex().
wpcap: Implement pcap_init().
wpcap: Implement pcap_dump_close().
wpcap: Implement pcap_bufsize().
wpcap: Fix an off-by-one error in convert_length_to_ipv6_mask().
wpcap: Make Unix call parameters wow64 compatible.
wpcap: Sync spec file with latest version of libpcap.
configure: Check for pcap_init() instead of pcap_create().
https://gitlab.winehq.org/wine/wine/-/merge_requests/2123
Convert all consecutive calls to d7_DrawPrimitive(TRIANGLE_FAN) into
a single call to d7_DrawPrimitive(TRIANGLE_LIST) with all the vertices.
Note, it *increase* the number of vertices, but bandwith is much less costly
than multiple calls.
Note, only a very precise subset of the calls get buffered in order to
ensure that the disruption is minimal.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33814
--
v7: ddraw: avoid magic fvf number
https://gitlab.winehq.org/wine/wine/-/merge_requests/2105