Commit Graph

29 Commits

Author SHA1 Message Date
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
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
34ed960a72 Use better pattern for enum switches 2022-08-28 23:57:01 +02:00
Henrik Rydgård
b447092742 Some Vulkan renderpass load/store optimizations. 2022-08-28 23:16:48 +02:00
Unknown W. Brackets
a6804c96bd GLES: Correct some variable shadowing.
Potentially fixes an issue with 3D textures?
2022-08-13 12:43:14 -07:00
Henrik Rydgård
acb84f0648 Rename Vulkan attachment operation variables. Prep for supporting specifying store op. 2022-06-11 13:22:40 +02:00
Unknown W. Brackets
6c08a7a121 Vulkan: Fix depth transition barrier. 2022-05-01 15:16:50 -07:00
Henrik Rydgård
f54aa53a8b Combine barriers before blits/copies 2022-05-01 11:54:47 +02:00
Henrik Rydgård
9d0eaff48a Convert some barriers to use the new barrier framework. 2022-05-01 11:34:29 +02:00
Henrik Rydgård
370b1dd38b Combine renderpass "pretransitions" for barriers. 2022-05-01 10:20:11 +02:00
Unknown W. Brackets
ffbd9bbe98 Global: Fix some int/size_t conversion warnings. 2022-03-13 12:03:48 -07:00
Henrik Rydgård
45308a16c0 Vulkan is strict about scissor rect, so let's clamp centrally.
Better than spreading the logic all over.

Fixes #15207
2021-12-08 22:38:01 +01:00
Henrik Rydgård
a2f9f68565 Vulkan: More scissor dimension checks. See #15207 2021-12-07 21:46:10 +01:00
Unknown W. Brackets
212669d2bc Vulkan: Cleanup pipeline var shadowing. 2021-12-02 17:57:40 -08: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
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
6a5522b185 thin3d: Add a way to query the current render target for debugging. 2020-12-13 00:20:13 +01:00
Henrik Rydgård
032890803e Need to take renderArea into account when merging render passes.
Fixes #13664
2020-11-26 23:29:59 +01:00
Henrik Rydgård
332bb7feeb VK: Whenever safely possible, shrink the render area.
We just set the render area to the union of the scissor rects used in a pass.

Might help some games on some mobile hardware, a little bit.

Possibly #13464?
2020-10-11 23:23:25 +02:00