24 const VkPipelineLayoutCreateInfo createInfo{
25 VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
28 static_cast<uint32_t
>(vkDescriptorSetLayouts.size()),
29 vkDescriptorSetLayouts.data(),
35 VkPipelineLayout vkPipelineLayout{VK_NULL_HANDLE};
36 VkResult result = vkCreatePipelineLayout(static_cast<VkDevice>(
_device), &createInfo,
nullptr, &vkPipelineLayout);
39 *returnResult = result;
42 if (result != VK_SUCCESS) {
52 std::unique_ptr<API::PipelineLayout> pipelineLayout = std::make_unique<API::PipelineLayout>();
53 return build(*pipelineLayout, returnResult) ? std::move(pipelineLayout) :
nullptr;
std::vector< API::DescriptorSetLayout > _descriptorSetLayouts
PipelineLayout(const API::Device &device)
const API::Device & _device
std::vector< VkPushConstantRange > _pushConstants
bool build(API::PipelineLayout &instance, VkResult *returnResult=nullptr)