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

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

Issue 2146103002: Update RT views and framebuffer in vulkan after mipmaping (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: nits Created 4 years, 5 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/GrVkGpuCommandBuffer.cpp ('k') | src/gpu/vk/GrVkRenderTarget.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 8
9 #ifndef GrVkRenderTarget_DEFINED 9 #ifndef GrVkRenderTarget_DEFINED
10 #define GrVkRenderTarget_DEFINED 10 #define GrVkRenderTarget_DEFINED
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 96
97 // This accounts for the texture's memory and any MSAA renderbuffer's memory . 97 // This accounts for the texture's memory and any MSAA renderbuffer's memory .
98 size_t onGpuMemorySize() const override { 98 size_t onGpuMemorySize() const override {
99 SkASSERT(kUnknown_GrPixelConfig != fDesc.fConfig); 99 SkASSERT(kUnknown_GrPixelConfig != fDesc.fConfig);
100 SkASSERT(!GrPixelConfigIsCompressed(fDesc.fConfig)); 100 SkASSERT(!GrPixelConfigIsCompressed(fDesc.fConfig));
101 size_t colorBytes = GrBytesPerPixel(fDesc.fConfig); 101 size_t colorBytes = GrBytesPerPixel(fDesc.fConfig);
102 SkASSERT(colorBytes > 0); 102 SkASSERT(colorBytes > 0);
103 return fColorValuesPerPixel * fDesc.fWidth * fDesc.fHeight * colorBytes; 103 return fColorValuesPerPixel * fDesc.fWidth * fDesc.fHeight * colorBytes;
104 } 104 }
105 105
106 void createFramebuffer(GrVkGpu* gpu);
107
108 const GrVkImageView* fColorAttachmentView;
109 GrVkImage* fMSAAImage;
110 const GrVkImageView* fResolveAttachmentView;
111
106 private: 112 private:
107 GrVkRenderTarget(GrVkGpu* gpu, 113 GrVkRenderTarget(GrVkGpu* gpu,
108 SkBudgeted, 114 SkBudgeted,
109 const GrSurfaceDesc& desc, 115 const GrSurfaceDesc& desc,
110 const GrVkImageInfo& info, 116 const GrVkImageInfo& info,
111 const GrVkImageInfo& msaaInfo, 117 const GrVkImageInfo& msaaInfo,
112 const GrVkImageView* colorAttachmentView, 118 const GrVkImageView* colorAttachmentView,
113 const GrVkImageView* resolveAttachmentView, 119 const GrVkImageView* resolveAttachmentView,
114 GrVkImage::Wrapped wrapped); 120 GrVkImage::Wrapped wrapped);
115 121
116 GrVkRenderTarget(GrVkGpu* gpu, 122 GrVkRenderTarget(GrVkGpu* gpu,
117 SkBudgeted, 123 SkBudgeted,
118 const GrSurfaceDesc& desc, 124 const GrSurfaceDesc& desc,
119 const GrVkImageInfo& info, 125 const GrVkImageInfo& info,
120 const GrVkImageView* colorAttachmentView, 126 const GrVkImageView* colorAttachmentView,
121 GrVkImage::Wrapped wrapped); 127 GrVkImage::Wrapped wrapped);
122 128
123 static GrVkRenderTarget* Create(GrVkGpu*, SkBudgeted, const GrSurfaceDesc&, 129 static GrVkRenderTarget* Create(GrVkGpu*, SkBudgeted, const GrSurfaceDesc&,
124 const GrVkImageInfo&, GrVkImage::Wrapped wra pped); 130 const GrVkImageInfo&, GrVkImage::Wrapped wra pped);
125 131
126 bool completeStencilAttachment() override; 132 bool completeStencilAttachment() override;
127 133
128 void createFramebuffer(GrVkGpu* gpu);
129
130 void releaseInternalObjects(); 134 void releaseInternalObjects();
131 void abandonInternalObjects(); 135 void abandonInternalObjects();
132 136
133 const GrVkFramebuffer* fFramebuffer; 137 const GrVkFramebuffer* fFramebuffer;
134 const GrVkImageView* fColorAttachmentView;
135 GrVkImage* fMSAAImage;
136 const GrVkImageView* fResolveAttachmentView;
137 int fColorValuesPerPixel; 138 int fColorValuesPerPixel;
138 139
139 // This is a cached pointer to a simple render pass. The render target shoul d unref it 140 // This is a cached pointer to a simple render pass. The render target shoul d unref it
140 // once it is done with it. 141 // once it is done with it.
141 const GrVkRenderPass* fCachedSimpleRenderPass; 142 const GrVkRenderPass* fCachedSimpleRenderPass;
142 // This is a handle to be used to quickly get compatible GrVkRenderPasses fo r this render target 143 // This is a handle to be used to quickly get compatible GrVkRenderPasses fo r this render target
143 GrVkResourceProvider::CompatibleRPHandle fCompatibleRPHandle; 144 GrVkResourceProvider::CompatibleRPHandle fCompatibleRPHandle;
144 }; 145 };
145 146
146 #endif 147 #endif
OLDNEW
« no previous file with comments | « src/gpu/vk/GrVkGpuCommandBuffer.cpp ('k') | src/gpu/vk/GrVkRenderTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698