[][src]Struct ugli_webgl::EXT_disjoint_timer_query

pub struct EXT_disjoint_timer_query(_);

Extension

Specifies that queries' results only become available at certain well-defined times. This extension provides a query mechanism that can be used to determine the amount of time it takes to fully complete a set of GL commands, and without stalling the rendering pipeline. It uses the query object mechanisms first introduced in the occlusion query extension, which allow time intervals to be polled asynchronously by the application. This version of the disjoint_timer_query extension is exposed only on on WebGL 1.0 contexts. See the _webgl2 version of the extension for how it is exposed on WebGL 2.0 contexts.

Methods

impl EXT_disjoint_timer_query[src]

pub const CURRENT_QUERY_EXT: GLenum[src]

pub const GPU_DISJOINT_EXT: GLenum[src]

pub const QUERY_COUNTER_BITS_EXT: GLenum[src]

pub const QUERY_RESULT_AVAILABLE_EXT: GLenum[src]

pub const QUERY_RESULT_EXT: GLenum[src]

pub const TIMESTAMP_EXT: GLenum[src]

pub const TIME_ELAPSED_EXT: GLenum[src]

pub fn begin_query_ext(&self, target: GLenum, query: &WebGLTimerQueryEXT)[src]

target accepts TIME_ELAPSED_EXT.

pub fn create_query_ext(&self) -> Option<WebGLTimerQueryEXT>[src]

pub fn delete_query_ext(&self, query: Option<&WebGLTimerQueryEXT>)[src]

pub fn end_query_ext(&self, target: GLenum)[src]

target accepts TIME_ELAPSED_EXT.

pub fn get_query_ext(&self, target: GLenum, pname: GLenum) -> Value[src]

target and pname accept the following combinations of parameters. The return type of this method depends on the parameter queried. targetpnamereturned type TIME_ELAPSED_EXTCURRENT_QUERYWebGLQuery? TIMESTAMP_EXTCURRENT_QUERYnull TIME_ELAPSED_EXTQUERY_COUNTER_BITS_EXTGLint TIMESTAMP_EXTQUERY_COUNTER_BITS_EXTGLint

pub fn get_query_object_ext(
    &self,
    query: &WebGLTimerQueryEXT,
    pname: GLenum
) -> Value
[src]

pname accepts QUERY_RESULT_EXT or QUERY_RESULT_AVAILABLE_EXT. The return type of this method depends on the parameter queried: pnamereturned type QUERY_RESULT_EXTGLuint64EXT QUERY_RESULT_AVAILABLE_EXTboolean In order to ensure consistent behavior across platforms, queries' results must only be made available when the user agent's event loop is not executing a task. In other words:

  • A query's result must not be made available until control has returned to the user agent's main loop.
  • Repeatedly fetching a query's QUERY_RESULT_AVAILABLE_EXT parameter in a loop, without returning control to the user agent, must always return the same value.

A query's result may or may not be made available when control returns to the user agent's event loop. It is not guaranteed that using a single setTimeout callback with a delay of 0, or a single requestAnimationFrame callback, will allow sufficient time for the WebGL implementation to supply the query's results.

This change compared to the original extension specification is enforced in order to prevent applications from relying on being able to issue a query and fetch its result in the same frame. In order to ensure best portability among devices and best performance among implementations, applications must expect that queries' results will become available asynchronously.

pub fn is_query_ext(&self, query: Option<&WebGLTimerQueryEXT>) -> bool[src]

Returns true if the passed WebGLTimerQueryEXT is valid and false otherwise. Returns false if the query's invalidated flag is set.

pub fn query_counter_ext(&self, query: &WebGLTimerQueryEXT, target: GLenum)[src]

target accepts TIMESTAMP_EXT.

Trait Implementations

impl AsRef<Reference> for EXT_disjoint_timer_query[src]

impl Clone for EXT_disjoint_timer_query[src]

impl Debug for EXT_disjoint_timer_query[src]

impl Extension for EXT_disjoint_timer_query[src]

impl From<EXT_disjoint_timer_query> for Reference[src]

impl InstanceOf for EXT_disjoint_timer_query[src]

impl JsSerialize for EXT_disjoint_timer_query[src]

impl JsSerializeOwned for EXT_disjoint_timer_query[src]

impl<'_r> JsSerializeOwned for &'_r EXT_disjoint_timer_query[src]

impl ReferenceType for EXT_disjoint_timer_query[src]

impl<'_r> TryFrom<&'_r Reference> for EXT_disjoint_timer_query[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl<'_r> TryFrom<&'_r Value> for EXT_disjoint_timer_query[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl TryFrom<EXT_disjoint_timer_query> for Reference[src]

type Error = Void

The type returned in the event of a conversion error.

impl TryFrom<Reference> for EXT_disjoint_timer_query[src]

type Error = ConversionError

The type returned in the event of a conversion error.

impl TryFrom<Value> for EXT_disjoint_timer_query[src]

type Error = ConversionError

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.