| OLD | NEW |
| 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 Loading... |
| 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 |
| OLD | NEW |