| /* |
| * 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 |