Commit Graph

4968 Commits

Author SHA1 Message Date
Philip Rebohle 9420391dce [d3d11] Adjust reported resource sharing caps 2022-08-26 05:15:28 +02:00
Philip Rebohle f521a342d0 [d3d11] Report marker support appropriately 2022-08-26 05:15:28 +02:00
Blisto91 8f24093864 [util] cap MGS V Ground Zeroes vram at 4095 2022-08-26 03:52:02 +02:00
Philip Rebohle a2a21cb4d3 [dxvk] Clean up internal memory allocation API 2022-08-25 18:23:02 +02:00
Philip Rebohle 5117210c93 [dxvk] Fix fb resolve barriers
No idea how that ended up broken *this* badly.
2022-08-25 02:25:23 +02:00
Philip Rebohle 559fa50f54 [d3d11] Introduce d3d11.enableContextLock option 2022-08-24 12:27:02 +02:00
Philip Rebohle 86bdda70b4 [d3d11] Move D3D10Multithread instance to immediate context
Deferred contexts do not support this.
2022-08-24 12:15:35 +02:00
Georg Lehmann 87b1f9fa2d [dxso] Fix write mask for nrm 2022-08-23 00:38:04 +02:00
Blisto91 372a27fad2 [util] remove allowDoNotWait from example config 2022-08-22 22:09:44 +02:00
Philip Rebohle 17959640c3 [dxvk] Work around vkWaitSemaphore incorrectly returning with VK_TIMEOUT 2022-08-22 20:30:16 +02:00
Philip Rebohle 07a1045ffb [dxvk] Add context methods for submission splitting 2022-08-22 15:44:00 +02:00
Philip Rebohle 6f2ff2562d [dxvk] Support splitting command lists into multipe submissions 2022-08-22 15:43:23 +02:00
Philip Rebohle e378be826e [dxvk] Use DxvkCommandPool 2022-08-22 14:40:41 +02:00
Philip Rebohle c3a721f562 [dxvk] Introduce DxvkCommandPool 2022-08-22 14:14:25 +02:00
Philip Rebohle def93fd18b [dxvk] Introduce DxvkCommandSubmissionInfo 2022-08-22 14:14:25 +02:00
Philip Rebohle d367fac64e [dxvk] Rework queue submission helper
We want this to be less verbose and smarter about when to perform
submissions for when we introduce the ability to split a command
list into multiple submissions.
2022-08-22 14:14:25 +02:00
Philip Rebohle f88239719c [dxvk] Explicitly mark execution command buffer as used
We can omit the execution command buffer in some circumstances,
and for the sparse resource changes we need to track this in
order to be able to merge consecutive sparse binding calls.

We only need to do this on action commands with observable side effects
as long as the backend still properly resets those command buffers.
All draw commands are implcitly covered by cmdBeginRendering.
2022-08-22 12:36:59 +02:00
Philip Rebohle dd0d611d4d [dxvk] Reintroduce binary semaphore for transfer <-> graphics sync
The global timeline semaphore does not work here since we could be
signaling it from two different queues at the same time, or out of
order.
2022-08-22 05:52:28 +02:00
Philip Rebohle 3d6b687e41 [dxbc] Remove useless lambda 2022-08-22 05:21:49 +02:00
Robin Kertels a8b578b2a2 [d3d9] Fix crash when auto generating mip maps for unmappable textures 2022-08-22 01:48:35 +01:00
Philip Rebohle 3c38bdbd0e [dxvk] Initialize DxvkSubmitInfo properly
We don't use the semaphore value here, but it shouldn't
contain undefined data.
2022-08-22 02:00:10 +02:00
Philip Rebohle f385b4bb47 [dxvk] Use global timeline semaphore for command list synchronization
Replaces the old fence mechanism and also makes it easier to
synchronize across queues.
2022-08-22 00:40:07 +02:00
Philip Rebohle cff9056915 [dxvk] Always enable timeline semaphore feature 2022-08-22 00:40:07 +02:00
Philip Rebohle 11ef1084d0 [dxvk] Rename semaphore stuff in command list code 2022-08-22 00:08:42 +02:00
Philip Rebohle 23c3960f65 [dxvk] Store WSI semaphore pair directly with the command list 2022-08-22 00:07:15 +02:00
Philip Rebohle 85aa0a0ecb [dxvk] Fix meson issue for native builds 2022-08-21 23:22:43 +02:00
Philip Rebohle 9feed43abf [meta] Add README entry about submodules 2022-08-21 22:54:21 +02:00
Philip Rebohle c1448d31fa [meta] Use SPIRV-Headers repository as a submodule 2022-08-21 22:54:21 +02:00
Philip Rebohle aa554f1166 [meta] Use Vulkan-Headers repository as a submodule 2022-08-21 22:54:21 +02:00
Joshua Ashton c258eb05d2 [build] Enable building natively for non-Windows
Yipee 🥳🎉

