Index: src/gpu/vk/GrVkPipeline.h |
diff --git a/src/gpu/vk/GrVkPipeline.h b/src/gpu/vk/GrVkPipeline.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6bab12791685be7c7456b4feec9375720ca76e77 |
--- /dev/null |
+++ b/src/gpu/vk/GrVkPipeline.h |
@@ -0,0 +1,49 @@ |
+/* |
+* 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 GrVkPipeline_DEFINED |
+#define GrVkPipeline_DEFINED |
+ |
+#include "GrTypes.h" |
+ |
+#include "GrVkResource.h" |
+ |
+#include "vulkan/vulkan.h" |
+ |
+class GrNonInstancedVertices; |
+class GrPipeline; |
+class GrPrimitiveProcessor; |
+class GrVkGpu; |
+class GrVkRenderPass; |
+ |
+class GrVkPipeline : public GrVkResource { |
+public: |
+ static GrVkPipeline* Create(GrVkGpu* gpu, |
+ const GrPipeline& pipeline, |
+ const GrPrimitiveProcessor& primProc, |
+ VkPipelineShaderStageCreateInfo* shaderStageInfo, |
+ int shaderStageCount, |
+ GrPrimitiveType primitiveType, |
+ const GrVkRenderPass& renderPass, |
+ VkPipelineLayout layout); |
+ |
+ VkPipeline pipeline() const { return fPipeline; } |
+ |
+private: |
+ GrVkPipeline(VkPipeline pipeline) : INHERITED(), fPipeline(pipeline) {} |
+ |
+ GrVkPipeline(const GrVkPipeline&); |
+ GrVkPipeline& operator=(const GrVkPipeline&); |
+ |
+ void freeGPUData(const GrVkGpu* gpu) const override; |
+ |
+ VkPipeline fPipeline; |
+ |
+ typedef GrVkResource INHERITED; |
+}; |
+ |
+#endif |