Index: src/gpu/vk/GrVkResourceProvider.h |
diff --git a/src/gpu/vk/GrVkResourceProvider.h b/src/gpu/vk/GrVkResourceProvider.h |
index 19d493af92bf9772c70d9c6a908d27a6a5ffb6ad..b9e98e72ccd45c15ac2ff4ad93e4649a08a9e591 100644 |
--- a/src/gpu/vk/GrVkResourceProvider.h |
+++ b/src/gpu/vk/GrVkResourceProvider.h |
@@ -26,6 +26,7 @@ |
class GrPipeline; |
class GrPrimitiveProcessor; |
class GrTextureParams; |
+class GrVkCopyPipeline; |
class GrVkGpu; |
class GrVkPipeline; |
class GrVkPrimaryCommandBuffer; |
@@ -50,6 +51,10 @@ public: |
const GrVkRenderPass& renderPass, |
VkPipelineLayout layout); |
+ GrVkCopyPipeline* findOrCreateCopyPipeline(const GrVkRenderTarget* dst, |
+ VkPipelineShaderStageCreateInfo*, |
+ VkPipelineLayout); |
+ |
GR_DEFINE_RESOURCE_HANDLE_CLASS(CompatibleRPHandle); |
// Finds or creates a simple render pass that matches the target, increments the refcount, |
@@ -224,6 +229,9 @@ private: |
// Central cache for creating pipelines |
VkPipelineCache fPipelineCache; |
+ // Cache of previously created copy pipelines |
+ SkTArray<GrVkCopyPipeline*> fCopyPipelines; |
+ |
SkSTArray<4, CompatibleRenderPassSet> fRenderPassArray; |
// Array of PrimaryCommandBuffers that are currently in flight |