Releases: JX-Master/LunaSDK
LunaSDK release v0.8.2
This is the final release of LunaSDK in 2024, which includes several bugfixes. LunaSDK v0.9, the new version of LunaSDK, is still in its early stage and will not be released until late 2025. However, you can always switch to v0.9
branch to test the letest features.
New features
Runtime
- Add stack allocator to replace the default
alloca
to prevent potential stack overflow when allocating large memory block on stack (SeeStackAllocator.hpp
for defails). - Add one new
get_struct_properties
function that will return properties of base type for one structure type.
Bug fixes
Runtime
- Fix program crash when constructing objects of instanced generic types.
- Fix incorrect use of
::GetCurrentThread
to get thread handle on Windows. - Fix the bug that causes properties in base type of one derived structure type not get serialized/deserialized.
RHI
- Add const specifier to the compare operator of
SamplerDesc
. - Fix render pass object state dismatch for read-only depth stencil attachments.
VG
- Fix one bug that will cause program crash when getting shader buffer from one empty font atlas.
- Fix incorrect clear op when rendering vector graphics.
Asset
- Fix one bug that will deserialize null
asset_t
entry as a new empty asset.
Window
- Fix one bug that will cause access violation if the window is closed in window close callback.
VariantUtils
- Fix
write_json
bug that returns positive integers when reading negative integers.
Studio
- Add shader compiler module dependency.
Full Changelog: v0.8.1...v0.8.2
LunaSDK v0.8.1
Changelog
Here are changes between v0.8.0 and v0.8.1.
New features
None
Bug fixes
- Runtime
- Fixed:
transform2d_f3x4
does not return a value.
- Fixed:
- ShaderCompiler
- Fixed: rpath of dxcompiler is incorrect on macOS.
- Fixed: libdxcompiler.dylib is not found on macOS when launching from xmake commands directly.
- VG
- Fixed: accessing released RHI resource may cause program crash when rendering texts.
- RG
- Fixed: transient resource not freed correctly when calling
IRenderGraph::release_temporary_resource
.
- Fixed: transient resource not freed correctly when calling
- RHI
- Fixed:
DeviceMemory::init
does not return a value.
- Fixed:
- Studio
- Fixed: Incorrect render pass setup that will cause Vulkan runtime error.
- Third-party SDKs
- Fixed: Disabling exception causes spirv-cross failed to compile on clang-cl.
- GitHub Actions:
- Fixed: Lock xmake version on GitHub actions to v2.8.9 to prevent compilation errors on xmake v2.9.1.
API changes
None
Remarks
This release has been tested on Windows (x64, D3D12 and Vulkan) and macOS (x86_64 and arm64, Metal).
Note that all releases of LunaSDK before v1.0.0 are considered as preview releases and are not ready for production use. It is suggested NOT to use such releases in real commercial projects.
LunaSDK release v0.8.0
This is the first preview release of LunaSDK, which includes the following features:
- Self-implemented fundamental libraries, including platform abstraction layer, container library, math library and more. No dependency on C++ STL.
- Full dynamic type reflection, including full support for generic types.
- Serialization and deserialization based on reflection, including JSON and XML support.
- Job system and thread pool for asynchronous computing.
- Render Hardware Interface (RHI) targeting Direct3D 12, Vulkan and Metal.
- Window management API.
- Shader compiling APIs that compile HLSL shaders to DXIL, SPIR-V and Metal.
- Low-latency Audio Hardware Interface (AHI).
- Human Interface Device API providing APIs to access input / output devices.
- Asset system and virtual file system for managing assets at runtime.
- File loader for image files, font files and .OBJ files.
- GPU-driven vector graphics rendering.
- Well documented and CI tested.
This release has been tested on Windows (x64, D3D12 and Vulkan) and macOS (x86_64 and arm64, Metal).
Note that all releases of LunaSDK before v1.0.0 are considered as preview releases and are not ready for production use. It is suggested NOT to use such releases in real commercial projects.