pub enum DeviceFeature {
Show 30 variants
DoublePrecision,
HalfPrecision,
UnifiedMemory,
AtomicOperations,
SubGroups,
Printf,
Profiling,
PeerToPeer,
ConcurrentExecution,
AsyncMemory,
ImageSupport,
FastMath,
TimestampQuery,
TimestampQueryInsideEncoders,
PipelineStatistics,
MappableBuffers,
BufferArrays,
StorageArrays,
UnsizedBindingArray,
IndirectFirstInstance,
ShaderF16,
ShaderI16,
ShaderPrimitiveIndex,
ShaderEarlyDepthTest,
MultiDrawIndirect,
MultiDrawIndirectCount,
Multisampling,
ClearTexture,
SpirvShaderPassthrough,
Custom(String),
}Expand description
Device features and capabilities
Variants§
DoublePrecision
Supports double precision floating point
HalfPrecision
Supports half precision floating point
UnifiedMemory
Supports unified memory between host and device
AtomicOperations
Supports atomic operations
SubGroups
Supports sub-groups/warps
Printf
Supports printf in kernels
Profiling
Supports profiling and debugging
PeerToPeer
Supports peer-to-peer memory access
ConcurrentExecution
Supports concurrent kernel execution
AsyncMemory
Supports asynchronous memory operations
ImageSupport
Supports texture/image operations
FastMath
Supports fast math optimizations
TimestampQuery
Supports timestamp queries for performance measurement
TimestampQueryInsideEncoders
Supports timestamp queries inside encoders
PipelineStatistics
Supports pipeline statistics queries
MappableBuffers
Supports mappable primary buffers
BufferArrays
Supports buffer binding arrays
StorageArrays
Supports storage resource binding arrays
UnsizedBindingArray
Supports unsized binding arrays
IndirectFirstInstance
Supports indirect first instance parameter
ShaderF16
Supports 16-bit floating point in shaders
ShaderI16
Supports 16-bit integers in shaders
ShaderPrimitiveIndex
Supports shader primitive index
ShaderEarlyDepthTest
Supports early depth test in shaders
MultiDrawIndirect
Supports multi-draw indirect
MultiDrawIndirectCount
Supports multi-draw indirect with count
Multisampling
Supports multisampled shading
ClearTexture
Supports texture clear operations
SpirvShaderPassthrough
Supports SPIR-V shader passthrough
Custom(String)
Custom vendor-specific feature
Trait Implementations§
Source§impl Clone for DeviceFeature
impl Clone for DeviceFeature
Source§fn clone(&self) -> DeviceFeature
fn clone(&self) -> DeviceFeature
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DeviceFeature
impl Debug for DeviceFeature
Source§impl Hash for DeviceFeature
impl Hash for DeviceFeature
Source§impl PartialEq for DeviceFeature
impl PartialEq for DeviceFeature
impl Eq for DeviceFeature
impl StructuralPartialEq for DeviceFeature
Auto Trait Implementations§
impl Freeze for DeviceFeature
impl RefUnwindSafe for DeviceFeature
impl Send for DeviceFeature
impl Sync for DeviceFeature
impl Unpin for DeviceFeature
impl UnsafeUnpin for DeviceFeature
impl UnwindSafe for DeviceFeature
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,
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