Skip to content

Choose a tag to compare

@Ipotrick Ipotrick released this 03 May 13:03
· 10 commits to master since this release

General

This version contains a large cleanup of all the cruft the api has accumulated over the last two years.
It has a lot of breaking changes. From this version onwards, breaking changes will not be done until early 2027, anything that will be removed will be deprecated first.

[Core]

  • fixed bug shader resource object lifetime management (could lead to leaks in specific cases)
  • fixed inconsistent to_string results for the default cases, now "UNKNOWN" is used for all as a default fallback
  • fixed missing dll export markings for multiple to_string functions
  • fixed c++ compliance of resource id casting by making them all std layout compatible
  • fixed issues in examples on linux by @expenses
  • fixed dll builds on MSVC by @Xaryen
  • fixed compilation on clang/msvc (msvc's stl does not implement certain std lib features when using clang :/)
  • [BREAKING CHANGE] removed all deprecated api
  • [BREAKING CHANGE] removed dead wait_stages parameter in SubmitInfo
  • [BREAKING CHANGE] rename daxa_dvc_submit to daxa_dvc_submit_commands
  • [BREAKING CHANGE] renamed and reordered parameters in copy commands for more consistency (buffer vs src_buffer etc.)
  • [BREAKING CHANGE] renamed daxa_dvc_present to daxa_dvc_present_frame
  • [BREAKING CHANGE] renamed DAXA_ACCESS_DRAW_INDIRECT_READ to DAXA_ACCESS_INDIRECT_COMMAND_READ
  • [BREAKING CHANGE] renamed queue family to queue type to be more distinct from the vulkan queue families
  • [BREAKING CHANGE] renamed allocate_info to memory_flags, as this parameter no longer stores anything else than mem flags
  • [BREAKING CHANGE] added draw mesh tasks info parameter struct for consistency
  • [BREAKING CHANGE] removed image concurrency modes, all images now use concurrent across all queues always
  • [BREAKING CHANGE] removed all throwing within c++ wrapper, now uses std::abort instead
  • [BREAKING CHANGE] removed swapchain surface and format selector callback
  • [BREAKING CHANGE] reworked wsi handle integration of the swapchain
  • added new swapchain query functions daxa_dvc_report_supported_present_modes, daxa_dvc_report_supported_image_formats, daxa_dvc_choose_swapchain_surface_format

[TaskGraph]

  • fully removed MK1 code, tg now exclusively uses the new backend
  • fixed for dangling pointer in taskgraph by @lukasino1214
  • fixed error message strings getting corrupted
  • fixed crashes in tg debug ui
  • fixed occasional transient resource naming corruption
  • fixed incorrect task access const values by @laurelkeys
  • [BREAKING CHANGE] removed all deprecated api
  • [BREAKING CHANGE] renamed TaskStage to TaskStages to better reflect that the variable can store a set of stages
  • [BREAKING CHANGE] renamed use_persistent_* to register_*
  • [BREAKING CHANGE] added return values to register_* calls, returning a valid view to that resource local to the taskgraph
  • [BREAKING CHANGE] persistent resources are now referred to as external resources
  • [BREAKING CHANGE] replaced all external resource create infos for greater simplicity
  • [BREAKING CHANGE] greatly simplified tracking state of external resources
  • [BREAKING CHANGE] removed multi resource support within a single external resource
  • [BREAKING CHANGE] removed array resource attachments
  • [BREAKING CHANGE] removed struct like task definitions
  • [BREAKING CHANGE] renamed SAMPLED to SAMPLE everywhere for consitency
  • [BREAKING CHANGE] removed jit_compile_permutations, permutation_condition_count and record_debug_information, as they were all dead and unused options of TG
  • added new convenience functions to external resource types (set and get id functions)
  • added new lifetime option to task graph resources, they can now be transient/persistent/double buffered. This allows tg to manage temporal resources such as denoiser history images
  • added a large set of new task builder functions to allow for attachment modifications as well as more convenient task construction
  • added missing convenience constants for TaskAccessConsts
  • reworked how samples access is treated in the api, is now a modifier to read access
  • improved compile times by adjusting template logic for task construction

[ImGui]

  • [BREAKING CHANGE] moved record function to use parameter struct for consistency

New Contributors