Henrik Rydgård
c0bc6446dd
Improve assert, cleanup
2024-02-01 16:33:01 +01:00
Henrik Rydgård
25a1e6aa14
Some renaming, add a bunch of sanity debug-asserts
2024-01-30 11:14:21 +01:00
Henrik Rydgård
b5496851dc
Vulkan: Semaphore-per-frame seems to be the way to go, according to the new validation layers.
2024-01-17 21:34:31 +01:00
Henrik Rydgård
028c7c3ea8
Android: Fix crashes on screen rotation
2023-10-11 16:44:30 +02:00
Henrik Rydgård
64852409df
Don't use the present time extensions (but keep the code around for future experiments)
...
Seen some suspicious crashes on Poco F1.
2023-08-30 10:47:20 +02:00
Henrik Rydgård
652cc6cd65
Race condition fix
2023-08-08 14:00:58 +02:00
Henrik Rydgård
0530dc57a8
Implement frame time measurement on Android using VK_GOOGLE_display_timing
2023-08-03 12:59:25 +02:00
Henrik Rydgård
e16cac6548
Initial work on supporting VK_GOOGLE_display_timing. Not working yet.
2023-08-03 11:11:16 +02:00
Henrik Rydgård
14377259b5
Use VK_KHR_present_wait to get numbers on how much latency we have to screen
...
This extension is not available on Android, there they have
VK_GOOGLE_display_timing, which they also have an abstraction library
for, so will look at that later.
Early part of work on #17685
2023-08-02 20:34:22 +02:00
Henrik Rydgård
b118e25b6a
Vulkan: Make multithreaded rendering an option.
...
Multi-threaded rendering is good for smoothing out performance spikes
and increasing performance on low-power devices. However, the way we use
it it doesn't benefit latency (input lag) at all, rather the opposite.
So make it an option.
2023-07-23 22:06:01 +02:00
Henrik Rydgård
ae29fd2951
Vulkan profiler: Show CPU command buffer recording timing even if GPU timing is unavailable
2023-06-14 09:15:29 +02:00
Henrik Rydgård
b3e6b81e43
Implement delayed depth readbacks for Vulkan only
2023-02-07 23:13:36 +01:00
Henrik Rydgård
31df6bf0fe
Move some code around, get rid of some unnecessary fences
2023-02-05 00:35:30 +01:00
Henrik Rydgård
609e7f13c9
Handle a couple of valid but rare return values from vkAcquireNextImageKHR.
...
See #16601
2023-01-12 08:59:09 +01:00
Henrik Rydgård
31d5881c90
Enable support for Android Vulkan validation. Fix a minor validation error.
2022-12-22 11:13:52 +01:00
Unknown W. Brackets
e50eae1bfb
GPU: Cleanup some bounds checks, assignments.
2022-12-03 07:17:12 -08:00
Henrik Rydgård
2207c1271a
Fix validation error with the GPU profiler
2022-10-03 12:13:11 +02:00
Henrik Rydgård
894ab45677
Vulkan: Add debug names to our command buffers, so you can see which one errored in validation
2022-09-25 23:24:29 +02:00
Unknown W. Brackets
7b1ec28c30
Vulkan: Avoid crash on two backbuffer steps.
...
Happens when resuming from stepping, sometimes: first
EmuScreen_BackBuffer, which is done so UI is functional during stepping,
and then the actual blit.
Since this is an uncommon case, let's just allow it by reusing the
presentCmd instead of submitting it early. Otherwise it ends up in a
pending state.
2022-09-23 18:47:51 -07:00
Henrik Rydgård
df1297bccf
Small tweak
2022-09-23 20:51:46 +02:00
Henrik Rydgård
c671b3f413
Can't seem to get around this condition variable... Oh well.
2022-09-23 20:45:52 +02:00
Henrik Rydgård
f6c78584f6
Readback fix
2022-09-23 19:45:50 +02:00
Henrik Rydgård
ef7c8844f8
Greatly simplify the thread synchronization.
2022-09-23 19:40:50 +02:00
Henrik Rydgård
f6cb6c7695
Submit main command buffer before acquire. Fix sync bug.
2022-09-20 17:52:48 +02:00
Henrik Rydgård
b190c33cc7
Rewrite some present logic for slightly more clarity. Fixes bad logic and a minor race condition.
2022-09-20 17:05:53 +02:00
Henrik Rydgård
c7322edf7b
Various refactoring
2022-09-20 17:05:45 +02:00
Henrik Rydgård
2160882e95
Address feedback
2022-09-19 19:27:50 +02:00
Henrik Rydgård
cfe4e3278d
Vulkan: Remove the useThread bool entirely.
2022-09-19 18:17:26 +02:00
Henrik Rydgård
d0016add37
Start moving stuff out to VulkanFrameData.cpp
2022-09-19 18:14:41 +02:00
Henrik Rydgård
fabd50b178
Move FrameData out of VulkanRenderManager
2022-09-17 01:34:38 +02:00