Philip Rebohle
9b78738d2c
[dxvk] Pass image format list to the driver
...
Allows drivers to enable DCC in some situations.
2018-07-03 12:44:01 +02:00
Philip Rebohle
c1334e7601
[dxvk] Require VK_KHR_image_format_list
...
All supported drivers support this extension, so we don't make it optional.
2018-07-03 12:43:32 +02:00
Philip Rebohle
3bb94f1afb
Merge branch 'vr-init'
2018-07-02 20:12:57 +02:00
Philip Rebohle
092331232b
[vr] Initialize and shut down OpenVR if necessary
2018-06-30 18:49:29 +02:00
Philip Rebohle
cf6e3c1fbf
[vr] Refactor compositor initialization
2018-06-30 16:51:20 +02:00
N00byKing
26d7059579
[dxvk] Remove unnecessary Parameter ( #465 )
2018-06-29 21:37:25 +02:00
Philip Rebohle
db2b6e1219
[dxvk] Optimize image layout transitions
...
This should reduce unnecessary execution dependencies when
transitioning image layouts before executing image copies.
2018-06-28 13:52:54 +02:00
Philip Rebohle
8c65203ac2
[dxvk] Fix potential layout transition issues with depth-stencil images
...
Some operations can operate on only one of the two aspects
of a depth-stencil image. This fixes two possible issues:
- Image memory barriers must be applied to all image aspects
- VK_IMAGE_LAYOUT_UNDEFINED is no longer used as a source layout
if the operation requiring the transition only uses one aspect
2018-06-28 12:44:57 +02:00
Philip Rebohle
04bc13929f
[hud] Added some missing documentation
2018-06-28 01:18:16 +02:00
Philip Rebohle
832b3a9dba
[hud] Render HUD directly to swap chain image
...
Saves a fullscreen render target, render pass, and a queue submission.
2018-06-28 01:00:07 +02:00
Philip Rebohle
0e6e985210
[vr] Maintain global extension sets
...
Preserves the per-instance and per-adapter extension sets across
multiple Vulkan instances. Works around initialization order issues
with Unity-based VR apps.
2018-06-26 15:56:13 +02:00
Philip Rebohle
eb39cf4b11
[dxvk] Lock queue around acquireNextImage
2018-06-26 15:33:43 +02:00
Philip Rebohle
9cae049b53
[dxvk] Move adapter list to the DXVK instance
2018-06-26 12:33:26 +02:00
Philip Rebohle
4f28d57352
[dxvk] Remove unused rasterizer discard state flag
2018-06-25 16:56:52 +02:00
ZeroFault
b62ccfe7a3
[dxvk] Implement dedicated allocation ( #448 )
...
Yields significant performance improvements on some Nvidia GPUs.
2018-06-24 10:55:42 +02:00
Philip Rebohle
5d1f00be34
[dxvk] Implement shader-based meta-resolve operation
...
This should work around a variety of potential driver issues
when games resolve typeless images with a different format.
2018-06-23 13:17:01 +02:00
Philip Rebohle
654c947368
[dxvk] Added separate flags for signed and unsigned integer formats
2018-06-23 13:06:42 +02:00
Philip Rebohle
c5f45d9153
[dxvk] Add shaders for new meta-resolve operation
2018-06-23 09:48:03 +02:00
Philip Rebohle
db7a7fa4bc
[dxvk] Use dynamic offsets for both graphics and compute pipelines
2018-06-22 00:33:47 +02:00
Philip Rebohle
4b5ec1be3e
[dxvk] Implement support for dynamic buffer binding offsets
2018-06-22 00:33:06 +02:00
Philip Rebohle
826b1245a1
[dxvk] Add context state flags for descriptor set and offset updates
2018-06-22 00:31:56 +02:00
Philip Rebohle
c3470f6cbf
[dxvk] Allocate descriptor sets with dynamic descriptor support
2018-06-22 00:31:11 +02:00
Philip Rebohle
aa3e718fcd
[dxvk] Add DxvkOptions struct for quick lookup of features/limits
2018-06-22 00:29:44 +02:00
Philip Rebohle
d35ff6ca13
[dxvk] Implement pipeline layout support for dynamic descriptors
2018-06-22 00:29:04 +02:00
Philip Rebohle
32cd85dc11
[dxvk] Discard slices from old physical buffers
...
Improves effectiveness of an optimization that allows
using dynamic buffer offsets for descriptor sets.
2018-06-22 00:27:52 +02:00
Philip Rebohle
79a1703aea
[util] Set thread names for DXVK's own threads
...
Makes it easier to identify the command stream thread and the
queue processing thread easier when using a wine build that
supports SetThreadDescription.
2018-06-21 15:12:04 +02:00
Philip Rebohle
15aabcb878
[dxvk] Optimize barriers around vkCmdCopyImage
...
We don't need to force layout transitions and emit double pipeline
barriers in case the GENERAL layout is being used for both images.
This is somewhat common for images used by compute shaders, and
this optimization ensures that only required barriers are emitted.
2018-06-18 22:30:00 +02:00
Philip Rebohle
79dc7d8947
[dxvk] Optimized barrier batching around compute shader execution
...
Reduces the number of unnecessary pipeline barriers after compute shader
dispatches. Yields a small performance improvement in Final Fantasy XV.
2018-06-18 14:35:11 +02:00
Philip Rebohle
162c465e95
[dxvk] Optimize buffer memory barrier batching
...
Instead of inserting a barrier after every single buffer copy, update
or clear operation, we batch them up and execute the barrier when the
first dirty buffer is used by a command. This significantly reduces
the number of pipeline barriers in some games, e.g. Final Fantasy XV.
2018-06-16 11:53:06 +02:00
Philip Rebohle
8f8340c2d1
[dxvk] Rename DxvkResourceAccessType to DxvkAccess
...
We'll be using this enum a lot more in the future.
2018-06-16 10:40:30 +02:00
Philip Rebohle
7fa26f1c87
[d3d11] Implement render pass spilling for UAV rendering
...
Spilling the render pass should make shader storage buffer/image writes
visible due to how external subpass dependencies are defined. For UAV
rendering, we need to do this when changing the UAVs, even if the render
targets themselves do not change.
2018-06-15 20:49:24 +02:00
Philip Rebohle
48e0b6d684
Revert "[dxvk] Require VK_EXT_shader_viewport_index_layer"
...
This reverts commit 8d0af0a8fc153015b806c15bd893e8d20236b2f8.
Breaks Renderdoc, which currently does not support this extension.
2018-06-12 23:18:41 +02:00
Philip Rebohle
8d0af0a8fc
[dxvk] Require VK_EXT_shader_viewport_index_layer
2018-06-12 21:55:41 +02:00
Philip Rebohle
e6c786b39f
[dxvk] Sort extension names in alphabetical order
...
This is purely cosmetic.
2018-06-12 17:01:35 +02:00
Philip Rebohle
f8650c1c9f
[dxvk] Require VK_KHR_maintenance2 and VK_EXT_vertex_attribute_divisor
...
Wine 3.10 added support for these extensions, so we should use them.
2018-06-11 21:09:52 +02:00
Philip Rebohle
420b7218ae
Revert "[dxvk] Increase memory chunk size to 32 MiB"
...
This reverts commit 83ae39f727d7aeb43cef277082bcb42093530779.
Does not show any considerable advantage over the 16 MiB chunk size
and reduces the effectiveness of the host-visible device-local memory
type on AMD cards.
2018-06-06 23:47:43 +02:00
Philip Rebohle
15b0327243
Merge branch 'master' of https://github.com/doitsujin/dxvk
2018-06-06 23:12:48 +02:00
Philip Rebohle
b8468fda43
[dxvk] Improve swap chain format fallback logic
...
When requesting an unsupported non-SRGB format, we shouldn't
fall back to an SRGB format since that will cause Gamma issues.
2018-06-06 23:10:38 +02:00
Philip Rebohle
79d3b203ef
[dxvk] Added format flag to mark SRGB color formats
2018-06-06 23:09:39 +02:00
ZeroFault
b43060bec1
fix MSVC compile error with function pointer type declaration ( #422 )
2018-06-06 22:11:26 +02:00
Philip Rebohle
e8ac81fe8a
[dxvk] Removed support for depth bounds test
...
This feature is not used in D3D11, so we don't need backend support.
2018-06-06 13:11:09 +02:00
Philip Rebohle
8b4852be16
[dxvk] Make depth bias a dynamic state
...
Works around an issue with some games not setting the D3D11 depth
bias state correctly, which can result in an excessive number of
pipelines being compiled.
2018-06-06 12:45:45 +02:00
Philip Rebohle
6579b2ad99
Merge branch 'auto-flush-v2'
2018-06-05 18:46:46 +02:00
Philip Rebohle
83ae39f727
[dxvk] Increase memory chunk size to 32 MiB
...
Reduces the number of memory allocations considerably.
2018-06-05 18:45:11 +02:00
Philip Rebohle
39a7169e1a
[vr] Silence non-virtual destructor warnings on GCC
2018-06-05 01:03:59 +02:00
Philip Rebohle
2c9c7e1a36
Merge branch 'openvr-v2'
2018-06-05 00:16:37 +02:00
Philip Rebohle
cfe99368fb
[dxvk] Make number of queued submissions available to DXVK
2018-06-04 23:24:42 +02:00
Philip Rebohle
34477933ef
[dxvk] Fixed uninitialized value in meta-resolve
2018-06-02 12:20:46 +02:00
Philip Rebohle
3a520dfe4a
[dxvk] Enable VK_EXT_shader_viewport_index_layer if available
...
Required to support SV_RenderTargetArrayIndex in vertex shaders.
2018-06-01 13:56:09 +02:00
Philip Rebohle
7fe4a70342
Version 0.53
...
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEJz0EC1ETuIbRoJDUyMxhNCejHJkFAlsLDL4ACgkQyMxhNCej
HJmIPwgArq3gx2qLKKLokrCyVbwf5UfYtMbnyEQCs7nSBbb0JiaeQXJClAdIwFP6
VncCpCDOjvssHAiXMF1hfbHDMvVpMa3nwz+O2bOKFxg9OCt69T0wqbOvNVuJzEq4
7zXWNBXegPJaY5KQXiJORetU/xNcb8/ikWEAT57vkRu2RvvT2ct/oaynWZtgh+X5
/OMHW1nMP9Bvwm5ZCWw2fCdT9evqIrXL3IreoJKX+dW/10oIaUnh+Q5Fcm7L0s7i
dYkmm1KM6WiHpO/duK0SpbOl9ASzorwtcRjgM2syzM0QljcUpdnRCDXsuVWYOpRL
7GbtyzdVC/SJknJoWMdTcpIX6fjYPA==
=nkRK
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEJz0EC1ETuIbRoJDUyMxhNCejHJkFAlsOvCkACgkQyMxhNCej
HJlusQgAkfcCUgFLMLGoUeOJaHkpDnv5/s13AMG3a+m9SLUavQ87izysrp6cEaF6
1O1Rxf/NHqhOh8jGwHILVmDWeYzDGkNKUW0/g0A0hcLMDyh5f5zMVqYoX9ITsjmG
w5Woc4I7JPqsPdqJ0FOk/dQKIrnVXr/SZXrna55ZvXPI9q1wz0QCbE4E/q47tJUA
3F5yw+eNaRWEHe7T9wSXdtuVo7R1NFqewt5kTvgiYg6HCWSCNAvgTVHnEg2tpaNC
rzipvxXKSNbDB30JpC8+R6aP4b7z6P9p1KjyoSKT7Jb5kvOw3p6eY5WQq69KUhhq
EjTMwUrFaP1K6IJwgWfxLxIufp5pqw==
=JJRk
-----END PGP SIGNATURE-----
Merge tag 'v0.53' into openvr-v2
Version 0.53
2018-05-30 16:58:46 +02:00