dxgi/tests: Test nested SetFullscreenState from the same thread.
commit617831054f13922cd646ad3653f959f667604273
authorStefan Dösinger <stefan@codeweavers.com>
Fri, 13 Jan 2023 12:51:35 +0000 (13 15:51 +0300)
committerAlexandre Julliard <julliard@winehq.org>
Fri, 10 Mar 2023 08:49:32 +0000 (10 09:49 +0100)
tree04e4ace19919a32d22a1ba98cd99b173269e7062
parent92544264fdf0335b8ba54ae24458853613723e30
dxgi/tests: Test nested SetFullscreenState from the same thread.

I am still deliberately not testing after which message the swapchain
state changes from the old state to the new until we find a game that
depends on this.

ddraw, d3d8 and d3d9 do not catch recursive SetDisplayMode or Reset()
calls. They will recurse for about 16 times and then return library
specific weird return values like 0xd0000510 (NTSTATUS, but
nonexistent facility) or 0x88760868 (non-existent HRESULT facility). I
suspect it aborts when the kernel-side message processing stack is
exhausted. As such, an application depending on nested calls in those
libraries would have to deliberately do it, but limit the amount of
nesting to a non-zero amount.
dlls/dxgi/tests/dxgi.c