| 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 12 matching lines...) Expand all Loading... |
| 23 struct GrVkTextureInfo; | 23 struct GrVkTextureInfo; |
| 24 | 24 |
| 25 #ifdef SK_BUILD_FOR_WIN | 25 #ifdef SK_BUILD_FOR_WIN |
| 26 // Windows gives bogus warnings about inheriting asTexture/asRenderTarget via do
minance. | 26 // Windows gives bogus warnings about inheriting asTexture/asRenderTarget via do
minance. |
| 27 #pragma warning(push) | 27 #pragma warning(push) |
| 28 #pragma warning(disable: 4250) | 28 #pragma warning(disable: 4250) |
| 29 #endif | 29 #endif |
| 30 | 30 |
| 31 class GrVkRenderTarget: public GrRenderTarget, public virtual GrVkImage { | 31 class GrVkRenderTarget: public GrRenderTarget, public virtual GrVkImage { |
| 32 public: | 32 public: |
| 33 static GrVkRenderTarget* CreateNewRenderTarget(GrVkGpu*, const GrSurfaceDesc
&, | 33 static GrVkRenderTarget* CreateNewRenderTarget(GrVkGpu*, SkBudgeted, const G
rSurfaceDesc&, |
| 34 GrGpuResource::LifeCycle, | |
| 35 const GrVkImage::ImageDesc&); | 34 const GrVkImage::ImageDesc&); |
| 36 | 35 |
| 37 static GrVkRenderTarget* CreateWrappedRenderTarget(GrVkGpu*, const GrSurface
Desc&, | 36 static GrVkRenderTarget* CreateWrappedRenderTarget(GrVkGpu*, const GrSurface
Desc&, |
| 38 GrGpuResource::LifeCycle, | 37 GrWrapOwnership, |
| 39 const GrVkTextureInfo*); | 38 const GrVkTextureInfo*); |
| 40 | 39 |
| 41 ~GrVkRenderTarget() override; | 40 ~GrVkRenderTarget() override; |
| 42 | 41 |
| 43 const GrVkFramebuffer* framebuffer() const { return fFramebuffer; } | 42 const GrVkFramebuffer* framebuffer() const { return fFramebuffer; } |
| 44 const GrVkImageView* colorAttachmentView() const { return fColorAttachmentVi
ew; } | 43 const GrVkImageView* colorAttachmentView() const { return fColorAttachmentVi
ew; } |
| 45 const GrVkImage::Resource* msaaImageResource() const { return fMSAAImageReso
urce; } | 44 const GrVkImage::Resource* msaaImageResource() const { return fMSAAImageReso
urce; } |
| 46 const GrVkImageView* resolveAttachmentView() const { return fResolveAttachme
ntView; } | 45 const GrVkImageView* resolveAttachmentView() const { return fResolveAttachme
ntView; } |
| 47 const GrVkImage::Resource* stencilImageResource() const; | 46 const GrVkImage::Resource* stencilImageResource() const; |
| 48 const GrVkImageView* stencilAttachmentView() const; | 47 const GrVkImageView* stencilAttachmentView() const; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 60 | 59 |
| 61 GrBackendObject getRenderTargetHandle() const override; | 60 GrBackendObject getRenderTargetHandle() const override; |
| 62 | 61 |
| 63 // Returns the total number of attachments | 62 // Returns the total number of attachments |
| 64 void getAttachmentsDescriptor(GrVkRenderPass::AttachmentsDescriptor* desc, | 63 void getAttachmentsDescriptor(GrVkRenderPass::AttachmentsDescriptor* desc, |
| 65 GrVkRenderPass::AttachmentFlags* flags) const; | 64 GrVkRenderPass::AttachmentFlags* flags) const; |
| 66 | 65 |
| 67 void addResources(GrVkCommandBuffer& commandBuffer) const; | 66 void addResources(GrVkCommandBuffer& commandBuffer) const; |
| 68 | 67 |
| 69 protected: | 68 protected: |
| 70 enum Derived { kDerived }; | |
| 71 | |
| 72 GrVkRenderTarget(GrVkGpu* gpu, | 69 GrVkRenderTarget(GrVkGpu* gpu, |
| 70 SkBudgeted, |
| 73 const GrSurfaceDesc& desc, | 71 const GrSurfaceDesc& desc, |
| 74 GrGpuResource::LifeCycle, | |
| 75 const GrVkImage::Resource* imageResource, | 72 const GrVkImage::Resource* imageResource, |
| 76 const GrVkImage::Resource* msaaImageResource, | 73 const GrVkImage::Resource* msaaImageResource, |
| 77 const GrVkImageView* colorAttachmentView, | 74 const GrVkImageView* colorAttachmentView, |
| 78 const GrVkImageView* resolveAttachmentView); | 75 const GrVkImageView* resolveAttachmentView); |
| 79 | 76 |
| 80 GrVkRenderTarget(GrVkGpu* gpu, | 77 GrVkRenderTarget(GrVkGpu* gpu, |
| 81 const GrSurfaceDesc& desc, | 78 const GrSurfaceDesc& desc, |
| 82 GrGpuResource::LifeCycle, | |
| 83 const GrVkImage::Resource* imageResource, | 79 const GrVkImage::Resource* imageResource, |
| 84 const GrVkImage::Resource* msaaImageResource, | 80 const GrVkImage::Resource* msaaImageResource, |
| 85 const GrVkImageView* colorAttachmentView, | 81 const GrVkImageView* colorAttachmentView, |
| 86 const GrVkImageView* resolveAttachmentView, | 82 const GrVkImageView* resolveAttachmentView); |
| 87 Derived); | |
| 88 | 83 |
| 89 GrVkRenderTarget(GrVkGpu* gpu, | 84 GrVkRenderTarget(GrVkGpu* gpu, |
| 85 SkBudgeted, |
| 90 const GrSurfaceDesc& desc, | 86 const GrSurfaceDesc& desc, |
| 91 GrGpuResource::LifeCycle, | |
| 92 const GrVkImage::Resource* imageResource, | 87 const GrVkImage::Resource* imageResource, |
| 93 const GrVkImageView* colorAttachmentView); | 88 const GrVkImageView* colorAttachmentView); |
| 94 | 89 |
| 95 GrVkRenderTarget(GrVkGpu* gpu, | 90 GrVkRenderTarget(GrVkGpu* gpu, |
| 96 const GrSurfaceDesc& desc, | 91 const GrSurfaceDesc& desc, |
| 97 GrGpuResource::LifeCycle, | |
| 98 const GrVkImage::Resource* imageResource, | 92 const GrVkImage::Resource* imageResource, |
| 99 const GrVkImageView* colorAttachmentView, | 93 const GrVkImageView* colorAttachmentView); |
| 100 Derived); | |
| 101 | 94 |
| 102 static GrVkRenderTarget* Create(GrVkGpu*, const GrSurfaceDesc&, | 95 static GrVkRenderTarget* Create(GrVkGpu*, SkBudgeted, const GrSurfaceDesc&, |
| 103 GrGpuResource::LifeCycle, | |
| 104 const GrVkImage::Resource* imageResource); | 96 const GrVkImage::Resource* imageResource); |
| 105 | 97 |
| 106 GrVkGpu* getVkGpu() const; | 98 GrVkGpu* getVkGpu() const; |
| 107 | 99 |
| 108 void onAbandon() override; | 100 void onAbandon() override; |
| 109 void onRelease() override; | 101 void onRelease() override; |
| 110 | 102 |
| 111 // This accounts for the texture's memory and any MSAA renderbuffer's memory
. | 103 // This accounts for the texture's memory and any MSAA renderbuffer's memory
. |
| 112 size_t onGpuMemorySize() const override { | 104 size_t onGpuMemorySize() const override { |
| 113 SkASSERT(kUnknown_GrPixelConfig != fDesc.fConfig); | 105 SkASSERT(kUnknown_GrPixelConfig != fDesc.fConfig); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 130 const GrVkImage::Resource* fMSAAImageResource; | 122 const GrVkImage::Resource* fMSAAImageResource; |
| 131 const GrVkImageView* fResolveAttachmentView; | 123 const GrVkImageView* fResolveAttachmentView; |
| 132 int fColorValuesPerPixel; | 124 int fColorValuesPerPixel; |
| 133 | 125 |
| 134 // This is a cached pointer to a simple render pass. The render target shoul
d unref it | 126 // This is a cached pointer to a simple render pass. The render target shoul
d unref it |
| 135 // once it is done with it. | 127 // once it is done with it. |
| 136 const GrVkRenderPass* fCachedSimpleRenderPass; | 128 const GrVkRenderPass* fCachedSimpleRenderPass; |
| 137 }; | 129 }; |
| 138 | 130 |
| 139 #endif | 131 #endif |
| OLD | NEW |