-
Notifications
You must be signed in to change notification settings - Fork 10
Support bind-less descriptor arrays. #72
Description
Descriptor arrays that have no pre-defined fixed size are called bindless. They are written like this:
ConstantBuffer<InstanceData> instanceBuffer[] : register(b0);When defining the descriptor set layout, they can even be unbounded. The actual array size is provided when allocating the descriptor set. The idea is to pass an index (e.g. material, instance, etc.) to the shader and query the buffer data from one single descriptor set, which minimizes the amount of descriptor updates required for each draw call. If used correctly, this can even be used to reduce draw call amounts or for GPU-based rendering (using draw indirect).
The descriptors in such arrays are typically allowed to be updated after they have been bound to a command buffer. There is no validation regarding descriptor access or range checks, which must be ensured by the application instead.
Additional context
Some useful resources:
Metadata
Metadata
Assignees
Labels
Projects
Status