RIP DXVK Native
2022-08-21 22:37:13 +02:00
Joshua Ashton 9dad1aadbe [build] Set SDL2 WSI env vars and defines on native builds 2022-08-21 22:37:13 +02:00
Joshua Ashton 801d97806d [d3d11] Stub out OpenSharedResourceGeneric on non-Windows 2022-08-21 22:37:13 +02:00
Joshua Ashton be33ccbce9 [dxgi] Revert 538b132490
This breaks things for 32-bit, but it really shouldn't. My hypothesis currently is that the .lib generated is bogus, but the exports in the actual DLL are correct.
2022-08-21 20:28:40 +00:00
Joshua Ashton a4261ddd14 [dxgi] Use high_resolution_clock get_counter instead of QPC for SyncQPCTime
Abstracts this across platforms
2022-08-21 22:24:06 +02:00
Joshua Ashton 9610e29a65 [util] Implement get_frequency + get_counter on non-Windows platforms 2022-08-21 22:24:06 +02:00
Joshua Ashton 8921f62539 [util] Rename getFrequency, getCounter -> get_frequency, get_counter
To be consistent with STL naming conventions
2022-08-21 22:24:06 +02:00
Joshua Ashton 1c1dba4624
[util] Implement thread set_priority on non-Windows platforms 2022-08-21 22:17:33 +02:00
Joshua Ashton 97350d6c35 [dxvk] Support for SDL2 WSI 2022-08-21 22:07:18 +02:00
Joshua Ashton 5787d9ee04 [dxvk] Check platform before building openvr + openxr cpps 2022-08-21 22:07:18 +02:00
Joshua Ashton e6fb3e1509 [wsi] Add SDL2 implementation 2022-08-21 22:07:18 +02:00
Joshua Ashton 191d54e210 [build] Don't build D3D10 on non-Windows platforms
Not supported due to d3dcompiler schenanigans
2022-08-21 22:03:45 +02:00
Joshua Ashton baba2e3c09 [d3d11] Use dxgi_dep instead of lib_dxgi
Fixes building on native.
2022-08-21 22:03:45 +02:00
Joshua Ashton baa88d8cf1 [d3d11] Don't check for apitrace on non-Windows platforms 2022-08-21 22:03:45 +02:00
Joshua Ashton a5db9d22f1 [dxvk] Disable VrInstance and DxvkXrProvider on native builds
If/when we want to support VR on native builds, we can deal with that then.
2022-08-21 22:03:45 +02:00
Joshua Ashton 8b7e0bc2fd [dxgi] Include win32 compat headers where applicable 2022-08-21 21:40:55 +02:00
Joshua Ashton 968bdccbef [d3d9] Include win32 compat headers where applicable 2022-08-21 21:40:55 +02:00
Joshua Ashton a554a6d60d [d3d11] Include win32 compat headers where applicable 2022-08-21 21:40:55 +02:00
Joshua Ashton ba8868be24 [util] Add win32 compat header
Header of misc. stubs and re-implementations.
2022-08-21 21:40:55 +02:00
Joshua Ashton ad386305ff [d3d9] Correct DLLEXPORT for native builds 2022-08-21 21:36:50 +02:00
Joshua Ashton f0f4258be3 [dxgi] Correct DLLEXPORT for native builds 2022-08-21 21:36:50 +02:00