Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support VK_NV_low_latency2 #200

Open
wants to merge 678 commits into
base: experimental_8.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
678 commits
Select commit Hold shift + click to select a range
09fb11c
Revert "winex11.drv: Release pointer grab on focus change."
rbernon Jun 2, 2023
bd1ea9a
Revert "winex11.drv: Wait for pointer grab on FocusIn/WM_TAKE_FOCUS e…
rbernon Jun 2, 2023
c41d032
Revert "winex11.drv: Merge FocusIn/FocusOut NotifyGrab/NotifyUngrab c…
rbernon Jun 2, 2023
bc6666b
Revert "winex11.drv: Pass XEvent instead of Display to set_focus."
rbernon Jun 5, 2023
60cc101
Revert "winex11.drv: Ignore ClipCursor if desktop window is foreground."
rbernon Jun 2, 2023
bd700ab
Revert "server: Use the helper to reset the clip rect when the deskto…
rbernon Jun 2, 2023
85aa454
Revert "winex11.drv: Enable fullscreen clipping even if not already c…
rbernon Jun 2, 2023
125397c
Revert "winex11.drv: Ignore clip_reset when trying to clip the mouse …
rbernon Jun 2, 2023
81cc4f2
winex11: Avoid calling RtlInitUnicodeString on a static constant.
alexhenrie Feb 28, 2023
76a573e
server: Assume the internal clip message to be WM_WINE_CLIPCURSOR.
rbernon May 30, 2023
5229412
server: Move set_cursor desktop local variable to wider scope.
rbernon Jan 25, 2021
fdb37f1
win32u: Rename user driver CreateDesktopWindow entry to SetDesktopWin…
rbernon May 29, 2023
beae7a4
win32u: Call SetDesktopWindow when desktop window is successfully cre…
rbernon May 29, 2023
4c1cae8
explorer: Load graphics driver before calling CreateDesktopW.
rbernon May 29, 2023
58736bd
explorer: Use root window if driver doesn't implement create_desktop.
rbernon May 29, 2023
b791410
explorer: Don't call driver create_desktop if desktop name is "root".
rbernon May 29, 2023
1733c8f
explorer: Call user driver through a new CreateDesktop callback.
rbernon May 29, 2023
82ed8cf
wineandroid: Use the user driver interface to create host desktops.
rbernon May 29, 2023
7cfdbeb
winex11: Use the user driver interface to create host desktops.
rbernon May 29, 2023
29e3527
explorer: Remove now unnecessary wine_create_desktop entry.
rbernon May 29, 2023
470a692
imm32: Query the new input context in ImmAssociateContextEx / IACE_DE…
rbernon May 30, 2023
2c42227
server: Use get_hardware_msg_bit consistently to classify messages.
rbernon Jun 16, 2023
56d6871
fixup! server: Move the desktop keystate to shared memory.
rbernon Jun 16, 2023
ff0c912
win32u: Move some window functions to window.c.
rbernon May 31, 2023
5c8a462
win32u: Move cursor clipping functions to input.c.
rbernon May 26, 2023
39f088c
win32u: Add a separate function to process WM_WINE_CLIPCURSOR.
rbernon May 26, 2023
bea39fb
win32u: Use WM_WINE_CLIPCURSOR / TRUE for empty clipping rect.
rbernon May 31, 2023
9b4c20e
user32: Remove now unused virtual screen helpers.
rbernon May 31, 2023
a03d45a
user32/tests: Zero-initialize keyboard state array.
rbernon May 30, 2023
75bdd3e
user32/tests: Add a helper to run a test in a process.
rbernon May 31, 2023
f6da049
user32/tests: Test more ClipCursor reset scenarios.
rbernon May 31, 2023
ec6c171
win32u: Reset cursor clipping rectangle on display mode change.
rbernon May 26, 2023
29bb956
winex11: Rely on win32u to reset clipping on display mode change.
rbernon May 26, 2023
75cc6a4
winex11: Reset clipping by calling NtUserClipCursor directly.
rbernon May 26, 2023
f899a61
server: Don't reset cursor clipping on foreground thread exit.
rbernon May 31, 2023
0e881d7
win32u: Add a reset parameter to WM_WINE_CLIPCURSOR and driver ClipCu…
rbernon May 29, 2023
8284c4d
server: Use the helper to reset the clip rect when the desktop size c…
rbernon Jun 16, 2023
a6376dd
server: Use a separate helper to merge WM_MOUSEMOVE messages.
rbernon Jun 6, 2023
f7ce546
server: Queue a hardware WM_WINE_CLIPCURSOR message to the foreground…
rbernon Jun 2, 2023
a400dfc
win32u: Asynchronously apply or reset ClipCursor from the hardware me…
rbernon May 31, 2023
bbc4cf0
winex11: Remove now unnecessary ClipCursor forwarding to foreground t…
rbernon May 26, 2023
ab572ed
server: Pass the message code to get_hardware_msg_bit.
rbernon Jun 12, 2023
803e889
server: Use hardware message category when checking filter.
rbernon Jun 10, 2023
53dbf5a
imm32: Avoid resizing IMCC to zero-size buffer.
rbernon Jun 12, 2023
dd8df86
winex11: Remove now unnecessary WM_X11DRV_CLIP_CURSOR_NOTIFY.
rbernon Jun 12, 2023
89e5d3c
win32u: Move grab_pointer registry option from winex11.
rbernon Jun 12, 2023
26f467a
win32u: Add a clipping_reset member to user_thread_info.
rbernon Jun 12, 2023
a30f20f
win32u: Add a clipping_cursor member to user_thread_info.
rbernon May 31, 2023
016d341
winex11: Move clip_fullscreen_window foreground check inside it.
rbernon May 31, 2023
f873b82
win32u: Move fullscreen window cursor clipping from winex11.
rbernon Jun 12, 2023
b98007d
server: Update desktop cursor window when cursor pos changes.
rbernon Jun 13, 2023
49f0fbb
server: Keep track of the current desktop cursor handle.
rbernon Jun 13, 2023
5aaca49
server: Introduce and send new WM_WINE_SETCURSOR hardware message.
rbernon Jun 16, 2023
2a84b18
win32u: Add a hwnd parameter to SetCursor driver entry points.
rbernon Jan 26, 2023
47a636d
win32u: Notify drivers of cursor changes on WM_WINE_SETCURSOR.
rbernon Jan 26, 2023
59c9d7a
wineandroid: Set the window cursor immediately in SetCursor.
rbernon Jan 26, 2023
42cda65
winex11: Set the window cursor immediately in SetCursor.
rbernon Jun 13, 2023
1b19622
server: Update the DF_WINE_CREATE_DESKTOP desktop flag on opening.
rbernon Jun 14, 2023
820543f
win32u: NtUserGetObjectInformation returns a BOOL, not NTSTATUS.
rbernon Jun 14, 2023
8fa77ae
winex11: Don't grab the cursor if another process is focused.
rbernon Jun 15, 2023
238d905
winex11: Simplify the cursor clipping retry mechanism.
rbernon Jun 15, 2023
2da5518
winex11: Replace the clipping message HWND with a BOOL flag.
rbernon Jun 13, 2023
0895c6e
win32u: Remove unnecessary set_cursor new_clip rect copy.
rbernon Jun 16, 2023
cc8a695
server: Pass set_cursor flags in WM_WINE_CLIPCURSOR wparam.
rbernon Jun 16, 2023
c6f1169
win32u: Use a specific flag instead of shrinking the clip rect.
rbernon Jun 16, 2023
d99d168
imm32/tests: Test how deleting a character can behave.
rbernon Jun 20, 2023
e5a4f85
imm32: Use offsets instead of lengths to decide on sending updates.
rbernon Jun 15, 2023
0960e8a
winex11: Report empty preedit string when result string is committed.
rbernon Jun 13, 2023
c875bfb
winex11: Make sure HIMC is opened before sending IME updates.
rbernon May 30, 2023
1ebe436
winex11.drv: Ignore clip_reset when trying to clip the mouse after th…
AlexeyProkhin Oct 17, 2018
8fca106
winex11.drv: Enable fullscreen clipping even if not already clipping.
AlexeyProkhin Oct 20, 2018
039488f
winex11.drv: Ignore ClipCursor if desktop window is foreground.
rbernon Jan 21, 2020
6a72d8a
winex11.drv: Wait for pointer grab on FocusIn/WM_TAKE_FOCUS events.
rbernon Sep 19, 2019
14644fa
Revert "winex11.drv: Only call XWarpPointer if we can get exclusive p…
rbernon Dec 17, 2019
74428e2
HACK: mutter: winex11.drv: Add a bit of delay before restoring mouse …
rbernon Dec 9, 2019
c8d77ec
winex11.drv: Flush X connection after ungrabbing the pointer.
giomasce Mar 15, 2021
1a1f4c1
winex11.drv: Send missed KEYUP events on KeymapNotify.
ivyl Jun 8, 2021
baf8867
win32u: Keep the clipping rectangle inside a fullscreen window.
rbernon Jun 26, 2023
50bf308
fixup! winex11.drv: Listen to RawMotion and RawButton* events in the …
rbernon Jun 26, 2023
ae5199f
imm32: Avoid closing the input context on CPS_CANCEL.
rbernon Jun 27, 2023
8a2a544
windows.media.speech: Move constraints vector to the recognition sess…
besentv Jun 7, 2022
7fdf374
windows.media.speech: Do not force calling convention on internal cal…
besentv Jan 3, 2023
217b56f
windows.media.speech: Return IAsyncAction from session_StopAsync.
besentv May 3, 2022
65726d8
windows.media.speech: Return IAsyncAction from session_PauseAsync.
besentv May 3, 2022
42641bb
windows.media.speech/tests: Test the recognizer state.
besentv May 16, 2022
4a7e7e3
windows.media.speech/tests: Test starting, stopping, pausing and resu…
besentv Jan 3, 2023
79d158d
windows.media.speech: Add a worker thread to the recognition session.
besentv Jan 3, 2023
9456eff
windows.media.speech/tests: Check if stopping the session resets the …
besentv Jan 14, 2023
733d357
windows.media.speech: Allow the recognition session worker to be paused.
besentv Jan 3, 2023
c0fe26c
windows.media.speech: Add an audio capturing system.
besentv Jan 6, 2023
e399d34
windows.media.speech: Partially implement the speech recognizer state.
besentv Jan 15, 2023
03fba3b
windows.media.speech: Store recorded audio in a temporary ringbuffer.
besentv May 18, 2022
c909a8e
windows.media.speech: Add Vosk checks to autoconf.
besentv Feb 13, 2023
2778fd4
windows.media.speech: Add unixlib stub.
besentv Feb 12, 2023
432a14f
windows.media.speech/tests: Get rid of duplicated hresult.
besentv Feb 6, 2023
4e42f37
windows.media.speech/tests: Allow the SpeechRecognizer creation to fa…
besentv Feb 20, 2023
18f29b9
windows.media.speech: Implement Vosk create and release functions in …
besentv Feb 20, 2023
d7330b3
windows.media.speech: Move unix side recognizer creation to recognize…
besentv Mar 6, 2023
a7076e9
windows.media.speech: Implement recognition in the unixlib.
besentv Feb 27, 2023
2ae20fc
windows.media.speech: Compare recognized words with available constra…
besentv May 25, 2022
257d6e5
windows.media.speech: Send event on recognition success.
besentv May 30, 2022
d1ce6fe
windows.media.speech: Add ISpeechRecognitionSemanticInterpretation stub.
besentv May 30, 2022
8ccbf17
HACK: windows.media.speech: Stub semantic_interpretation_get_Properties.
besentv May 30, 2022
75f4455
WIP: windows.media.speech: Implement grammar.
besentv Feb 28, 2023
c656ad9
HACK: windows.media.speech/tests: Add tests for manual recognition te…
besentv Feb 28, 2023
4bcf982
HACK: windows.media.speech: Load Vosk models from Phasmophobia.
besentv Mar 7, 2023
377a341
windows.media.speech: Suppress verbose Unixlib traces.
besentv Mar 7, 2023
84ab296
winegstreamer: Free the media source work queue outside of the CS.
rbernon Jul 7, 2023
8aa0257
mf/tests: Test media session error handling.
tati-frog Mar 9, 2023
03a6aa2
mf/session: Handle errors when subscribing to source's events.
tati-frog Mar 9, 2023
fb4b9e4
mf/session: Handle error when a source fails to start.
tati-frog Apr 7, 2023
f08ca37
mf/session: Reset presentation flags when session_clear_presentation …
tati-frog May 2, 2023
153911d
mf: Clear end of presentation only if topo_status is ready.
tati-frog Jun 9, 2023
0e26373
Revert "sapi: ISpObjectToken CreateInstance support ISpAudio"
shaunren Jul 22, 2023
3519eb6
include: Add more sapi structs and enums.
shaunren Apr 25, 2023
07995c5
include: Add ISpTTSEngineSite and ISpTTSEngine interfaces.
shaunren Apr 25, 2023
0aed394
sapi: Implement ISpRegDataKey::SetStringValue.
shaunren May 4, 2023
213dd41
sapi: Ignore read_only in ISpRegDataKey::SetKey.
shaunren May 4, 2023
dbeddd3
sapi: Implement ISpRegDataKey::OpenKey.
shaunren May 4, 2023
6c6b5f4
sapi: Use ISpRegDataKey in object_token.
shaunren May 4, 2023
6f155a9
sapi: Implement ISpObjectToken::Set/GetStringValue.
shaunren May 4, 2023
c257126
sapi: Implement ISpObjectToken::CreateInstance.
shaunren May 4, 2023
65e7107
sapi: Implement ISpObjectToken::CreateKey.
shaunren May 26, 2023
c681bd5
sapi: Partially reimplement ISpObjectTokenEnumBuilder storing a token…
shaunren May 26, 2023
11d0946
sapi: Implement token filtering and sorting in ISpObjectTokenEnumBuil…
shaunren May 26, 2023
46ca883
sapi: Add SpMMAudioOut stub.
shaunren May 16, 2023
b3a4aca
sapi: Implement ISpMMSysAudio::Get/SetDeviceId.
shaunren May 27, 2023
dd5f017
sapi: Add GUIDs SPDFID_Text/WaveFormatEx.
shaunren May 16, 2023
3a45ccc
include: Add sperror error code SPERR_UNSUPPORTED_FORMAT.
shaunren May 26, 2023
3f5a7e7
sapi: Implement ISpMMSysAudio::Get/SetFormat.
shaunren May 27, 2023
45e6734
sapi: Partially implement ISpMMSysAudio::SetState.
shaunren May 27, 2023
c94fe4b
sapi: Free completed buffers asynchronously in SpMMAudio.
shaunren May 31, 2023
fae5642
sapi: Implement ISpMMSysAudio::Write.
shaunren May 31, 2023
390f14f
sapi: Implement ISpMMSysAudio::EventHandle.
shaunren May 31, 2023
666fdd0
sapi: Implement ISpVoice::SetOutput.
shaunren Jun 21, 2023
64c8de6
sapi: Implement ISpVoice::Set/GetVoice.
shaunren Jun 21, 2023
3b872e1
sapi: Implement ISpVoice::Set/GetRate.
shaunren Jun 21, 2023
d1826d5
sapi: Implement ISpVoice::Set/GetVolume.
shaunren Jun 21, 2023
89a5c4a
sapi: Invoke AddRef in mmaudio SetObjectToken.
shaunren Jul 13, 2023
2d12697
sapi: Invoke AddRef in ISpVoice::SetVoice.
shaunren Jul 13, 2023
001d9f7
sapi/tests: Fix intermittent duration test failure in mmaudio.
shaunren Jul 14, 2023
e76d838
sapi/tests: Fix ISpObjectToken::CreateInstance E_ACCESSDENIED error.
shaunren Jul 14, 2023
4de6883
include: Fix ISpTTSEngineSite::GetActions return type.
shaunren Jun 28, 2023
9ac3fb0
sapi: Handle queue not initialized in async_empty_queue.
shaunren Jul 19, 2023
397e889
sapi: Reset empty event after queuing a task in async_queue_task.
shaunren Jul 19, 2023
fdfcfa1
sapi: Implement ISpVoice::Speak SPF_PURGEBEFORESPEAK.
shaunren Jul 19, 2023
a1174b3
sapi: Partially implement ISpVoice::Speak SPF_ASYNC.
shaunren Jul 19, 2023
654a310
sapi: Implement synchronous ISpVoice::Speak.
shaunren Jul 19, 2023
b9ae99c
sapi: Introduce ISpTTSEngineSite stub.
shaunren Jul 19, 2023
64e941e
sapi: Implement ISpVoice::Speak speak_proc.
shaunren Jul 19, 2023
31bfb6d
sapi: Implement ISpTTSEngineSite::Write.
shaunren Jul 13, 2023
d7e1165
sapi: Implement ISpTTSEngineSite::GetActions/Rate/Volume.
shaunren Jul 13, 2023
dee87f1
sapi: Return wait status in async_wait_queue_empty.
shaunren Jul 20, 2023
8ab41f7
sapi: Implement ISpVoice::WaitUntilDone.
shaunren Jul 20, 2023
de8d123
nsiproxy.sys: Detect wireless interface type on Linux.
Jul 25, 2023
bf5bf63
winex11: Use XFixes to hide cursor before warping it.
rbernon Jul 25, 2023
c305ca8
imm32: Hide the composition window if the string is empty.
rbernon Jul 25, 2023
bd86248
imm32: Return success from WM_IME_CONTROL.
rbernon Aug 8, 2023
d9d4f27
sapi: Call CoInitializeEx/CoUninitialize in async_worker.
shaunren Aug 4, 2023
0506997
sapi: Start async queue in ISpVoice::SetOutput.
shaunren Aug 4, 2023
e2e806a
sapi/tests: Add test for implicit MTA initialized by SpVoice.
shaunren Aug 4, 2023
fa64f49
sapi: Change ISpObjectToken::SetId FIXME to TRACE.
shaunren Aug 4, 2023
905dd28
sapi/tests: Increase timeout in tts test_spvoice.
shaunren Aug 4, 2023
74300ab
evr: Release sample queue when streaming ends.
tati-frog Aug 14, 2023
768bd5a
evr: Create critical section for sample queue.
tati-frog Jul 31, 2023
61bf462
evr: Don't lock presenter allocator when calling NotifyRelease.
tati-frog Aug 9, 2023
533c065
evr: Remove process input handling from streaming thread.
tati-frog Aug 3, 2023
e2d344e
Revert "mfmediaengine: Add support for inserting video effects."
besentv Aug 8, 2023
e9c5754
Revert "mfmediaengine: Add support for inserting audio effects."
besentv Aug 8, 2023
b539dbc
mfmediaengine: Add support for inserting video effects.
besentv Dec 5, 2022
77b5eb9
mfmediaengine: Add support for inserting audio effects.
besentv Dec 3, 2022
237e637
mfmediaengine: Implement RemoveAllEffects().
besentv Jul 18, 2023
1a62523
HACK: winegstreamer: Do not report live latency for some games.
rbernon Aug 17, 2023
c33fa31
HACK: winegstreamer: Don't add unnecessary and slow? videoflip for so…
rbernon Aug 21, 2023
9246095
HACK: winegstreamer: Disable MF_SA_D3D11_AWARE for some games.
Aug 21, 2023
79da11e
ntdll/tests: Add test for Win10 OutputDebugStringW evolution.
Aug 31, 2023
4a3825c
ntdll/tests: Introduce enumeration to handle stages in test_debugger().
Aug 31, 2023
cd65117
ntdll/tests: Add tests for debuggee and new Win10 unicode debug strings.
Aug 31, 2023
c4a24ec
kernelbase: Emit DBG_PRINTEXCEPTION_WIDE_C from OutputDebugStringW.
Aug 31, 2023
fed0b41
kernelbase: Implement WaitForDebugEventEx().
Aug 31, 2023
5632bb3
server: Don't set SO_RCVBUF below default value on Unix socket.
Sep 1, 2023
057bdf0
winex11.drv: Use thread display instead of gdi_display to move windows.
zzhiyi Aug 10, 2023
e8b6e4e
ntdll/tests: Add tests for RtlGetFullPathName_U and RtlDosPathNameToN…
Aug 30, 2023
80e524c
ntdll/tests: Test NtQueryDirectoryFile with wildcards.
Aug 30, 2023
063c8a7
kernel32/tests: Add more tests for FindFirstFile with wildcards.
Aug 31, 2023
7f395db
kernelbase: Duplicate file name matching code for FindNextFileW().
Aug 30, 2023
776c31d
kernelbase: Get unprocessed mask in FindFirstFileExW().
Aug 31, 2023
0156602
kernelbase: Support masks suggesting no extension in FindNextFile().
Aug 31, 2023
92a21d1
Revert "mfplat/buffer: Use appropriate Map flags."
Aug 15, 2023
e07ed9f
Revert "mfplat/buffer: Optimize locking a DXGI surface buffer."
Aug 15, 2023
8d9f3fb
Revert "mfplat/buffer: Implement ContiguousCopyFrom()."
Aug 15, 2023
9059288
Revert "mfplat: Implement IMF2DBuffer2::Copy2DTo()."
Aug 15, 2023
691b2b7
Revert "mfplat/buffer: Validate buffer size in image copying functions."
Aug 15, 2023
399b5ea
Revert "mfplat/buffer: Prepare image copying functions for error chec…
Aug 15, 2023
f7598bc
mfplat: Support YVYU, NV11, MEDIASUBTYPE_RGB* media types.
ziqingh Dec 21, 2022
11bc797
mfplat: Fix locking flags usage for D3D9 buffers.
giomasce Apr 13, 2023
cab64e1
mfplat: Do not mark a DXGI buffer as locked if surface mapping fails.
giomasce Apr 17, 2023
125a7e6
mfplat: Fix locking flags usage for DXGI buffers.
giomasce Apr 17, 2023
b88c73d
mfplat: Only download surface data from GPU for DXGI buffers when rea…
giomasce Apr 17, 2023
c2ed345
mfplat: Only upload surface data to GPU for DXGI buffers when writing.
giomasce Apr 17, 2023
6cf6a29
mfplat: Fix returned buffer length in dxgi_surface_buffer_lock().
Apr 4, 2023
61af157
mfplat/buffer: Use the appropriate image copy function for NV11.
giomasce May 3, 2023
1de11aa
mfplat/buffer: Support YV12, I420 and IYUV image formats.
giomasce Jun 14, 2022
ad6f164
mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyFrom().
giomasce Jul 11, 2022
e09f550
mfplat/buffer: Implement IMF2DBuffer::ContiguousCopyTo().
giomasce Jul 11, 2022
4332fbc
mfplat/buffer: Use absolute pitch in memory_1d_2d_buffer_[Un]Lock().
May 10, 2023
db8bf7b
mfplat/tests: Add more tests for copying 2d buffers.
May 9, 2023
d595f45
mfplat/buffer: Do not flip in memory_2d_buffer_ContiguousCopy{From|To…
May 10, 2023
02fb0c7
mfplat/sample: Refactor sample_CopyToBuffer().
May 9, 2023
f8b15fb
mfplat/sample: Optimize copying to 2d buffer.
May 9, 2023
86af89c
Revert "HACK: msmpeg2vdec: Refuse to load DLL for some games."
Sep 5, 2023
6171b88
wtsapi32: Improve WTSEnumerateSessionsW() stub.
Sep 7, 2023
0f26829
wtsapi32: Implement WTSEnumerateSessionsA() on top of WTSEnumerateSes…
Sep 7, 2023
9e1bfd2
wtsapi32: Handle WTSConnectState class in WTSQuerySessionInformationW().
Sep 7, 2023
a1a1cd1
Revert "nsiproxy.sys: Detect wireless interface type on Linux."
ivyl Sep 7, 2023
dd8bf9a
dinput: Assume that clipping the cursor succeeds.
rbernon Sep 7, 2023
119b578
winegstreamer: Block protonvideoconvert autoplug when not trying for it.
Guy1524 Sep 7, 2023
a1c074a
winex11: Always ignore MotionNotify event after SetCursorPos.
rbernon Sep 8, 2023
be37b06
dinput: Only call SetCursorPos if clipping fails.
rbernon Sep 8, 2023
a169485
winex11.drv: Use offscreen windows instead of pixmaps for layered win…
Sep 8, 2023
cbe3bb5
combase/tests: Add tests for implicit MTA with RoGetActivationFactory().
Sep 12, 2023
b91b97b
combase: Create implicit MTA in STA apartment in RoGetActivationFacto…
Sep 12, 2023
ed51426
d3dx9: Handle special adjacency index value in d3dx9_mesh_OptimizeInp…
Sep 14, 2023
2223786
d3dx9/tests: Add a basic test for d3dx9_mesh_OptimizeInplace().
Sep 14, 2023
fba48ad
kernelbase, winex11.drv: HACK: Add --use-angle=gl for Red Tie Runner.
Sep 15, 2023
4cb5d6f
ntdll: HACK: Enable WINE_SIMULATE_WRITECOPY for Red Tie Runner.
Sep 15, 2023
49c83cd
dcomp: Add stub for DCompositionCreateDevice3.
DarkShadow44 Jul 2, 2023
00c1e8b
mf/tests: Add tests for AAC decoder with different input number of ch…
Sep 19, 2023
e538c75
winegstreamer: Handle missing or zero channel count in _GetOutputAvai…
Sep 19, 2023
5ff0bea
winegstreamer: Correct output available types attrs in AAC decoder fo…
Sep 19, 2023
669fb6a
winegstreamer: Validate maximum channel count in _SetInputType in AAC…
Sep 19, 2023
1a3b318
winegstreamer: Also return output with 2 channels for multichannel in…
Sep 19, 2023
abc049a
wine.inf: Set FLG_HEAP_ENABLE_FREE_CHECK for Crysis 2 Remastered.
Sep 20, 2023
8d18881
ntdll: Remove entries from queue in RtlWakeAddressAll().
Sep 21, 2023
b038988
ntdll: Pre-check entry->addr before taking a spin lock in RtlWaitOnAd…
Sep 21, 2023
002567d
ntdll: Allow empty application nodes in actctx.
Sep 19, 2023
1b4edd6
makedep: Allow building modules with C++ sources.
rbernon Oct 21, 2020
e093242
Revert "makedep: Assume that all modules are built with msvcrt."
rbernon Sep 19, 2023
aabaf8d
makedep: Allow building modules from external sources.
rbernon Sep 19, 2023
d45cd21
makedep: Allow using an external wine object dir.
rbernon Sep 26, 2023
c1bfdf1
makedep: Allow include to be missing from SUBDIRS.
rbernon Sep 26, 2023
5666eb7
makedep: Allow modules to have a different 64bit name.
rbernon Sep 20, 2023
1f10727
rtworkq: Fix leak of thread pool work items.
Sep 25, 2023
87fbf33
include: Don't align the stack for PE builds.
julliard May 30, 2023
7f7f1f7
gdi32: Make GetStockObject hotpatchable.
Sep 20, 2023
1135dee
user32: Make CallWindowProcA hotpatchable.
Sep 20, 2023
4fb9230
user32: Add hotpatchable wrapper for GetWindowLongA.
Sep 20, 2023
95ebcfa
Revert "include: Don't align the stack for PE builds."
Sep 29, 2023
a23a0aa
winevulkan: Update vk.xml to 1.3.267.
esullivan-nvidia Oct 9, 2023
b7c8c08
winevulkan: Add support for VK_NV_low_latency2
esullivan-nvidia Oct 11, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,12 @@ F: dlls/win32u/rawinput.c
F: server/queue.c

Input methods
M: Aric Stewart <[email protected]>
M: Rémi Bernon <[email protected]>
P: Aric Stewart <[email protected]>
F: dlls/imm32/
F: dlls/win32u/imm.c
F: dlls/winemac.drv/ime.c
F: dlls/winex11.drv/ime.c

JavaScript
M: Jacek Caban <[email protected]>
Expand Down Expand Up @@ -214,6 +218,7 @@ F: dlls/winegstreamer/h264_decoder.c
F: dlls/winegstreamer/resampler.c
F: dlls/winegstreamer/video_decoder.c
F: dlls/winegstreamer/video_processor.c
F: dlls/winegstreamer/wg_source.c
F: dlls/winegstreamer/wg_sample.c
F: dlls/winegstreamer/wg_transform.c
F: dlls/winegstreamer/wma_decoder.c
Expand Down
20 changes: 12 additions & 8 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ AC_ARG_WITH(udev, AS_HELP_STRING([--without-udev],[do not use udev (plug an
AC_ARG_WITH(unwind, AS_HELP_STRING([--without-unwind],[do not use the libunwind library (exception handling)]))
AC_ARG_WITH(usb, AS_HELP_STRING([--without-usb],[do not use the libusb library]))
AC_ARG_WITH(v4l2, AS_HELP_STRING([--without-v4l2],[do not use v4l2 (video capture)]))
AC_ARG_WITH(vosk, AS_HELP_STRING([--without-vosk],[do not use Vosk]))
AC_ARG_WITH(vulkan, AS_HELP_STRING([--without-vulkan],[do not use Vulkan]))
AC_ARG_WITH(xcomposite,AS_HELP_STRING([--without-xcomposite],[do not use the Xcomposite extension]),
[if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xcomposite_h=no; fi])
Expand Down Expand Up @@ -488,7 +489,8 @@ AC_CHECK_HEADERS(\
syscall.h \
utime.h \
valgrind/memcheck.h \
valgrind/valgrind.h
valgrind/valgrind.h \
vosk_api.h
)
WINE_HEADER_MAJOR()
AC_HEADER_STAT()
Expand Down Expand Up @@ -1196,13 +1198,6 @@ then
# include <X11/Xutil.h>
#endif])

dnl *** Check for X keyboard extension
if test "$ac_cv_header_X11_XKBlib_h" = "yes"
then
AC_CHECK_LIB(X11, XkbQueryExtension,
AC_DEFINE(HAVE_XKB, 1, [Define if you have the XKB extension]),,[$X_LIBS $X_EXTRA_LIBS])
fi

dnl *** Check for X cursor
if test "$ac_cv_header_X11_Xcursor_Xcursor_h" = "yes"
then
Expand Down Expand Up @@ -1800,6 +1795,14 @@ then
WINE_WARNING([No sound system was found. Windows applications will be silent.])
fi

dnl **** Check for Vosk ****
if test x$with_vosk != xno
then
WINE_CHECK_SONAME(vosk,vosk_recognizer_new)
fi
WINE_NOTICE_WITH(vosk,[test x$ac_cv_lib_soname_vosk = x],
[libvosk ${notice_platform}development files not found, speech recognition won't be supported.])

dnl *** Check for Vulkan ***
if test "x$with_vulkan" != "xno"
then
Expand Down Expand Up @@ -2710,6 +2713,7 @@ WINE_CONFIG_MAKEFILE(dlls/inseng)
WINE_CONFIG_MAKEFILE(dlls/iphlpapi)
WINE_CONFIG_MAKEFILE(dlls/iphlpapi/tests)
WINE_CONFIG_MAKEFILE(dlls/iprop)
WINE_CONFIG_MAKEFILE(dlls/ir50_32)
WINE_CONFIG_MAKEFILE(dlls/irprops.cpl)
WINE_CONFIG_MAKEFILE(dlls/itircl)
WINE_CONFIG_MAKEFILE(dlls/itss)
Expand Down
3 changes: 3 additions & 0 deletions dlls/cfgmgr32/Makefile.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
MODULE = cfgmgr32.dll
IMPORTLIB = cfgmgr32
IMPORTS = setupapi

C_SRCS = \
main.c
1 change: 1 addition & 0 deletions dlls/cfgmgr32/cfgmgr32.spec
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
@ stdcall CM_Locate_DevNodeW(ptr wstr long) setupapi.CM_Locate_DevNodeW
@ stdcall CM_Locate_DevNode_ExA(ptr str long long) setupapi.CM_Locate_DevNode_ExA
@ stdcall CM_Locate_DevNode_ExW(ptr wstr long long) setupapi.CM_Locate_DevNode_ExW
@ stdcall CM_MapCrToWin32Err(long long)
@ stub CM_Merge_Range_List
@ stub CM_Modify_Res_Des
@ stub CM_Modify_Res_Des_Ex
Expand Down
58 changes: 58 additions & 0 deletions dlls/cfgmgr32/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* Copyright (C) 2023 Mohamad Al-Jaf
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/

#include "wine/debug.h"
#include "cfgmgr32.h"

WINE_DEFAULT_DEBUG_CHANNEL(setupapi);

/***********************************************************************
* CM_MapCrToWin32Err (cfgmgr32.@)
*/
DWORD WINAPI CM_MapCrToWin32Err( CONFIGRET code, DWORD default_error )
{
TRACE( "code: %#lx, default_error: %ld\n", code, default_error );

switch (code)
{
case CR_SUCCESS: return ERROR_SUCCESS;
case CR_OUT_OF_MEMORY: return ERROR_NOT_ENOUGH_MEMORY;
case CR_INVALID_POINTER: return ERROR_INVALID_USER_BUFFER;
case CR_INVALID_FLAG: return ERROR_INVALID_FLAGS;
case CR_INVALID_DEVNODE:
case CR_INVALID_DEVICE_ID:
case CR_INVALID_MACHINENAME:
case CR_INVALID_PROPERTY:
case CR_INVALID_REFERENCE_STRING: return ERROR_INVALID_DATA;
case CR_NO_SUCH_DEVNODE:
case CR_NO_SUCH_VALUE:
case CR_NO_SUCH_DEVICE_INTERFACE: return ERROR_NOT_FOUND;
case CR_ALREADY_SUCH_DEVNODE: return ERROR_ALREADY_EXISTS;
case CR_BUFFER_SMALL: return ERROR_INSUFFICIENT_BUFFER;
case CR_NO_REGISTRY_HANDLE: return ERROR_INVALID_HANDLE;
case CR_REGISTRY_ERROR: return ERROR_REGISTRY_CORRUPT;
case CR_NO_SUCH_REGISTRY_KEY: return ERROR_FILE_NOT_FOUND;
case CR_REMOTE_COMM_FAILURE:
case CR_MACHINE_UNAVAILABLE:
case CR_NO_CM_SERVICES: return ERROR_SERVICE_NOT_ACTIVE;
case CR_ACCESS_DENIED: return ERROR_ACCESS_DENIED;
case CR_CALL_NOT_IMPLEMENTED: return ERROR_CALL_NOT_IMPLEMENTED;
}

return default_error;
}
32 changes: 32 additions & 0 deletions dlls/combase/apartment.c
Original file line number Diff line number Diff line change
Expand Up @@ -1159,6 +1159,11 @@ void leave_apartment(struct tlsdata *data)
if (data->ole_inits)
WARN( "Uninitializing apartment while Ole is still initialized\n" );
apartment_release(data->apt);
if (data->implicit_mta)
{
apartment_release(data->implicit_mta);
data->implicit_mta = NULL;
}
data->apt = NULL;
data->flags &= ~(OLETLS_DISABLE_OLE1DDE | OLETLS_APARTMENTTHREADED | OLETLS_MULTITHREADED);
}
Expand Down Expand Up @@ -1290,3 +1295,30 @@ void apartment_global_cleanup(void)
apartment_release_dlls();
DeleteCriticalSection(&apt_cs);
}

HRESULT reference_implicit_mta_from_sta(void)
{
struct tlsdata *data;
HRESULT hr;
struct apartment *apt, *apt_mt;

if (FAILED(hr = com_get_tlsdata(&data)))
return hr;
if ((apt = data->apt) && (data->implicit_mta || apt->multi_threaded))
return S_OK;

EnterCriticalSection(&apt_cs);
if (apt && !mta)
apt_mt = mta = apartment_construct(COINIT_MULTITHREADED);
else if ((apt_mt = mta))
apartment_addref(mta);
LeaveCriticalSection(&apt_cs);

if (!apt_mt)
{
ERR("Apartment not initialized.\n");
return CO_E_NOTINITIALIZED;
}
data->implicit_mta = apt_mt;
return S_OK;
}
3 changes: 3 additions & 0 deletions dlls/combase/combase.c
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,9 @@ static void com_cleanup_tlsdata(void)

if (tlsdata->apt)
apartment_release(tlsdata->apt);
if (tlsdata->implicit_mta)
apartment_release(tlsdata->implicit_mta);

if (tlsdata->errorinfo)
IErrorInfo_Release(tlsdata->errorinfo);
if (tlsdata->state)
Expand Down
2 changes: 2 additions & 0 deletions dlls/combase/combase_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ struct tlsdata
struct list spies; /* Spies installed with CoRegisterInitializeSpy */
DWORD spies_lock;
DWORD cancelcount;
struct apartment *implicit_mta; /* mta referenced by roapi from sta thread */
};

extern HRESULT WINAPI InternalTlsAllocData(struct tlsdata **data);
Expand Down Expand Up @@ -161,6 +162,7 @@ void apartment_release(struct apartment *apt) DECLSPEC_HIDDEN;
struct apartment * apartment_get_current_or_mta(void) DECLSPEC_HIDDEN;
HRESULT apartment_increment_mta_usage(CO_MTA_USAGE_COOKIE *cookie) DECLSPEC_HIDDEN;
void apartment_decrement_mta_usage(CO_MTA_USAGE_COOKIE cookie) DECLSPEC_HIDDEN;
HRESULT reference_implicit_mta_from_sta(void) DECLSPEC_HIDDEN;
struct apartment * apartment_get_mta(void) DECLSPEC_HIDDEN;
HRESULT apartment_get_inproc_class_object(struct apartment *apt, const struct class_reg_data *regdata,
REFCLSID rclsid, REFIID riid, DWORD class_context, void **ppv) DECLSPEC_HIDDEN;
Expand Down
5 changes: 5 additions & 0 deletions dlls/combase/roapi.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
#include "roerrorapi.h"
#include "winstring.h"

#include "combase_private.h"

#include "wine/debug.h"

WINE_DEFAULT_DEBUG_CHANNEL(combase);
Expand Down Expand Up @@ -163,6 +165,9 @@ HRESULT WINAPI RoGetActivationFactory(HSTRING classid, REFIID iid, void **class_
if (!iid || !class_factory)
return E_INVALIDARG;

if (FAILED(hr = reference_implicit_mta_from_sta()))
return hr;

hr = get_library_for_classid(WindowsGetStringRawBuffer(classid, NULL), &library);
if (FAILED(hr))
{
Expand Down
Loading