pub struct CapabilityMatrix {
pub host_backend: InteropBackend,
pub gl_framebuffer_source: CapabilityStatus,
pub vulkan_external_image: CapabilityStatus,
pub metal_texture_ref: CapabilityStatus,
pub dx12_shared_texture: CapabilityStatus,
}Expand description
Reports which frame types can be imported on the current device and backend.
Obtain via HostWgpuContext::capabilities or
CapabilityMatrix::for_backend. Use this before attempting an import to
give the user an early, descriptive error rather than a runtime failure.
Fields§
§host_backend: InteropBackendThe backend detected on the host wgpu device.
gl_framebuffer_source: CapabilityStatusGL framebuffer import (the primary path — Linux Vulkan, Apple Metal).
vulkan_external_image: CapabilityStatusDirect Vulkan external image import. Not yet implemented.
metal_texture_ref: CapabilityStatusDirect Metal texture reference import. Not yet implemented.
D3D12 shared texture import. Not yet implemented.
Implementations§
Source§impl CapabilityMatrix
impl CapabilityMatrix
pub fn for_backend(host_backend: InteropBackend) -> Self
Trait Implementations§
Source§impl Clone for CapabilityMatrix
impl Clone for CapabilityMatrix
Source§fn clone(&self) -> CapabilityMatrix
fn clone(&self) -> CapabilityMatrix
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CapabilityMatrix
impl Debug for CapabilityMatrix
Source§impl PartialEq for CapabilityMatrix
impl PartialEq for CapabilityMatrix
Source§fn eq(&self, other: &CapabilityMatrix) -> bool
fn eq(&self, other: &CapabilityMatrix) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for CapabilityMatrix
impl StructuralPartialEq for CapabilityMatrix
Auto Trait Implementations§
impl Freeze for CapabilityMatrix
impl RefUnwindSafe for CapabilityMatrix
impl Send for CapabilityMatrix
impl Sync for CapabilityMatrix
impl Unpin for CapabilityMatrix
impl UnsafeUnpin for CapabilityMatrix
impl UnwindSafe for CapabilityMatrix
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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 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>
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