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

pub struct GraphicsPipeline<VertexDefinition, Layout, RenderP> { /* 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.

Methods

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

[src]

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

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

[src]

Returns the vertex definition used in the constructor.

[src]

Returns the device used to create this pipeline.

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

[src]

Returns the pipeline layout used in the constructor.

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

[src]

Returns the pass used in the constructor.

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

[src]

Returns the render pass used in the constructor.

[src]

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

[src]

Returns the number of viewports and scissors of this pipeline.

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

Trait Implementations

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

[src]

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

[src]

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

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

[src]

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

[src]

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

[src]

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

[src]

Returns the number of push constant ranges of the layout.

[src]

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

[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

[src]

Builds the union of this layout and another.

[src]

Checks whether this description fulfills the device limits requirements.

[src]

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

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

[src]

Returns the device that owns Self.

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

[src]

Formats the value using the given formatter. Read more

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

[src]

Returns an opaque object representing the render pass' internals. Read more

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

[src]

Returns the number of attachments of the render pass.

[src]

Returns the description of an attachment. Read more

[src]

Returns the number of subpasses of the render pass.

[src]

Returns the description of a subpass. Read more

[src]

Returns the number of dependencies of the render pass.

[src]

Returns the description of a dependency. Read more

Important traits for RenderPassDescAttachments<'a, R>
[src]

Returns an iterator to the list of attachments.

Important traits for RenderPassDescSubpasses<'a, R>
[src]

Returns an iterator to the list of subpasses.

Important traits for RenderPassDescDependencies<'a, R>
[src]

Returns an iterator to the list of dependencies.

[src]

Returns true if this render pass is compatible with another render pass. Read more

[src]

Builds a render pass from this description. Read more

[src]

Returns the number of color attachments of a subpass. Returns None if out of range.

[src]

Returns the number of samples of the attachments of a subpass. Returns None if out of range or if the subpass has no attachment. TODO: return an enum instead? Read more

[src]

Returns a tuple whose first element is true if there's a depth attachment, and whose second element is true if there's a stencil attachment. Returns None if out of range. Read more

[src]

Returns true if a subpass has a depth attachment or a depth-stencil attachment.

[src]

Returns true if a subpass has a depth attachment or a depth-stencil attachment whose layout is not DepthStencilReadOnlyOptimal. Read more

[src]

Returns true if a subpass has a stencil attachment or a depth-stencil attachment.

[src]

Returns true if a subpass has a stencil attachment or a depth-stencil attachment whose layout is not DepthStencilReadOnlyOptimal. Read more

impl<C, Mv, L, Rp> RenderPassDescClearValues<C> for GraphicsPipeline<Mv, L, Rp> where
    Rp: RenderPassDescClearValues<C>, 
[src]

[src]

Decodes a C into a list of clear values where each element corresponds to an attachment. The size of the returned iterator must be the same as the number of attachments. Read more

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

The type of the object.

TYPE: DebugReportObjectTypeEXT = vk::DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT

The DebugReportObjectTypeEXT of the internal Vulkan handle.

[src]

Returns a reference to the object.

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

[src]

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

[src]

Returns the index of the subpass this graphics pipeline is rendering to.

[src]

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

[src]

Returns the number of viewports and scissors of this pipeline.

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

Returns the subpass this graphics pipeline is rendering to.

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

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

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

[src]

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

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

[src]

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

Auto Trait Implementations

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

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