Struct relay_event_schema::protocol::GpuContext

source ·
pub struct GpuContext {
Show 16 fields pub name: Annotated<String>, pub version: Annotated<String>, pub id: Annotated<Value>, pub vendor_id: Annotated<String>, pub vendor_name: Annotated<String>, pub memory_size: Annotated<u64>, pub api_type: Annotated<String>, pub multi_threaded_rendering: Annotated<bool>, pub npot_support: Annotated<String>, pub max_texture_size: Annotated<u64>, pub graphics_shader_level: Annotated<String>, pub supports_draw_call_instancing: Annotated<bool>, pub supports_ray_tracing: Annotated<bool>, pub supports_compute_shaders: Annotated<bool>, pub supports_geometry_shaders: Annotated<bool>, pub other: Object<Value>,
}
Expand description

GPU information.

Example:

"gpu": {
  "name": "AMD Radeon Pro 560",
  "vendor_name": "Apple",
  "memory_size": 4096,
  "api_type": "Metal",
  "multi_threaded_rendering": true,
  "version": "Metal",
  "npot_support": "Full"
}

Fields§

§name: Annotated<String>

The name of the graphics device.

§version: Annotated<String>

The Version of the graphics device.

§id: Annotated<Value>

The PCI identifier of the graphics device.

§vendor_id: Annotated<String>

The PCI vendor identifier of the graphics device.

§vendor_name: Annotated<String>

The vendor name as reported by the graphics device.

§memory_size: Annotated<u64>

The total GPU memory available in Megabytes.

§api_type: Annotated<String>

The device low-level API type.

Examples: "Apple Metal" or "Direct3D11"

§multi_threaded_rendering: Annotated<bool>

Whether the GPU has multi-threaded rendering or not.

§npot_support: Annotated<String>

The Non-Power-Of-Two support.

§max_texture_size: Annotated<u64>

Largest size of a texture that is supported by the graphics hardware.

For Example: 16384

§graphics_shader_level: Annotated<String>

Approximate “shader capability” level of the graphics device.

For Example: Shader Model 2.0, OpenGL ES 3.0, Metal / OpenGL ES 3.1, 27 (unknown)

§supports_draw_call_instancing: Annotated<bool>

Whether GPU draw call instancing is supported.

§supports_ray_tracing: Annotated<bool>

Whether ray tracing is available on the device.

§supports_compute_shaders: Annotated<bool>

Whether compute shaders are available on the device.

§supports_geometry_shaders: Annotated<bool>

Whether geometry shaders are available on the device.

§other: Object<Value>

Additional arbitrary fields for forwards compatibility.

Trait Implementations§

source§

impl Clone for GpuContext

source§

fn clone(&self) -> GpuContext

Returns a copy 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 GpuContext

source§

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

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

impl Default for GpuContext

source§

fn default() -> GpuContext

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

impl DefaultContext for GpuContext

source§

fn default_key() -> &'static str

The default key at which this context resides in Contexts.
source§

fn from_context(context: Context) -> Option<Self>

Converts this context type from a generic context type. Read more
source§

fn cast(context: &Context) -> Option<&Self>

Casts a reference to this context type from a generic context type. Read more
source§

fn cast_mut(context: &mut Context) -> Option<&mut Self>

Casts a mutable reference to this context type from a generic context type. Read more
source§

fn into_context(self) -> Context

Boxes this context type in the generic context wrapper. Read more
source§

impl Empty for GpuContext

source§

fn is_empty(&self) -> bool

Returns whether this value is empty.
source§

fn is_deep_empty(&self) -> bool

Returns whether this value is empty or all of its descendants are empty. Read more
source§

impl FromValue for GpuContext

source§

fn from_value(__value: Annotated<Value>) -> Annotated<Self>

Creates a meta structure from an annotated boxed value.
source§

impl IntoValue for GpuContext

source§

fn into_value(self) -> Value

Boxes the meta structure back into a value.
source§

fn serialize_payload<S>( &self, __serializer: S, __behavior: SkipSerialization, ) -> Result<S::Ok, S::Error>
where Self: Sized, S: Serializer,

Efficiently serializes the payload directly.
source§

fn extract_child_meta(&self) -> MetaMap
where Self: Sized,

Extracts children meta map out of a value.
§

fn extract_meta_tree(value: &Annotated<Self>) -> MetaTree
where Self: Sized,

Extracts the meta tree out of annotated value. Read more
source§

impl PartialEq for GpuContext

source§

fn eq(&self, other: &GpuContext) -> 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 ProcessValue for GpuContext

source§

fn value_type(&self) -> EnumSet<ValueType>

Returns the type of the value.
source§

fn process_value<P>( &mut self, __meta: &mut Meta, __processor: &mut P, __state: &ProcessingState<'_>, ) -> ProcessingResult
where P: Processor,

Executes a processor on this value.
source§

fn process_child_values<P>( &mut self, __processor: &mut P, __state: &ProcessingState<'_>, ) -> ProcessingResult
where P: Processor,

Recurses into children of this value.
source§

impl StructuralPartialEq for GpuContext

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, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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 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<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V