Skip to content

✨ Implement Multiple Data Transfers from Host-to-Device Staging#91

Merged
mrparmesan01 merged 15 commits into
6.3from
staging_transfers
Jul 4, 2026
Merged

✨ Implement Multiple Data Transfers from Host-to-Device Staging#91
mrparmesan01 merged 15 commits into
6.3from
staging_transfers

Conversation

@mrparmesan01

@mrparmesan01 mrparmesan01 commented Jul 2, 2026

Copy link
Copy Markdown
Member

Task Description

This PR resolves issue #90 .

Current vk::buffer::transfer API in vulkan-cpp has limitations, which would require to callvkMapMemory and vkUnmapMemory for each sub-range resource just to transfer those data from the host to the device.

The issues comes effectively when having a group of composite resources such as cubemaps (6-faces), textures arrays, or multiple segments that are packed tightly together.

Changelogs

  • Modern Type-agnostic Interfaces using std::ranges::forward_range.
  • N memory mapping sub-data altogether in a single unification of vkMapMemory/vkUnmapMemory sequence call.
  • Reworked the skybox (demo 13) to use the newer transfer API.

@mrparmesan01 mrparmesan01 self-assigned this Jul 2, 2026
@mrparmesan01 mrparmesan01 added 📐design Tasks that involve the core systems. Highly involve in API design. 💳 Tech Debt Tasks that have some kind of user API tech debt labels Jul 2, 2026
@mrparmesan01 mrparmesan01 linked an issue Jul 3, 2026 that may be closed by this pull request
@mrparmesan01 mrparmesan01 merged commit bd31f30 into 6.3 Jul 4, 2026
5 checks passed
@mrparmesan01 mrparmesan01 deleted the staging_transfers branch July 4, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📐design Tasks that involve the core systems. Highly involve in API design. 💳 Tech Debt Tasks that have some kind of user API tech debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add multi-data staging to vk::buffer::transfer support

1 participant