QueryType

Enum QueryType 

Source
pub enum QueryType {
    Occlusion,
    Timestamp,
    PipelineStatistics(PipelineStatisticsTypes),
}
Expand description

Type of queries contained in a QuerySet.

Each query set may contain any number of queries, but they must all be of the same type.

Corresponds to WebGPU GPUQueryType.

Variants§

§

Occlusion

An occlusion query reports whether any of the fragments drawn within the scope of the query passed all per-fragment tests (i.e. were not occluded).

Occlusion queries are performed by setting RenderPassDescriptor::occlusion_query_set, then calling RenderPass::begin_occlusion_query() and RenderPass::end_occlusion_query(). The query writes to a single result slot in the query set, whose value will be either 0 or 1 as a boolean.

§

Timestamp

A timestamp query records a GPU-timestamp value at which a certain command started or finished executing.

Timestamp queries are performed by any one of:

Each timestamp query writes to a single result slot in the query set. The timestamp value must be multiplied by Queue::get_timestamp_period() to get the time in nanoseconds. Absolute values have no meaning, but timestamps can be subtracted to get the time it takes for a string of operations to complete. Timestamps may overflow and wrap to 0, resulting in occasional spurious negative deltas.

Additionally, passes may be executed in parallel or out of the order they were submitted; this does not affect their results but is observable via these timestamps.

Features::TIMESTAMP_QUERY must be enabled to use this query type.

§

PipelineStatistics(PipelineStatisticsTypes)

A pipeline statistics query records information about the execution of pipelines; see PipelineStatisticsTypes’s documentation for details.

Pipeline statistics queries are performed by:

A single query may occupy up to 5 result slots in the query set, based on the flags given here.

Features::PIPELINE_STATISTICS_QUERY must be enabled to use this query type.

Trait Implementations§

Source§

impl Clone for QueryType

Source§

fn clone(&self) -> QueryType

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for QueryType

Source§

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

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

impl<'de> Deserialize<'de> for QueryType

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<QueryType, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for QueryType

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for QueryType

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AsAny for T
where T: 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

Source§

impl<T> CommonTraits for T
where T: AsAny + Any + Debug + WasmNotSendSync,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,