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".