Enum GlDebugFns
pub enum GlDebugFns {
Auto,
ForceEnabled,
Disabled,
}unstable-wgpu-29 only.Expand description
Controls whether OpenGL debug functions are enabled.
Debug functions include glPushDebugGroup, glPopDebugGroup, glObjectLabel, etc.
These are useful for debugging but can cause crashes on some buggy drivers.
Variants§
Auto
Automatically decide whether to enable debug functions.
Debug functions will be enabled if supported by the driver, unless
running on a device known to have buggy debug function implementations
(e.g., Mali GPUs which can crash in glPushDebugGroup).
This is the default behavior.
ForceEnabled
Force enable debug functions if supported by the driver.
This ignores any device-specific workarounds and enables debug functions on all devices that support them, including those with known bugs.
Disabled
Disable debug functions entirely.
Debug functions will not be used even if supported by the driver.
Implementations§
§impl GlDebugFns
impl GlDebugFns
pub fn from_env() -> Option<GlDebugFns>
Available on crate feature wgpu-29 only.
pub fn from_env() -> Option<GlDebugFns>
wgpu-29 only.Choose debug functions setting from the environment variable WGPU_GL_DEBUG_FNS.
Possible values (case insensitive):
auto- automatically decide based on deviceforceenabled,force_enabled, orenabled- force enabledisabled- disable entirely
Use with unwrap_or_default() to get the default value if the environment variable is not set.
pub fn with_env(self) -> GlDebugFns
Available on crate feature wgpu-29 only.
pub fn with_env(self) -> GlDebugFns
wgpu-29 only.Takes the given setting, modifies it based on the WGPU_GL_DEBUG_FNS environment variable, and returns the result.
See from_env for more information.
Trait Implementations§
§impl Clone for GlDebugFns
impl Clone for GlDebugFns
§fn clone(&self) -> GlDebugFns
fn clone(&self) -> GlDebugFns
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for GlDebugFns
impl Debug for GlDebugFns
§impl Default for GlDebugFns
impl Default for GlDebugFns
§fn default() -> GlDebugFns
fn default() -> GlDebugFns
§impl PartialEq for GlDebugFns
impl PartialEq for GlDebugFns
impl Copy for GlDebugFns
impl Eq for GlDebugFns
impl StructuralPartialEq for GlDebugFns
Auto Trait Implementations§
impl Freeze for GlDebugFns
impl RefUnwindSafe for GlDebugFns
impl Send for GlDebugFns
impl Sync for GlDebugFns
impl Unpin for GlDebugFns
impl UnsafeUnpin for GlDebugFns
impl UnwindSafe for GlDebugFns
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.