Struct vulkano::pipeline::ComputePipeline
[−]
[src]
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.
Methods
impl ComputePipeline<()>
[src]
fn new<Css, Csl>(
device: Arc<Device>,
shader: &ComputeShaderEntryPoint<Css, Csl>,
specialization: &Css
) -> Result<ComputePipeline<PipelineLayout<Csl>>, ComputePipelineCreationError> where
Csl: PipelineLayoutDescNames + Clone,
Css: SpecializationConstants,
device: Arc<Device>,
shader: &ComputeShaderEntryPoint<Css, Csl>,
specialization: &Css
) -> Result<ComputePipeline<PipelineLayout<Csl>>, ComputePipelineCreationError> where
Csl: PipelineLayoutDescNames + Clone,
Css: SpecializationConstants,
Builds a new ComputePipeline
.
impl<Pl> ComputePipeline<Pl>
[src]
fn with_pipeline_layout<Css, Csl>(
device: Arc<Device>,
shader: &ComputeShaderEntryPoint<Css, Csl>,
specialization: &Css,
pipeline_layout: Pl
) -> Result<ComputePipeline<Pl>, ComputePipelineCreationError> where
Csl: PipelineLayoutDescNames + Clone,
Css: SpecializationConstants,
Pl: PipelineLayoutAbstract,
device: Arc<Device>,
shader: &ComputeShaderEntryPoint<Css, Csl>,
specialization: &Css,
pipeline_layout: Pl
) -> Result<ComputePipeline<Pl>, ComputePipelineCreationError> where
Csl: PipelineLayoutDescNames + Clone,
Css: SpecializationConstants,
Pl: PipelineLayoutAbstract,
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.
unsafe fn with_unchecked_pipeline_layout<Css, Csl>(
device: Arc<Device>,
shader: &ComputeShaderEntryPoint<Css, Csl>,
specialization: &Css,
pipeline_layout: Pl
) -> Result<ComputePipeline<Pl>, ComputePipelineCreationError> where
Csl: PipelineLayoutDescNames + Clone,
Css: SpecializationConstants,
Pl: PipelineLayoutAbstract,
device: Arc<Device>,
shader: &ComputeShaderEntryPoint<Css, Csl>,
specialization: &Css,
pipeline_layout: Pl
) -> Result<ComputePipeline<Pl>, ComputePipelineCreationError> where
Csl: PipelineLayoutDescNames + Clone,
Css: SpecializationConstants,
Pl: PipelineLayoutAbstract,
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]
fn device(&self) -> &Arc<Device>
Returns the Device
this compute pipeline was created with.
fn layout(&self) -> &Pl
Returns the pipeline layout used in this compute pipeline.
Trait Implementations
impl<Pl> Debug for ComputePipeline<Pl>
[src]
fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter.
impl<Pl> ComputePipelineAbstract for ComputePipeline<Pl> where
Pl: PipelineLayoutAbstract,
[src]
Pl: PipelineLayoutAbstract,
fn inner(&self) -> ComputePipelineSys
Returns an opaque object that represents the inside of the compute pipeline.
impl<Pl> PipelineLayoutAbstract for ComputePipeline<Pl> where
Pl: PipelineLayoutAbstract,
[src]
Pl: PipelineLayoutAbstract,
fn sys(&self) -> PipelineLayoutSys
Returns an opaque object that allows internal access to the pipeline layout. Read more
fn descriptor_set_layout(
&self,
index: usize
) -> Option<&Arc<UnsafeDescriptorSetLayout>>
&self,
index: usize
) -> Option<&Arc<UnsafeDescriptorSetLayout>>
Returns the UnsafeDescriptorSetLayout
object of the specified set index. Read more
impl<Pl> PipelineLayoutDesc for ComputePipeline<Pl> where
Pl: PipelineLayoutDesc,
[src]
Pl: PipelineLayoutDesc,
fn num_sets(&self) -> usize
Returns the number of sets in the layout. Includes possibly empty sets. Read more
fn num_bindings_in_set(&self, set: usize) -> Option<usize>
Returns the number of descriptors in the set. Includes possibly empty descriptors. Read more
fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>
Returns the descriptor for the given binding of the given set. Read more
fn num_push_constants_ranges(&self) -> usize
Returns the number of push constant ranges of the layout.
fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>
Returns a description of the given push constants range. Read more
fn provided_set_layout(
&self,
set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
&self,
set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
If the PipelineLayoutDesc
implementation is able to provide an existing UnsafeDescriptorSetLayout
for a given set, it can do so by returning it here. Read more
fn union<T>(self, other: T) -> PipelineLayoutDescUnion<Self, T> where
Self: Sized,
Self: Sized,
Builds the union of this layout and another.
fn build(
self,
device: Arc<Device>
) -> Result<PipelineLayout<Self>, PipelineLayoutCreationError> where
Self: Sized,
self,
device: Arc<Device>
) -> Result<PipelineLayout<Self>, PipelineLayoutCreationError> where
Self: Sized,
Turns the layout description into a PipelineLayout
object that can be used by Vulkan. Read more
impl<Pl> PipelineLayoutDescNames for ComputePipeline<Pl> where
Pl: PipelineLayoutDescNames,
[src]
Pl: PipelineLayoutDescNames,
fn descriptor_by_name(&self, name: &str) -> Option<(usize, usize)>
Returns the set ID and descriptor ID within set of the descriptor with the given name. Read more
impl<Pl> DeviceOwned for ComputePipeline<Pl>
[src]
impl<Pl> VulkanObject for ComputePipeline<Pl>
[src]
type Object = Pipeline
The type of the object.
fn internal_object(&self) -> Pipeline
Returns a reference to the object.