8#ifndef GrVkDescriptorSetManager_DEFINED
9#define GrVkDescriptorSetManager_DEFINED
42 VkDescriptorSetLayout
layout()
const {
return fPoolManager.fDescLayout; }
53 struct DescriptorPoolManager {
55 uint32_t descCountPerSet);
57 ~DescriptorPoolManager() {
62 bool getNewDescriptorSet(
GrVkGpu* gpu, VkDescriptorSet* ds);
64 void freeGPUResources(
GrVkGpu* gpu);
66 VkDescriptorSetLayout fDescLayout;
68 uint32_t fDescCountPerSet;
69 uint32_t fMaxDescriptors;
70 uint32_t fCurrentDescriptorCount;
75 kMaxDescriptors = 1024,
76 kStartNumDescriptors = 16,
93 DescriptorPoolManager fPoolManager;
#define GR_DEFINE_RESOURCE_HANDLE_CLASS(name)
void recycleDescriptorSet(const GrVkDescriptorSet *)
static GrVkDescriptorSetManager * CreateZeroSamplerManager(GrVkGpu *gpu)
void release(GrVkGpu *gpu)
bool isZeroSampler() const
~GrVkDescriptorSetManager()
const GrVkDescriptorSet * getDescriptorSet(GrVkGpu *gpu, const Handle &handle)
static GrVkDescriptorSetManager * CreateSamplerManager(GrVkGpu *gpu, VkDescriptorType type, const GrVkUniformHandler &)
VkDescriptorSetLayout layout() const
bool isCompatible(VkDescriptorType type, const GrVkUniformHandler *) const
static GrVkDescriptorSetManager * CreateInputManager(GrVkGpu *gpu)
static GrVkDescriptorSetManager * CreateUniformManager(GrVkGpu *gpu)