Linux platform GUI support and CMake presets were added in this update:
Platform libraries:
Platform::AppLin implementation based on X11/XCB libraries for Linux was added (close #11), which allows to create GUI Window for rendering on Linux desktop with support of:
Window resizing and full-screen mode.
Keyboard and Mouse events translation.
Message box with text message and buttons drawing via X11/XCB.
Window icon loaded from PNG resources.
Command line help and parsing errors are now printed to the console output, instead of showing in message box.
Input::Keyboard::State and Input::Mouse::State conversion to string was fixed, more functionality of these classes was covered with unit tests.
Graphics libraries:
BufferVK Vulkan implementation was extended with support of private and staging GPU buffers for data upload from CPU.
DeviceVK Vulkan comman queue families reservation was fixed in certain scenarios.
RenderContextVK Vulkan frame buffer index update and frame resizing were fixed on Linux.
System singleton is now destroyed strictly after all its Devices to enable correct Vulkan destruction order.
External libraries:
CMakeModules updated to auto-detect Win11 2110 SDK with FindWindowsSDK.cmake.
Build Infrastructure:
Minimum CMake version is now 3.18.
CMakePresets.json file was added with predefined configure and build presets for "Ninja Multi-Config" and platform native generators "Visual Studio 16 2019", "Xcode" and "Unix Makefiles".
Azure Pipelines builds are now using CMake Presets as a single source of build configurations for Release, Profile and SonarScan builds for all platforms.
Ubuntu_VK_Profiling build was added to Azure Pipelines.
Azure Pipelines builds for Linux and MacOS are now publishing build artifacts as TAR archives to keep executable file permissions unchanged.
GitPod should now auto-install required Linux packages and support preview of the UI window on remote machine.
Fixed tests running during build, which was broken due to missing CMake command dependency.
Removed ReSharper configuration files Folder.DotSettings and .editorconfig from repository.
Removed Visual Studio CMake configuration file CMakeSettings.json. CMakePresets.json should be used instead.
Methane Kit v0.6 Pre-Release Update 2
Linux platform GUI support and CMake presets were added in this update:
Platform::AppLin
implementation based on X11/XCB libraries for Linux was added (close #11), which allows to create GUI Window for rendering on Linux desktop with support of:Input::Keyboard::State
andInput::Mouse::State
conversion to string was fixed, more functionality of these classes was covered with unit tests.BufferVK
Vulkan implementation was extended with support of private and staging GPU buffers for data upload from CPU.DeviceVK
Vulkan comman queue families reservation was fixed in certain scenarios.RenderContextVK
Vulkan frame buffer index update and frame resizing were fixed on Linux.System
singleton is now destroyed strictly after all itsDevices
to enable correct Vulkan destruction order.CMakeModules
updated to auto-detect Win11 2110 SDK withFindWindowsSDK.cmake
.CMakePresets.json
file was added with predefined configure and build presets for "Ninja Multi-Config" and platform native generators "Visual Studio 16 2019", "Xcode" and "Unix Makefiles".Ubuntu_VK_Profiling
build was added to Azure Pipelines.Folder.DotSettings
and.editorconfig
from repository.CMakeSettings.json
.CMakePresets.json
should be used instead.