Chromium Code Reviews| Index: src/gpu/vk/GrVkDescriptorSetManager.h |
| diff --git a/src/gpu/vk/GrVkDescriptorSetManager.h b/src/gpu/vk/GrVkDescriptorSetManager.h |
| index 0b11eb3ba91d354c67efd7a34cd0b661c2be547d..d7f6fdd3fd5deeffdc4732373cc542e05cef947b 100644 |
| --- a/src/gpu/vk/GrVkDescriptorSetManager.h |
| +++ b/src/gpu/vk/GrVkDescriptorSetManager.h |
| @@ -29,6 +29,12 @@ public: |
| GrVkDescriptorSetManager(GrVkGpu* gpu, |
| VkDescriptorType, |
| const GrVkUniformHandler* handler = nullptr); |
| + |
| + GrVkDescriptorSetManager(GrVkGpu* gpu, |
| + VkDescriptorType, |
| + const uint32_t* visibilities, |
|
jvanverth1
2016/08/23 20:43:07
Suggestion: use a const SkTArray<uint32_t>& rather
|
| + int visibilityCount); |
| + |
| ~GrVkDescriptorSetManager() {} |
| void abandon(); |
| @@ -41,11 +47,17 @@ public: |
| void recycleDescriptorSet(const GrVkDescriptorSet*); |
| bool isCompatible(VkDescriptorType type, const GrVkUniformHandler*) const; |
| + bool isCompatible(VkDescriptorType type, |
| + const uint32_t* visibilities, |
| + int visibilityCount) const; |
| private: |
| struct DescriptorPoolManager { |
| DescriptorPoolManager(VkDescriptorType type, GrVkGpu* gpu, |
| const GrVkUniformHandler* handler = nullptr); |
| + DescriptorPoolManager(VkDescriptorType type, GrVkGpu* gpu, |
| + const uint32_t* visibilities, int visibilityCount); |
| + |
| ~DescriptorPoolManager() { |
| SkASSERT(!fDescLayout); |
| @@ -71,6 +83,9 @@ private: |
| kStartNumDescriptors = 16, // must be less than kMaxUniformDescriptors |
| }; |
| + void init(GrVkGpu* gpu, VkDescriptorType type, const GrVkUniformHandler* uniformHandler, |
| + const uint32_t* visibilities, int visibilityCount); |
| + |
| void getNewPool(GrVkGpu* gpu); |
| }; |