Commit Graph

190 Commits

Author SHA1 Message Date
Zhiyi Zhang b911e56045 wined3d: Restore display modes for all outputs when doing mode restoration.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:47:27 +01:00
Zhiyi Zhang ef81152c8c dxgi/tests: Test display mode restoration.
Mostly to test that when doing mode restoration, all display outputs get restored to their display
settings in the registry, not just one output gets restored.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 22:14:11 +01:00
Zhiyi Zhang 541437e2ce dxgi/tests: Fix a window leak in test_inexact_modes().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 20:30:43 +02:00
Zhiyi Zhang 9288f31015 dxgi: Update swapchain containing output after Alt+Enter was used to exit fullscreen.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 16:21:33 +02:00
Zhiyi Zhang e62b6fa12d dxgi: Support Alt+Enter for d3d12 swapchains.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 16:21:33 +02:00
Zhiyi Zhang 0a322f0ca5 dxgi: Support creating a fullscreen swapchain on d3d12.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:50:53 +02:00
Zhiyi Zhang 39cf65e48f dxgi/tests: Run test_default_fullscreen_target_output() on d3d12 as well.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:50:51 +02:00
Zhiyi Zhang b32083f9cc dxgi/tests: Run test_window_association() on d3d12 as well.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:50:48 +02:00
Zhiyi Zhang 6061c59322 dxgi/tests: Run test_get_containing_output() on d3d12 as well.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:50:46 +02:00
Rémi Bernon cce4f36e21 dxgi/tests: Check that the last adapter is always WARP.
Some games specifically ignore the last adapter from the adapter list,
as it's always WARP on Windows. This makes them fail to detect GPUs
correctly on Wine, as they drop one of the reported adapters.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 19:03:31 +02:00
Józef Kucia 99f2a5cd9f include: Move the ID3D12Debug interface to d3d12sdklayers.idl.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 19:03:31 +02:00
Zhiyi Zhang f92f363bbd dxgi/tests: Fix output ownership test failures on Win10 1909.
All DXGI output ownership calls on Win10 1909 return S_OK. It doesn't
grab VidPN output exclusive ownership for full screen mode.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:31:41 +02:00
Zhiyi Zhang e0b0ed3d00 dxgi/tests: Fix swapchain parameter test failures on Win10 1909.
Some of the invalid swapchain parameter tests crash on Win10 1909.
And DXGI_USAGE_DISCARD_ON_PRESENT is a DXGI internal flag. It doesn't
always get added if swap effect is DXGI_SWAP_EFFECT_DISCARD.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:31:39 +02:00
Zhiyi Zhang 8776111bc4 dxgi/tests: Relax closest matching mode comparison.
On Windows, a DXGI output may support 1920x1440 and 2560x1080
display modes, both of which have the same pixel count. And when
finding a mode closest to 2559x1079 or 2561x1081, 1920x1440 is returned.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:31:36 +02:00
Zhiyi Zhang 122a28a313 wined3d: Use valid adapter LUIDs if they are available.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 16:06:06 +02:00
Gabriel Ivăncescu 0f024390ca wined3d: Restore the window visibility and z-order upon exiting fullscreen, if requested.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 21:18:14 +02:00
Rémi Bernon f3bb21e80d dxgi/tests: Add more complete window style checks.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 21:17:37 +02:00
Rémi Bernon abced34e67 dxgi/tests: Fix signed integral cast warning.
First cast to LONG, then to DWORD.

