Mercurial > games > semicongine
changeset 1492:801496756651 default tip main
fix: swapchain settings, add debug assert
author | sam <sam@basx.dev> |
---|---|
date | Sat, 24 May 2025 17:59:23 +0700 |
parents | 6f1aee81365b |
children | |
files | semicongine/core/utils.nim semicongine/rendering/swapchain.nim |
diffstat | 2 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/semicongine/core/utils.nim Sat May 24 13:41:35 2025 +0700 +++ b/semicongine/core/utils.nim Sat May 24 17:59:23 2025 +0700 @@ -78,3 +78,8 @@ return value else: return value + alignment - remainder + +template debugAssert*(expr: untyped, msg = ""): untyped = + when not defined(release): + assert expr, msg +
--- a/semicongine/rendering/swapchain.nim Sat May 24 13:41:35 2025 +0700 +++ b/semicongine/rendering/swapchain.nim Sat May 24 17:59:23 2025 +0700 @@ -5,8 +5,8 @@ proc initSwapchain( renderPass: RenderPass, - vSync: bool = false, - tripleBuffering: bool = true, + vSync: bool, + tripleBuffering: bool, oldSwapchain: Swapchain = nil, ): Swapchain = var capabilities: VkSurfaceCapabilitiesKHR @@ -42,7 +42,6 @@ imageSharingMode: VK_SHARING_MODE_EXCLUSIVE, preTransform: capabilities.currentTransform, compositeAlpha: VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, - # only used for blending with other windows, can be opaque presentMode: if (vSync or not hasTripleBuffering): VK_PRESENT_MODE_FIFO_KHR @@ -331,9 +330,7 @@ destroySwapchain(engine().vulkan.swapchain) engine().vulkan.swapchain = nil -proc setupSwapchain*( - renderPass: RenderPass, vSync: bool = false, tripleBuffering: bool = true -) = +proc setupSwapchain*(renderPass: RenderPass, vSync: bool, tripleBuffering: bool) = assert engine().vulkan.swapchain == nil, "Swapchain has already been initialized yet" engine().vulkan.swapchain = initSwapchain(renderPass, vSync = vSync, tripleBuffering = tripleBuffering)