kd-11
931a2c516f
vk/rsx: Fix build errors and warnings
2023-06-30 18:38:14 +03:00
kd-11
2f9e1cf4df
vk: Get rid of some spammy debug code
2023-06-30 18:38:14 +03:00
kd-11
68d1c38f3b
vk: Minor refactor to make early-exit branches trivial and easier to read
2023-06-30 18:38:14 +03:00
kd-11
c4acea6c82
vk: Fix some regressions in synchronization2 behavior
2023-06-30 18:38:14 +03:00
kd-11
7ebabddfe0
vk: Fix GPU hang
2023-06-30 18:38:14 +03:00
kd-11
a047ddffc0
vk: Restructure gpu labels and add them as an event backend
2023-06-30 18:38:14 +03:00
kd-11
92992a5406
vk: Use pipeline barriers for proper event sync
2023-06-30 18:38:14 +03:00
Megamouse
7b64cd2a8e
input/overlays: add option to lock overlay input to player one
2023-06-27 19:36:05 +02:00
kd-11
9ecfecb83e
Constify
2023-06-27 16:41:30 +03:00
kd-11
ec4565263d
Dump extensions info to the log
2023-06-27 16:41:30 +03:00
kd-11
ed1da364e5
vk: Fix a bunch of corner cases when syncing GPU and host memory
2023-06-27 16:41:30 +03:00
kd-11
942dbbc8fa
vk: Add explicit sync when doing copy_image_to_buffer
2023-06-27 16:41:30 +03:00
kd-11
3e8f9cbbf2
Add flags to handle sync domain with v2 events
2023-06-27 16:41:30 +03:00
kd-11
322b5dac79
Properly enable synchronization2 feature
2023-06-27 16:41:30 +03:00
kd-11
5a85fee3f1
Silence logspam about unused parameter
2023-06-27 16:41:30 +03:00
kd-11
ca472b6750
Silence log spam about copy ellision
2023-06-27 16:41:30 +03:00
Eladash
d34b3190f7
Make stopping emulation not pause or crash UI
...
* Make the UI and main thread available when stopping emulation.
* Make BlockingCallFromMainThread always execute, preventing bugs when it unexpectedly did not.
* Add error code for when starting emulation when Emu.Kill() is in progress.
2023-06-26 20:48:38 +02:00
Eladash
4f5348c7d4
Fix properly RSX replay thread stop bug
2023-06-26 20:48:38 +02:00
kd-11
0a0ef50caf
Try to fix build
2023-06-23 15:21:17 +03:00
kd-11
e20f1587cd
Workaround for old compilers
...
Xcode is not yet c++20 compliant
2023-06-23 15:21:17 +03:00
kd-11
715e3856f2
vk: Update async compute (fast) to use the new sync API
2023-06-22 14:59:58 +03:00
kd-11
850166eca1
vk: Reimplement events using synchronization2 extension
2023-06-22 14:59:58 +03:00
kd-11
d5654d64d5
Nicer variable names
2023-06-16 15:29:36 +03:00
kd-11
06459eb37b
vk: Latch query copy requests to reduce number of vulkan commands used
2023-06-16 15:29:36 +03:00
Megamouse
16f869fe5a
logging: minor trace optimizations
2023-06-15 19:48:15 +02:00
Ani
5f8f86b5a7
Settings: Add Output Scaling to Home Menu
2023-06-15 01:22:15 +02:00
Ani
57b9130cf7
Settings: Add Show PPU compilation hint
2023-06-15 01:22:15 +02:00
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
72abc0f219
rsx: Minor annotations and refactoring
2023-06-10 01:36:10 +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
2df7e46cb1
rsx: Import robin-hood unordered map which is much faster than std
2023-06-10 01:36:10 +03:00
kd-11
105205312b
rsx: Rewrite the find method to avoid unnecessary allocations
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
bbbc5f6e6c
rsx: Write a warning to the log if we decide to collapse surfaces to reduce VRAM usage.
2023-06-01 19:25:50 +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
7e131f8fb6
rsx/util: Add some c++ guards around simple_array class
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
Megamouse
4aee1b378a
overlays: fix media list dialog pad interception
2023-05-28 11:56:49 +02:00
Elad Ashkenazi
9f5e3ecb8c
rsx/overlays: Fix crash on stop
2023-05-26 07:42:29 +02:00
Megamouse
7b9a36be7d
input: add buzz config file
...
Adds a buzz.yml and implements a generic way to save actual DS3 mapping independent of pad handlers
2023-05-25 20:37:15 +02: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
Megamouse
38f9332905
overlays: Fix width of graph labels
2023-05-25 06:37:31 +02:00
Megamouse
96f1f9e45e
overlays: fix missing sound autorepeat fence.
...
The other instances aren't realistically autorepeating
2023-05-25 06:37:31 +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
Megamouse
73dba6d6e0
overlays: do not play sounds on fast auto repeat
...
Currently there's a nasty sound stakkato going on if you keep the dpad pressed to the left in the home menu for example.
2023-05-20 18:27:26 +02:00
Megamouse
2ef120fdcd
input: add option to keep pads connected
2023-05-18 18:52:25 +02: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
793a21a825
rsx: Fix build after variable rename
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
edb2b60f2f
rsx: Perform region clipping in a normalized coordinate space
...
- Depending on what the caller wants to do, the scaling will be different for src vs dst calculations.
We cannot reliably handle this in the callee
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
Megamouse
58140e1d3a
Fix some warnings
2023-05-09 07:55:46 +02:00
oltolm
db2341c842
fix ASAN error: make overlay_pass destructor virtual
2023-05-06 10:17:58 +02:00
kd-11
3947250daa
Whitespace fix
2023-05-05 16:59:06 +03:00
kd-11
96be211c88
gl: Fix typeless casts
2023-05-05 16:59:06 +03:00
kd-11
b00b8ae71b
rsx: Allow swizzle flag to propagate as an override to surface properties
2023-05-03 01:26:14 +03:00
kd-11
45f416c4f1
rsx: Apply swizzle flag on data source as well
...
- The fact that the attribute is tacked on to the dest is a semantic error.
It's the context that is swz\ln, not the source or dest. They both are one or the other.
2023-05-03 01:26:14 +03:00
kd-11
c58149f5b6
vk: Propagate swizzle flag in hw blit engine
2023-05-03 01:26:14 +03:00
kd-11
579a6c9311
rsx: Add a comment explaining the barycentric interpolation change
2023-05-02 20:46:39 +03:00
kd-11
08e7a23121
vk: Improved attribute interpolation for NVIDIA
2023-05-02 20:46:39 +03:00
Ani
9ab4802d07
gl: Fix blur_intensity GL_INVALID_OPERATION error
...
blur_intensity is a float, so the cast needs to be f32 instead of s32
2023-04-30 12:02:14 +03:00
Megamouse
cd9ff08235
Decrease some include madness
2023-04-26 21:37:44 +02:00
kd-11
7feb13671a
rsx: Fix up the framebuffer width if the pitch fits scissor but not the clip width
2023-04-25 13:07:12 +03:00