Henrik Rydgård
be63ce3a4a
Minor refactor allowing getting the GPU profile string outside games
2023-08-03 16:31:20 +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
9b038d6574
Vulkan: Show enabled extensions separately in sysinfo
2023-08-03 11:11:35 +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
1a1a6fe15d
Load the functions for VK_GOOGLE_display_timing
2023-08-03 09:52:48 +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
cda59e8510
Vulkan: Keep track of some timestamps in a frame
2023-08-02 16:25:17 +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
8f6662aa55
Fix an initialLayout issue with the image we use as the backbuffers's depth
2023-07-21 23:17:24 +02:00
Henrik Rydgård
1c83c4a1fe
Vulkan: Enable the present-id/present-wait/display-timing extensions
...
Doesn't actually use any of them yet, just making sure enabling them
doesn't cause any weird issues. They will be used for the future display
timing rewrite.
2023-07-14 10:43:47 +02:00
Henrik Rydgård
c17b84b3d4
Implement RetroAchievements challenge mode restrictions, and fix related bugs
2023-07-08 21:55:32 +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
6d8069dfd1
Vulkan: Remove the remains of the input attachment experiment
...
Haven't been using these for a while.
I've come to the conclusion here that I think it's better to try to
deal with the issues using safe workarounds like copies, instead of
relying on features with somewhat iffy driver support that are not
universal across APIs anyway.
2023-06-13 20:46:27 +02:00
Henrik Rydgård
d90671e877
Add some comments.
2023-06-12 13:16:13 +02:00
Henrik Rydgård
e9e95d23ce
VulkanDebug log fix, reduce log spam
2023-05-30 18:32:33 +02:00
Henrik Rydgård
49ecc01556
Fix image leak bug when pausing and we're just displaying a framebuffer in memory
2023-05-30 18:29:50 +02:00
Henrik Rydgård
364c205d95
Quick, suboptimal barrier fix for the new UpdateImageLevels functionality
2023-05-30 18:29:49 +02:00
Henrik Rydgård
7c4b9bac90
Cache textures created by MakePixelsTexture and reuse where appropriate.
2023-05-30 14:07:44 +02:00
Henrik Rydgård
0b1abf1de9
Add untested UpdateTextureLevels functionality to three of the four backends
2023-05-30 13:28:04 +02:00
Henrik Rydgård
f54f905be5
Vulkan: Remove support for other index types than 16-bit.
...
We don't have any use for them anyway.
2023-05-30 10:15:34 +02:00
Henrik Rydgård
0eec89c853
Fix a very tiny memory leak
2023-05-29 23:11:35 +02:00
Henrik Rydgård
5eb94350fa
Show the class name in refcount debug asserts
2023-05-29 12:50:45 +02:00
Henrik Rydgård
dfb446f89d
Allow other backends than Vulkan to have GPU memory stats. Implement for GL.
2023-05-24 14:33:01 +02:00
Henrik Rydgård
f1f0bfae2d
Driveby simplification, reduce logspam
2023-05-23 17:09:40 +02:00
Henrik Rydgård
234c1f05b8
Apply the same optimizations to the Vulkan backend. Smaller effect than for OpenGL.
2023-05-23 08:54:41 +02:00