Methane Kit v0.7.3 #129
egorodet
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This release adds support of Vulkan RHI on MacOS via MoltenVK framework and fixes some portability and stability issues. Vulkan RHI now supports monolithic pipeline state objects (PSO) and drops
VK_EXT_EXTENDED_DYNAMIC_STATEextension requirement, which is made optional, but still used upon availability.VK_KHR_SYNCHRONIZATION_2extension requirement was also dropped to improve portability. Some newly discovered issues reported by Vulkan validation layer were fixed as well as many stability issues.Tutorials
IndexedNamefunction with explicitfmt::format.Graphics libraries
VK_EXT_EXTENDED_DYNAMIC_STATEwas made optional by supporting monolithicvk::Pipelinestate object inVulkan::RenderStateRHI implementation. Both monolithic and dynamic pipeline state APIs are supported now, depending on extension availability.VK_KHR_SYNCHRONIZATION_2extension requirement, as it was used to fix some minor validation layer warnings appearing only on Linux platform. Warning were muted, as not important.vk::SubmitInfoinvk::Queue::submitcall (see FIXME comment inVulkan::CommandListSet::Execute()). All tutorials can now run on MacOS using Vulkan RHI.vkSetDebugUtilsObjectNameEXTinVulkan::RenderContext. It is not possible to set debug name for surface because it is not created with devide object, unfortunately Vulkan validation layer does not report this error but simply corrupts memory, which is resulting in undefined behaviour.Vulkan::RenderContextframe synchronization reliability by addingvk::Fencewait of the previously acquired images before aquiring next frame image.ErrorSurfaceLostKHRonacquireNextImageKHRby recreating surface and swap-chain inVulkan::RenderContext.Vulkan::CommandListandVulkan::ParallelRenderCommandListcommand buffers invalidation on render pass updates, for example during swap chain resize.Vulkan::ParallelRenderCommandListdebug groups encoding validation error.Vulkan::CommandListSetexecution wait for frame image availability semaphore, when it submitsParallelRenderCommandList.vk::DescriptorSetsetup.CommandListSetshared pointers inBase::CommandQueueTracking.BufferSettings::sizealignment by 256 bytes inRHI/IBuffer.h/cpp, but do it implicitly inside DirectX RHI implementation.External libraries
Build
METHANE_MEMORY_SANITIZER_ENABLEDto enable build with memory address sanitizer.MacOS_VK_Releasejob toCI Buildworkflow, which builds Methane Kit with Vulkan RHI on MacOS using static linking with MoltenVK framework from Vulkan SDK.CI Buildjobs "Install Vulkan SDK", which is currently required forMacOS_VK_Releasejob only to link with MoltenVK framework.CI Buildsteps and workflows in Forked GitHub repositories to let CI pass successfully for pushes.sonarcloud-github-c-cppto v2 in "CI Scan" workflow. Sonar Scanner was upgraded from v4.8 to v5.0 as well.CI Buildworkflow to run in forks by removing cron schedule (GitHub automatically disables all workflows with CRON schedule in Forked repositories).CI Sonar ScanandCI CodeQLworkflows to run in forked repositories.Note
For MacOS users: In case of error "App Is Damaged and Can't Be Opened" on attempt to run bundled application, try removing application from quarantine using the following command:
This discussion was created from the release Methane Kit v0.7.3.
Beta Was this translation helpful? Give feedback.
All reactions