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ård and GitHub
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