Joshua Ashton
9cf5c648d3
[vulkan] Add feedback loop layout to getWritableAspectsForLayout
2022-08-06 01:33:30 +01:00
Philip Rebohle
c1cb4d9d18
[dxvk] Add feature check for external semaphores
2022-08-02 14:37:31 +02:00
Derek Lesho
a8e573b9b8
[dxvk] Enable VK_KHR_external_semaphore_win32 if available
2022-07-21 23:39:31 +02:00
Philip Rebohle
a40724aaf8
[dxvk] Add timeline semaphore entry points
...
Co-authored-by: Derek Lesho <dlesho@codeweavers.com>
2022-07-21 02:14:53 +02:00
Philip Rebohle
563b1d7801
[dxvk] Add entry points for copy_commands2
2022-07-19 13:49:01 +02:00
Philip Rebohle
0d65142136
[dxvk] Add entry points for new synchronization API
2022-07-18 22:49:49 +02:00
Philip Rebohle
fc461d0e27
[dxvk] Clean up some swapchain creation code
2022-07-18 14:49:28 +02:00
Philip Rebohle
cdf22a4086
[dxvk] Rename imageFormatInfo -> lookupFormatInfo
2022-07-15 17:25:13 +02:00
Philip Rebohle
7677db3371
[dxvk] Replace VK_EXT_extended_dynamic_state with core feature
2022-07-14 21:21:34 +02:00
Philip Rebohle
3cfc3e7714
[dxvk] Replace VK_KHR_dynamic_rendering with core feature
2022-07-14 21:21:34 +02:00
Philip Rebohle
b701dd497f
[dxvk] Drop VK_KHR_create_renderpass2
2022-07-14 21:21:34 +02:00
Philip Rebohle
afdaba6caf
[dxvk] Replace VK_KHR_buffer_device_address with core feature
2022-07-14 21:21:34 +02:00
Philip Rebohle
0b47297b7d
[dxvk] Replace VK_EXT_host_query_reset with core feature
...
And make it a hard requirement in the backend. We no longer support
the old fallback path for queries anyway.
2022-07-14 21:21:34 +02:00
Philip Rebohle
f07ba07ad8
[dxvk] Replace VK_KHR_draw_indirect_count with core feature
...
And enable it optionally in the backend, since we provide the functionality.
2022-07-14 21:21:34 +02:00
Philip Rebohle
021aff1fc0
[dxvk] Support fomatting more Vulkan enum names
2022-07-09 13:41:07 +02:00
Philip Rebohle
331c790592
[dxvk] Enable VK_EXT_shader_module_identifier if supported
2022-07-09 13:41:07 +02:00
Philip Rebohle
38cf16a5be
[dxvk] Enable and require VK_KHR_dynamic_rendering
2022-07-07 16:16:44 +02:00
Georg Lehmann
2550cff149
[build] Cleanup build system.
...
No changes except dropping support for msvc before 15.3.
2022-03-17 01:38:58 +00:00
Derek Lesho
b5014401e7
[dxvk] Enable VK_KHR_EXTERNAL_MEMORY_WIN32 if available.
2022-03-12 16:23:03 +01:00
Philip Rebohle
714ca48271
[dxvk] Work around device creation failure with CUDA interop extensions
2021-10-01 15:43:19 +02:00
Adam Moss
86148ec070
[d3d11,dxvk] Implement DXVK pieces required for DX11 DLSS support
...
Notably, fairly generic functions to create/launch/destroy Cuda kernels,
and methods to fetch GPU virtual addresses and handles for DX11 resources.
Note: Requires some corresponding dxvk-nvapi changes for DLSS to
be initialized successfully.
2021-09-24 15:10:07 +02:00
Philip Rebohle
c0a7143d1b
[vulkan] Fix missing include
...
Fixes #2269 .
2021-09-02 16:34:55 +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
5e4ed2d929
[d3d11] Introduce CopyImage
2021-06-24 21:07:48 +02:00
Philip Rebohle
b537f19a3c
[vulkan] Add frame rate limiter to Vulkan presenter
2021-06-12 13:50:08 +02:00
Philip Rebohle
0fe8f2e40c
[vulkan] Acquire next image immediately after presentation
...
vkAcquireNextImageKHR is a blocking call, so doing this immediately after
presentation may reduce the amount of time that passes between the application
requesing presentation and presentation actually happening on the Vulkan device.
Idea based on PR #2075 .
2021-06-01 04:52:09 +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
253884a8c7
[vulkan] Remove fence from presenter
...
We don't use these anywhere.
2021-06-01 03:51:16 +02:00
Philip Rebohle
ed57019e13
[dxvk] Support multi-plane formats in copyImage
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
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
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
Georg Lehmann
f48e3f596f
[vulkan] relax warning about exclusive fullscreen
...
Only warn if it's actually available.
2021-03-16 12:23:32 +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
96dfac7fea
[dxvk] Suspend render pass for certain render target clears
2021-02-12 03:13:11 +01:00
Philip Rebohle
9f3fb028b0
[dxvk] Enable VK_EXT_extended_dynamic_state if available.
2020-07-10 16:59:20 +02:00
Philip Rebohle
cf1ff99b10
[vulkan] Disable fullscreen exclusive support on wine
...
Fixes issues with RenderDoc captures on winevulkan.
2020-05-24 18:38:54 +02:00
Philip Rebohle
e7455b6460
[vulkan] Remove VulkanFn wrapper
...
Not really necessary, and apparently this is causing trouble on GCC 10.1.
Fixes #1620 .
2020-05-10 02:06:27 +02:00
Philip Rebohle
7150d2b7fb
[dxvk] Don't enable VK_KHR_descriptor_update_template
...
Core in Vulkan 1.1.
2020-01-17 17:46:59 +01:00
Philip Rebohle
60145f0167
[dxvk] Don't enable VK_KHR_dedicated_allocation, VK_KHR_get_memory_requirements2
...
Core in Vulkan 1.1.
2020-01-17 17:46:59 +01:00
Philip Rebohle
252ec9406d
[dxvk] Don't enable VK_KHR_get_physical_device_properties2
...
Core in Vulkan 1.1.
2020-01-17 17:46:59 +01:00
Philip Rebohle
b376417f20
[dxvk] Fix loading vkAcquireFullScreenExclusiveModeEXT etc.
...
We're not using those functions, but these are device functions, not
instance functions. vkGetPhysicalDeviceSurfacePresentModes2EXT appears
to be an instance function.
Found while investigating #1324 .
2020-01-08 04:10:10 +01:00
Philip Rebohle
2d0c9127f3
[vulkan] Don't create a swap chain if the window size is 0
...
This can actually happen on win32, and creating a zero-sized swap
chain is illegal.
2019-12-15 11:32:43 +01:00
Philip Rebohle
575a267f07
[vulkan] Support exclusive fullscreen control in presenter
2019-12-05 13:10:11 +01:00
Philip Rebohle
9c26fad40e
[vulkan] Add feature bit for exclusive fullscreen control
2019-12-05 13:05:54 +01:00
Philip Rebohle
dc13f48318
[dxvk] Enable VK_EXT_full_screen_exclusive if available
...
Also pulls in VK_KHR_get_surface_capabilities2 as a dependency.
2019-12-05 13:05:51 +01:00
Philip Rebohle
ceddbaf7c4
[dxvk] Fix synchronization around vkDeviceWaitIdle
...
From the spec:
"Host access to all VkQueue objects created
from device must be externally synchronized"
We were not doing that, which could cause hangs and
all sorts of issues when recreating the swap chain
on Nvidia GPUs.
2019-11-19 23:34:14 +01:00
Philip Rebohle
d127c08487
[dxvk] Enable VK_KHR_create_renderpass2 if available
2019-08-13 12:52:54 +02:00
Joshua Ashton
9d2f31d231
[vulkan] Add operator overloads for VkOffset3D/2D
2019-06-13 04:45:16 +02:00
Philip Rebohle
13359d68d7
[dxvk] Enable VK_KHR_draw_indirect_count if available
...
Useful to implement a corresponding D3D11 extension.
2019-05-06 00:08:57 +02:00