Struct vulkano::pipeline::GraphicsPipeline[][src]

pub struct GraphicsPipeline<VertexDefinition, Layout> { /* fields omitted */ }

Defines how the implementation should perform a draw operation.

This object contains the shaders and the various fixed states that describe how the implementation should perform the various operations needed by a draw command.

Implementations

impl GraphicsPipeline<(), ()>[src]

pub fn start<'a>(
) -> GraphicsPipelineBuilder<BufferlessDefinition, EmptyEntryPointDummy, (), EmptyEntryPointDummy, (), EmptyEntryPointDummy, (), EmptyEntryPointDummy, (), EmptyEntryPointDummy, ()>
[src]

Starts the building process of a graphics pipeline. Returns a builder object that you can fill with the various parameters.

impl<Mv, L> GraphicsPipeline<Mv, L>[src]

pub fn vertex_definition(&self) -> &Mv[src]

Returns the vertex definition used in the constructor.

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

Returns the device used to create this pipeline.

impl<Mv, L> GraphicsPipeline<Mv, L> where
    L: PipelineLayoutAbstract
[src]

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

Returns the pipeline layout used in the constructor.

impl<Mv, L> GraphicsPipeline<Mv, L>[src]

pub fn subpass(&self) -> Subpass[src]

Returns the pass used in the constructor.

impl<Mv, L> GraphicsPipeline<Mv, L>[src]

pub fn render_pass(&self) -> &Arc<RenderPass>[src]

Returns the render pass used in the constructor.

pub fn has_dynamic_line_width(&self) -> bool[src]

Returns true if the line width used by this pipeline is dynamic.

pub fn num_viewports(&self) -> u32[src]

Returns the number of viewports and scissors of this pipeline.

pub fn has_dynamic_viewports(&self) -> bool[src]

Returns true if the viewports used by this pipeline are dynamic.

pub fn has_dynamic_scissors(&self) -> bool[src]

Returns true if the scissors used by this pipeline are dynamic.

pub fn has_dynamic_depth_bounds(&self) -> bool[src]

Returns true if the depth bounds used by this pipeline are dynamic.

pub fn has_dynamic_stencil_compare_mask(&self) -> bool[src]

Returns true if the stencil compare masks used by this pipeline are dynamic.

pub fn has_dynamic_stencil_write_mask(&self) -> bool[src]

Returns true if the stencil write masks used by this pipeline are dynamic.

pub fn has_dynamic_stencil_reference(&self) -> bool[src]

Returns true if the stencil references used by this pipeline are dynamic.

Trait Implementations

impl<Mv, L> Debug for GraphicsPipeline<Mv, L>[src]

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl<Mv, L> DeviceOwned for GraphicsPipeline<Mv, L>[src]

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

Returns the device that owns Self.

impl<Mv, L> GraphicsPipelineAbstract for GraphicsPipeline<Mv, L> where
    L: PipelineLayoutAbstract,
    Mv: VertexSource<Vec<Arc<dyn BufferAccess + Send + Sync>>>, 
[src]

fn inner(&self) -> GraphicsPipelineSys<'_>[src]

Returns an opaque object that represents the inside of the graphics pipeline.

fn subpass(&self) -> &Subpass[src]

Returns the subpass this graphics pipeline is rendering to.

fn has_dynamic_line_width(&self) -> bool[src]

Returns true if the line width used by this pipeline is dynamic.

fn num_viewports(&self) -> u32[src]

Returns the number of viewports and scissors of this pipeline.

fn has_dynamic_viewports(&self) -> bool[src]

Returns true if the viewports used by this pipeline are dynamic.

fn has_dynamic_scissors(&self) -> bool[src]

Returns true if the scissors used by this pipeline are dynamic.

fn has_dynamic_depth_bounds(&self) -> bool[src]

Returns true if the depth bounds used by this pipeline are dynamic.

fn has_dynamic_stencil_compare_mask(&self) -> bool[src]

Returns true if the stencil compare masks used by this pipeline are dynamic.

fn has_dynamic_stencil_write_mask(&self) -> bool[src]

Returns true if the stencil write masks used by this pipeline are dynamic.

fn has_dynamic_stencil_reference(&self) -> bool[src]

Returns true if the stencil references used by this pipeline are dynamic.

impl<Mv, L> Hash for GraphicsPipeline<Mv, L> where
    L: PipelineLayoutAbstract,
    Mv: VertexSource<Vec<Arc<dyn BufferAccess + Send + Sync>>>, 
[src]

