Skip to content

Descriptor definition improvements.#74

Merged
crud89 merged 31 commits intomainfrom
bindless-descriptors
Aug 20, 2022
Merged

Descriptor definition improvements.#74
crud89 merged 31 commits intomainfrom
bindless-descriptors

Conversation

@crud89
Copy link
Copy Markdown
Owner

@crud89 crud89 commented Aug 13, 2022

Describe the pull request

This PR improves how descriptors and buffers are defined. The DescriptorTypes have been changed to reflect how they are defined in HLSL, making it more straightforward to define descriptors manually. The GLSL counterparts are mentioned in the documentation. A new descriptor type for ByteAddressBuffers has been added. The descriptor set builder interface has also been updated to reflect those changes.

This PR also adds support for unbounded descriptor arrays to support bindless descriptors. Note that when using this feature, care must be taken not to exceed any device limitations. Some restrictions are:

  • There must only be one unbounded array in a descriptor set. Descriptor sets that declare unbounded arrays must not contain any other descriptors.
  • The number of descriptors in an unbounded array is provided by the application when allocation the descriptor set.
  • The maximum number of descriptors in an unbounded array still must be provided when creating the descriptor layout. Currently this is set to a default value of 104.857. This value can be increased, however there is an overall device-specific upper limit for such descriptor sets.

Related issues

To-Do

  • Update documentation and readme

@crud89 crud89 added Priority: Medium A issue with normal priority. Type: Requirement Vulkan 🌋 The issue involves the Vulkan backend. DX12 ❎ The issue involves the DX12 backend. labels Aug 13, 2022
@crud89 crud89 added this to the Alpha #03 milestone Aug 13, 2022
@crud89 crud89 self-assigned this Aug 13, 2022
@crud89 crud89 changed the title Bindless descriptors Descriptor definition improvements. Aug 19, 2022
@crud89 crud89 marked this pull request as ready for review August 20, 2022 14:56
@crud89 crud89 merged commit b6e0c55 into main Aug 20, 2022
@crud89 crud89 deleted the bindless-descriptors branch August 20, 2022 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DX12 ❎ The issue involves the DX12 backend. Priority: Medium A issue with normal priority. Vulkan 🌋 The issue involves the Vulkan backend.

Projects

Status: v0.3.1

Development

Successfully merging this pull request may close these issues.

Support bind-less descriptor arrays.

1 participant