kd-11
49c6c2c529
vk: Do not hard-sync on first sign of fragmentation
...
- It is very likely that the resource would be available if we just waited a while for the GPU queue to clear.
- Instead of also discarding the current work, first check if we can get by without a hard sync.
2023-06-14 01:12:11 +03:00
kd-11
29f3eec957
vk: On pool recovery, rescan the subpool table in case a new pool really cannot be created
2023-06-14 01:12:11 +03:00
kd-11
c1d875d841
vk: Handle VK_ERROR_FRAGMENTATION when allocating descriptor pools
2023-06-14 01:12:11 +03:00
kd-11
27349c5c69
vk: Cleaner approach to object lifetime management
2023-06-10 02:54:16 +03:00
kd-11
872aa2b358
vk: Improved OOM handling
...
- Don't aggressively delete surfaces unless we're really crashing
- Release barrier resources before destroying the surface in case of fatal crash
2023-06-10 02:54:16 +03:00
kd-11
4d565eade6
rsx: Drop format information from the vertex cache and use a simpler model that is much faster
2023-06-10 01:36:10 +03:00
kd-11
97f7461aa9
rsx: Allow the vertex cache to be enabled independently of MTRSX
2023-06-10 01:36:10 +03:00
kd-11
7e2eaf43ca
rsx: Capture stats about vertex cache performance
2023-06-10 01:36:10 +03:00
kd-11
6f834e99d2
vk: Disable conditional rendering on MacOS
2023-06-06 22:05:54 +03:00
kd-11
86c7b31b6d
Force disable conditional render on macOS
2023-06-06 22:05:54 +03:00
kd-11
ac0c60b740
vk: Rename gc_wrapper_t to gc_callback_t which is more relevant
2023-06-01 19:25:50 +03:00
kd-11
f2f95a20a3
vk: Minor improvement to descriptor and garbage collector interaction
2023-06-01 19:25:50 +03:00
kd-11
12f213ffad
rsx: Trim the number of in-flight invalidated resources (temp cache)
...
- This drastically improves memory allocation behavior.
Holding too many invalidated resources can lead to a cascading overallocation error as old resources hold refs to even older resources and nothing gets deleted.
2023-06-01 19:25:50 +03:00
kd-11
6a2ea62f82
vk: Minor cleanup
2023-05-30 16:50:08 +03:00
kd-11
6cfd817b5a
vk: Fix descriptor-related crashes
2023-05-30 16:50:08 +03:00
kd-11
c99ef4b09f
vk: Refactor descriptor handling
2023-05-30 16:50:08 +03:00
kd-11
10171c19c3
vk: Unify descriptor allocation
...
- Pool management should be a backend implementation detail.
2023-05-30 16:50:08 +03:00
shinra-electric
cbe1628cf2
remove deprecated VK_MVK_moltenvk and replace with mvk_config.h
...
VK_MVK_moltenvk extension has been removed.
Will try with `mvk_config.h`, but it this doesn't work `mvk_deprecated_api.h` should work instead.
2023-05-25 08:54:44 +02:00
kd-11
976a3ed3bf
Formatting fixes
2023-05-23 14:37:13 +03:00
kd-11
98c0944419
vk: Fix some sampler load crashes
2023-05-23 14:37:13 +03:00
kd-11
bf78b197a3
vk: Reimplement sampler disposal using the new pool mechanism
2023-05-23 14:37:13 +03:00
kd-11
427960fee8
vk: Fix compiler warning
2023-05-23 14:37:13 +03:00
kd-11
75da7d80dc
vk: Reimplement sampler caching to take border color into account
2023-05-23 14:37:13 +03:00
kd-11
7eb730ee03
vk: Integrate custom border colors when supported
2023-05-23 14:37:13 +03:00
kd-11
4b9fa7a417
vk: Require customBorderColorWithoutFormat feature
2023-05-23 14:37:13 +03:00
kd-11
6163acc8c5
vk: Add border color extension detection
2023-05-23 14:37:13 +03:00
kd-11
4add5b6bf0
vk: Minor refactoring of optional features
2023-05-23 14:37:13 +03:00
kd-11
08c1a14b13
Fix init order for gpu_debug_marker
2023-05-18 18:10:46 +03:00
kd-11
4a138aa918
Fix init order
2023-05-18 18:10:46 +03:00
kd-11
6fd76054b4
vk: Rename the debug marker to something more appropriate
2023-05-18 18:10:46 +03:00
kd-11
c80be9e54b
Fixup - command buffer wrapping
2023-05-18 18:10:46 +03:00
kd-11
56ebae773c
vk: C++-ify the debug marker sync object member names
2023-05-18 18:10:46 +03:00
kd-11
fad6647255
vk: Do not use raw GPU command buffer handles for any wrapped API calls
...
- There is no reason to do so and we seriously hamper debugging efforts
2023-05-18 18:10:46 +03:00
kd-11
d894ccb4ea
vk: Preliminary support for debug markers
2023-05-18 18:10:46 +03:00
kd-11
57070aa8ff
vk: Minor refactor in OOM handler to skip scans if we already found a match
2023-05-15 12:28:19 +03:00
kd-11
e06c6b5ac8
vk: Refactor memory allocators to easily inspect device properties
2023-05-15 12:28:19 +03:00
kd-11
a6dada6c36
vk: Use gc to clean up stale surface cache resources instead of fudging with frame counters.
...
- This whole surface cache garbage management needs to be merged with gc
2023-05-15 12:28:19 +03:00
kd-11
a058cf2ff0
vk: Rewrite draw call setup sequence to avoid OOM situations introducing stale descriptors
2023-05-15 12:28:19 +03:00
kd-11
142d25c0d7
vk: Don't erase texture cache images directly. Use gc instead.
2023-05-15 12:28:19 +03:00
kd-11
4e6231a321
vk: Implement max VRAM override in config
2023-05-15 12:28:19 +03:00
kd-11
29d87a3743
vk: Refactor the vram exhausted handler
...
- Mostly a de-uglify pass
2023-05-15 12:28:19 +03:00
kd-11
9a2b06f35f
vk: Refactor vram exhausted handler to minimize risk of UAF hazards
...
1. A hard sync before starting the routines on fatal will release some memory going in improving chances of a successful eviction elsewhere.
2. A hard sync on exit cleans up, ensuring no UAF (with caveats)
2023-05-15 12:28:19 +03:00
kd-11
4e2f3a289c
vk: Tune resource quotas
...
- Tuned for 1G. The system requires about 128M for scratch and system data.
2023-05-15 12:28:19 +03:00
kd-11
db70cd058a
vk: Improve spill robustness
...
- Removes some incorrect checks that asserted incorrectly
- Make the collapsible check recursive
2023-05-15 12:28:19 +03:00
kd-11
b6cdf18165
vk: Lower scratch dimension alignment to 256 to minimize wastage
2023-05-15 12:28:19 +03:00
kd-11
7d710cbf8c
rsx: Do not allow 'compatible' check to pass if the size does not match
...
- It's not worth it. We end up with a mish-mash of internal configuration parameters that don't match the surface.
Maybe with more abstraction it can work, but there is little benefit.
2023-05-15 12:28:19 +03:00
oltolm
b0de5970ce
Get the font directory from Windows ( #13825 )
2023-05-13 20:58:59 +02:00
oltolm
db2341c842
fix ASAN error: make overlay_pass destructor virtual
2023-05-06 10:17:58 +02:00
Megamouse
6555de6ef5
fix warnings
2023-04-21 16:41:06 +02:00
kd-11
47b65868f4
Try even lower
2023-04-12 18:47:14 +03:00