Commit Graph
62 Commits
Author SHA1 Message Date
Henrik Rydgård dd032dc533 Delete two unused structs 2023-11-11 10:55:54 +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 397745ce14 Remove unused code 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 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 10f93875c6 Fix the semantics of DenseHashMap to be consistent even when inserting nulls 2023-09-11 12:07:18 +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 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 b3e6b81e43 Implement delayed depth readbacks for Vulkan only 2023-02-07 23:13:36 +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 31df6bf0fe Move some code around, get rid of some unnecessary fences 2023-02-05 00:35:30 +01:00
Henrik Rydgård 7b5def9ff6 Use VMA to manage readback memory 2023-02-04 23:52:38 +01:00
Henrik Rydgård 26884150d7 Remove the 0th descriptor set, move everything else back to 0 2022-12-16 13:05:40 +01:00
Henrik Rydgård 8208768c15 Add a pipeline flag for USES_DISCARD. Will be used for the MSAA quality setting. 2022-12-01 22:49:00 +01:00
Henrik Rydgård 31af24a230 Break out VKRFramebuffer/VKRRenderpass from VulkanRenderManager 2022-11-27 10:22:37 +01:00
Henrik Rydgård 439b38f705 Comment fixes (feedback) 2022-11-06 00:11:04 +01:00
Henrik Rydgård 7742fbdeb6 Switch RenderPassType to be a "proper" bitfield enum. 2022-11-05 22:06:53 +01:00
Henrik Rydgård 96a5c52037 Vulkan: Reserve descriptor set 0 for frame-global data, move everything else to set 1 2022-10-28 09:39:56 +02:00
Henrik Rydgård 6d9008dab5 Fix validation issue with clears, remove redundant code 2022-10-27 11:05:59 +02:00
Henrik Rydgård 0de12f5ca9 Some refactoring of framebuffer views, layer issues, more work. 2022-10-27 11:05:58 +02:00
Henrik Rydgård fb250c4b29 More multiview work 2022-10-27 11:05:58 +02:00
Henrik Rydgård d3804ec2e5 Misc multiview hackery 2022-10-27 11:05:58 +02:00
Henrik RydgårdandGitHub eb18a87eee Merge pull request #16186 from lvonasek/feature_openxr_vulkan
OpenXR - Initial work to support multiple render APIs
2022-10-17 14:47:47 +02:00
Henrik Rydgård 4d1da5859c Add simple way to add debug annotation in the middle of the command stream. Vulkan-only. 2022-10-13 22:39:44 +02:00
Lubos ade606bc3c OpenXR - Hookup VR API into Vulkan 2022-10-12 16:21:54 +02:00
Unknown W. Brackets 87171cef98 GPU: Add geometry path for shader writer.
Not yet used.
2022-10-01 12:45:43 -07:00
Henrik Rydgård a7642bac15 Replace faulty layout transition deduplication algorithm. 2022-09-25 23:24:54 +02:00
Henrik Rydgård 9f3dfe7ebe Vulkan: Don't compile pipeline variants that don't make sense given their flags.
Ran into this with cache files from previous version of my change.

Also bumping the shader cache ID again to avoid this in other ways, but
good to be robust here.
2022-09-24 22:39:22 +02:00
Henrik Rydgård ef7c8844f8 Greatly simplify the thread synchronization. 2022-09-23 19:40:50 +02:00
Henrik Rydgård ac4ca592c3 Handle depth buffer write-after-write hazards in the queue runner 2022-09-23 13:47:11 +02:00
Henrik Rydgård 11b807828f Fix for render pass merge 2022-09-22 10:22:29 +02:00
Henrik Rydgård 8e30a7ccfc Vulkan: Don't have renderpasses store/load depth buffers when we don't use them 2022-09-22 10:06:05 +02:00
Henrik Rydgård d0016add37 Start moving stuff out to VulkanFrameData.cpp 2022-09-19 18:14:41 +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 ce82fce8de Use subpass dependencies to implement shader framebuffer read in Vulkan. 2022-09-16 19:19:42 +02:00
Henrik Rydgård 58a7f0cf21 Assorted cleanup 2022-09-08 01:26:01 +02:00
Henrik Rydgård caff2ea573 Correct merging of render passes. However, we have lifetime issues. 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 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 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 9097fdaae6 Shrink VkRenderData from 88 to 64 bytes. 2022-09-01 14:21:34 +02:00
Henrik Rydgård 24d674d2bc Shrink the TransitionRequest struct, use TinySet 2022-09-01 10:59:27 +02:00
Henrik Rydgård b447092742 Some Vulkan renderpass load/store optimizations. 2022-08-28 23:16:48 +02:00