summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-02-25 15:22:30 -0500
committerJonathan Bradley <jcb@pikum.xyz>2025-02-25 15:22:30 -0500
commit63467312ec8d5531930e6784fa94050b0d2c68e8 (patch)
tree881f412d50b10502dc334aa7e56794cf52fa200d /src/window.cpp
parent7b266e9763280dcfd07045868fc08238a8e117ba (diff)
pke: EntityType handle framebuffer length changes
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/window.cpp b/src/window.cpp
index 989c3cb..6a71fe1 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -152,6 +152,8 @@ VkDeviceSize paddedUboBufferSize;
VkBuffer *UniformBuffers;
DebugHitbox pkeDebugHitbox{};
ImplementedPKVK pkePipelines{};
+pk_ev_mgr_id_T pke_ev_mgr_id_window;
+pk_ev_id_T pke_ev_id_framebuffer_length_changed;
/*
* ImGui
@@ -3019,6 +3021,7 @@ void RecreateSwapchain() {
if (prevSwapchainLength != swapchainLength) {
DestroyUniformBuffers();
CreateUniformBuffers();
+ pk_ev_emit(pke_ev_mgr_id_window, pke_ev_id_framebuffer_length_changed, NULL);
}
shouldRecreateSwapchain = false;
prevSwapchainLength = swapchainLength;
@@ -3036,6 +3039,8 @@ void FramebufferResizeCallback(GLFWwindow *window, int width, int height) {
void CreateWindow(PKEWindowProperties wp) {
if (vkInstance != nullptr) return;
+ pke_ev_mgr_id_window = pk_ev_create_mgr();
+ pke_ev_id_framebuffer_length_changed = pk_ev_register_ev(pke_ev_mgr_id_window, NULL);
MemBkt_Vulkan = pk_bucket_create("vulkan", PK_DEFAULT_BUCKET_SIZE, false);
vulkanAllocs = pk_new<DynArray<pke_vkAllocData>>(MemBkt_Vulkan);
new (vulkanAllocs) DynArray<pke_vkAllocData>(MemBkt_Vulkan);