| Index: src/gpu/vk/GrVkDescriptorSetManager.h
|
| diff --git a/src/gpu/vk/GrVkDescriptorSetManager.h b/src/gpu/vk/GrVkDescriptorSetManager.h
|
| index 0b11eb3ba91d354c67efd7a34cd0b661c2be547d..84dd29ece0c0ab500f5d9dd20bc33bbfdf3df9ae 100644
|
| --- a/src/gpu/vk/GrVkDescriptorSetManager.h
|
| +++ b/src/gpu/vk/GrVkDescriptorSetManager.h
|
| @@ -29,6 +29,11 @@ public:
|
| GrVkDescriptorSetManager(GrVkGpu* gpu,
|
| VkDescriptorType,
|
| const GrVkUniformHandler* handler = nullptr);
|
| +
|
| + GrVkDescriptorSetManager(GrVkGpu* gpu,
|
| + VkDescriptorType,
|
| + const SkTArray<uint32_t>& visibilities);
|
| +
|
| ~GrVkDescriptorSetManager() {}
|
|
|
| void abandon();
|
| @@ -41,11 +46,16 @@ public:
|
| void recycleDescriptorSet(const GrVkDescriptorSet*);
|
|
|
| bool isCompatible(VkDescriptorType type, const GrVkUniformHandler*) const;
|
| + bool isCompatible(VkDescriptorType type,
|
| + const SkTArray<uint32_t>& visibilities) const;
|
|
|
| private:
|
| struct DescriptorPoolManager {
|
| DescriptorPoolManager(VkDescriptorType type, GrVkGpu* gpu,
|
| const GrVkUniformHandler* handler = nullptr);
|
| + DescriptorPoolManager(VkDescriptorType type, GrVkGpu* gpu,
|
| + const SkTArray<uint32_t>& visibilities);
|
| +
|
|
|
| ~DescriptorPoolManager() {
|
| SkASSERT(!fDescLayout);
|
| @@ -71,6 +81,9 @@ private:
|
| kStartNumDescriptors = 16, // must be less than kMaxUniformDescriptors
|
| };
|
|
|
| + void init(GrVkGpu* gpu, VkDescriptorType type, const GrVkUniformHandler* uniformHandler,
|
| + const SkTArray<uint32_t>* visibilities);
|
| +
|
| void getNewPool(GrVkGpu* gpu);
|
| };
|
|
|
|
|