Józef Kucia
278ddcbfba
dxgi: Move D3D12 helper functions closer to the top of the file.
...
We need to re-create a Vulkan swapchain in ResizeBuffers().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-29 22:01:38 +02:00
Józef Kucia
79bc939b40
dxgi: Choose exact formats for D3D12 swapchain fallback formats.
...
Mainly to avoid gamma correction issues.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 17:34:47 +02:00
Józef Kucia
df84cb3842
dxgi: Prefer vkGet*ProcAddr() for loading Vulkan functions.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 13:06:09 +02:00
Józef Kucia
684f5baf12
dxgi: Blit user buffers to Vulkan swapchain buffers while presenting.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:01 +02:00
Józef Kucia
51ef737bf8
dxgi: Create user images for swapchain formats not supported by Vulkan.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:01 +02:00
Józef Kucia
6eca8ea8cd
dxgi: Factor out d3d12_swapchain_create_buffers().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:01 +02:00
Józef Kucia
671cdd0b81
dxgi: Wait for Vulkan queue to become idle before destroying swapchain.
...
Direct3D 12 debug layers do not complain when a swapchain is destroyed
immediately after Present().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:01 +02:00
Józef Kucia
eef51f2e2b
dxgi: Introduce helper function to destroy partially initialized swapchain.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:01 +02:00
Józef Kucia
1df190cba3
dxgi: Set transfer image usage for Vulkan swapchain images.
...
For CopyTextureRegion() on swapchain buffers.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:01 +02:00
Józef Kucia
f59925416a
winevulkan: Remove vkAcquireNextImageKHR() from Vulkan driver functions.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 21:28:45 +02:00
Józef Kucia
80120d62eb
dxgi: Avoid possible NULL pointer access in d3d11_swapchain_SetFullscreenState().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 22:20:32 +02:00
Józef Kucia
e6e7976d66
winevulkan: Introduce WINE_VK_HOST to explicitly request 'host' Vulkan headers.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:43:56 +02:00
Józef Kucia
9461ca5c9a
dxgi: Translate VkResults to HRESULTs.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:43:18 +02:00
Francois Gouget
3e9064a561
dxgi: Fix a trailing '\n' in a FIXME() trace.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 19:43:14 +02:00
Józef Kucia
cba2a33129
dxgi: Implement d3d12_swapchain_Present1().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 20:00:38 +02:00
Józef Kucia
71b29963c5
dxgi: Implement d3d12_swapchain_GetCurrentBackBufferIndex().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 20:00:38 +02:00
Józef Kucia
9ff8fe174a
dxgi: Implement d3d12_swapchain_GetBuffer().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 20:00:38 +02:00
Józef Kucia
ec74ab5228
dxgi: Create Vulkan swapchains for D3D12.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 20:00:38 +02:00
Józef Kucia
7d99d74572
dxgi: Add IDXGISwapChain3 interface stub for D3D12.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-28 22:08:23 +02:00
Józef Kucia
02c49ea3c0
dxgi: Factor out d3d11_swapchain_create() function.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-28 22:08:23 +02:00
Józef Kucia
eae33d5595
dxgi: Rename dxgi_swapchain to d3d11_swapchain.
...
We will have more than one implementation of IDXGISwapChain.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-28 22:08:23 +02:00
Józef Kucia
6aeb444e4c
wined3d: Implement updating swap interval through wined3d_swapchain_present().
...
Based on a patch by Michael Müller.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 18:14:52 +01:00
Henri Verbeet
c1cf16189f
dxgi: Use the global memory allocation helpers.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 12:58:58 +01:00
Józef Kucia
7f593aa725
dxgi: Implement IDXGIAdapter3.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 20:42:07 +01:00
Józef Kucia
f46b3adc09
dxgi: Stop ignoring buffer usage.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-25 16:27:13 +01:00
Kimmo Myllyvirta
89a50c8e0e
dxgi: Add stub implementation for DXGI_PRESENT_TEST.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-25 16:27:08 +01:00
Józef Kucia
05b11380e8
dxgi: Implement dxgi_swapchain_GetFullscreenDesc().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Józef Kucia
0e4250c595
dxgi: Implement dxgi_swapchain_GetDesc1().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Józef Kucia
6141647a52
dxgi: Set BufferUsage in dxgi_swapchain_GetDesc().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Józef Kucia
9e961e1fae
dxgi: Update to IDXGISwapChain1.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 19:45:10 +01:00
Józef Kucia
a1b0752585
dxgi: Release target output when releasing swapchain.
...
It should never happen because applications are required to call
SetFullscreenState() to exit fullscreen mode before releasing the
swapchain.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 23:54:41 +09:00
Józef Kucia
7c5f60f2d8
dxgi: Update swapchain fullscreen state when state change is successful.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-29 23:54:40 +09:00
Józef Kucia
f94ef02dbc
dxgi: Enable WINED3D_SWAPCHAIN_USE_CLOSEST_MATCHING_MODE.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 23:23:36 +09:00
Józef Kucia
9381ad89fb
dxgi: Introduce helper functions for converting wined3d_display_mode.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 23:23:33 +09:00
Józef Kucia
0d92a9a7a4
dxgi: Properly switch to fullscreen mode when creating fullscreen swapchains.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 11:52:49 +09:00
Józef Kucia
537bd43ea8
dxgi: Implement IDXGISwapChain_ResizeTarget().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-05 09:07:56 -05:00
Józef Kucia
8b646aef63
dxgi: Return swapchain target output when available in dxgi_swapchain_GetContainingOutput().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:18 -05:00
Józef Kucia
005a6c6396
dxgi: Switch display mode when creating fullscreen swapchains.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:18 -05:00
Józef Kucia
bbc2d604ce
dxgi: Implement dxgi_swapchain_SetFullscreenState().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:18 -05:00
Józef Kucia
f586cc98a0
dxgi: Implement dxgi_swapchain_GetFullscreenState().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:17 -05:00
Józef Kucia
8d032351f2
wined3d: Add WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH flag.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-03 09:56:17 -05:00
Józef Kucia
cbf0a1b59a
dxgi: Implement dxgi_swapchain_GetParent().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 01:14:24 +09:00
Józef Kucia
944190bad4
dxgi: Partially implement dxgi_swapchain_GetContainingOutput().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 22:23:09 +09:00
Józef Kucia
282afc4450
dxgi: Implement dxgi_swapchain_GetDevice().
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 22:22:58 +09:00
Henri Verbeet
240912c59b
wined3d: Ignore the dirty region for swapchain presents more explicitly.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-18 12:20:49 +09:00
Józef Kucia
e79bf35933
dxgi: Make dxgi_swapchain_SetFullscreenState() hotpatchable.
...
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:39 +09:00
Józef Kucia
2a1186db19
dxgi: Add locking around remaining wined3d calls.
2015-09-18 14:57:50 +02:00
Józef Kucia
0eefb93535
dxgi: Replace dxgi_cs with wined3d_mutex.
2015-09-18 14:57:46 +02:00
Stefan Dösinger
2936e4ac54
wined3d: Remove wined3d_backbuffer_type.
2015-09-08 21:59:16 +09:00
Stefan Dösinger
f010e5d88a
wined3d: Return a texture from wined3d_swapchain_get_back_buffer.
2015-09-03 21:11:07 +09:00
Józef Kucia
9e8b58ee18
dxgi: Remove 'stub!' from TRACE message in dxgi_swapchain_ResizeBuffers().
2015-08-18 18:34:49 +09:00
Henri Verbeet
fca2d19423
dxgi: Implement dxgi_swapchain_ResizeBuffers().
2015-08-07 23:44:19 +09:00
Henri Verbeet
d29f263c79
dxgi: Introduce a helper function to convert wined3d multisample info to dxgi.
2015-08-06 23:36:01 +09:00
Henri Verbeet
3beaf224ea
dxgi: Implement dxgi_swapchain_GetPrivateData().
2015-02-18 23:21:11 +09:00
Henri Verbeet
e37272ee86
dxgi: Implement dxgi_swapchain_SetPrivateDataInterface().
2015-02-17 18:42:24 +09:00
Henri Verbeet
59ffc7bc8d
dxgi: Implement dxgi_swapchain_SetPrivateData().
2015-02-17 18:42:22 +09:00
Henri Verbeet
810977446a
dxgi: Call wined3d_device_init_3d() on device creation.
2014-09-15 12:12:51 +02:00
Henri Verbeet
31e8976910
wined3d: Get rid of the surface_type parameter to wined3d_swapchain_create().
2013-01-16 12:22:57 +01:00
Henri Verbeet
adddf10cd8
wined3d: wined3d_swapchain_get_desc() never fails.
2012-10-04 14:09:55 +02:00
Henri Verbeet
5fcc1f8f70
wined3d: Just return the surface from wined3d_swapchain_get_back_buffer().
2012-10-04 14:09:50 +02:00
Ričardas Barkauskas
d9ce33bfb0
dxgi: Partially implement IDXGISwapChain_GetDesc.
2012-09-25 11:20:10 +02:00
Henri Verbeet
3769afa33d
wined3d: Get rid of the WINED3DSURFTYPE typedef.
2012-01-20 13:31:33 +01:00
Henri Verbeet
45f6def784
wined3d: Get rid of the WINED3DBACKBUFFER_TYPE typedef.
2012-01-06 19:24:21 +01:00
Henri Verbeet
94c9b0b4fc
wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef.
2011-12-02 11:51:29 +01:00
Michael Stefaniuc
61f51eb47e
dxgi: COM cleanup in the IDXGISwapChain iface.
2011-06-06 16:30:12 +02:00
Henri Verbeet
8d4ca1f815
wined3d: Remove COM from the device implementation.
2011-05-17 10:06:18 +02:00
Henri Verbeet
00a5f38595
wined3d: Remove object creation methods from the IWineD3DDevice interface.
2011-05-11 14:56:48 +02:00
Henri Verbeet
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +02:00
Henri Verbeet
3ec19590d5
wined3d: Remove COM from the swapchain implementation.
2011-04-14 17:13:57 +02:00
Henri Verbeet
d2e665230a
wined3d: Get rid of the swapchain destroy callback.
2011-04-13 14:13:51 +02:00
Henri Verbeet
dd2c7d0d8c
wined3d: Don't free D3D swapchains until the wined3d swapchain is destroyed.
...
This will allow us the get rid of the swapchain refcounting hacks in d3d9 in
particular. This is similar to the way we handle resources that are still in
use by a stateblock, but aren't referenced anywhere by the application.
2011-04-08 14:40:48 +02:00
Henri Verbeet
6c4c351791
wined3d: Don't require wined3d object parents to be COM objects.
2010-09-01 14:01:02 +02:00
Henri Verbeet
044a989d79
dxgi: Add a separate function for swapchain initialization.
2009-12-29 11:06:06 +01:00
Henri Verbeet
a5214c306f
wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
...
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Henri Verbeet
964408d0bf
dxgi: Initial IDXGISwapChain::Present() implementation.
2009-02-24 16:57:29 +01:00
Henri Verbeet
f4879dcec1
dxgi: Implement IDXGISwapChain::GetBuffer().
2009-02-24 16:57:29 +01:00
Henri Verbeet
eda929d010
dxgi: Create a wined3d swapchain.
2009-02-24 16:57:29 +01:00
Henri Verbeet
926c47940c
dxgi: Add some stubs for IDXGISwapChain.
2008-10-29 13:29:33 +01:00