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