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,
) -> Result<Self::Representation, CompilationError>
fn compile( &mut self, kernel: KernelDefinition, compilation_options: &Self::CompilationOptions, ) -> 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,
definition: KernelDefinition,
) -> Result<CompiledKernel<Self>, CompilationError>
fn compile_kernel( &mut self, server: &mut WgpuServer<AutoCompiler>, kernel: <WgpuServer<AutoCompiler> as ComputeServer>::Kernel, definition: KernelDefinition, ) -> 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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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