Commit Graph

33 Commits

Author SHA1 Message Date
Rémi Bernon 943d48896e d3d11: Create an initial device ID3DDeviceContextState.
And use its emulated_interface. This adds a private_refcount to track
hidden references, and a reference to the wined3d_device, to keep the
d3d_device alive while not publicly referencing it.

This uses d3d_device_context_state_AddRef on init so that the initial
references are also traced, making it easier to verify that nothing is
leaked.

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>
2021-02-17 21:42:18 +01:00
Rémi Bernon b85af44374 d3d11: Add initial implementation of SwapDeviceContextState.
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>
2021-01-26 17:47:45 +01:00
Rémi Bernon 2814e5ce0b d3d11: Stop advertising the ID3D10Device interface on devices created by d3d11.
The UPlay overlay tries to detect the device D3D version by querying
this interface first. On d3d11 games, and as we are incorrectly
advertising ID3D10Device, it decides to use d3d10 hooks and crashes the
game after ~10 minutes.

This is happening with "Splinter Cell: Blacklist" for instance.

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-02 11:15:02 +02:00
Alexandre Julliard d216374962 d3d11: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 10:00:29 +02:00
Stefan Riesenberger e728156d2c d3d11: Avoid calling D3D11CreateDevice() from D3D11CreateDeviceAndSwapChain().
Signed-off-by: Stefan Riesenberger <stefan.riesenberger@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 20:48:37 +01:00
Józef Kucia 23ad7f6a8b dxgi: Get rid of set_feature_level() from dxgi_device_layer.
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-09-24 22:41:30 +02:00
Józef Kucia 8a985174eb d3d11: Add D3D11On12CreateDevice() stub.
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-09-17 21:19:35 +02:00
Henri Verbeet 6cad331f50 d3d11: Handle D3D_DRIVER_TYPE_WARP in D3D11CreateDevice().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:00 +02:00
Józef Kucia 45aaffd142 d3d11: Use ARRAY_SIZE() macro.
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>
2017-03-23 15:14:40 +01:00
Jacek Caban c0fa655d9e d3d11: Removed no longer needed wine_rb_init error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-31 22:23:00 +09:00
Józef Kucia 1b3399ce07 d3d11: Fix return values returned by D3D11CreateDevice 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>
2016-04-05 21:37:38 +09:00
Henri Verbeet 16afe47b9d d3d11: Use %#x for tracing the feature level in layer_set_feature_level().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 11:50:57 +09:00
Matteo Bruni ce32dccee7 d3d11: Pass the requested feature levels to dxgi.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:23:11 +09:00
Matteo Bruni 1e77bb01db d3d11: Implement device_GetFeatureLevel().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:23:05 +09:00
Matteo Bruni ffce30bc31 dxgi: Add feature level support.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:23:02 +09:00
Józef Kucia cd8be0b431 d3d11: Trace actual swapchain pointer in D3D11CreateDeviceAndSwapChain().
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-03-04 20:55:03 +09:00
Józef Kucia 22c28d9f5c d3d11: Use CreateDXGIFactory1 to create factory in D3D11CreateDevice.
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-22 17:32:30 +09:00
Józef Kucia 7e4453c4fb d3d11: Remove outdated FIXME comment.
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-22 17:32:27 +09:00
Marcus Meissner 59a0e3d1f5 d3d11: Remove useless NULL check (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
2015-10-05 19:24:41 +09:00
Józef Kucia 5fb0281399 d3d11: Rename d3d10_device_init() to d3d_device_init().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
2015-10-01 00:01:27 +09:00
Józef Kucia e441e7b4a9 d3d11: Implement D3D11CreateDeviceAndSwapChain(). 2015-09-16 22:10:20 +09:00
Józef Kucia 77844e2a0e d3d11: Set output parameters to NULL when D3D11CreateDevice() fails. 2015-09-15 20:03:49 +09:00
Henri Verbeet b87eb8d947 d3d11: Make "layers" static in D3D11CoreRegisterLayers(). 2015-08-25 21:13:33 +09:00
Józef Kucia 4cf1bb929f d3d11: Allow to pass NULL as device to D3D11CreateDevice. 2015-08-24 20:46:18 +09:00
Józef Kucia e29a0cf417 d3d11: Rename d3d10_device to d3d_device. 2015-08-21 21:50:16 +09:00
Józef Kucia b2f5fad4b6 d3d11: Implement D3D11CreateDevice. 2015-08-21 21:50:07 +09:00
Józef Kucia a9cb14dd71 d3d11: Move d3d10core to d3d11. 2015-08-21 21:49:43 +09:00
Austin English 9e94232711 d3d11: Add a stub for D3D11CreateDeviceAndSwapChain. 2015-07-10 21:43:07 +09:00
Stefan Dösinger 9d93af793d d3d11: Switch to d3d-style formatting. 2015-02-05 19:59:06 +09:00
Stefan Dösinger e25a115b72 d3d11: Print UINT sdk_version with %u. 2015-02-05 19:58:55 +09:00
Jacek Caban 0e5d64cc44 d3d11: Use proper D3D11CreateDevice argument types. 2013-09-11 16:08:54 +02:00
Francois Gouget aaabd02cff d3d11: Make debug_d3d_driver_type() static. 2013-02-15 11:52:55 +01:00
Austin English 0130eca6a0 d3d11: Add a stub for D3D11CreateDevice. 2013-02-13 16:13:54 +01:00