Commit graph

19 commits

Author SHA1 Message Date
PancakeTAS
b2928e4ce6
fix: layer: clean up layer info
emplacing a value into an unordered map does not override, so if the swapchain handles were identical (which they are commonly), then it would try to continue with the swapchain images from the old swapchain.

ironically, the swapchain images are also mostly identical. in fact, when using validation layers they are intentionally-unintentionally identical.. so I never caught this bug.

either way, this fixes a bunch of weird behavior:
- swapchain creation failing
- the application hanging on a present
- the infamous "assertion failed!" wine warning
- segmentation faults in the NVIDIA driver
2025-12-25 20:23:22 +01:00
PancakeTAS
78bcb05fce refactor(cleanup): license identifiers 2025-12-25 04:32:22 +01:00
PancakeTAS
70dea45251 refactor(cleanup): be nicer on older compilers 2025-12-25 04:32:22 +01:00
PancakeTAS
73a34a0a27 refactor(cleanup): automatically reload configuration 2025-12-25 04:32:22 +01:00
PancakeTAS
2f4b0cc5db refactor(cleanup): make configuration a common objet 2025-12-25 04:32:22 +01:00
PancakeTAS
e7bfccd7c1 refactor(cleanup): rename namespaces and handle errors more robustly 2025-12-25 04:32:22 +01:00
PancakeTAS
40b44bbc7a refactor(cleanup): hide out of date errors 2025-12-25 04:32:22 +01:00
PancakeTAS
e0fac3e5a9 refactor(cleanup): implement basic/none frame pacing 2025-12-25 04:32:22 +01:00
PancakeTAS
7e936784ab refactor(cleanup): initial swapchain logic & temporary backend creation 2025-12-25 04:32:22 +01:00
PancakeTAS
9ba80142b2 refactor(cleanup): global cleanup 2025-12-25 04:32:22 +01:00
PancakeTAS
883f3d2556 refactor(cleanup): backend initialization logic 2025-12-25 04:32:22 +01:00
PancakeTAS
6bd907516a refactor(cleanup): deinitialization logic 2025-12-25 04:32:22 +01:00
PancakeTAS
6f5f8edbdd refactor(cleanup): support device loader function in backend 2025-12-25 04:32:22 +01:00
PancakeTAS
bf1d8a8a09 refactor(cleanup): pass vulkan instance to layer 2025-12-25 04:32:22 +01:00
PancakeTAS
0b387b2b37 refactor(cleanup): remove global constructors and initialize vk funcs 2025-12-25 04:32:22 +01:00
PancakeTAS
5bc7555744 refactor(cleanup): remove cast function 2025-12-25 04:32:22 +01:00
PancakeTAS
8f2f267e4d refactor(cleanup): fix string lifetimes 2025-12-25 04:32:22 +01:00
PancakeTAS
5fa3ddc8e3 refactor(cleanup): new config system 2025-12-25 04:32:22 +01:00
PancakeTAS
d8888a2caf refactor(cleanup): base of new layer 2025-12-25 04:32:22 +01:00