Reported by MinGW GCC 10 with -Woverflow.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:47:52 +02:00
Zhiyi Zhang f904e9af1b dxgi/tests: Test IDXGISwapChain_GetContainingOutput() after Alt+Enter.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Nikolay Sivov 0bfc64b0f1 dxgi: Translate DXGI_USAGE_UNORDERED_ACCESS to corresponding wined3d bind flag.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 21:24:58 +02:00
Zhiyi Zhang c84c7a553d dxgi/tests: Add more get swapchain containing output tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 20:52:14 +02:00
Zhiyi Zhang 3a93767da7 dxgi/tests: Add more default full screen swapchain target output tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 20:52:14 +02:00
Zhiyi Zhang 9c7635c4dd dxgi/tests: Test IDXGISwapChain_ResizeTarget() with all outputs.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:03 +02:00
Zhiyi Zhang a304bfa97d dxgi/tests: Do not run test_multi_adapter() in parallel with other tests.
test_multi_adapter() tests detaching non-primary outputs, interferencing
other tests when non-primary outputs are enumerated.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Zhiyi Zhang 58486350eb dxgi/tests: Fix a possible test failure on D3D12.
Calling d3d12_swapchain_Present() right after switching to full screen
mode may fail because the swapchain window may be in the animation of
becoming full screen and vkQueuePresentKHR() returns VK_ERROR_OUT_OF_DATE_KHR,
even after d3d12_swapchain_present() tried to recreate the swapchain.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Philip Rebohle 2c748dea40 dxgi/tests: Add test for colour space support APIs.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 19:58:11 +02:00
Philip Rebohle 03b8fa7337 dxgi/tests: Add a test for frame latency events using d3d12.
Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 19:58:11 +02:00
Hans-Kristian Arntzen bbf2836a85 dxgi: Implement dxgi_factory_CheckFeatureSupport().
Some d3d12 games gate their use of sync interval 0 on support for
DXGI_FEATURE_PRESENT_ALLOW_TEARING.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-10 19:09:43 +02:00
Zhiyi Zhang 5928da917d dxgi/tests: Add a test for IDXGIFactory5 feature support queries.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-10 19:09:40 +02:00
Zhiyi Zhang f91dd56ccd wined3d: Do not clip the cursor after changing display modes.
DirectDraw should clip the cursor to the primary monitor only when the
cooperative level is DDSCL_EXCLUSIVE. For Direct3D 8, 9 and DXGI,
changing display modes shouldn't clip the cursor as tests showed.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Zhiyi Zhang f47f7c66cc dxgi/tests: Test cursor clipping.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Zhiyi Zhang ab59ed1a4c dxgi/tests: Fix some test failures in test_find_closest_matching_mode().
DXGI_MODE_SCALING_CENTERED and DXGI_MODE_SCALING_STRETCHED modes may be
supported by drivers. When these flags are specified, IDXGIOutput_FindClosestMatchingMode()
will try to find a mode matching the scaling field first, which may not
be the same as the original mode. So make sure such a mode exists before
finding them.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Zhiyi Zhang 03885ef4a1 dxgi/tests: Fix uninitialized variable warnings.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:48 +02:00
Zhiyi Zhang 47a069f964 dxgi/tests: Test detaching outputs.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-24 20:42:59 +01:00
Zhiyi Zhang ba4ee49705 dxgi: Check NULL output parameter in dxgi_adapter_EnumOutputs().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:14:07 +01:00
Zhiyi Zhang 23a8887ded dxgi: Check NULL adapter parameter in dxgi_factory_EnumAdapterByLuid().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:14:05 +01:00
Zhiyi Zhang 9f676b71e9 dxgi/tests: Add multiple adapters tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:24 +01:00
Andrew Eikum a7984a3a9a dxgi/tests: Test the fullscreen state after the swapchain window is destroyed.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:21:29 +01:00
Andrey Gusev 4fbdfc604b dxgi/tests: Fix a typo in ok() message.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:56 +01:00
Conor McCarthy a7cd70a8c8 dxgi/tests: Add tests for IDXGISwapChain3::ResizeBuffers1().
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:01:40 +01:00
Zhiyi Zhang c173a650e1 dxgi: Implement dxgi_output_TakeOwnership().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 00:33:46 +01:00
Andrew Eikum eb2028fa90 dxgi: Sort reported output modes.
Sekiro: Shadows Die Twice depends on this for its mode switching.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 19:19:33 +01:00
Zhiyi Zhang 644d00d540 winex11.drv: Implement X11DRV_D3DKMTCheckVidPnExclusiveOwnership.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Conor McCarthy 890428abdc dxgi/tests: Mark as todo the containing output test if a secondary monitor will cause failure.
Prevents test failure and crash until multi-monitor support is improved.

Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-21 19:55:25 +02:00
Henri Verbeet d9835f4d0c dxgi/tests: Introduce create_window().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 14:30:59 +02:00
Michael Stefaniuc ce9909863b dxgi/tests: Remove useless casts to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:06 +02:00
Conor McCarthy 5a593f43f3 dxgi/tests: Run test_set_fullscreen() on d3d12 as well.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-01 08:04:53 +02:00
Conor McCarthy e9c5dda48a dxgi/tests: Run test_resize_target() on d3d12 as well.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-01 08:04:51 +02:00
Conor McCarthy 9b493d42c4 dxgi: Implement d3d12_swapchain_SetFullscreenState().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-01 08:04:48 +02:00
Conor McCarthy 712d3ca1e4 dxgi: Implement d3d12_swapchain_GetFullscreenState().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-01 08:04:45 +02:00