pub struct VulkanBindlessHeap {
pub descriptor_set_layout: DescriptorSetLayout,
pub descriptor_pool: DescriptorPool,
pub descriptor_set: DescriptorSet,
pub pipeline_layout: PipelineLayout,
pub max_buffers: u32,
pub max_textures: u32,
pub max_samplers: u32,
pub max_storage_images: u32,
/* private fields */
}Fields§
§descriptor_set_layout: DescriptorSetLayout§descriptor_pool: DescriptorPool§descriptor_set: DescriptorSet§pipeline_layout: PipelineLayout§max_buffers: u32§max_textures: u32§max_samplers: u32§max_storage_images: u32Implementations§
Source§impl VulkanBindlessHeap
impl VulkanBindlessHeap
pub fn new( device: &Device, max_buffers: u32, max_textures: u32, max_samplers: u32, max_storage_images: u32, ) -> Result<Self, HalError>
pub fn allocate_buffer_slot(&self) -> Result<u32, HalError>
pub fn free_buffer_slot(&self, slot: u32)
pub fn write_buffer_descriptor( &self, device: &Device, slot: u32, buffer: Buffer, size: u64, )
pub fn allocate_texture_slot(&self) -> Result<u32, HalError>
pub fn free_texture_slot(&self, slot: u32)
pub fn write_texture_descriptor( &self, device: &Device, slot: u32, image_view: ImageView, image_layout: ImageLayout, )
pub fn allocate_sampler_slot(&self) -> Result<u32, HalError>
pub fn free_sampler_slot(&self, slot: u32)
pub fn write_sampler_descriptor( &self, device: &Device, slot: u32, sampler: Sampler, )
pub fn allocate_storage_image_slot(&self) -> Result<u32, HalError>
pub fn free_storage_image_slot(&self, slot: u32)
pub fn write_storage_image_descriptor( &self, device: &Device, slot: u32, image_view: ImageView, image_layout: ImageLayout, )
pub fn write_buffer_descriptors_batch( &self, device: &Device, writes: &[(u32, Buffer, u64)], )
pub fn write_texture_descriptors_batch( &self, device: &Device, writes: &[(u32, ImageView, ImageLayout)], )
pub fn write_storage_image_descriptors_batch( &self, device: &Device, writes: &[(u32, ImageView, ImageLayout)], )
pub fn destroy(&self, device: &Device)
Auto Trait Implementations§
impl !Freeze for VulkanBindlessHeap
impl RefUnwindSafe for VulkanBindlessHeap
impl Send for VulkanBindlessHeap
impl Sync for VulkanBindlessHeap
impl Unpin for VulkanBindlessHeap
impl UnsafeUnpin for VulkanBindlessHeap
impl UnwindSafe for VulkanBindlessHeap
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more