Commit Graph

355 Commits

Author SHA1 Message Date
Rémi Bernon fbed47422a d3d11: Always return the rectangle count in d3d11_immediate_context_RSGetScissorRects().
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-23 22:30:31 +01:00
Henri Verbeet 7b487c38d0 d3d11: Implement d3d11_immediate_context_SwapDeviceContextState() on top of wined3d_device_set_state().
Based on a patch by Rémi Bernon.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 22:30:31 +01:00
Henri Verbeet 26ba84ad4d d3d11: Advertise support for shader model 4 compute shaders if compute shaders are supported.
I.e., if we support shader model 5 compute shaders for feature level 11.0, we
also support shader model 4 compute shaders for feature level 10.x.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:34 +01:00
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 bde070fcf4 d3d11: Make SwapDeviceContextState truly no-op when state is NULL.
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
Zebediah Figura 062644361b d3d11: Report D3D11_FORMAT_SUPPORT_BUFFER in CheckFormatSupport().
Note that native also reports support for DXGI_FORMAT_UNKNOWN; this patch does
not implement that behaviour.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-12 16:10:49 +01:00
Jan Sikorski f3aceef725 wined3d: Store stencil reference value in wined3d_state.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:01:26 +01:00
Rémi Bernon 3904390ec5 d3d11: Capture and restore pixel shader state.
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:53 +01:00
Rémi Bernon c119aa3990 d3d11: Capture and restore geometry shader state.
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:50 +01:00
Rémi Bernon 2213e5a489 d3d11: Capture and restore vertex shader state.
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:48 +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 846276f3ca d3d11: Add initial implementation of CreateDeviceContextState.
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:42 +01:00
Matteo Bruni 54d4c905ba d3d11: Don't explicitly check for cube map 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>
2020-12-02 19:08:04 +01:00
Zebediah Figura 8130475d14 d3d11: Report D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW in CheckFormatSupport().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-30 15:53:09 +02:00
Zebediah Figura 2014d975cc wined3d: Move the depth function to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 18:33:37 +02:00
Zebediah Figura 2b170bbd8b wined3d: Move the stencil depth fail operation to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 18:33:35 +02:00
Zebediah Figura 9c744d5cb9 wined3d: Move the stencil fail operation to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 18:33:33 +02:00
Zebediah Figura 2479702652 wined3d: Move the stencil pass operation to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 18:33:31 +02:00
Zebediah Figura ba4c2ac03a wined3d: Move the stencil function to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 18:33:29 +02:00
Zebediah Figura 690ff3dbea wined3d: Move the stencil write mask to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 17:03:58 +02:00
Zebediah Figura 92ca89b4a5 wined3d: Move the stencil read mask to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 17:03:58 +02:00
Zebediah Figura 94becf6fc6 wined3d: Move the stencil enable state to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 17:03:58 +02:00
Zebediah Figura 4a5760b28b wined3d: Move the depth write enable state to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 17:03:58 +02:00
Zebediah Figura 1acc410b10 wined3d: Fully move the depth buffer enable state to wined3d_depth_stencil_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 16:50:19 +02:00
Zebediah Figura 5860dd52bc d3d11: Use wined3d depth/stencil state objects.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 16:50:19 +02:00
Paul Gofman 962e939a4d d3d11: Avoid crash in _CopySubresourceRegion[1]() on NULL resources.
Marvel's Avengers randomly hits this case.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-17 20:54:16 +02:00
Matteo Bruni 0b56461f35 d3d11: Report multisample flags in CheckFormatSupport().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49614
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:35:03 +02:00
Matteo Bruni 2d218e3ead d3d11: Report D3D11_FORMAT_SUPPORT_BLENDABLE in CheckFormatSupport().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:35:01 +02:00
Matteo Bruni e84eaa1bb8 d3d11: Report D3D11_FORMAT_SUPPORT_MIP_AUTOGEN in CheckFormatSupport().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:35:00 +02:00
Matteo Bruni 5515458bc9 d3d11: Report D3D11_FORMAT_SUPPORT_MIP in CheckFormatSupport().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:34:58 +02:00
Matteo Bruni 4993651e9d d3d11: Report D3D11_FORMAT_SUPPORT_TEXTURECUBE in CheckFormatSupport().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:34:55 +02:00
Zebediah Figura 21017243b8 wined3d: Store the sample mask in wined3d_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 21:25:23 +02: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
Chip Davis a6a0f7ba8e d3d11: Implement d3d10_device_Flush().
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 21:32:07 +02:00
Chip Davis 701e570328 d3d11: Implement d3d11_immediate_context_Flush().
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 21:32:05 +02:00
Chip Davis 87435db8a1 d3d11: Implement d3d11_immediate_context_GetContextFlags().
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 21:31:59 +02:00
Chip Davis 5c446e92d7 d3d11: Implement d3d11_immediate_context_FinishCommandList().
This always returns DXGI_ERROR_INVALID_CALL.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 21:31:57 +02:00
Chip Davis e35a62c5fa d3d11: Introduce a function to convert a D3D feature level to a D3D10.1 feature level.
Signed-off-by: Chip Davis <cdavis@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
Chip Davis ad61b1a620 d3d11: Introduce a function to convert a wined3d feature level to a D3D feature level.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Chip Davis ace51383ae d3d11: Introduce a function to convert D3D10 DSV dimensions to D3D11.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:42 +02:00
Zebediah Figura f396b49a92 wined3d: Move the color masks to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 13:23:11 +01:00
Zebediah Figura 29b2814a26 wined3d: Move the alpha blend equation to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura 30e44111fe wined3d: Move the destination alpha blend function to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura fc740b8724 wined3d: Move the source alpha blend function to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura 936310585c wined3d: Move the blend operation to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura 04e9d574f5 wined3d: Move the destination blend state to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zhiyi Zhang f2a850c844 wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_format().
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-11 15:55:13 +01:00
Zhiyi Zhang beb4668d58 wined3d: Pass a struct wined3d_adapter pointer to wined3d_check_device_multisample_type().
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-11 15:55:09 +01:00
Zebediah Figura f4f4a42349 wined3d: Move the source blend state to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 17:59:26 +01:00
Zebediah Figura 04453496a2 wined3d: Move the blend enable state to wined3d_blend_state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-10 17:59:24 +01:00