generated from engine3d-dev/conan-starter
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Overview
Descriptor indexing is a very useful feature to utilize in Vulkan. Descriptor indexing is for managing how resources are accessed.
vulkan-cpp is in need for getting abstractions around the vulkan API for getting descriptor indexing working. The way the API will work is going to take quite a bit of experimentation.
Reasons to use Descriptor Indexing
- Minimize need for CPU to re-bind resources that are already available to access. (Bindless textures, etc)
- Batching draw calls by having one single giant descriptor that can be reused across multiple draw-calls if needed without having to re-bind those same resources everytime.
- Goal with descriptor indexing is to move from a per-object/per-material bindings to a per-frame or persistent global bindings
- Re-binding has its own sets of cost dealing with high resources, when you have to record state when doing
vkCmdBindDescriptorSets.
What does descriptor indexing enable?
- Allows for updating descriptor sets IF it is not in use.
- update-after-bind mindsets, such as if you have newly loaded textures, you can update without needing to bind those descriptors.
To enable descriptor indexing
VK_EXT_descriptor_indexing
API Design
TBD
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request