1 bitflags::bitflags! {
2     /// Flags to augment descriptor pool creation.
3     ///
4     /// Match corresponding bits in Vulkan.
5     pub struct DescriptorPoolCreateFlags: u32 {
6         /// Allows freeing individial sets.
7         const FREE_DESCRIPTOR_SET = 0x1;
8 
9         /// Allows allocating sets with layout created with matching backend-specific flag.
10         const UPDATE_AFTER_BIND = 0x2;
11     }
12 }
13 
14 /// Number of descriptors of each type.
15 ///
16 /// For `InlineUniformBlock` this value is number of bytes instead.
17 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
18 pub struct DescriptorTotalCount {
19     pub sampler: u32,
20     pub combined_image_sampler: u32,
21     pub sampled_image: u32,
22     pub storage_image: u32,
23     pub uniform_texel_buffer: u32,
24     pub storage_texel_buffer: u32,
25     pub uniform_buffer: u32,
26     pub storage_buffer: u32,
27     pub uniform_buffer_dynamic: u32,
28     pub storage_buffer_dynamic: u32,
29     pub input_attachment: u32,
30     pub acceleration_structure: u32,
31     pub inline_uniform_block_bytes: u32,
32     pub inline_uniform_block_bindings: u32,
33 }
34