pub trait ViewLayoutLaunchArg:
CubeType
+ Send
+ Sync
+ 'static {
type RuntimeArg<R: Runtime>: Send + Sync;
type CompilationArg: CompilationArg;
// Required methods
fn register<R: Runtime, B: BufferArg>(
arg: Self::RuntimeArg<R>,
buffer: &B,
ty: Type,
launcher: &mut KernelLauncher<R>,
) -> Self::CompilationArg;
fn expand(
arg: &Self::CompilationArg,
ty: Type,
builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType;
// Provided method
fn expand_output(
arg: &Self::CompilationArg,
ty: Type,
builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType { ... }
}Expand description
Special launch arg that gets the handle and types of the view, to allow inferring launch
state based on type/handle metadata, avoiding duplication. All LaunchArgs also implement
this trait.
Required Associated Types§
Sourcetype RuntimeArg<R: Runtime>: Send + Sync
type RuntimeArg<R: Runtime>: Send + Sync
The runtime argument for the kernel.
Sourcetype CompilationArg: CompilationArg
type CompilationArg: CompilationArg
Compilation argument.
Required Methods§
fn register<R: Runtime, B: BufferArg>( arg: Self::RuntimeArg<R>, buffer: &B, ty: Type, launcher: &mut KernelLauncher<R>, ) -> Self::CompilationArg
Sourcefn expand(
arg: &Self::CompilationArg,
ty: Type,
builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
fn expand( arg: &Self::CompilationArg, ty: Type, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an input variable during compilation that fill the KernelBuilder.
Provided Methods§
Sourcefn expand_output(
arg: &Self::CompilationArg,
ty: Type,
builder: &mut KernelBuilder,
) -> <Self as CubeType>::ExpandType
fn expand_output( arg: &Self::CompilationArg, ty: Type, builder: &mut KernelBuilder, ) -> <Self as CubeType>::ExpandType
Register an output variable during compilation that fill the KernelBuilder.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.