Index: src/gpu/vk/GrVkCopyPipeline.h |
diff --git a/src/gpu/vk/GrVkCopyPipeline.h b/src/gpu/vk/GrVkCopyPipeline.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fd343ce2cece3881103383f0c43db662c9f179fc |
--- /dev/null |
+++ b/src/gpu/vk/GrVkCopyPipeline.h |
@@ -0,0 +1,43 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef GrVkCopyPipeline_DEFINED |
+#define GrVkCopyPipeline_DEFINED |
+ |
+#include "GrVkPipeline.h" |
+ |
+class GrVkCopyPipeline : public GrVkPipeline { |
+public: |
+ // We expect the passed in renderPass to be stored on the GrVkResourceProvider and not a local |
+ // object of the client. |
+ static GrVkCopyPipeline* Create(GrVkGpu* gpu, |
+ VkPipelineShaderStageCreateInfo* shaderStageInfo, |
+ VkPipelineLayout pipelineLayout, |
+ int numSamples, |
+ const GrVkRenderPass& renderPass, |
+ VkPipelineCache cache); |
+ |
+ bool isCompatible(const GrVkRenderPass& rp) const; |
+ |
+#ifdef SK_TRACE_VK_RESOURCES |
+ void dumpInfo() const override { |
+ SkDebugf("GrVkCopyPipeline: %d (%d refs)\n", fPipeline, this->getRefCnt()); |
+ } |
+#endif |
+ |
+private: |
+ GrVkCopyPipeline(VkPipeline pipeline, const GrVkRenderPass* renderPass) |
+ : INHERITED(pipeline) |
+ , fRenderPass(renderPass) { |
+ } |
+ |
+ const GrVkRenderPass* fRenderPass; |
+ |
+ typedef GrVkPipeline INHERITED; |
+}; |
+ |
+#endif |