News

In this section, you’ll find the news log alonside the roadmap of the project.

To Do list

  • Add CI pipeline to update/send C++ binding

  • Support MacOS using MoltenVK

Project Roadmap (and thoughts)

  • Add a HTML5/emscripten application backend

  • Add a WebGPU graphics backend (will surely impact synchronization objects)

  • Support hardware ray tracing

Changelog (DD/MM/YYYY)

  • 0.10.0 (26/07/2024)

    • Added CI pipeline to generate C++ header.

    • Automatic deployment to haiku-toolkit develop branch.

  • 0.9.0 (18/07/2024)

    • Added Mesh shading support (with hkgfx_pipeline_mesh_create and hk_gfx_pipeline_mesh_desc)

    • Added more checks to device capabilites (checking support for dynamic rendering and mesh shading)

    • Thanks Josué Raad for the help !

  • 0.8.0 (16/07/2024)

    • Renamed hk_gfx_compute_pipeline_desc to hk_gfx_pipeline_compute_desc

    • Renamed hk_gfx_graphic_pipeline_desc to hk_gfx_pipeline_graphic_desc

    • Added application io methods is_xxx_held, is_xxx_pressed and is_xxx_released

    • Finalized CPP language binding pipeline (clang to ast, filtering it, and generate haiku.hpp)

  • 0.7.2 (08/07/2024)

    • Renamed hk_binding_layout_desc to hk_layout_desc

  • 0.7.1 (06/07/2024)

    • Fixed missing symbols on gcc

    • Renamed hk_app_desc to hk_app_window_desc

  • 0.7.0 (05/07/2024)

    • Fixed unamed nested structs in haiku/graphics.h and haiku/application.h

    • Refactored swapchain public API. Now returning an opaque pointer and removing explicit surface creation.

  • 0.6.0 (01/07/2024)

    • Added checks for requested presentation mode support before swapchain creation

    • Started AST generation for automatic language bindings (still work in progress)

    • Fixed unamed nested structs in haiku/graphics.h and haiku/application.h

    • Changed naming convention to distinguish structures used during objects creation for those used as command parameters.

  • 0.5.0 (13/06/2024)

    • Added image region data structure

    • Modified blit and resolve command to use image region

    • Modified image/buffer copy commands to use image region

    • Modified image barriers to transition subresources (mipmap levels or array layers)

  • 0.4.0 (11/06/2024)

    • Fixed wrong Vulkan instance API version when listing all available physical devices

    • hkgfx_context_reset now resets the command pool instead of the primary command buffer (vulkan)

    • Added support for multisampling anti-aliasing (MSAA) updating images, pipelines and rendering public API

  • 0.3.0 (17/05/2024)

    • Added user-defined icons in haiku/application.h

  • 0.2.1 (17/05/2024)

    • Fixing wrong doxygen formatting

    • Switch haiku installation target on by default

  • 0.2.0 (15/05/2024)

    • Removed software explicit validation layers in debug

    • Fixing bugs in swapchain assertions and when resized

    • Fixed missing CXX standard to VMA implementation

    • Moving backward Vulkan version from 1.3 to 1.2 to ensure MoltenVK compatibility

    • Added debug names for image, buffers, samplers

    • Added command buffer labels for debugging

    • Reworked device selection and added ability to choose a specific one

    • Moved samples and their dependency to another repository

    • Muted noisy warnings from Volk and Vulkan Memory Allocator implementations

    • Added Vulkan-Headers and Volk meta-loader to submodule to remove Vulkan SDK requirement

  • 0.1.0 (17/04/2024)

    • Added Vulkan graphics backend supporting compute and graphics pipelines

    • Added GLFW application backend

    • Started documentation using Sphinx, Myst-Parser and Furo

  • 0.0.0 (09/03/2024)

    • Created the git repository

    • Started the haiku graphics library

    • Started Vulkan backend (offline rendering)

    • Added samples