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

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

Issue 1718693002: Add vulkan files into skia repo. (Closed) Base URL: https://skia.googlesource.com/skia.git@merge
Patch Set: fix path Created 4 years, 10 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/GrVkTexture.cpp ('k') | src/gpu/vk/GrVkTextureRenderTarget.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 2015 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
9 #ifndef GrVkTextureRenderTarget_DEFINED
10 #define GrVkTextureRenderTarget_DEFINED
11
12 #include "GrVkTexture.h"
13 #include "GrVkRenderTarget.h"
14 #include "GrVkGpu.h"
15
16 #ifdef SK_BUILD_FOR_WIN
17 // Windows gives bogus warnings about inheriting asTexture/asRenderTarget via do minance.
18 #pragma warning(push)
19 #pragma warning(disable: 4250)
20 #endif
21
22 class GrVkImageView;
23
24 class GrVkTextureRenderTarget: public GrVkTexture, public GrVkRenderTarget {
25 public:
26 static GrVkTextureRenderTarget* CreateNewTextureRenderTarget(GrVkGpu*, const GrSurfaceDesc&,
27 GrGpuResource:: LifeCycle,
28 const GrVkImage ::ImageDesc&);
29
30 static GrVkTextureRenderTarget* CreateWrappedTextureRenderTarget(GrVkGpu*,
31 const GrSur faceDesc&,
32 GrGpuResour ce::LifeCycle,
33 VkFormat,
34 GrVkImage:: Resource*);
35
36 protected:
37 void onAbandon() override {
38 GrVkRenderTarget::onAbandon();
39 GrVkTexture::onAbandon();
40 }
41
42 void onRelease() override {
43 GrVkRenderTarget::onRelease();
44 GrVkTexture::onRelease();
45 }
46
47 private:
48 GrVkTextureRenderTarget(GrVkGpu* gpu,
49 const GrSurfaceDesc& desc,
50 GrGpuResource::LifeCycle lifeCycle,
51 const GrVkImage::Resource* imageResource,
52 const GrVkImageView* texView,
53 const GrVkImage::Resource* msaaResource,
54 const GrVkImageView* colorAttachmentView,
55 const GrVkImageView* resolveAttachmentView)
56 : GrSurface(gpu, lifeCycle, desc)
57 , GrVkImage(imageResource)
58 , GrVkTexture(gpu, desc, lifeCycle, imageResource, texView, GrVkTexture: :kDerived)
59 , GrVkRenderTarget(gpu, desc, lifeCycle, imageResource, msaaResource, co lorAttachmentView,
60 resolveAttachmentView, GrVkRenderTarget::kDerived) {
61 this->registerWithCache();
62 }
63
64 GrVkTextureRenderTarget(GrVkGpu* gpu,
65 const GrSurfaceDesc& desc,
66 GrGpuResource::LifeCycle lifeCycle,
67 const GrVkImage::Resource* imageResource,
68 const GrVkImageView* texView,
69 const GrVkImageView* colorAttachmentView)
70 : GrSurface(gpu, lifeCycle, desc)
71 , GrVkImage(imageResource)
72 , GrVkTexture(gpu, desc, lifeCycle, imageResource, texView, GrVkTexture: :kDerived)
73 , GrVkRenderTarget(gpu, desc, lifeCycle, imageResource, colorAttachmentV iew,
74 GrVkRenderTarget::kDerived) {
75 this->registerWithCache();
76 }
77
78 static GrVkTextureRenderTarget* Create(GrVkGpu*, const GrSurfaceDesc&,
79 GrGpuResource::LifeCycle,
80 VkFormat format,
81 const GrVkImage::Resource* imageResou rce);
82
83 // GrGLRenderTarget accounts for the texture's memory and any MSAA renderbuf fer's memory.
84 size_t onGpuMemorySize() const override {
85 return GrVkRenderTarget::onGpuMemorySize();
86 }
87 };
88
89 #endif
OLDNEW
« no previous file with comments | « src/gpu/vk/GrVkTexture.cpp ('k') | src/gpu/vk/GrVkTextureRenderTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698