Struct vulkano::query::QueryPool

source ·
pub struct QueryPool { /* private fields */ }
Expand description

A collection of one or more queries of a particular type.

Implementations§

source§

impl QueryPool

source

pub fn new( device: Arc<Device>, create_info: QueryPoolCreateInfo ) -> Result<Arc<QueryPool>, Validated<VulkanError>>

Creates a new QueryPool.

source

pub unsafe fn from_handle( device: Arc<Device>, handle: QueryPool, create_info: QueryPoolCreateInfo ) -> Arc<QueryPool>

Creates a new QueryPool from a raw object handle.

Safety
  • handle must be a valid Vulkan object handle created from device.
  • create_info must match the info used to create the object.
source

pub fn query_type(&self) -> &QueryType

Returns the query type of the pool.

source

pub fn query_count(&self) -> u32

Returns the number of query slots of this query pool.

source

pub fn get_results<T>( &self, range: Range<u32>, destination: &mut [T], flags: QueryResultFlags ) -> Result<bool, Validated<VulkanError>>where T: QueryResultElement,

Copies the results of a range of queries to a buffer on the CPU.

self.ty().result_len() will be written for each query in the range, plus 1 extra element per query if WITH_AVAILABILITY is enabled. The provided buffer must be large enough to hold the data.

true is returned if every result was available and written to the buffer. false is returned if some results were not yet available; these will not be written to the buffer.

See also copy_query_pool_results.

Trait Implementations§

source§

impl Debug for QueryPool

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeviceOwned for QueryPool

source§

fn device(&self) -> &Arc<Device>

Returns the device that owns self.
source§

impl Drop for QueryPool

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Hash for QueryPool

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for QueryPool

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl VulkanObject for QueryPool

§

type Handle = QueryPool

The type of the object.
source§

fn handle(&self) -> Self::Handle

Returns the raw Vulkan handle of the object.
source§

impl Eq for QueryPool

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DeviceOwnedVulkanObject for Twhere T: DeviceOwned + VulkanObject,

source§

fn set_debug_utils_object_name( &self, object_name: Option<&str> ) -> Result<(), VulkanError>

Assigns a human-readable name to the object for debugging purposes. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.