Trait QueryPool

Source
pub trait QueryPool: VkHandle<Handle = VkQueryPool> + DeviceChildHandle {
    // Provided methods
    fn results<T>(
        &self,
        offset: u32,
        sink: &mut [MaybeUninit<T>],
        flags: QueryResultFlags,
    ) -> QueryResult<()> { ... }
    fn result_array<const N: usize, T>(
        &self,
        offset: u32,
        flags: QueryResultFlags,
    ) -> QueryResult<[T; N]> { ... }
    fn results64_alloc(
        &self,
        query_range: Range<u32>,
        flags: QueryResultFlags,
    ) -> QueryResult<Vec<u64>> { ... }
    fn results32_alloc(
        &self,
        query_range: Range<u32>,
        flags: QueryResultFlags,
    ) -> QueryResult<Vec<u32>> { ... }
}

Provided Methods§

Source

fn results<T>( &self, offset: u32, sink: &mut [MaybeUninit<T>], flags: QueryResultFlags, ) -> QueryResult<()>

Copy results of queries in a query pool to a host memory region

§Failure

On failure, this command returns

Source

fn result_array<const N: usize, T>( &self, offset: u32, flags: QueryResultFlags, ) -> QueryResult<[T; N]>

Copy results of queries in a query pool to a host memory region

§Failure

On failure, this command returns

Source

fn results64_alloc( &self, query_range: Range<u32>, flags: QueryResultFlags, ) -> QueryResult<Vec<u64>>

Copy results of queries in a query pool to a host memory region

§Failure

On failure, this command returns

Source

fn results32_alloc( &self, query_range: Range<u32>, flags: QueryResultFlags, ) -> QueryResult<Vec<u32>>

Copy results of queries in a query pool to a host memory region

§Failure

On failure, this command returns

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Device: VkHandle<Handle = VkDevice>> QueryPool for QueryPoolObject<Device>