Philip Rebohle
d3b6502a17
[dxvk] Introduce DxvkSparseBindSubmission
2022-08-26 05:53:03 +02:00
Philip Rebohle
3057f6a51b
[dxvk] Add structures for sparse binding operations
2022-08-26 05:53:03 +02:00
Philip Rebohle
f9db4921e0
[dxvk] Implement sparse memory allocator
2022-08-26 05:53:03 +02:00
Philip Rebohle
6f216f9df4
[dxvk] Do not discard sparse buffers
...
This would only blow up.
2022-08-26 05:53:03 +02:00
Philip Rebohle
dd54de4d97
[dxvk] Introduce DxvkPagedResource
2022-08-26 05:53:03 +02:00
Philip Rebohle
2d124b811b
[dxvk] Implement sparse image creation
2022-08-26 05:53:03 +02:00
Philip Rebohle
f7c255de2a
[dxvk] Implement sparse buffer creation
2022-08-26 05:53:03 +02:00
Philip Rebohle
bc3affc264
[dxvk] Add functionality to query sparse metadata
2022-08-26 05:53:03 +02:00
Philip Rebohle
e923cc5b69
[dxvk] Change emitGraphicsBarrier to specify a dependency
2022-08-26 05:53:03 +02:00
Philip Rebohle
388288114a
[dxvk] Find a sparse binding queue
2022-08-26 05:53:03 +02:00
Philip Rebohle
71c9c4a5cc
[dxvk] Log sparse features
2022-08-26 05:53:03 +02:00
Philip Rebohle
6e6d64b83e
[dxvk] Remove redundant error message
2022-08-26 05:53:03 +02:00
Philip Rebohle
3ee808afd6
[dxvk] Make memory object of an image publicly accessible
2022-08-26 05:53:03 +02:00
Philip Rebohle
edc74f4c8b
[d3d11] Handle D3D11_FEATURE_D3D11_OPTIONS5
2022-08-26 05:15:28 +02:00
Philip Rebohle
9b4e53cee2
[d3d11] Handle D3D11_FEATURE_SHADER_CACHE
2022-08-26 05:15:28 +02:00
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