pub enum AutoCompiler {
Wgsl(WgslCompiler),
}Expand description
Compiler that dispatches to the most appropriate shader language backend for the active
wgpu backend.
The variant is selected at runtime by WgpuCompiler::init based on the wgpu::Backend
in use and the enabled cargo features (spirv, msl).
Variants§
Wgsl(WgslCompiler)
WGSL backend, available on every wgpu backend.
Trait Implementations§
Source§impl Clone for AutoCompiler
impl Clone for AutoCompiler
Source§fn clone(&self) -> AutoCompiler
fn clone(&self) -> AutoCompiler
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 Compiler for AutoCompiler
impl Compiler for AutoCompiler
Source§type Representation = AutoRepresentation
type Representation = AutoRepresentation
The representation for the compiled code.
Source§type CompilationOptions = WgpuCompilationOptions
type CompilationOptions = WgpuCompilationOptions
The compilation options used to configure the compiler
Source§fn compile(
&mut self,
kernel: KernelDefinition,
compilation_options: &Self::CompilationOptions,
mode: ExecutionMode,
addr_type: StorageType,
) -> Result<Self::Representation, CompilationError>
fn compile( &mut self, kernel: KernelDefinition, compilation_options: &Self::CompilationOptions, mode: ExecutionMode, addr_type: StorageType, ) -> Result<Self::Representation, CompilationError>
Compiles the kernel definition into the compiler’s representation.
Source§impl Debug for AutoCompiler
impl Debug for AutoCompiler
Source§impl WgpuCompiler for AutoCompiler
impl WgpuCompiler for AutoCompiler
Source§fn init(backend: Backend, options: &WgpuCompilationOptions) -> Self
fn init(backend: Backend, options: &WgpuCompilationOptions) -> Self
Build the compiler instance appropriate for the given
wgpu backend. Read moreSource§fn compile_kernel(
&mut self,
server: &mut WgpuServer<AutoCompiler>,
kernel: <WgpuServer<AutoCompiler> as ComputeServer>::Kernel,
mode: ExecutionMode,
) -> Result<CompiledKernel<Self>, CompilationError>
fn compile_kernel( &mut self, server: &mut WgpuServer<AutoCompiler>, kernel: <WgpuServer<AutoCompiler> as ComputeServer>::Kernel, mode: ExecutionMode, ) -> Result<CompiledKernel<Self>, CompilationError>
Compile a runtime kernel into a
CompiledKernel ready for pipeline creation. Read moreSource§fn lang_tag(&self) -> &'static str
fn lang_tag(&self) -> &'static str
Short identifier of the shader language produced by this compiler (e.g.
"wgsl"). Read moreSource§fn validate_ir(
&self,
repr: &Option<Self::Representation>,
props: &DeviceProperties,
) -> Result<(), LaunchError>
fn validate_ir( &self, repr: &Option<Self::Representation>, props: &DeviceProperties, ) -> Result<(), LaunchError>
Validate that the compiled representation fits within the device’s resource limits. Read more
Source§fn normalize_repr(
&self,
repr: Option<Self::Representation>,
) -> (CompilerInfo, Option<AutoRepresentation>)
fn normalize_repr( &self, repr: Option<Self::Representation>, ) -> (CompilerInfo, Option<AutoRepresentation>)
Normalize the backend-specific representation into the
AutoRepresentation shared
by every wgpu compiler, and report the CompilerInfo derived from it. Read moreAuto Trait Implementations§
impl Freeze for AutoCompiler
impl RefUnwindSafe for AutoCompiler
impl Send for AutoCompiler
impl Sync for AutoCompiler
impl Unpin for AutoCompiler
impl UnsafeUnpin for AutoCompiler
impl UnwindSafe for AutoCompiler
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneExpand for Twhere
T: Clone,
impl<T> CloneExpand for Twhere
T: Clone,
fn __expand_clone_method(&self, _: &Scope) -> 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>
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