Index: src/gpu/vk/GrVkCommandBuffer.h |
diff --git a/src/gpu/vk/GrVkCommandBuffer.h b/src/gpu/vk/GrVkCommandBuffer.h |
index c8bac336d5775fd4e3d344aa4fcbd1c898f22524..5faa9937c4947056e7add3a28cc3153eb7622409 100644 |
--- a/src/gpu/vk/GrVkCommandBuffer.h |
+++ b/src/gpu/vk/GrVkCommandBuffer.h |
@@ -117,11 +117,19 @@ public: |
fTrackedResources.push_back(resource); |
} |
+ // Add ref-counted resource which can be recycled that will be tracked and released when this |
jvanverth1
2016/07/20 14:08:47
Nit: This comment is a little hard to parse. Maybe
egdaniel
2016/07/20 14:48:39
Done.
|
+ // command buffer finishes execution |
+ void addRecycledResource(const GrVkRecycledResource* resource) { |
+ resource->ref(); |
+ fTrackedRecycledResources.push_back(resource); |
+ } |
+ |
void reset(GrVkGpu* gpu); |
protected: |
GrVkCommandBuffer(VkCommandBuffer cmdBuffer, const GrVkRenderPass* rp = VK_NULL_HANDLE) |
: fTrackedResources(kInitialTrackedResourcesCount) |
+ , fTrackedRecycledResources(kInitialTrackedResourcesCount) |
, fIsActive(false) |
, fActiveRenderPass(rp) |
, fCmdBuffer(cmdBuffer) |
@@ -129,7 +137,8 @@ protected: |
, fBoundIndexBufferIsValid(false) { |
this->invalidateState(); |
} |
- SkTArray<const GrVkResource*, true> fTrackedResources; |
+ SkTArray<const GrVkResource*, true> fTrackedResources; |
+ SkTArray<const GrVkRecycledResource*, true> fTrackedRecycledResources; |
// Tracks whether we are in the middle of a command buffer begin/end calls and thus can add |
// new commands to the buffer; |