GlBackendOptions

Struct GlBackendOptions 

Source
pub struct GlBackendOptions {
    pub gles_minor_version: Gles3MinorVersion,
    pub fence_behavior: GlFenceBehavior,
    pub debug_fns: GlDebugFns,
}
Expand description

Configuration for the OpenGL/OpenGLES backend.

Part of BackendOptions.

Fields§

§gles_minor_version: Gles3MinorVersion

Which OpenGL ES 3 minor version to request, if using OpenGL ES.

§fence_behavior: GlFenceBehavior

Behavior of OpenGL fences. Affects how on_completed_work_done and device.poll behave.

§debug_fns: GlDebugFns

Controls whether debug functions (glPushDebugGroup, glPopDebugGroup, glObjectLabel, etc.) are enabled when supported by the driver.

By default (GlDebugFns::Auto), debug functions are automatically disabled on devices with known bugs (e.g., Mali GPUs can crash in glPushDebugGroup). Use GlDebugFns::ForceEnabled to override this behavior, or GlDebugFns::Disabled to disable debug functions entirely.

See also InstanceFlags::DISCARD_HAL_LABELS, which prevents debug markers and labels from being sent to any backend, but without the driver-specific bug workarounds provided here.

Implementations§

Source§

impl GlBackendOptions

Source

pub const fn default() -> Self

This function is identical to Default::default() except that it is a const fn.

Source§

impl GlBackendOptions

Source

pub fn from_env_or_default() -> Self

Choose OpenGL backend options by calling from_env on every field.

See those methods for more information.

Source

pub fn with_env(self) -> Self

Takes the given options, modifies them based on the environment variables, and returns the result.

This is equivalent to calling with_env on every field.

Trait Implementations§

Source§

impl Clone for GlBackendOptions

Source§

fn clone(&self) -> GlBackendOptions

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 ConstDefaultHelper for GlBackendOptions

Source§

const DEFAULT: Self

Source§

impl Debug for GlBackendOptions

Source§

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

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

impl Default for GlBackendOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for GlBackendOptions

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for GlBackendOptions

Source§

impl StructuralPartialEq for GlBackendOptions

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> 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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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.