Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Side by Side Diff: src/gpu/vk/GrVkCopyManager.h

Issue 2274663005: Add GrVkCopyPipeline to handle vulkan copies as draws (Closed) Base URL: https://skia.googlesource.com/skia.git@compatibleCopyDS
Patch Set: indent nits Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/gpu/vk/GrVkCommandBuffer.cpp ('k') | src/gpu/vk/GrVkCopyManager.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8 #ifndef GrVkCopyManager_DEFINED
9 #define GrVkCopyManager_DEFINED
10
11 #include "GrVkDescriptorSetManager.h"
12
13 #include "vk/GrVkDefines.h"
14
15 class GrSurface;
16 class GrVkCopyPipeline;
17 class GrVkGpu;
18 class GrVkUniformBuffer;
19 class GrVkVertexBuffer;
20 struct SkIPoint;
21 struct SkIRect;
22
23 class GrVkCopyManager {
24 public:
25 GrVkCopyManager()
26 : fVertShaderModule(VK_NULL_HANDLE)
27 , fFragShaderModule(VK_NULL_HANDLE)
28 , fPipelineLayout(VK_NULL_HANDLE)
29 , fUniformBuffer(nullptr) {}
30
31 bool copySurfaceAsDraw(GrVkGpu* gpu,
32 GrSurface* dst,
33 GrSurface* src,
34 const SkIRect& srcRect,
35 const SkIPoint& dstPoint);
36
37 void destroyResources(GrVkGpu* gpu);
38 void abandonResources();
39
40 private:
41 bool createCopyProgram(GrVkGpu* gpu);
42
43 // Everything below is only created once and shared by all copy draws/pipeli nes
44 VkShaderModule fVertShaderModule;
45 VkShaderModule fFragShaderModule;
46 VkPipelineShaderStageCreateInfo fShaderStageInfo[2];
47
48 GrVkDescriptorSetManager::Handle fSamplerDSHandle;
49 VkPipelineLayout fPipelineLayout;
50
51 SkAutoTUnref<GrVkVertexBuffer> fVertexBuffer;
52 GrVkUniformBuffer* fUniformBuffer;
53 };
54
55 #endif
OLDNEW
« no previous file with comments | « src/gpu/vk/GrVkCommandBuffer.cpp ('k') | src/gpu/vk/GrVkCopyManager.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698