Philip Rebohle
b2317cad4d
[dxvk] Pass DXVK instance to DXVK device directly, not through the adapter
2019-11-08 11:17:02 +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
e95bc3256f
[d3d11] Move handling of constantBufferRangeCheck option to D3D11Options
2019-10-30 10:57:36 +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
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
ee77afb6af
[d3d11] Validate shader module capabilities
...
Only create a shader module if the device actually supports
the required features. Apparently this is needed for some
Unity Engine games.
2019-10-21 12:10:05 +02:00
Philip Rebohle
ddf010479d
[d3d11] Refactor shader module creation
2019-10-21 12:09:53 +02:00
Philip Rebohle
accbc8828c
[d3d11] Return error if no desc is provided for Create*State methods
...
Fixes wine test failures.
2019-10-14 01:08:31 +02:00
Philip Rebohle
762df0bedf
[d3d11] Change ValidateBufferProperties to NormalizeBufferProperties
2019-10-11 17:23:02 +02:00
Philip Rebohle
50349d1bfe
[d3d11] Add missing break; in CreateSurface
...
Found by a frog. Initial testing did not check return values.
2019-10-02 12:06:51 +02:00
Philip Rebohle
8f00af556e
[d3d11] Implement CreateSurface for D3D11DXGIDevice
...
Documentation for this method is really poor so we'll just try to
make pretty much everything work. Fixes various wine tests.
2019-10-02 02:29:06 +02:00
Philip Rebohle
aa35cdbb18
[d3d11] Fix return code on swap chain creation failure
...
Fixes a wine test failure.
2019-10-01 23:37:54 +02:00
Philip Rebohle
0d1048fa87
[d3d11] Fix error handling in SetMaximumFrameLatency
...
Fixes a wine test failure.
2019-10-01 22:12:23 +02:00
Philip Rebohle
11b7b1f1a5
[d3d11] Implement GetDeviceRemovedReason
2019-09-22 19:07:48 +02:00
Philip Rebohle
92d1cf8ae0
[d3d11] Fix CheckFeatureSupport formatting and return code
2019-09-22 15:01:49 +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
518d06b9c2
[d3d11] Enable D3D11.3 MapOnDefaultTextures feature
2019-09-17 23:39:06 +02:00
Philip Rebohle
c59ab258a5
[d3d11] Implement ReadFromSubresource and WriteToSubresource
2019-09-17 23:39:06 +02:00
Philip Rebohle
6ce8450b12
[d3d11] Implement D3D11.2 MapOnDefaultBuffers feature
...
Basically just allocates the buffer on a host-visible memory
type, like DYNAMIC or STAGING buffers depending depending on
the CPU access flags.
2019-09-17 17:47:33 +02:00
Philip Rebohle
dda89a075e
[d3d11] Report MapOnDefaultTextures feature as unsupported
...
Bad things can happen if we leave this undefined.
2019-09-17 14:21:19 +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
3ba541fde6
[d3d11] Implement D3D11.4 feature queries
2019-09-16 16:22:52 +02:00
Philip Rebohle
fdf560150f
[d3d11] Implement ID3D11Device3
2019-09-16 16:13:34 +02:00
Philip Rebohle
b0f6655b92
[d3d11] Implement ID3D11Query1
2019-09-16 16:13:34 +02:00
Philip Rebohle
84c80a4aaf
[d3d11] Implement ID3D11UnorderedAccessView1
2019-09-16 16:13:34 +02:00
Philip Rebohle
81935e1684
[d3d11] Implement ID3D11ShaderResourceView1
2019-09-16 14:27:44 +02:00
Philip Rebohle
345f8694e8
[d3d11] Implement ID3D11RenderTargetView1
2019-09-16 14:27:44 +02:00
Philip Rebohle
0758f14a35
[d3d11] Implement ID3D11Texture2D1 and ID3D11Texture3D1
2019-09-16 14:27:44 +02:00
Philip Rebohle
d9f409b92f
[d3d11] Implement ID3D11RasterizerState2
2019-09-16 13:41:31 +02:00
Philip Rebohle
17a6c4168e
[dxbc] Implement stencil ref export from fragment shaders
...
This is an optional feature in D3D11.3, but easy enough to support.
2019-09-16 12:42:15 +02:00
Philip Rebohle
b7bc51c3bd
[d3d11] Use shaderStorageImageReadWithoutFormat for typed UAV loads
2019-09-16 12:42:15 +02:00
Philip Rebohle
7fae4a41e8
[d3d11] Add definitions for feature levels 12_0 and 12_1
...
Mostly useful for debugging as we're not going to support these
feature levels for now.
2019-09-16 12:42:14 +02:00
Philip Rebohle
51ff65fbc5
[d3d11] Implement D3D11.3 feature queries
2019-09-16 12:42:14 +02:00
Philip Rebohle
26afaba410
[dxbc] Implement MSAD4 instruction
...
Apparently we're required to support this for Direct3D 11.2+.
There are currently no known games that require this instruction.
2019-09-16 12:42:14 +02:00
Philip Rebohle
72a356fe01
[d3d11] Implement GetResourceTiling
...
When called on a regular resource, native D3D11 will zero
out the return values. We should match this behaviour.
2019-09-16 12:42:14 +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
6e28ab956d
[d3d11] Implement D3D11.2 feature queries
2019-09-16 12:42:14 +02:00
Philip Rebohle
3e17ccfaaa
[d3d11] Implement missing D3D11_FEATURE_D3D9_OPTIONS feature query
2019-09-16 02:21:46 +02:00
Philip Rebohle
7b34b8515b
[d3d11] Enable shaderDemoteToHelperInvocation feature
2019-07-11 19:33:17 +02:00
Philip Rebohle
15072afa1f
[d3d11] Use new signals as frame synchronization events
2019-07-08 00:16:03 +02:00
Philip Rebohle
c8a429b9e1
[d3d11] Fix CheckMultisampleQualityLevels return code
...
We're supposed to return E_FAIL for unsupported sample counts,
and not zero-initialize the returned quality level count if the
format is invalid. Fixes wine test failures.
2019-06-14 13:37:01 +02:00
Philip Rebohle
5a66da8ef8
[dxvk] Fix various issues in GetFormatSupportFlags
...
- Support DXGI_FORMAT_UNKNOWN for buffer resources
- Report D3D11_FORMAT_SUPPORT_CPU_LOCKABLE for all supported formats
- Report support for linear-only image formats properly
- Return E_FAIL in case the format is not supported
Fixes a crash in Planet Coaster (#1091 ).
2019-06-13 16:32:41 +02:00
Philip Rebohle
63d8d9c3db
[d3d11] Validate buffer descriptions
2019-06-13 03:31:26 +02:00
Philip Rebohle
acab2bd8ce
[d3d11] Fix crash in GetMaximumFrameLatency with a nullptr argument
2019-06-11 16:36:43 +02:00
Philip Rebohle
a0c67191a7
[d3d11] Implement depth bounds extension
2019-05-06 00:08:58 +02:00