Georg Lehmann
b55784acc6
[dxvk] Downgrade missing OpenVR warning to info
2021-08-09 13:17:43 +02:00
Paul Gofman
52fac82a45
[dxvk] Also initialize view formats when creating DxvkImage for existing VkImage.
2021-08-03 00:47:33 +02:00
Philip Rebohle
d10e1ed3c0
[meta] Release 1.9.1
2021-07-26 15:45:33 +02:00
Philip Rebohle
11bbc07ea1
[dxvk] Support destination pitch in packImageData
2021-07-19 16:54:56 +02:00
Connor Abbott
b9135ca0cd
Do not try to load libraries natively under __WINE__
...
This was only half-implemented (e.g. OpenXR was still calling
GetModuleHandle), broke compilation with Vulkan due to mismatched ABI,
and wouldn't have worked anyways with winelib builds because we still
need access to wine's implementation of the Vulkan win32 winsys
integration. Perhaps this is still useful for dxvk-native but if so it
should be re-added under a DXVK_NATIVE flag.
2021-07-03 14:28:28 +02:00
Philip Rebohle
45a6d5fb5b
[dxvk] Fix potential undesired host-visible buffer invalidation
...
We cannot invalidate mapped buffers in the backend because the frontend
may cache the mapped slice from its own invalidations, which would then
become invalid. Very unlikely to be an issue in practice.
2021-06-29 13:58:52 +02:00
Philip Rebohle
cd8a2bcfcd
[dxvk] Use custom sync primitives
2021-06-29 00:51:20 +02:00
Philip Rebohle
5e4ed2d929
[d3d11] Introduce CopyImage
2021-06-24 21:07:48 +02:00
Philip Rebohle
f50c5234dc
[dxvk] Add source offset/extent to copyPackedBufferToDepthStencilImage
2021-06-24 21:07:48 +02:00
Philip Rebohle
a14884c652
[dxvk] Add destination offset/extent to copyDepthStencilImageToPackedBuffer
...
Needed to support partial copies between buffers and depth-stencil images.
2021-06-24 21:07:47 +02:00
Philip Rebohle
ba9d670157
[dxvk] Introduce copyPackedBufferImage
2021-06-24 21:07:47 +02:00
Philip Rebohle
27155539b6
[dxvk] Add meta copy pipeline for packed buffer image copies
2021-06-24 21:07:47 +02:00
Philip Rebohle
9f7a5a077f
[dxvk] Fix broken row/slice alignment in buffer<->image copies
...
If the specified row or slice alignment matches the row size exactly
but is not a power of two, we could accidentally screw up the alignment.
2021-06-24 21:07:47 +02:00
Philip Rebohle
ba4938e201
[dxvk] Add slice alignment to copyImageToBuffer
2021-06-24 21:07:47 +02:00
Philip Rebohle
4840cdaf8c
[dxvk] Add slice alignment to copyBufferToImage
2021-06-24 21:07:45 +02:00
Philip Rebohle
87d32a234d
[dxvk] Handle discard aspects correctly when performing clears
...
Should fix an Nvidia driver crash, see #2118 .
2021-06-24 17:15:52 +02:00
Philip Rebohle
7beb344f6f
[dxbc] Remove dxvk.useEarlyDiscard option
...
No longer relevant on drivers that support DemoteToHelperInvocation.
Closes #2109 .
2021-06-18 15:44:27 +02:00
Philip Rebohle
dca63464b4
[meta] Release 1.9
2021-06-15 15:32:19 +02:00
Philip Rebohle
de05728c8c
[dxvk] Check view format as well when deferring clears
...
Otherwise, we may accidentally clear to an incorrect value.
Fixes #2100 .
2021-06-14 16:41:31 +02:00
Philip Rebohle
fe00919d5f
[util] Handle upper-case file extensions correctly
2021-06-06 03:57:15 -07:00
Joshua Ashton
fe0dc2d579
[dxvk] Move isUnifiedMemoryArchitecture to adapter
2021-06-01 19:26:41 +02:00
Philip Rebohle
0b88d0deab
[vulkan] Remove getSyncSemaphores from presenter
...
Instead, return the semaphores in acquireNextImage.
2021-06-01 04:32:50 +02:00
Philip Rebohle
8116927ec6
[dxvk] Introduce new version of packImageData
2021-05-30 19:42:43 +02:00
Philip Rebohle
4630bbc427
[dxvk] Support multi-plane formats in updateImage
2021-05-30 19:42:43 +02:00
Philip Rebohle
55a67988b2
[dxvk] Support multi-plane formats in computeImageSize
2021-05-30 19:42:43 +02:00
Philip Rebohle
6462174c13
[dxvk] Support multi-plane formats in copyImageToBuffer
2021-05-30 19:42:43 +02:00
Philip Rebohle
a660b35f6e
[dxvk] Support multi-plane formats in clearCompressedColorImage
2021-05-30 19:42:43 +02:00
Philip Rebohle
ed57019e13
[dxvk] Support multi-plane formats in copyImage
2021-05-30 19:42:43 +02:00
Philip Rebohle
41e28cb280
[dxvk] Support multi-plane formats in uploadImage
2021-05-30 19:42:43 +02:00
Philip Rebohle
86542248df
[dxvk] Support multi-plane formats in copyBufferToImage
2021-05-30 19:42:43 +02:00
Philip Rebohle
cd2ea98670
[dxvk] Add helper functions to deal with plane aspects
2021-05-30 19:42:43 +02:00
Philip Rebohle
1d6da6f83e
[dxvk] Add format definition for VK_FORMAT_G8_B8R8_2PLANE_420_UNORM
2021-05-30 19:42:43 +02:00
Philip Rebohle
0f5e126735
[dxvk] Introduce flushSharedImages
...
Fixes problems with images not being cleared prior to presentation
if the clear is the last command issued in the frame.
2021-05-30 19:42:43 +02:00
Philip Rebohle
94674ac45e
[dxvk] Skip CPU adapters if GPUs are present
...
Because some games try (and fail) to run on Lavapipe despite it already
being the lowest priority device in the list.
2021-05-21 22:55:54 +02:00
Liam Middlebrook
5ce5999232
[dxvk] Add support for debug utils labels
...
Reviewed-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
2021-04-08 14:25:02 +02:00
Liam Middlebrook
c89b274325
[dxvk] Track enabled instance extensions
...
Reviewed-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
2021-04-08 14:25:02 +02:00
Philip Rebohle
c3feea2bce
[dxvk] Make samplerAnisotropy feature optional
2021-04-04 20:01:30 +01:00
Philip Rebohle
38649372bf
[dxvk] Allow different but matching views in findAttachment as well
...
Allows us to merge clears in some further edge cases.
2021-03-18 16:06:21 +01:00
Philip Rebohle
8be777b8e2
[dxvk] Move inline clears out of performClear
...
It is easier to reason about this code when there is no way for
performClear to be called within an active render pass instance.
2021-03-18 16:06:21 +01:00
Philip Rebohle
b9360bacc2
[dxvk] Do not clear read-only aspects inside render pass
...
Instead, end the render pass as necessary and clear outside of it.
May fix validation errors in some very rare scenarios where the game
performs a clear and then uses a read-only depth-stencil view.
2021-03-18 16:06:18 +01:00
Philip Rebohle
e3b92bcfac
[dxvk] Add conservative rasterization mode to rasterizer state
2021-03-13 20:22:32 +01:00
Philip Rebohle
a77c80f08a
[dxvk] Enable VK_EXT_conservative_rasterization if available
2021-03-13 20:22:32 +01:00
Philip Rebohle
787297ee4e
[dxvk] Fix wrong aspect mask for clear copies
2021-03-07 16:29:21 +01:00
Philip Rebohle
a520c5160e
[dxvk] Pack vertex binding divisor into reserved 14-bit field
...
Technically an illegal optimization since it limits the maximum
divisor to 16383, but there are no known applications relying
on very large divisors. Reduces state vector size by 128 bytes,
or roughly 20%.
This also bumps the state cache version to v10.
2021-03-06 16:59:12 +01:00
Philip Rebohle
95740eb78c
[dxvk] Use clears to impelemnt image copies if possible
...
Optimizes away a large amount of redundant depth-stencil clear+copy
madness in Final Fantasy XIV for a small performance improvement.
2021-03-06 02:43:28 +01:00
Philip Rebohle
8a4beefd3a
[dxvk] Store new image view when deferring clear/discard with matching subresources
...
Otherwise, if the view used for the second clear has a different format than
the first one, we'll end up clearing to the wrong colur. Assumes that images
with more than one aspect never have views with mismatching formats.
Also potentially improves logic around render pass clears depending on usage
patterns.
2021-03-06 02:37:02 +01:00
Philip Rebohle
b579b03047
[dxvk] Spill render pass when clearing overlapping views
...
Since we're flushing all pending clears, we need to make sure
that all images are in the correct layout. Found by inspection.
2021-03-06 01:31:55 +01:00
Philip Rebohle
5f0f90f8d4
[dxvk] Merge clears with different views but identical subresources
2021-03-05 19:50:11 +01:00
Liam Middlebrook
1c2edabbcb
[dxvk] Disable NVIDIA HVV bug workaround on fixed drivers
...
Reviewed-by: Arthur Huillet <ahuillet@nvidia.com>
2021-03-05 11:21:50 +01:00
Liam Middlebrook
b25d6ba615
[dxvk] Add option to disable workaround for NVIDIA HVV bug
...
Adds a new dxvk.halveNvidiaHVVHeap option.
Reviewed-by: Arthur Huillet <ahuillet@nvidia.com>
2021-03-05 11:21:50 +01:00