Source code
Revision control
Copy as Markdown
Other Tools
bitflags::bitflags! {↩
/// Flags to augment descriptor pool creation.↩
///↩
/// Match corresponding bits in Vulkan.↩
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]↩
pub struct DescriptorPoolCreateFlags: u32 {↩
/// Allows freeing individual sets.↩
const FREE_DESCRIPTOR_SET = 0x1;↩
↩
/// Allows allocating sets with layout created with matching backend-specific flag.↩
const UPDATE_AFTER_BIND = 0x2;↩
}↩
}↩
↩
/// Number of descriptors of each type.↩
///↩
/// For `InlineUniformBlock` this value is number of bytes instead.↩
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]↩
pub struct DescriptorTotalCount {↩
pub sampler: u32,↩
pub combined_image_sampler: u32,↩
pub sampled_image: u32,↩
pub storage_image: u32,↩
pub uniform_texel_buffer: u32,↩
pub storage_texel_buffer: u32,↩
pub uniform_buffer: u32,↩
pub storage_buffer: u32,↩
pub uniform_buffer_dynamic: u32,↩
pub storage_buffer_dynamic: u32,↩
pub input_attachment: u32,↩
pub acceleration_structure: u32,↩
pub inline_uniform_block_bytes: u32,↩
pub inline_uniform_block_bindings: u32,↩
}↩
↩
impl DescriptorTotalCount {↩
pub fn total(&self) -> u32 {↩
self.sampler↩
+ self.combined_image_sampler↩
+ self.sampled_image↩
+ self.storage_image↩
+ self.uniform_texel_buffer↩
+ self.storage_texel_buffer↩
+ self.uniform_buffer↩
+ self.storage_buffer↩
+ self.uniform_buffer_dynamic↩
+ self.storage_buffer_dynamic↩
+ self.input_attachment↩
+ self.acceleration_structure↩
+ self.inline_uniform_block_bytes↩
+ self.inline_uniform_block_bindings↩
}↩
}↩