- vector<uint32_t> dynamic_offsets;
- dynamic_offsets.reserve(self.uniform_blocks.size());
- for(const PipelineState::BoundUniformBlock &u: self.uniform_blocks)
- if(u.used && u.binding>=0)
- {
- if(u.buffer->get_usage()==STREAMING)
- dynamic_offsets.push_back(frame*u.buffer->get_size());
- else
- dynamic_offsets.push_back(0);
- }
+ vector<VkDescriptorSet> descriptor_set_handles;
+ descriptor_set_handles.reserve(self.descriptor_set_slots.size());
+ for(unsigned i=0; i<self.descriptor_set_slots.size(); ++i)
+ descriptor_set_handles.push_back(device.get_descriptor_pool().get_descriptor_set(self.descriptor_set_slots[i], self, i, frame));