Skip to main content

QueueInterface

Trait QueueInterface 

pub trait QueueInterface: CommonTraits {
    // Required methods
    fn write_buffer(&self, buffer: &DispatchBuffer, offset: u64, data: &[u8]);
    fn create_staging_buffer(
        &self,
        size: NonZero<u64>,
    ) -> Option<DispatchQueueWriteBuffer>;
    fn validate_write_buffer(
        &self,
        buffer: &DispatchBuffer,
        offset: u64,
        size: NonZero<u64>,
    ) -> Option<()>;
    fn write_staging_buffer(
        &self,
        buffer: &DispatchBuffer,
        offset: u64,
        staging_buffer: &DispatchQueueWriteBuffer,
    );
    fn write_texture(
        &self,
        texture: TexelCopyTextureInfo<&Texture>,
        data: &[u8],
        data_layout: TexelCopyBufferLayout,
        size: Extent3d,
    );
    fn submit(
        &self,
        command_buffers: &mut dyn Iterator<Item = DispatchCommandBuffer>,
    ) -> u64;
    fn get_timestamp_period(&self) -> f32;
    fn on_submitted_work_done(&self, callback: Box<dyn FnOnce() + Send>);
    fn compact_blas(&self, blas: &DispatchBlas) -> (Option<u64>, DispatchBlas);
}

Required Methods§

fn write_buffer(&self, buffer: &DispatchBuffer, offset: u64, data: &[u8])

fn create_staging_buffer( &self, size: NonZero<u64>, ) -> Option<DispatchQueueWriteBuffer>

fn validate_write_buffer( &self, buffer: &DispatchBuffer, offset: u64, size: NonZero<u64>, ) -> Option<()>

fn write_staging_buffer( &self, buffer: &DispatchBuffer, offset: u64, staging_buffer: &DispatchQueueWriteBuffer, )

fn write_texture( &self, texture: TexelCopyTextureInfo<&Texture>, data: &[u8], data_layout: TexelCopyBufferLayout, size: Extent3d, )

fn submit( &self, command_buffers: &mut dyn Iterator<Item = DispatchCommandBuffer>, ) -> u64

Submit must always drain the iterator, even in the case of error.

fn get_timestamp_period(&self) -> f32

fn on_submitted_work_done(&self, callback: Box<dyn FnOnce() + Send>)

fn compact_blas(&self, blas: &DispatchBlas) -> (Option<u64>, DispatchBlas)

Implementors§