Class GraphicsPipeline

Class Documentation

class GraphicsPipeline

RAII wrapper for graphics pipelines.

Public Functions

GraphicsPipeline(const Device &device, const PipelineCache &pipeline_cache, std::span<const VkDescriptorSetLayout> descriptor_set_layouts, std::span<const VkPushConstantRange> push_constant_ranges, VkGraphicsPipelineCreateInfo pipeline_ci, std::string name)

Default constructor

Parameters:
  • device – The device wrapper

  • pipeline_cache – The Vulkan pipeline cache

  • descriptor_set_layouts – The descriptor set layouts in the pipeline layout

  • push_constant_ranges – The push constant ranges in the pipeline layout

  • pipeline_ci – The pipeline create info

  • name – The internal debug name of the graphics pipeline

GraphicsPipeline(const GraphicsPipeline&) = delete
GraphicsPipeline(GraphicsPipeline&&) noexcept
~GraphicsPipeline()

Call vkDestroyPipeline.

GraphicsPipeline &operator=(const GraphicsPipeline&) = delete
GraphicsPipeline &operator=(GraphicsPipeline&&) = delete
inline auto pipeline() const
inline auto pipeline_layout() const

Private Members

const Device &m_device
std::string m_name
VkPipeline m_pipeline
std::unique_ptr<PipelineLayout> m_pipeline_layout

Friends

friend class commands::CommandBuffer
friend class render_graph::RenderGraph