keid-ui-dearimgui 0.1.3.0 → 0.1.3.1
raw patch · 3 files changed
+20/−24 lines, 3 filesdep ~dear-imgui
Dependency ranges changed: dear-imgui
Files
- ChangeLog.md +4/−0
- keid-ui-dearimgui.cabal +3/−3
- src/Render/ImGui.hs +13/−21
ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for keid-dearimgui +## 0.1.3.1++- Update for dear-imgui-2.3.0.+ ## 0.1.3.0 - Update for dear-imgui-2.2.1.
keid-ui-dearimgui.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.36.0.+-- This file has been generated from package.yaml by hpack version 0.37.0. -- -- see: https://github.com/sol/hpack name: keid-ui-dearimgui-version: 0.1.3.0+version: 0.1.3.1 synopsis: DearImGui elements for Keid engine. category: Game Engine author: IC Rainbow@@ -62,7 +62,7 @@ , base >=4.7 && <5 , binary , bytestring- , dear-imgui >=2.2.1+ , dear-imgui >=2.3.0 && <2.4 , keid-core >=0.1.8.0 , resourcet , rio >=0.1.12.0
src/Render/ImGui.hs view
@@ -19,7 +19,7 @@ import RIO -import Control.Monad.Trans.Resource (ReleaseKey, ResourceT, register, release)+import Control.Monad.Trans.Resource (ReleaseKey, ResourceT, register) import DearImGui qualified as ImGui import DearImGui.FontAtlas qualified as FontAtlas import DearImGui.GLFW (glfwNewFrame, glfwShutdown)@@ -29,7 +29,6 @@ import Engine.Stage.Component qualified as Stage import Engine.Types (GlobalHandles(..), StageRIO) import Engine.Vulkan.Types (HasRenderPass(..), HasSwapchain(..), Queues(..), getDevice, getMultisample)-import Resource.CommandBuffer qualified as CommandBuffer import Resource.Region qualified as Region import Resource.Vulkan.DescriptorPool qualified as DescriptorPool import RIO.App (appEnv)@@ -84,7 +83,7 @@ ctx <- ImGui.createContext Region.register_ $ ImGui.destroyContext ctx - context@GlobalHandles{..} <- asks appEnv+ GlobalHandles{..} <- asks appEnv let (QueueFamilyIndex queueFamily, queue) = qGraphics ghQueues @@ -99,14 +98,12 @@ , queueFamily = queueFamily , queue = queue - , minImageCount = getMinImageCount swapchain- , imageCount = getImageCount swapchain- , msaaSamples = getMultisample swapchain- , colorAttachmentFormat = Just $ getSurfaceFormat swapchain-- , useDynamicRendering = False- , subpass = subpassIx- , pipelineCache = Vk.NULL_HANDLE+ , rendering = Left (getRenderPass renderpass)+ , minImageCount = getMinImageCount swapchain+ , imageCount = getImageCount swapchain+ , msaaSamples = getMultisample swapchain+ , subpass = subpassIx+ , pipelineCache = Vk.NULL_HANDLE , descriptorPool = pool @@ -114,7 +111,7 @@ , checkResult = \case { Vk.SUCCESS -> pure (); e -> throwM $ VulkanException e } } - res@(_cb, initOk) <- ImGui.vulkanInit initInfo (getRenderPass renderpass)+ res@(_cb, initOk) <- ImGui.vulkanInit initInfo unless initOk do logError "DearImGui vulkan initialization failed" exitFailure@@ -122,15 +119,10 @@ actionRes <- action - -- TODO: oneshots- (oneshotPoolKey, oneshotPool) <- CommandBuffer.allocatePools context- CommandBuffer.oneshot_ context oneshotPool qGraphics \cb -> do- fontsOk <- ImGui.vulkanCreateFontsTexture cb- unless fontsOk do- logError "ImGui.vulkanCreateFontsTexture failed"- exitFailure- release oneshotPoolKey- ImGui.vulkanDestroyFontUploadObjects+ fontsOk <- ImGui.vulkanCreateFontsTexture+ unless fontsOk do+ logError "ImGui.vulkanCreateFontsTexture failed"+ exitFailure debugReleaseStart <- toIO (logDebug "Releasing DearImGui") void $! register debugReleaseStart