Henrik Rydgård
fc84f25818
Quick GE debugger stepping fix, after the recent vulkan swapchain acquire change
2022-09-18 12:10:23 +02:00
Unknown W. Brackets
6576b853e4
UI: Fix some logic dependent on screen tags.
...
9f38516
changed various tags but not code referencing them.
2022-09-17 13:36:25 -07:00
Henrik Rydgård
48162858d8
Remove assert (this happens when playing framedumps)
2022-09-17 09:30:08 +02:00
Henrik Rydgård
9d9f2c539e
Finish the switch to late acquire, moving the swapchain responsibility to the queue runner.
2022-09-17 08:43:13 +02:00
Henrik Rydgård
a369252a29
RunSteps cleanup
2022-09-17 01:41:26 +02:00
Henrik Rydgård
fabd50b178
Move FrameData out of VulkanRenderManager
2022-09-17 01:34:38 +02:00
Henrik Rydgård
415a795b11
Move back buffer rendering to a separate "present" command buffer
2022-09-17 01:11:41 +02:00
Henrik Rydgård
242efba6f7
Remove splitSubmit setting. Now we submit init commands before the acquire.
2022-09-17 01:07:30 +02:00
Henrik Rydgård
a0f7a4ee2f
Remove logspam
2022-09-16 19:19:42 +02:00
Henrik Rydgård
ce82fce8de
Use subpass dependencies to implement shader framebuffer read in Vulkan.
2022-09-16 19:19:42 +02:00
Henrik Rydgård
d6d7a15d25
Get depal-from-dynamic-CLUT working
2022-09-14 22:18:35 +02:00
Unknown W. Brackets
54fe342f4b
Vulkan: Wake compile thread when enqueued.
...
Previously was being woken up every frame unconditionally, causing some
logspam.
2022-09-10 08:30:09 -07:00
Henrik Rydgård
58a7f0cf21
Assorted cleanup
2022-09-08 01:26:01 +02:00
Henrik Rydgård
68dd329d95
Fix for desc struct
2022-09-08 01:24:04 +02:00
Henrik Rydgård
14b5a1a7cd
Fix pipeline lifetime issue, misc.
2022-09-08 00:38:32 +02:00
Henrik Rydgård
77819c6f80
Lifetime fixes, cleanups
2022-09-08 00:38:32 +02:00
Henrik Rydgård
befcfb470c
Fix shader caching.
2022-09-08 00:38:32 +02:00
Henrik Rydgård
7ab7440475
Also create renderpass variants on demand
2022-09-08 00:38:32 +02:00
Henrik Rydgård
80ca822bf2
Create framebuffer variants on demand
2022-09-08 00:38:28 +02:00
Henrik Rydgård
e828df9f25
Split each renderpass/framebuffer into multiple "compatibility classes" (RenderPassType).
2022-09-08 00:32:03 +02:00
Henrik Rydgård
d3309dd8e9
Minor refactor with pipelines in QueueRunner (makes more information available for easier debugging)
2022-09-03 23:08:02 +02:00
Henrik Rydgård
fb3f417e77
Fix lying comment, log level reduction
2022-09-03 16:15:46 +02:00
Henrik Rydgård
c06cf8efaa
Switch Vulkan pipelines to use promises for synchronization
...
Slightly more expensive I guess but shouldn't be much of a bottleneck.
2022-09-03 15:21:08 +02:00
Henrik Rydgård
93422f6dea
Don't block on shader creation until it's time to create the pipeline.
2022-09-03 15:21:07 +02:00
Henrik Rydgård
ec0586ba50
Use promises to hold shader modules, for later asyncification
2022-09-03 15:21:07 +02:00
Henrik Rydgård
24d674d2bc
Shrink the TransitionRequest struct, use TinySet
2022-09-01 10:59:27 +02:00
Henrik Rydgård
670c31e746
Add support for reading depth buffers to the PackFramebufferSync function.
...
Also adds D16 conversion code (though, could probably get away with just
creating a 16-bit depth buffer on the GPU and blit to it, where depth
blit is available).
Not yet used, just getting it in separately.
2022-08-30 00:00:59 +02:00
Henrik Rydgård
b447092742
Some Vulkan renderpass load/store optimizations.
2022-08-28 23:16:48 +02:00
Henrik Rydgård
acb84f0648
Rename Vulkan attachment operation variables. Prep for supporting specifying store op.
2022-06-11 13:22:40 +02:00
Henrik Rydgård
df2f0df155
Make the Vulkan GPU log profiler a runtime developer setting.
...
I keep forgetting to disable the define on commit, this is a better
solution.
2021-12-19 22:50:14 +01:00
Henrik Rydgård
dc9816ceac
Add hardcoded bool toggle for upscaling video, fix log, remove a comment, minor opt
2021-12-12 23:20:57 +01:00
Henrik Rydgård
3833d935f4
Fixes when profiler is disabled.
...
Typo, validation fix
More fixes
Fix mipgen logging
Disable the logging profiler by default again
Important to use the macro
2021-12-12 12:42:40 +01:00
Henrik Rydgård
9945620504
Switch to macros to easily disable the new profiling. Add missing scope
2021-12-12 12:11:59 +01:00
Henrik Rydgård
55fe21db1e
Add a simple GPU profiler to profile individual events, rather than full passes.
2021-12-12 12:11:54 +01:00
Unknown W. Brackets
fe7b573a38
Vulkan: Fix use-after-free on shutdown.
2021-12-09 23:52:10 -08:00
Unknown W. Brackets
212669d2bc
Vulkan: Cleanup pipeline var shadowing.
2021-12-02 17:57:40 -08:00
Henrik Rydgård
2cbadefb29
Fix bugs in deletion. Delete redundant functions.
2021-11-22 19:02:08 +01:00
Henrik Rydgård
a7591d7826
Switch framebuffers to use VMA for allocation as well
2021-11-22 18:54:09 +01:00
Henrik Rydgård
29f54befbd
Comment improvement, restore accidental deletion
2021-11-21 21:34:05 +01:00
Henrik Rydgård
dda425b068
Vulkan: Add a single background thread for pipeline creation
...
Add proper waits for compile-done
Don't rely on non-standard struct initialization of classes
Attempt to drain the pipeline compile queue before destroying the PipelineManager.
Vulkan: Bump the cache version for testing
2021-11-21 18:36:00 +01:00
Henrik Rydgård
62f4875e24
VulkanRenderManager: Add deferred pipeline creation (to get it off the CPU thread)
2021-11-21 18:36:00 +01:00
Henrik Rydgård
b426d12a17
More best-practices adjustments
2021-10-08 21:32:40 +02:00
Henrik Rydgård
d7774bf1ae
Ran the "Vulkan best practices" layer, fixed some stuff.
2021-10-08 21:20:40 +02:00
Bram Verweij
a31cbe42d2
Rename namespace to PPSSPP_VK, remove indentation
2021-08-21 12:39:15 +02:00
Bram Verweij
cc00a4132d
Prevent dlopen collisions between ppsspp_libretro.so and libvulkan.so
2021-08-20 11:22:57 +02:00
Henrik Rydgård
f4a6d291e1
Common: Capitalize setCurrentThreadName().
2021-04-30 23:02:36 -07:00
Henrik Rydgård
9b13220f49
Merge pull request #13864 from unknownbrackets/vulkan-amd
...
Vulkan: Remove #10097 hack for newer AMD drivers
2021-02-15 16:31:49 +01:00
Unknown W. Brackets
6ca9acf94b
Vulkan: Delete only created swapchain images.
...
We do other null checks here, same reason. Create may have failed.
2021-01-16 20:55:34 -08:00
Henrik Rydgård
1acbfb1a52
Never pass a null into QueueDeleteImageView (got a report of that).
...
Went through them all to see where this could happen, can't find any
other path than this, though it's strange.
2021-01-03 21:46:12 +01:00
Unknown W. Brackets
ca0763c7f1
Vulkan: Remove #10097 hack for newer AMD drivers.
...
Fixes #10643 . Assumes affected drivers only supported 1.0 due to year 1.1
supporting drivers started coming out.
2021-01-03 09:24:14 -08:00