Philip Rebohle
|
c4cddebb89
|
[hud] Visualize inactive chunks
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
2c8fe59924
|
[dxvk] Sort chunks by allocation time for statistics
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
69437c2fea
|
[dxvk] Include chunk status in statistics
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
7a693ed41a
|
[dxvk] Implement per-submission resource relocation
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
9cbd45b8cf
|
[dxvk] Add helper class for resource relocation
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
0723250c12
|
[dxvk] Introduce flag to synchronize transfer queue
Also, get rid of superfluous binary semaphores since we have
a straight per-submission timeline anyway.
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
13da763f9b
|
[dxvk] Use small_vector in submission code
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
800792a67d
|
[dxvk] Add function to safely acquire a resource
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
c7a9c626f5
|
[dxvk] Handle dead chunks in pool allocator
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
a9bcb40655
|
[dxvk] Add concept of disabled chunks to allocator
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
bfcfcab60f
|
[dxvk] Add method to allocate backing storage with constraints
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
a3c8c88222
|
[dxvk] Fix race condition in relocation check
The storage pointer is not safe to dereference outside the CS thread
for relocatable resources since the storage object may change.
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
3a1de271cb
|
[dxvk] Introduce allocation modes
Will be useful when relocating resources for defragmentation purposes.
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
9a8406f28a
|
[dxvk] Add global resource map to memory allocator
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
8e94a8bcc6
|
[dxvk] Add per-chunk allocation list
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
4e40d0b939
|
[dxvk] Add allocation flag for moveable resources
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
bb05f123db
|
[dxvk] Pass resource cookie to allocation objects
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
efebceecbe
|
[dxvk] Introduce DxvkAllocationInfo
Useful when more properties are added in the future.
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
7ccfb57d57
|
[dxvk] Reintroduce resource cookies
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
809257051b
|
[dxvk] Rename unspecific "next" member in DxvkResourceAllocation
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
3befea6516
|
[dxvk] Actually count barriers from resource relocation
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
90f32d76ff
|
[dxvk] Ignore uninitialized image subresources during relocation
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
77a1164d1b
|
[dxvk] Track initialization of internally managed images
Otherwise, these will not be relocated properly during defragmentation.
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
1c157d1a63
|
[util] Properly return reference from small_vector emplace_back
|
2024-10-24 12:31:18 +02:00 |
|
Philip Rebohle
|
4af31a9d64
|
[dxvk] Remove context type concept
We only have a single context per device now.
|
2024-10-24 12:30:54 +02:00 |
|
Philip Rebohle
|
b4ed108105
|
[d3d9] Remove format conversion context
|
2024-10-24 12:30:54 +02:00 |
|
Philip Rebohle
|
f9a99e81f4
|
[dxvk] Bump state cache format to v18
All D3D11 shader keys change, so we should invalidte existing caches.
|
2024-10-23 16:56:32 +02:00 |
|
Philip Rebohle
|
f3fa2535e8
|
[d3d11] Validate shader creation parameters
|
2024-10-23 16:56:32 +02:00 |
|
Philip Rebohle
|
800f71c4f5
|
[d3d11] Use existing MD5 hash to look up shader objects
Skips the expensive SHA-1 pass.
|
2024-10-23 16:56:32 +02:00 |
|
Philip Rebohle
|
ae9024492b
|
[d3d11] Devirtualize context method forwarding
|
2024-10-23 16:56:22 +02:00 |
|
Philip Rebohle
|
d10df6353b
|
[d3d11] Devirtualize resource and view creation method forwarding
|
2024-10-23 16:56:22 +02:00 |
|
Philip Rebohle
|
565af8c311
|
[dxvk] Add important assert to object tracker
|
2024-10-23 11:30:37 +02:00 |
|
Blisto91
|
24e0440043
|
[util] Remove The Old Republic config
Looks fine without since dxvk 2.0
|
2024-10-23 11:19:01 +02:00 |
|
Philip Rebohle
|
01300bb884
|
[dxvk] Improve some descriptor setup code
Help the compiler out since it cannot fully prove that two consecutive
calls to DxvkImageView::handle with the same argument return the same result.
|
2024-10-23 10:26:24 +02:00 |
|
Philip Rebohle
|
cd4d68244d
|
[dxvk] Use real shader access types for writeable descriptor types
Mostly relevant for storage buffers since those are often read-only.
|
2024-10-23 10:08:03 +02:00 |
|
Blisto91
|
f813549ced
|
[util] Set forceSamplerTypeSpecConstants for Alpha Protocol
Some objects like metal containers will have unwanted reflection when they shouldn't otherwise.
|
2024-10-22 11:34:02 +02:00 |
|
Philip Rebohle
|
ce42ce2f3f
|
[dxvk] Remove memory worker thread
|
2024-10-21 17:29:38 +02:00 |
|
Philip Rebohle
|
a5dc3400bd
|
[dxvk] Use swap chain fences to synchronize WSI semaphores
Requires EXT_swapchain_maintenance1 to work, otherwise we won't use this.
|
2024-10-21 12:02:44 +02:00 |
|
Philip Rebohle
|
27539fc838
|
[dxvk] Use timeline semaphores for GPU synchronization
Ditches the old fence and binary semaphore code.
|
2024-10-21 12:02:44 +02:00 |
|
Philip Rebohle
|
1ee60048c0
|
[dxvk] Create timeline semaphores in submission queue
|
2024-10-21 12:02:44 +02:00 |
|
Philip Rebohle
|
4c0cbbef6a
|
[dxvk] Factor DxvkResource code into DxvkPagedResource
And remove the now obsolete code.
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
6540ab4f3e
|
[dxvk] Use DxvkPagedResource for CPU synchronization
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
3a587c5116
|
[dxvk] Remove old lifetime tracking code
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
cc22ccfc5c
|
[dxvk] Use new lifetime tracking for resources
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
8389734e9f
|
[dxvk] Use new lifetime tracking for raw allocations
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
b011e22406
|
[dxvk] Use new lifetime tracking for samplers
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
7fef97dae0
|
[dxvk] Use new lifetime tracking for events
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
50d8e3933a
|
[dxvk] Use new lifetime tracking for queries
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
4a00623c40
|
[dxvk] Introduce DxvkTrackingRef and new tracking functions
The intention here is to clean up the code significantly while also
paving a way to perform more complex operations on resource release.
|
2024-10-18 12:42:33 +02:00 |
|
Philip Rebohle
|
56e8d55830
|
[dxvk] Remove direct resource allocation tracking
Track the containing virtual resources instead and only explicitly
keep allocations alive through invalidations.
|
2024-10-18 12:42:33 +02:00 |
|