[][src]Struct vulkano::pipeline::ComputePipeline

pub struct ComputePipeline<Pl> { /* fields omitted */ }

A pipeline object that describes to the Vulkan implementation how it should perform compute operations.

The template parameter contains the descriptor set to use with this pipeline.

All compute pipeline objects implement the ComputePipelineAbstract trait. You can turn any Arc<ComputePipeline<Pl>> into an Arc<ComputePipelineAbstract> if necessary.

Pass an optional Arc to a PipelineCache to enable pipeline caching. The vulkan implementation will handle the PipelineCache and check if it is available. Check the documentation of the PipelineCache for more information.

Implementations

impl ComputePipeline<()>[src]

pub fn new<Cs>(
    device: Arc<Device>,
    shader: &Cs,
    specialization: &Cs::SpecializationConstants,
    cache: Option<Arc<PipelineCache>>
) -> Result<ComputePipeline<PipelineLayout<Cs::PipelineLayout>>, ComputePipelineCreationError> where
    Cs::PipelineLayout: Clone,
    Cs: EntryPointAbstract
[src]

Builds a new ComputePipeline.

impl<Pl> ComputePipeline<Pl>[src]

pub fn with_pipeline_layout<Cs>(
    device: Arc<Device>,
    shader: &Cs,
    specialization: &Cs::SpecializationConstants,
    pipeline_layout: Pl,
    cache: Option<Arc<PipelineCache>>
) -> Result<ComputePipeline<Pl>, ComputePipelineCreationError> where
    Cs::PipelineLayout: Clone,
    Cs: EntryPointAbstract,
    Pl: PipelineLayoutAbstract
[src]

Builds a new ComputePipeline with a specific pipeline layout.

An error will be returned if the pipeline layout isn't a superset of what the shader uses.

pub unsafe fn with_unchecked_pipeline_layout<Cs>(
    device: Arc<Device>,
    shader: &Cs,
    specialization: &Cs::SpecializationConstants,
    pipeline_layout: Pl,
    cache: Option<Arc<PipelineCache>>
) -> Result<ComputePipeline<Pl>, ComputePipelineCreationError> where
    Cs::PipelineLayout: Clone,
    Cs: EntryPointAbstract,
    Pl: PipelineLayoutAbstract
[src]

Same as with_pipeline_layout, but doesn't check whether the pipeline layout is a superset of what the shader expects.

impl<Pl> ComputePipeline<Pl>[src]

pub fn device(&self) -> &Arc<Device>[src]

Returns the Device this compute pipeline was created with.

pub fn layout(&self) -> &Pl[src]

Returns the pipeline layout used in this compute pipeline.

Trait Implementations

impl<Pl> ComputePipelineAbstract for ComputePipeline<Pl> where
    Pl: PipelineLayoutAbstract
[src]

impl<Pl> Debug for ComputePipeline<Pl>[src]

impl<Pl> DeviceOwned for ComputePipeline<Pl>[src]

impl<Pl> PipelineLayoutAbstract for ComputePipeline<Pl> where
    Pl: PipelineLayoutAbstract
[src]

impl<Pl> PipelineLayoutDesc for ComputePipeline<Pl> where
    Pl: PipelineLayoutDesc
[src]

impl<Pl> VulkanObject for ComputePipeline<Pl>[src]

type Object = Pipeline

The type of the object.

Auto Trait Implementations

impl<Pl> RefUnwindSafe for ComputePipeline<Pl> where
    Pl: RefUnwindSafe
[src]

impl<Pl> Send for ComputePipeline<Pl> where
    Pl: Send
[src]

impl<Pl> Sync for ComputePipeline<Pl> where
    Pl: Sync
[src]

impl<Pl> Unpin for ComputePipeline<Pl> where
    Pl: Unpin
[src]

impl<Pl> UnwindSafe for ComputePipeline<Pl> where
    Pl: UnwindSafe
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Content for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.