Struct luminance::pipeline::Pipeline [−][src]
pub struct Pipeline<'a, B: ?Sized> where
B: PipelineBase, { /* fields omitted */ }
Expand description
A GPU pipeline handle.
A Pipeline
is a special object that is provided as soon as one enters a PipelineGate
.
It is used to dynamically modify the behavior of the running graphics pipeline. That includes,
for instance, obtaining bound resources, like buffers and textures, for subsequent uses in
shader stages.
Parametricity
B
is the backend type. It must implementPipelineBase
.
Implementations
pub fn bind_buffer<T>(
&'a self,
buffer: &'a mut Buffer<B, T>
) -> Result<BoundBuffer<'a, B, T>, PipelineError> where
B: PipelineBuffer<T>,
T: Copy,
pub fn bind_buffer<T>(
&'a self,
buffer: &'a mut Buffer<B, T>
) -> Result<BoundBuffer<'a, B, T>, PipelineError> where
B: PipelineBuffer<T>,
T: Copy,
Bind a buffer.
Once the buffer is bound, the BoundBuffer
object has to be dropped / die in order to
bind the buffer again.
pub fn bind_texture<D, P>(
&'a self,
texture: &'a mut Texture<B, D, P>
) -> Result<BoundTexture<'a, B, D, P>, PipelineError> where
B: PipelineTexture<D, P>,
D: Dimensionable,
P: Pixel,
pub fn bind_texture<D, P>(
&'a self,
texture: &'a mut Texture<B, D, P>
) -> Result<BoundTexture<'a, B, D, P>, PipelineError> where
B: PipelineTexture<D, P>,
D: Dimensionable,
P: Pixel,
Bind a texture.
Once the texture is bound, the BoundTexture
object has to be dropped / die in order to
bind the texture again.
Auto Trait Implementations
impl<'a, B: ?Sized> RefUnwindSafe for Pipeline<'a, B> where
<B as PipelineBase>::PipelineRepr: RefUnwindSafe,
impl<'a, B: ?Sized> Send for Pipeline<'a, B> where
<B as PipelineBase>::PipelineRepr: Send,
impl<'a, B: ?Sized> Sync for Pipeline<'a, B> where
<B as PipelineBase>::PipelineRepr: Sync,
impl<'a, B: ?Sized> Unpin for Pipeline<'a, B> where
<B as PipelineBase>::PipelineRepr: Unpin,
impl<'a, B> !UnwindSafe for Pipeline<'a, B>