Lugdunum  0.1.0
Public Member Functions | Private Attributes | List of all members
lug::Graphics::Vulkan::API::Builder::PipelineLayout Class Reference

#include <PipelineLayout.hpp>

Collaboration diagram for lug::Graphics::Vulkan::API::Builder::PipelineLayout:
[legend]

Public Member Functions

 PipelineLayout (const API::Device &device)
 
 PipelineLayout (const PipelineLayout &)=delete
 
 PipelineLayout (PipelineLayout &&)=delete
 
PipelineLayoutoperator= (const PipelineLayout &)=delete
 
PipelineLayoutoperator= (PipelineLayout &&)=delete
 
 ~PipelineLayout ()=default
 
void setPushConstants (const std::vector< VkPushConstantRange > &pushConstants)
 
void setDescriptorSetLayouts (std::vector< API::DescriptorSetLayout > descriptorSetLayouts)
 
bool build (API::PipelineLayout &instance, VkResult *returnResult=nullptr)
 
std::unique_ptr< API::PipelineLayoutbuild (VkResult *returnResult=nullptr)
 

Private Attributes

const API::Device_device
 
std::vector< VkPushConstantRange > _pushConstants {}
 
std::vector< API::DescriptorSetLayout_descriptorSetLayouts {}
 

Detailed Description

Definition at line 17 of file PipelineLayout.hpp.

Constructor & Destructor Documentation

◆ PipelineLayout() [1/3]

lug::Graphics::Vulkan::API::Builder::PipelineLayout::PipelineLayout ( const API::Device device)

Definition at line 13 of file PipelineLayout.cpp.

◆ PipelineLayout() [2/3]

lug::Graphics::Vulkan::API::Builder::PipelineLayout::PipelineLayout ( const PipelineLayout )
delete

◆ PipelineLayout() [3/3]

lug::Graphics::Vulkan::API::Builder::PipelineLayout::PipelineLayout ( PipelineLayout &&  )
delete

◆ ~PipelineLayout()

lug::Graphics::Vulkan::API::Builder::PipelineLayout::~PipelineLayout ( )
default

Member Function Documentation

◆ operator=() [1/2]

PipelineLayout& lug::Graphics::Vulkan::API::Builder::PipelineLayout::operator= ( const PipelineLayout )
delete

◆ operator=() [2/2]

PipelineLayout& lug::Graphics::Vulkan::API::Builder::PipelineLayout::operator= ( PipelineLayout &&  )
delete

◆ setPushConstants()

void PipelineLayout::setPushConstants ( const std::vector< VkPushConstantRange > &  pushConstants)
inline

Definition at line 1 of file PipelineLayout.inl.

◆ setDescriptorSetLayouts()

void PipelineLayout::setDescriptorSetLayouts ( std::vector< API::DescriptorSetLayout descriptorSetLayouts)
inline

Definition at line 5 of file PipelineLayout.inl.

◆ build() [1/2]

bool lug::Graphics::Vulkan::API::Builder::PipelineLayout::build ( API::PipelineLayout instance,
VkResult *  returnResult = nullptr 
)

Definition at line 15 of file PipelineLayout.cpp.

◆ build() [2/2]

std::unique_ptr< API::PipelineLayout > lug::Graphics::Vulkan::API::Builder::PipelineLayout::build ( VkResult *  returnResult = nullptr)

Definition at line 51 of file PipelineLayout.cpp.

Member Data Documentation

◆ _device

const API::Device& lug::Graphics::Vulkan::API::Builder::PipelineLayout::_device
private

Definition at line 38 of file PipelineLayout.hpp.

◆ _pushConstants

std::vector<VkPushConstantRange> lug::Graphics::Vulkan::API::Builder::PipelineLayout::_pushConstants {}
private

Definition at line 40 of file PipelineLayout.hpp.

◆ _descriptorSetLayouts

std::vector<API::DescriptorSetLayout> lug::Graphics::Vulkan::API::Builder::PipelineLayout::_descriptorSetLayouts {}
private

Definition at line 41 of file PipelineLayout.hpp.


The documentation for this class was generated from the following files: