pub struct Pipeline<'a, B> where
B: ?Sized + PipelineBase, { /* private fields */ }
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
sourceimpl<'a, B> Pipeline<'a, B> where
B: PipelineBase,
impl<'a, B> Pipeline<'a, B> where
B: PipelineBase,
sourcepub 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.
sourcepub fn bind_shader_data<T>(
&'a self,
shader_data: &'a mut ShaderData<B, T>
) -> Result<BoundShaderData<'a, B, T>, PipelineError> where
B: PipelineShaderData<T>,
pub fn bind_shader_data<T>(
&'a self,
shader_data: &'a mut ShaderData<B, T>
) -> Result<BoundShaderData<'a, B, T>, PipelineError> where
B: PipelineShaderData<T>,
Bind a shader data.
Once the shader data is bound, the BoundShaderData
object has to be dropped / die in order to bind the shader
data 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>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more