Philip Rebohle
eac86fab15
[dxvk] Do not map allocations that don't need a HOST_VISIBLE memory type
...
Should reduce the amount of virtual memory used on systems without
dedicated VRAM. Refs #640 .
2018-09-17 09:08:00 +02:00
Philip Rebohle
b2c4855490
[dxvk] Use global user config for backend options
2018-08-07 16:59:49 +02:00
Philip Rebohle
43cbe42ea8
[dxvk] Pick memory chunk size dynamically
...
Reduces the number of Vulkan memory allocations, and
can lead to lower CPU overhead in certain situations.
Improves Shadow Warrior 2 by ~2% on RADV.
2018-07-09 19:18:39 +02:00
ZeroFault
b62ccfe7a3
[dxvk] Implement dedicated allocation ( #448 )
...
Yields significant performance improvements on some Nvidia GPUs.
2018-06-24 10:55:42 +02:00
Philip Rebohle
420b7218ae
Revert "[dxvk] Increase memory chunk size to 32 MiB"
...
This reverts commit 83ae39f727d7aeb43cef277082bcb42093530779.
Does not show any considerable advantage over the 16 MiB chunk size
and reduces the effectiveness of the host-visible device-local memory
type on AMD cards.
2018-06-06 23:47:43 +02:00
Philip Rebohle
83ae39f727
[dxvk] Increase memory chunk size to 32 MiB
...
Reduces the number of memory allocations considerably.
2018-06-05 18:45:11 +02:00
Philip Rebohle
a9eff13b92
[dxvk] Refactor memory allocator
...
In addition to some much needed code cleanips, the allocator will no
longer try to over-commit memory heaps.
2018-05-29 14:48:27 +02:00
Philip Rebohle
561fa7440b
[dxvk] Retrieve actual memory stats for the HUD
2018-04-03 15:32:00 +02:00
Philip Rebohle
894444d43d
[dxvk] Remove old debug code
2018-03-20 22:36:02 +01:00
Philip Rebohle
42d49d7603
[dxvk] Respect bufferImageGranularity for non-linear images
...
May fix aliasing issues on GPUs where the bufferImageGranularity limit
is greater than the alignment requirement of non-linear resources.
2018-03-20 20:24:11 +01:00
Philip Rebohle
e5c0030f06
[dxvk] Fall back to host memory if no device memory is available
2018-02-27 12:36:44 +01:00
Philip Rebohle
1fe5b74762
Optimized command submission
...
Command submission now does not synchronize with the device every single
time. Instead, the command list and the fence that was created for it are
added to a queue. A separate thread will then wait for the execution to
complete and return the command list to the device.
2017-12-16 18:10:55 +01:00
Philip Rebohle
d5a49698b4
[dxvk] Implemented new memory allocator with sub-allocation
2017-12-16 16:48:42 +01:00
Philip Rebohle
52f1c4fa00
[dxvk] Implemented staging buffers for large data transfers
2017-12-10 15:57:51 +01:00
Philip Rebohle
e433c01ad4
[dxvk] Some more work on shader resources and resource bindings
2017-10-15 17:56:06 +02:00
Philip Rebohle
00e63d71a9
Initial commit
2017-10-10 23:32:13 +02:00