Enum EMCompute::GPUComputingBackend
source · #[repr(C)]pub enum GPUComputingBackend {
all = 0,
default_backend = 1,
vulkan = 2,
opengl = 3,
metal = 4,
direct_x12 = 5,
webgpu = 6,
highest_support = 7,
lowest_support = 8,
}Expand description
EMCompute v1.0.0 changes to the api :
- adding GPUComputingBackend , GPUPowerSettings , GPUSpeedSettings GPUMemorySettings enums to make configuration easier for C API better
- adding GPUComputingConfig which will be part CKernel struct
- from now user must sort the data based on the group of them in wgsl code for more performance
NOTE : on linux machines memory leak might happen if you use vulkan backend until NVIDIA drivers for linux get fixed .
computing backends of the api
Variants§
all = 0
targets all of the backends
default_backend = 1
default backend
vulkan = 2
Supported on Windows, Linux/Android, and macOS/iOS via Vulkan Portability (with the Vulkan feature enabled)
opengl = 3
Supported on Linux/Android, the web through webassembly via WebGL, and Windows and macOS/iOS via ANGLE
metal = 4
MacOS & iOS only
direct_x12 = 5
Windows +10 only
webgpu = 6
browser WebGPU
highest_support = 7
targets VULKAN METALDX12 BROWSER_WEBGPU
lowest_support = 8
targets OpenGL backend
Trait Implementations§
source§impl Clone for GPUComputingBackend
impl Clone for GPUComputingBackend
source§fn clone(&self) -> GPUComputingBackend
fn clone(&self) -> GPUComputingBackend
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for GPUComputingBackend
impl RefUnwindSafe for GPUComputingBackend
impl Send for GPUComputingBackend
impl Sync for GPUComputingBackend
impl Unpin for GPUComputingBackend
impl UnwindSafe for GPUComputingBackend
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)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