If both buffers are DXGI buffers, they can be copied on the GPU. They
are currently transferred to the CPU, copied by the CPU and then
transferred back to the GPU.
Performing a GPU copy produces ~25% faster playback on 4K video.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5979
I believe that using CPP files in core Wine code is not a good idea. But it would be nice to have the option to compile C++ modules. For example, lsteamclient from Proton is written partially in C++.
Based on @rbernon patch.
--
v2: tools/makedep: Allow building modules with C++ sources.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6009
--
v2: win32u: Use the thread input shared memory for NtUserGetGUIThreadInfo.
win32u: Use the thread input shared memory for NtUserGetCursorInfo.
win32u: Use the thread input shared memory for NtUserGetForegroundWindow.
server: Add cursor handle and count to desktop shared memory.
server: Add a foreground flag to the thread input shared memory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5995
mf/session: Ensure that the command callback does not return without clearing SESSION_FLAG_PENDING_COMMAND.
Leaving SESSION_FLAG_PENDING_COMMAND set results in no more work items being queued by session_submit_command, and even
if they were, callback would return immediately due to a check at the start of the function.
Thus, it is never valid to leave the function without clearing the SESSION_FLAG_PENDING_COMMAND flag.
This case can be hit by SESSION_CMD_START, and leaves the session unable to process any commands.
Fix this by ensuring that SESSION_FLAG_PENDING_COMMAND is always cleared before the command callback returns.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6011