Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merge single layout descriptor set pools into StandardDescriptorSetAllocator #2067

Merged
merged 1 commit into from
Oct 31, 2022

Conversation

marc0246
Copy link
Contributor

SingleLayoutDescriptorSetPool, SingleLayoutVeriableDescriptorSetPool and StandardDescriptorSetAllocator were all doing almost the same thing, which resulted in there being 3 types of descriptor set allocations and descriptor sets as well, all in all I think it wasn't very clean which is what lead me to merge them into one.

While I was on it I also did some micro-optimizations, namely removing a HashMap<Arc<DescriptorSetLayout>, ...>> and replacing it with a sorted map using the IDs introduced in #2054, which resulted in the overhead of using StandardDescriptorSetAllocator over SingleLayoutDescriptorSetPool directly for example just barely being measurable any more. It's around 2 to 3 nanoseconds on my machine. Therefore, there is no incentive to keep the pools separate for those reasons either.

Also added some more utility functions for garbage collection to StandardDescriptorSetAllocator.

Changelog:

  ### Breaking changes
- - Renamed `SingleLayout[Variable]DescPool` to `SingleLayout[Variable]DescriptorSetPool` for consistency.
+ - Removed `SingleLayoutDescPool` and `SingleLayoutVariableDescPool`.

@Rua Rua merged commit ae2c8c3 into vulkano-rs:master Oct 31, 2022
@marc0246 marc0246 deleted the single-layout-pools branch October 31, 2022 06:59
Rua added a commit that referenced this pull request Oct 31, 2022
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants