Chromium Code Reviews| Index: src/gpu/gl/GrGLTextureRenderTarget.h |
| diff --git a/src/gpu/gl/GrGLTextureRenderTarget.h b/src/gpu/gl/GrGLTextureRenderTarget.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..656124aacdec9151a39a6d5e710da8c5b073b1f7 |
| --- /dev/null |
| +++ b/src/gpu/gl/GrGLTextureRenderTarget.h |
| @@ -0,0 +1,49 @@ |
| +/* |
| + * Copyright 2014 Google Inc. |
| + * |
| + * Use of this source code is governed by a BSD-style license that can be |
| + * found in the LICENSE file. |
| + */ |
| + |
| + |
| +#ifndef GrGLTextureRenderTarget_DEFINED |
| +#define GrGLTextureRenderTarget_DEFINED |
| + |
| +#include "GrGLTexture.h" |
| +#include "GrGLRenderTarget.h" |
| + |
| +class GrGpuGL; |
| + |
| +#ifdef SK_BUILD_FOR_WIN |
| +// Windows gives bogus warnings about inheriting asTexture/asRenderTarget via dominance. |
| +#pragma warning(push) |
| +#pragma warning(disable: 4250) |
| +#endif |
| + |
| +class GrGLTextureRenderTarget : public GrGLTexture, public GrGLRenderTarget { |
| +public: |
| + GrGLTextureRenderTarget(GrGpuGL* gpu, |
| + const GrSurfaceDesc& desc, |
| + const GrGLTexture::IDDesc& texIDDesc, |
| + const GrGLRenderTarget::IDDesc& rtIDDesc) |
| + : GrGLTexture(gpu, desc, texIDDesc, GrGLTexture::kDerived) |
| + , GrGLRenderTarget(gpu, desc, rtIDDesc, GrGLRenderTarget::kDerived) |
|
robertphillips
2014/11/03 13:58:55
// Both GrRenderTarget and GrTexture virtually der
bsalomon
2014/11/03 15:20:15
Done.
|
| + , GrSurface(gpu, texIDDesc.fIsWrapped, desc) { |
| + this->registerWithCache(); |
| + } |
| + |
| + virtual ~GrGLTextureRenderTarget() { this->release(); } |
| + |
| + // GrGLRenderTarget accounts for the texture's memory and any MSAA renderbuffer's memory. |
|
robertphillips
2014/11/03 13:58:55
this-> ?
bsalomon
2014/11/03 15:20:15
The class name scope takes the place of "this->".
|
| + virtual size_t gpuMemorySize() const SK_OVERRIDE { return GrGLRenderTarget::gpuMemorySize(); } |
| + |
| +protected: |
|
robertphillips
2014/11/03 13:58:54
overlength ?
this-> ?
bsalomon
2014/11/03 15:20:15
wrapped
|
| + virtual void onAbandon() SK_OVERRIDE { GrGLRenderTarget::onAbandon(); GrGLTexture::onAbandon(); } |
| + virtual void onRelease() SK_OVERRIDE { GrGLRenderTarget::onRelease(); GrGLTexture::onRelease(); } |
| +}; |
| + |
| +#ifdef SK_BUILD_FOR_WIN |
| +#pragma warning(pop) |
| +#endif |
| + |
| +#endif |