moving stuff around

This commit is contained in:
2026-09-21 01:15:58 -07:00
parent 650b4d813f
commit 4d037e1250
34 changed files with 37 additions and 37 deletions
@@ -0,0 +1,52 @@
#pragma once
#include <memory>
#include <vector>
#include "vulkan/device.hpp"
namespace sophia {
class DescriptorPool {
public:
DescriptorPool(const DescriptorPool&) = delete;
DescriptorPool& operator=(const DescriptorPool&) = delete;
class Builder {
public:
Builder(Device& device) : device{device} {}
Builder& addPoolSize(vk::DescriptorType descriptorType, u32 count);
Builder& setPoolFlags(vk::DescriptorPoolCreateFlags flags);
Builder& setMaxSets(u32 count);
std::unique_ptr<DescriptorPool> build() const;
private:
Device& device;
std::vector<vk::DescriptorPoolSize> poolSizes{};
u32 maxSets = 1000;
vk::DescriptorPoolCreateFlags poolFlags{};
};
DescriptorPool(Device& device, u32 maxSets,
vk::DescriptorPoolCreateFlags poolFlags,
const std::vector<vk::DescriptorPoolSize>& poolSizes);
~DescriptorPool();
bool allocateDescriptorSet(const vk::DescriptorSetLayout descriptorSetLayout,
vk::DescriptorSet& descriptor) const;
void freeDescriptors(std::vector<vk::DescriptorSet>& descriptors) const;
void resetPool();
const vk::DescriptorPool& get() { return this->descriptorPool; }
private:
Device& device;
vk::DescriptorPool descriptorPool;
friend class DescriptorWriter;
};
} // namespace sophia