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); |
}; |