pub struct WgslCompiler;Expand description
Wgsl Compiler.
Trait Implementations§
Source§impl Clone for WgslCompiler
impl Clone for WgslCompiler
Source§impl Compiler for WgslCompiler
impl Compiler for WgslCompiler
Source§type Representation = ComputeShader
type Representation = ComputeShader
The representation for the compiled code.
Source§type CompilationOptions = WgpuCompilationOptions
type CompilationOptions = WgpuCompilationOptions
The compilation options used to configure the compiler
Source§fn buffer_io(repr: &Self::Representation) -> Option<Vec<BufferIOAttr>>
fn buffer_io(repr: &Self::Representation) -> Option<Vec<BufferIOAttr>>
What the compiled kernel does with each buffer binding, by buffer
position — the visibility analysis’s answer, when the representation
kept it (see
BufferIOAttr). Read moreSource§fn compile(
&mut self,
shader: KernelDefinition,
compilation_options: &Self::CompilationOptions,
) -> Result<Self::Representation, CompilationError>
fn compile( &mut self, shader: KernelDefinition, compilation_options: &Self::CompilationOptions, ) -> Result<Self::Representation, CompilationError>
Compiles the kernel definition into the compiler’s representation.
Source§impl Debug for WgslCompiler
impl Debug for WgslCompiler
Source§impl Default for WgslCompiler
impl Default for WgslCompiler
Source§impl WgpuCompiler for WgslCompiler
impl WgpuCompiler for WgslCompiler
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<Self>,
kernel: Box<dyn CubeKernel>,
definition: KernelDefinition,
) -> Result<CompiledKernel<Self>, CompilationError>
fn compile_kernel( &mut self, server: &mut WgpuServer<Self>, kernel: Box<dyn CubeKernel>, definition: KernelDefinition, ) -> Result<CompiledKernel<Self>, CompilationError>
Compile a runtime kernel into a
CompiledKernel ready for pipeline creation. 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 WgslCompiler
impl RefUnwindSafe for WgslCompiler
impl Send for WgslCompiler
impl Sync for WgslCompiler
impl Unpin for WgslCompiler
impl UnsafeUnpin for WgslCompiler
impl UnwindSafe for WgslCompiler
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
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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