Skip to content

Implement descriptor buffers.#165

Merged
crud89 merged 21 commits intomainfrom
vk-descriptor-buffer
Sep 24, 2025
Merged

Implement descriptor buffers.#165
crud89 merged 21 commits intomainfrom
vk-descriptor-buffer

Conversation

@crud89
Copy link
Copy Markdown
Owner

@crud89 crud89 commented Sep 23, 2025

Describe the pull request

This PR implements a common descriptor management architecture by implementing VK_EXT_descriptor_buffer in the Vulkan backend. The new approach provides two central descriptor buffers at the device instance, similar to the descriptor heaps for the D3D12 backend. All related functions have been moved to the graphics device base interfaces. As descriptors are not required to have the same size, it is not possible to allocate equal chunks from the descriptor heaps. For this reason, the buffer interface has been extended with two new methods that can be used to read and write raw memory directly.

This PR also fixes two minor issues:

  • Descriptor set layouts are now properly destroyed.
  • The native Vulkan swap chain now uses the proper present target layout, if the D3D12 backend is not built.

ToDo

Related issues

@crud89 crud89 added this to the Alpha #05 milestone Sep 23, 2025
@crud89 crud89 self-assigned this Sep 23, 2025
@crud89 crud89 added the Vulkan 🌋 The issue involves the Vulkan backend. label Sep 23, 2025
@crud89 crud89 added this to LiteFX Sep 23, 2025
@crud89 crud89 linked an issue Sep 23, 2025 that may be closed by this pull request
@crud89 crud89 moved this to In Progress in LiteFX Sep 23, 2025
@crud89
Copy link
Copy Markdown
Owner Author

crud89 commented Sep 23, 2025

Run: builds,tidy

@crud89
Copy link
Copy Markdown
Owner Author

crud89 commented Sep 23, 2025

Run: checks

@crud89
Copy link
Copy Markdown
Owner Author

crud89 commented Sep 24, 2025

Run: builds,tests

@crud89 crud89 force-pushed the vk-descriptor-buffer branch from f618e70 to b3db9b9 Compare September 24, 2025 10:32
@crud89
Copy link
Copy Markdown
Owner Author

crud89 commented Sep 24, 2025

Run: tests

@crud89
Copy link
Copy Markdown
Owner Author

crud89 commented Sep 24, 2025

Run: builds,tidy

@crud89 crud89 merged commit 899b466 into main Sep 24, 2025
9 checks passed
@crud89 crud89 moved this from In Progress to v0.5.1 in LiteFX Sep 24, 2025
@crud89 crud89 deleted the vk-descriptor-buffer branch September 25, 2025 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Vulkan 🌋 The issue involves the Vulkan backend.

Projects

Status: v0.5.1

Development

Successfully merging this pull request may close these issues.

Use descriptor buffers to implement descriptor management for Vulkan.

1 participant