Lugdunum  0.1.0
DescriptorSet.cpp
Go to the documentation of this file.
2 
3 #include <algorithm>
4 
7 
8 namespace lug {
9 namespace Graphics {
10 namespace Vulkan {
11 namespace API {
12 
13 void CommandBuffer::bindDescriptorSets(const CommandBuffer::CmdBindDescriptors& parameters) const {
14  std::vector<VkDescriptorSet> descriptorSets;
15 
16  std::transform(
17  parameters.descriptorSets.cbegin(),
18  parameters.descriptorSets.cend(),
19 
20  std::back_inserter(descriptorSets),
21 
22  [](const API::DescriptorSet* descriptorSet) {
23  return static_cast<VkDescriptorSet>(*descriptorSet);
24  }
25  );
26 
27  vkCmdBindDescriptorSets(
29  parameters.pipelineBindPoint,
30  static_cast<VkPipelineLayout>(parameters.pipelineLayout),
31  parameters.firstSet,
32  static_cast<uint32_t>(parameters.descriptorSets.size()),
33  descriptorSets.data(),
34  static_cast<uint32_t>(parameters.dynamicOffsets.size()),
35  parameters.dynamicOffsets.data()
36  );
37 }
38 
39 } // API
40 } // Vulkan
41 } // Graphics
42 } // lug
void bindDescriptorSets(const CmdBindDescriptors &parameters) const