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
3beca254e2
[dxvk] Move UMA check to backend
2020-01-28 16:31:34 +00:00
Philip Rebohle
69bad7bf8c
[d3d11] Move frame latency handling into D3D11SwapChain
2019-11-26 16:11:46 +01:00
Philip Rebohle
77574d9970
[d3d11] Don't query DXVK instance from adapter
2019-11-08 11:25:58 +01:00
Philip Rebohle
a0dba6bbf9
[d3d11] Hold reference to DxvkInstance
...
Hack to keep the instance alive which owns the adapters. Should
fix #1240 for now, but we should fix this properly later on.
2019-11-07 20:21:27 +01:00
Philip Rebohle
fc0ede0657
Revert "[d3d11] Recycle command lists from deferred contexts"
...
This reverts commit 4e3da45fde
.
For some reason this caused crashes.
2019-10-27 11:00:59 +01:00
Philip Rebohle
0683f4f2c0
[d3d11] Remove D3D11 counter buffer class
2019-10-26 17:44:29 +02:00
Philip Rebohle
e967c52ff7
[d3d11] Allocate predicate buffer per query
...
Allows us to get rid of the D3D11 counter buffer class.
2019-10-26 17:44:29 +02:00
Philip Rebohle
09f507c284
[d3d11] Allocate xfb counter buffer per buffer
...
Same idea as with UAV counters, allows for more efficient updates.
2019-10-26 17:44:29 +02:00
Philip Rebohle
191c9644af
[d3d11] Allocate counter buffer per UAV
...
Might slightly increase memory overhead, however this allows
the backend to execute UAV counter updates more efficiently.
2019-10-26 17:44:29 +02:00
Philip Rebohle
4e3da45fde
[d3d11] Recycle command lists from deferred contexts
...
Can save a few memory allocations and deallocations at runtime.
2019-10-25 23:09:21 +02:00
Philip Rebohle
7514aa1ec8
[d3d11] Implement IDXGIDevice4
2019-09-20 18:06:34 +02:00
Philip Rebohle
abf89356cd
[d3d11] Report unified memory if all heaps are device-local
...
Together with mapping default resources, this may or may not
help performance in some applications on integrated graphics.
2019-09-17 23:52:02 +02:00
Philip Rebohle
c59ab258a5
[d3d11] Implement ReadFromSubresource and WriteToSubresource
2019-09-17 23:39:06 +02:00
Philip Rebohle
2ef34a055d
[d3d11] Implement ID3D11Device5
2019-09-16 16:37:37 +02:00
Philip Rebohle
56daf44d4c
[d3d11] Implement ID3D11Device4
2019-09-16 16:26:18 +02:00
Philip Rebohle
fdf560150f
[d3d11] Implement ID3D11Device3
2019-09-16 16:13:34 +02:00
Philip Rebohle
7ba7178d14
[d3d11] Implement ID3D11Device2
...
Adds some extra validation to resource creation so that
apps cannot accidentally create tiled resources.
2019-09-16 12:42:14 +02:00
Philip Rebohle
15072afa1f
[d3d11] Use new signals as frame synchronization events
2019-07-08 00:16:03 +02:00
Philip Rebohle
04bef3c67a
[d3d11] Add stub implementation of D3D11DeviceExt
2019-05-06 00:08:58 +02:00
Philip Rebohle
82c6a5eb1a
[d3d11] Implement D3D11Device::CreateDeviceContextState
2019-05-04 15:57:57 +02:00
Philip Rebohle
81f6ccb1be
[d3d11] Select sync event based on back buffer count
...
May improve frame pacing in some games.
2019-04-23 20:14:30 +02:00
Philip Rebohle
d81146e3d2
[d3d11] Allocate predicate buffer for predicates
2019-03-28 10:02:11 +01:00
Philip Rebohle
7cd3e9a0d4
[d3d11] Add method to look up packed format
2019-03-26 17:54:14 +01:00
Philip Rebohle
4fc96e60c5
[d3d11] Reimplment GetEnabledShaderStages using getShaderPipelineStages
...
They do the same thing anyway.
2019-03-02 19:56:01 +01:00
Philip Rebohle
746562de5a
[dxgi,d3d11] Remove IDXGIVkPresentDevice
2019-02-11 20:06:12 +01:00
Philip Rebohle
fd445f7b4d
[d3d11] Move D3D11 presenter creation to WineDXGISwapChainFactory
2019-02-11 20:06:12 +01:00
Robin
4c9af44356
[d3d10] Use context lock instead of separate device lock
2018-12-30 21:08:52 +01:00
Philip Rebohle
4e22e4bc3a
[dxgi] Refactor swap chain creation
...
Cleans up constructor and moves a bunch of common code
to the new CreateDxvkSwapChainForHwnd function, which
can be called from both d3d11 and dxgi.
Also fixes potential issues with the current implementation
of the IWineDXGISwapChainFactory interface.
2018-12-21 15:53:29 +01:00
Philip Rebohle
1e393bf24d
[d3d11] Implement IWineDXGISwapChainFactory
...
See #822 .
2018-12-21 14:03:28 +01:00
Philip Rebohle
c5deedef2d
[d3d11] Move IDXGIDevice implementation to D3D11 module
...
Helps decouple the D3D11 module from the DXGI implementation. This
also allows us to clean up D3D11 device creation, which is much needed.
Based on zzhiyi/dxvk@fa441937f1
Co-authored-by: Zhiyi Zhang <zzhang@codeweavers.com>
2018-12-04 19:38:38 +01:00
Philip Rebohle
28216909bd
[d3d10] Implement D3D10Multithread
2018-11-30 11:37:57 +01:00
Philip Rebohle
cc7f5c4bb1
[d3d11] Duplicate format table into D3D11 device
...
Removes the direct D3D11Device->DXGIAdapter dependency.
2018-11-28 18:34:05 +01:00
Philip Rebohle
c61200d35f
[dxvk] Introduce single-use mode for CS chunks
...
This allows us to reset the CS chunk immediately while executing it,
which can reduce the overhead of the reset operation and may lead to
resources being released earlier.
2018-11-20 10:35:23 +01:00
Philip Rebohle
c9ce09e098
[d3d11] Respect xfb metadata when computing shader hash
...
Closes #733 .
2018-10-25 11:28:02 +02:00
Philip Rebohle
7b9726fd93
[d3d11] D3D11Presenter -> D3D11PresentDevice
2018-10-23 15:10:01 +02:00
Philip Rebohle
97d776cc00
[d3d11] Allocate counter for stream output buffers
2018-10-10 19:55:41 +02:00
Philip Rebohle
66d1bed083
[d3d11] Remove old UAV counter buffer implementation
2018-08-30 15:32:46 +02:00
Philip Rebohle
5c45a50daf
[d3d11] Use D3D11CounterBuffer for UAV counters
2018-08-30 15:24:47 +02:00
Philip Rebohle
f1b075c0f3
[dxvk] Add CS chunk pool
...
Reduces the number of dynamic memory allocations for CS chunks by
recycling them once they are no longer needed. Also fixes a potential
issue with chunks that are dispatched multiple times.
2018-08-27 16:07:38 +02:00
Philip Rebohle
1e857f6342
[d3d10] Add D3D10Device stub
2018-08-13 17:22:03 +02:00
Philip Rebohle
1a4b17d607
[d3d11] Use user config to determine the maximum feature level
2018-08-09 21:08:03 +02:00
Philip Rebohle
dc31be7118
[d3d11] Use global user config for D3D11 options
2018-08-07 14:59:09 +02:00
Philip Rebohle
8044ce6c7e
[d3d11] Refactor UAV counter buffer allocator
...
- Fixes violation of the minStorageBufferOffsetAlignment limit
- Allows allocation of multiple counter buffers if necessary
2018-08-03 10:17:02 +02:00
Philip Rebohle
0ba00b3f59
[dxvk] Add extended device feature structure
...
This allows the client API to query and enable extended
features in the future, should it become necessary, much
like the extende feature queries.
2018-07-31 16:58:25 +02:00
Philip Rebohle
7f0f7ac048
[d3d11] Refactor shader binding
...
This way we can get rid of an unnecessary template and make future
extensions possible.
2018-07-30 19:37:19 +02:00
Philip Rebohle
662b6429a8
[d3d11] Refactor resource initialization
...
In addition to moving the code to a separate class, this also
improves flushing behaviour by limiting the amount of memory
being initialized rather than the number of commands executed.
2018-07-23 15:21:17 +02:00
Philip Rebohle
cbf4772973
[d3d11] Pass image format family to the backend
2018-07-03 12:44:56 +02:00
Philip Rebohle
102591369e
[dxbc] Add DxbcModuleInfo struct
...
This will be required in the future to pass data from the
application to the shader compiler.
2018-06-23 17:14:35 +02:00
Philip Rebohle
51104c104d
[d3d11] Refactor InitTexture method
2018-05-22 21:06:26 +02:00