Henrik Rydgård
87ead3f492
Fix bad framebuffer bind in Parappa The Rapper
2024-05-29 12:23:54 +02:00
Henrik Rydgård
c38ce2a5be
Fix an issue when bringin up the dev menu with transparent background disabled
2024-05-11 21:28:26 +02:00
Henrik Rydgård
3802d4ee16
Try to resolve another race condition. Improve an assert.
2024-02-03 10:54:16 +01:00
Henrik Rydgård
22e91c98db
More asserts
2024-01-24 11:36:25 +01:00
Henrik Rydgård
0bf7a98aff
Replace DrainAndBlockCompileThreads with StopThreads, and same for resuming.
2024-01-22 11:06:50 +01:00
Henrik Rydgård
0e708367b5
Remove compileBlocked_ flag
2024-01-22 10:52:01 +01:00
Henrik Rydgård
6b5a4e3ba9
VulkanRenderManager: Move and rename some stuff to make the next change clearer
2024-01-22 10:50:07 +01:00
Henrik Rydgård
74f5be02a1
GameInfo: Try to reduce the locking a bit.
2024-01-18 22:52:56 +01:00
Henrik Rydgård
cbb4236cd8
Vulkan: Attempt to fix some more shutdown race conditions, simplify.
2024-01-17 14:49:49 +01:00
Henrik Rydgård
7b738edfc9
Try to eliminate another shutdown deadlock (drain shader compile queue)
...
See #18705
2024-01-15 23:36:47 +01:00
Henrik Rydgård
d0faf250b5
Remove unused async compute pipeline creation
2024-01-15 12:38:59 +01:00
Henrik Rydgård
b4fe03de8b
Better solution, still pretty much optimal.
2024-01-10 18:14:59 +01:00
Henrik Rydgård
d0817c4c0a
Vulkan: Fix trying to compare uninitialized parts of packed descriptors
...
Found by Valgrind.
Other minor cleanup, too.
2024-01-10 12:10:20 +01:00
Henrik Rydgård
6de05f13f1
More barrier batching
2023-12-30 10:41:59 +01:00
Henrik Rydgård
484fbeb4cb
Add end-of-init barrier
2023-12-30 10:41:59 +01:00
Henrik Rydgård
ac93419331
Merge the 1.16.6 branch into master
...
Also deletes some unused code.
2023-10-13 11:00:11 +02:00
Henrik Rydgård
f769b2c8a3
Remove unused functionality from descpool
2023-10-11 12:29:57 +02:00
Henrik Rydgård
0ad2827e14
Vulkan: Fix synchronization when shutting the GPU down in-game.
2023-10-11 12:27:39 +02:00
Henrik Rydgård
183d49329a
Allow writing directly into the packed descriptor buffer, saving a memcpy.
2023-10-11 11:02:17 +02:00
Henrik Rydgård
2b0192d818
Have FrameData structs for each pipeline layout, instead of multiple arrays
2023-10-10 09:02:35 +02:00
Henrik Rydgård
397745ce14
Remove unused code
2023-10-10 09:02:35 +02:00
Henrik Rydgård
8a4d84d82b
Simplest possible de-duplication of descriptor set writes
2023-10-10 09:02:35 +02:00
Henrik Rydgård
f0ee3b8daa
Fill in descriptors on the render thread in the PPSSPP UI.
2023-10-10 09:00:29 +02:00
Henrik Rydgård
316bc03ac9
Move the destroy function for VKRPipelineLayout to VulkanRenderManager
2023-10-09 11:54:13 +02:00
Henrik Rydgård
03328638b1
Typo fix, reorder
2023-10-08 13:39:04 +02:00
Henrik Rydgård
28ed12aa93
Simplify descriptor pool creation
2023-10-08 12:39:19 +02:00
Henrik Rydgård
88a50575c7
Wrap pipeline layout creation, use in thin3d
...
Two more types
2023-10-08 12:39:18 +02:00
Henrik Rydgård
dbe395dd00
Add a wrapper around VKRPipelineLayout / descsetlayout
2023-10-08 12:39:18 +02:00
Henrik Rydgård
2e171b22ec
Vulkan: Remove an assert that didn't give much actionable information. Replace with reporting.
2023-09-20 22:50:38 +02:00
Henrik Rydgård
3783afd855
Fix a really bad race condition during game shutdown.
2023-09-20 18:47:32 +02:00
Henrik Rydgård
0bfd166200
Try to prevent a weird shutdown race condition that I'm not sure can happen - but crash logs show it
2023-09-18 16:45:07 +02:00
Henrik Rydgård
ec33bcfce3
Turn the debug assert in BindPipeline into a proper one to try to get some more context in the logs
...
Shouldn't be too expensive.
2023-09-11 16:57:38 +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
691c8b8d8d
Write to the frame time history from the other backends too. Needed for the upcoming timing code.
2023-08-16 12:22:49 +02:00
Henrik Rydgård
572595cc7b
Refactor: Lift the frame time history data up one level into thin3d
2023-08-16 11:45:26 +02:00
Henrik Rydgård
e06e919624
VulkanRenderManager: Split finish and present (so we can inject a wait in between if desired).
2023-08-10 09:50:01 +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
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
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
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
5eb94350fa
Show the class name in refcount debug asserts
2023-05-29 12:50:45 +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
Henrik Rydgård
0b9dfac844
Make sure VKRRenderThreadTask isn't copied.
2023-05-23 08:54:41 +02:00
Henrik Rydgård
97488c0a79
Vulkan: Before cleaning the shader managers, drain the shader compile queue.
...
Mainly paranoia, but might help with the mutex crash from #17364
2023-05-02 22:05:28 +02:00
Henrik Rydgård
ca8af6f4c7
Fix "DebugAnnotate" (not used, but I used it temporarily to investigate #17014 )
...
See #17014
2023-02-27 10:39:49 +01:00
Henrik Rydgård
937975000b
Add a ReadbackMode parameter to more functions in the FramebufferManager
2023-02-05 13:57:45 +01:00
Henrik Rydgård
a67604d003
Tighten up shader compilation logging
2023-02-01 11:42:25 +01:00