Commit Graph

79 Commits

Author SHA1 Message Date
Philip Rebohle be16da37d7 [d3d11] Introduce COM interface to set and get API version
Allows us to identify DirectX 10 applications correctly.
2020-01-28 16:32:58 +00:00
Philip Rebohle 409991b9db
[d3d10] Fix reported bind flags for D3D10 resources
Turns out that the UAV bind flag remains set in the D3D10 description,
even though D3D10 does not support the feature. Fixes wine test failures.
2019-10-11 17:15:33 +02:00
Joshua Ashton 19fa1c405c [d3d10] Remove unused copies of device ptr in D3D10 wrappers
Silences a warning when building with Clang, and removes duplicate unused data.
2019-10-06 00:28:19 +02:00
Philip Rebohle 8f6df2b7fb
[d3d10] Add some null pointer checks when dealing with resources
Also, fix some more awkward formatting.
2019-09-23 21:59:02 +02:00
Philip Rebohle cb60211ce0
[d3d10] Fix some awkward formatting 2019-09-23 21:47:30 +02:00
Philip Rebohle b0f6655b92
[d3d11] Implement ID3D11Query1 2019-09-16 16:13:34 +02:00
Philip Rebohle 293551dc8d
[d3d10] Fix winelib build
There's no IID_PPV_ARGS on wine.
2019-05-15 21:42:42 +02:00
Philip Rebohle 78ab26347d
[d3d10] Add static method implementing D3D10CreateDeviceAndSwapChain1
Same as the D3D11 change to make ReShade happy.
2019-05-15 17:18:05 +02:00
Philip Rebohle 81229d66cc
[d3d10] Explicitly define GUID for ID3D10StateBlock
Fixes linker errors when building against winelib.
2019-05-03 20:32:52 +02:00
Philip Rebohle 81821414b0
[d3d10] Implement state blocks
Improves compatibility to Wine's Direct2D implementation.
2019-05-03 13:08:57 +02:00
pchome 3eb9f35fc3 [build] Use `generator` to produce resource files 2019-04-06 11:33:45 +02:00
Sveinar Søpler 4f9dd8d3d0
[build] Add version info to compiled DLLs
Fixes #980.
2019-04-05 21:09:57 +02:00
Joshua Ashton d01110259c [d3d11, d3d10] Init returnptrs for CreateDevice funcs. 2019-02-27 23:17:08 +01:00
Joshua Ashton 995949a9f9 [d3d10] Fix and cleanup S_FALSE handling 2019-02-27 22:01:04 +01:00
Joshua Ashton ccf24db428 [d3d10] Fix null pBlendStateDesc being dereferenced on def. desc 2019-02-27 22:01:04 +01:00
Joshua Ashton 2454041903 [d3d10] nullptr checks for resource creation 2019-02-27 22:01:04 +01:00
Joshua Ashton 5ea8648cd9 [d3d11, d3d10, dxgi] Handle null ppvObject in QueryInterface. (#909)
When a null ppvObject is passed into a QueryInterface on any IUnknown, a E_POINTER should be returned as the result (and it should not crash.)

This matches native d3d11/d3d10/dxgi behaviour and the documentation found here https://docs.microsoft.com/en-us/windows/desktop/api/unknwn/nf-unknwn-iunknown-queryinterface(q_) for IUnknown.
2019-02-10 08:01:01 +01:00
Robin 7a69135ba1 [d3d10] Check if d3d11 pointers are null 2019-01-02 19:13:42 +01:00
Robin 4c9af44356 [d3d10] Use context lock instead of separate device lock 2018-12-30 21:08:52 +01:00
Philip Rebohle ef63328eb8
[d3d10] Initialize DSV pointer in OMGetRenderTargets
Completely redundant, but apparently MSVC refuses to compile the
code otherwise. Refs #801.
2018-12-07 13:43:14 +01:00
Philip Rebohle 1cc0455c8a
[dxgi] Remove old DXGIDevice implementation and IDXGIVkDevice
Both have been moved to the D3D11 module and are no longer needed.
2018-12-04 19:38:52 +01:00
Philip Rebohle 835d92b802 [d3d10] D3D10CreateDeviceAndSwapChain: Ignore swap chain if null
Like e4b91057ac, this might fix some
issues with ReShade in D3D10 games.
2018-12-02 15:52:17 +01:00
Philip Rebohle 28216909bd
[d3d10] Implement D3D10Multithread 2018-11-30 11:37:57 +01:00
dhewg a05c93dd17 cross build cleanup (#746)
- Don't turn off warnings for winelib builds, fix them. Using __declspec on winelib builds just doesn't make sense.
- Drop the custom cross property 'winelib'. Detect it instead.
- Move the libdl dependency to the build system
- Don't run wine during mingw build process. Same as for wine builds, see 715d2571
2018-11-04 16:18:32 +01:00
Philip Rebohle 851d9fb726
[general] Remove unnecessary include directories from build files
These are no longer needed because dxvk includes consistently
use relative file paths now, instead of global includes.
2018-11-02 14:54:39 +01:00
Philip Rebohle 6b5aa0b928
Merge branch 'vk_transform_feedback' 2018-10-13 08:00:51 +02:00
Philip Rebohle 8172d347be
Revert "[d3d10] Implement ID3D10Multithread"
This reverts commit 55d6eae210.

We probably don't need it, and the current implementation is broken.
2018-10-12 19:29:52 +02:00
Philip Rebohle 55d6eae210
[d3d10] Implement ID3D10Multithread 2018-10-12 19:06:05 +02:00
Philip Rebohle e549c9303b
[d3d10] Respect D3D10_CREATE_DEVICE_SINGLETHREADED flag
May improve performance in games which do not need the locking behaviour.
2018-10-12 18:36:02 +02:00
Philip Rebohle 6d18efdfc7
[d3d10] Lock device on context operations
May fix thread safety issues in some games. Apparently, the
D3D10Device is supposed to be thread safe by default.
2018-10-12 18:31:55 +02:00
Philip Rebohle 406816d17c
[d3d10] Support pOffsets parameter in SOGetTargets 2018-10-10 19:55:42 +02:00
Philip Rebohle bd4338be42
[d3d10] Add option to enable or disable D3D10 support 2018-09-24 15:26:33 +02:00
Philip Rebohle 03a760bec6
[meta] Remove redundant linker entries for the utils library
Fixes #651.
2018-09-19 21:00:44 +02:00
pchome ff604d5a53 [d3d10] Fix d3d11 dependecy for winelib build 2018-08-28 12:52:45 +02:00
Nikolay Sivov d464d11fbd [d3d10] Fix resource type for buffers. 2018-08-26 12:16:09 +02:00
Joshua Ashton 48697346c0 [d3d10] Implement Get/SetTextFilterSize using the behaviour D3D10 exhibits (#587) 2018-08-22 01:32:59 +02:00
Mikhail Paulyshka 9cce41394b [build] partially revert previous d3dcompiler related change 2018-08-15 21:59:44 +02:00
Mikhail Paulyshka 3df708d500 [build] reduce the number of d3dcompiler versions 2018-08-15 13:17:16 +02:00
Philip Rebohle e5eb155968
[d3d10] Add some range checks to resource binding functions 2018-08-14 19:37:23 +02:00
Mikhail Paulyshka 5e81b9c88b [d3d10] added missing __stdcall 2018-08-14 18:48:55 +02:00
Philip Rebohle dad015bd67
[d3d10] Fix crash in CreateDepthStencilView when pDesc is null
This is legal and we should just pass the null pointer to D3D11.
Should fix a crash in Stalker: Call of Pripyat.
2018-08-14 00:12:53 +02:00
Philip Rebohle 861165f32a
[meta] Fix formatting errors
Some filthy little tabs have somehow made
it into the world of spaces to wreak havoc.
2018-08-13 18:30:51 +02:00
Philip Rebohle f011e78163
[d3d10] Implement D3D10ShaderReflection
This is a simple wrapper that uses D3D11ShaderReflection from the
d3dcompiler libs. The implementation is required to run Crysis.
2018-08-13 17:22:42 +02:00
Philip Rebohle 221165f02b
[d3d10] Implement more d3d10.dll functions using D3DCompiler 2018-08-13 17:22:42 +02:00
Philip Rebohle 5e11c8a8d1
[d3d10] Implement CheckFormatSupport 2018-08-13 17:22:42 +02:00
Philip Rebohle 589bc50842
[d3d10] Implement (VS|GS|PS)(Set|Get)Shader 2018-08-13 17:22:42 +02:00
Philip Rebohle e671692886
[d3d10] Implement D3D10Shader 2018-08-13 17:22:42 +02:00
Philip Rebohle 346c59bb62
[d3d10] Implement (Set|Get)Predication 2018-08-13 17:22:42 +02:00
Philip Rebohle 2af07c5faf
[d3d10] Implement D3D10Query 2018-08-13 17:22:42 +02:00
Philip Rebohle 2863a09c5d
[d3d10] Implement ClearRenderTargetView and ClearDepthStencilView 2018-08-13 17:22:42 +02:00