fn hash<H: Hasher>(&self, state: &mut H)[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl<Mv, L> PartialEq<GraphicsPipeline<Mv, L>> for GraphicsPipeline<Mv, L> where
    L: PipelineLayoutAbstract,
    Mv: VertexSource<Vec<Arc<dyn BufferAccess + Send + Sync>>>, 
[src]

fn eq(&self, other: &Self) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl<Mv, L> PipelineLayoutAbstract for GraphicsPipeline<Mv, L> where
    L: PipelineLayoutAbstract
[src]

fn sys(&self) -> PipelineLayoutSys<'_>[src]

Returns an opaque object that allows internal access to the pipeline layout. Read more

fn descriptor_set_layout(
    &self,
    index: usize
) -> Option<&Arc<UnsafeDescriptorSetLayout>>
[src]

Returns the UnsafeDescriptorSetLayout object of the specified set index. Read more

impl<Mv, L> PipelineLayoutDesc for GraphicsPipeline<Mv, L> where
    L: PipelineLayoutDesc
[src]

fn num_sets(&self) -> usize[src]

Returns the number of sets in the layout. Includes possibly empty sets. Read more

fn num_bindings_in_set(&self, set: usize) -> Option<usize>[src]

Returns the number of descriptors in the set. Includes possibly empty descriptors. Read more

fn descriptor(&self, set: usize, binding: usize) -> Option<DescriptorDesc>[src]

Returns the descriptor for the given binding of the given set. Read more

fn num_push_constants_ranges(&self) -> usize[src]

Returns the number of push constant ranges of the layout.

fn push_constants_range(&self, num: usize) -> Option<PipelineLayoutDescPcRange>[src]

Returns a description of the given push constants range. Read more

fn provided_set_layout(
    &self,
    _set: usize
) -> Option<Arc<UnsafeDescriptorSetLayout>>
[src]

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
[src]

Builds the union of this layout and another.

fn check_against_limits(
    &self,
    device: &Device
) -> Result<(), PipelineLayoutLimitsError>
[src]

Checks whether this description fulfills the device limits requirements.

fn build(
    self,
    device: Arc<Device>
) -> Result<PipelineLayout<Self>, PipelineLayoutCreationError> where
    Self: Sized
[src]

Turns the layout description into a PipelineLayout object that can be used by Vulkan. Read more

impl<Mv, L, I> VertexDefinition<I> for GraphicsPipeline<Mv, L> where
    Mv: VertexDefinition<I>, 
[src]

type BuffersIter = <Mv as VertexDefinition<I>>::BuffersIter

Iterator that returns the offset, the stride (in bytes) and input rate of each buffer.

type AttribsIter = <Mv as VertexDefinition<I>>::AttribsIter

Iterator that returns the attribute location, buffer id, and infos.

fn definition(
    &self,
    interface: &I
) -> Result<(Self::BuffersIter, Self::AttribsIter), IncompatibleVertexDefinitionError>
[src]

Builds the vertex definition to use to link this definition to a vertex shader’s input interface. Read more

impl<Mv, L, S> VertexSource<S> for GraphicsPipeline<Mv, L> where
    Mv: VertexSource<S>, 
[src]

fn decode(
    &self,
    s: S
) -> (Vec<Box<dyn BufferAccess + Send + Sync>>, usize, usize)
[src]

Checks and returns the list of buffers with offsets, number of vertices and number of instances.

impl<Mv, L> VulkanObject for GraphicsPipeline<Mv, L>[src]

type Object = Pipeline

The type of the object.

const TYPE: ObjectType[src]

The ObjectType of the internal Vulkan handle.

fn internal_object(&self) -> Pipeline[src]

Returns a reference to the object.

impl<Mv, L> Eq for GraphicsPipeline<Mv, L> where
    L: PipelineLayoutAbstract,
    Mv: VertexSource<Vec<Arc<dyn BufferAccess + Send + Sync>>>, 
[src]

Auto Trait Implementations

impl<VertexDefinition, Layout> RefUnwindSafe for GraphicsPipeline<VertexDefinition, Layout> where
    Layout: RefUnwindSafe,
    VertexDefinition: RefUnwindSafe

impl<VertexDefinition, Layout> Send for GraphicsPipeline<VertexDefinition, Layout> where
    Layout: Send,
    VertexDefinition: Send

impl<VertexDefinition, Layout> Sync for GraphicsPipeline<VertexDefinition, Layout> where
    Layout: Sync,
    VertexDefinition: Sync

impl<VertexDefinition, Layout> Unpin for GraphicsPipeline<VertexDefinition, Layout> where
    Layout: Unpin,
    VertexDefinition: Unpin

impl<VertexDefinition, Layout> UnwindSafe for GraphicsPipeline<VertexDefinition, Layout> where
    Layout: UnwindSafe,
    VertexDefinition: UnwindSafe

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Content for T[src]

pub fn ref_from_ptr(*mut c_void, usize) -> Option<*mut T>[src]

Builds a pointer to this type from a raw pointer.

pub fn is_size_suitable(usize) -> bool[src]

Returns true if the size is suitable to store a type like this.

pub fn indiv_size() -> usize[src]

Returns the size of an individual element.

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.