Commit graph

315 commits

Author SHA1 Message Date
Unknown W. Brackets
6c08a7a121 Vulkan: Fix depth transition barrier. 2022-05-01 15:16:50 -07:00
Henrik Rydgård
c3f48ecd6f Remove log output 2022-05-01 11:56:18 +02: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
3b9ab88b21 Add utility class VulkanBarrier 2022-05-01 10:20:11 +02:00
Henrik Rydgård
370b1dd38b Combine renderpass "pretransitions" for barriers. 2022-05-01 10:20:11 +02:00
Henrik Rydgård
73452b4743 Minor cleanups 2022-04-23 22:52:28 +02:00
Unknown W. Brackets
b71f17586e Switch: Avoid loading Vulkan. 2022-04-02 16:34:13 -07:00
Unknown W. Brackets
ffbd9bbe98 Global: Fix some int/size_t conversion warnings. 2022-03-13 12:03:48 -07:00
Unknown W. Brackets
2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Henrik Rydgård
8dc8fae16d Vulkan: Add support for listing all the available surface formats in system info.
Enabling the EXT_swapchain_colorspace extension lets the driver expose
all the formats it really supports.

Used this to discover that my Galaxy S21 supports Display-P3 which is a wider
gamut than sRGB. Might be able to do some color boosting mode for fun.

Or, use this stuff to play around with HDR?
2022-01-25 19:22:49 +01:00
Henrik Rydgård
74f76e5ef1 Missing stdarg.h include 2021-12-20 00:11:51 +01:00
Unknown W. Brackets
fadf01dc7b
Vulkan: Update profiler formatting for this. 2021-12-19 14:56:50 -08: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
748b8287a6 Add format string support to Vulkan log-profiler 2021-12-19 22:21:34 +01:00
Unknown W. Brackets
148ca08047
Vulkan: Disable profiler by default again. 2021-12-19 09:12:58 -08:00
Henrik Rydgård
a9dcf482c6 Improve the check for "slow" GPUs (with regards to tex scaling). See #15238 2021-12-18 21:51:33 +01:00
Henrik Rydgård
80ae4b039c Vulkan: Be more restrictive about texture upscaling on "slow" devices.
Applies the same rules as for software upscaling in this case.

Should fix the stutters seen in #15109
2021-12-16 21:00:49 +01:00
Henrik Rydgård
9755781704 Oops, accidentally enabled the logging GPU profiler by default. 2021-12-13 09:01:13 +01:00
Henrik Rydgård
b99a5b6613 Minor fixes 2021-12-12 23:21:28 +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
10db19efc4 Add a 2x2 downsampled version of 4xBRZ as 2xBRZ (save memory bandwidth)
fmt
2021-12-12 23:19:29 +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
Henrik Rydgård
b85a7e9a46 Name uniform buffers, add more asserts. Used this to track down the bug fixed in the previous commit. 2021-12-10 21:01:01 +01:00
Henrik Rydgård
7b07a1385a
Merge pull request #15220 from unknownbrackets/vulkan-exit
Vulkan: Fix use-after-free on shutdown
2021-12-10 10:37:43 +01:00
Henrik Rydgård
97f3b477ab
Merge pull request #15219 from unknownbrackets/vulkan-2d
Vulkan: Avoid desc set error in tests
2021-12-10 10:37:19 +01:00
Unknown W. Brackets
c2c16032fe Vulkan: Document lifetime for desc set pool. 2021-12-09 23:57:37 -08:00
Unknown W. Brackets
fe7b573a38 Vulkan: Fix use-after-free on shutdown. 2021-12-09 23:52:10 -08:00
Unknown W. Brackets
8d06431ea7 Vulkan: Use new desc sets in Draw and VulkanUtil.
It seems like a bug that destory device objects wasn't clearing descSets.
2021-12-09 19:03:17 -08:00
Unknown W. Brackets
1010d7ac0e Vulkan: Refactor common desc pool handling. 2021-12-09 18:39:55 -08: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
Henrik Rydgård
466a731ece Detect and specify the max available Vulkan version, up to 1.2. 2021-12-07 21:26:14 +01:00
Unknown W. Brackets
212669d2bc Vulkan: Cleanup pipeline var shadowing. 2021-12-02 17:57:40 -08:00
Henrik Rydgård
f991f6a789 Remove the old allocator visualizer. Keep the setting but hide it. Other feedback 2021-11-23 08:55:12 +01: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
8d5247ddf3 Convert the PushBuffer to use VMA. 2021-11-22 18:54:09 +01:00
Henrik Rydgård
0cbb7ab027 Change the PushBuffer API a bit to not take explicit memory types. 2021-11-22 18:54:09 +01:00
Henrik Rydgård
c2f594cc73 Remove the VulkanDeviceAllocator 2021-11-22 18:54:09 +01:00
Henrik Rydgård
1b1e585a35 More integration, use VMA in VulkanTexture 2021-11-22 18:54:09 +01:00
Henrik Rydgård
8f9ce03a8d Start integrating VMA 2021-11-22 18:54:08 +01:00
Henrik Rydgård
81fba1f4a4 Minor refactor 2021-11-21 22:08:53 +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
Unknown W. Brackets
60bd25582c Vulkan: Remove wide line handling.
No longer used, since we convert lines to triangles now.
2021-10-31 14:47:21 -07:00
Unknown W. Brackets
1d76e55f84 Vulkan: Disable large points feature.
No longer used.
2021-10-31 13:07:03 -07:00