diff options
author | 2018-04-11 10:08:06 -0400 | |
---|---|---|
committer | 2018-04-12 14:56:10 +0000 | |
commit | ba375a88843160e6884023e9108ea84de8eb3a0f (patch) | |
tree | 18dc34f015079a4ef7aedbc4d0fc877fa56d6d92 /src | |
parent | 21f6437764253c304c839409ea7883ad56cfcd63 (diff) |
Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS
This relies on the Chrome CL: https://chromium-review.googlesource.com/c/chromium/src/+/999796 (Add SK_SUPPORT_LEGACY_BACKEND_OBJECTS to SkUserConfig.h) landing first.
Change-Id: Ie0a2b7b84cc02e46957765a0a7d6444a5320769d
Reviewed-on: https://skia-review.googlesource.com/119140
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gpu/gl/GrGLRenderTarget.h | 2 | ||||
-rw-r--r-- | src/gpu/gl/GrGLTexture.cpp | 2 | ||||
-rw-r--r-- | src/gpu/gl/GrGLTexture.h | 2 | ||||
-rw-r--r-- | src/gpu/mock/GrMockTexture.h | 6 | ||||
-rw-r--r-- | src/gpu/mtl/GrMtlRenderTarget.h | 2 | ||||
-rw-r--r-- | src/gpu/mtl/GrMtlRenderTarget.mm | 2 | ||||
-rw-r--r-- | src/gpu/mtl/GrMtlTexture.h | 2 | ||||
-rw-r--r-- | src/gpu/mtl/GrMtlTexture.mm | 2 | ||||
-rw-r--r-- | src/gpu/vk/GrVkRenderTarget.cpp | 2 | ||||
-rw-r--r-- | src/gpu/vk/GrVkRenderTarget.h | 3 | ||||
-rw-r--r-- | src/gpu/vk/GrVkTexture.cpp | 2 | ||||
-rw-r--r-- | src/gpu/vk/GrVkTexture.h | 2 | ||||
-rw-r--r-- | src/image/SkImage.cpp | 4 | ||||
-rw-r--r-- | src/image/SkImage_Base.h | 2 | ||||
-rw-r--r-- | src/image/SkImage_Gpu.cpp | 2 | ||||
-rw-r--r-- | src/image/SkImage_Gpu.h | 3 | ||||
-rw-r--r-- | src/image/SkSurface.cpp | 2 | ||||
-rw-r--r-- | src/image/SkSurface_Base.h | 2 | ||||
-rw-r--r-- | src/image/SkSurface_Gpu.cpp | 2 | ||||
-rw-r--r-- | src/image/SkSurface_Gpu.h | 2 |
20 files changed, 48 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLRenderTarget.h b/src/gpu/gl/GrGLRenderTarget.h index 3da4812dff..4412dcf425 100644 --- a/src/gpu/gl/GrGLRenderTarget.h +++ b/src/gpu/gl/GrGLRenderTarget.h @@ -61,7 +61,9 @@ public: } } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getRenderTargetHandle() const override { return fRTFBOID; } +#endif GrBackendRenderTarget getBackendRenderTarget() const override; diff --git a/src/gpu/gl/GrGLTexture.cpp b/src/gpu/gl/GrGLTexture.cpp index 69b214de27..9a8dbd8f4b 100644 --- a/src/gpu/gl/GrGLTexture.cpp +++ b/src/gpu/gl/GrGLTexture.cpp @@ -98,9 +98,11 @@ void GrGLTexture::onAbandon() { INHERITED::onAbandon(); } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject GrGLTexture::getTextureHandle() const { return reinterpret_cast<GrBackendObject>(&fInfo); } +#endif GrBackendTexture GrGLTexture::getBackendTexture() const { return GrBackendTexture(this->width(), this->height(), this->texturePriv().mipMapped(), fInfo); diff --git a/src/gpu/gl/GrGLTexture.h b/src/gpu/gl/GrGLTexture.h index 7da2bb4428..fcc85bc700 100644 --- a/src/gpu/gl/GrGLTexture.h +++ b/src/gpu/gl/GrGLTexture.h @@ -39,7 +39,9 @@ public: SkASSERT(!fReleaseHelper); } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getTextureHandle() const override; +#endif GrBackendTexture getBackendTexture() const override; void textureParamsModified() override { fTexParams.invalidate(); } diff --git a/src/gpu/mock/GrMockTexture.h b/src/gpu/mock/GrMockTexture.h index 55dc6f3946..071b4f4615 100644 --- a/src/gpu/mock/GrMockTexture.h +++ b/src/gpu/mock/GrMockTexture.h @@ -31,9 +31,11 @@ public: ~GrMockTexture() override {} +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getTextureHandle() const override { return reinterpret_cast<GrBackendObject>(&fInfo); } +#endif GrBackendTexture getBackendTexture() const override { return GrBackendTexture(this->width(), this->height(), this->texturePriv().mipMapped(), fInfo); @@ -118,9 +120,11 @@ public: return {this->width(), this->height(), this->numColorSamples(), numStencilBits, fInfo}; } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getRenderTargetHandle() const override { return reinterpret_cast<GrBackendObject>(&fInfo); } +#endif protected: // constructor for subclasses @@ -156,7 +160,9 @@ public: this->registerWithCacheWrapped(); } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getRenderTargetHandle() const override { return 0; } +#endif GrTexture* asTexture() override { return this; } GrRenderTarget* asRenderTarget() override { return this; } diff --git a/src/gpu/mtl/GrMtlRenderTarget.h b/src/gpu/mtl/GrMtlRenderTarget.h index 83e7d3c240..c653952482 100644 --- a/src/gpu/mtl/GrMtlRenderTarget.h +++ b/src/gpu/mtl/GrMtlRenderTarget.h @@ -40,7 +40,9 @@ public: return true; } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getRenderTargetHandle() const override; +#endif GrBackendRenderTarget getBackendRenderTarget() const override { return GrBackendRenderTarget(); // invalid diff --git a/src/gpu/mtl/GrMtlRenderTarget.mm b/src/gpu/mtl/GrMtlRenderTarget.mm index 12b507b801..c8060cf88c 100644 --- a/src/gpu/mtl/GrMtlRenderTarget.mm +++ b/src/gpu/mtl/GrMtlRenderTarget.mm @@ -63,10 +63,12 @@ GrMtlGpu* GrMtlRenderTarget::getMtlGpu() const { return static_cast<GrMtlGpu*>(this->getGpu()); } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject GrMtlRenderTarget::getRenderTargetHandle() const { void* voidRT = (__bridge_retained void*)fRenderTexture; return (GrBackendObject)voidRT; } +#endif void GrMtlRenderTarget::onAbandon() { fRenderTexture = nil; diff --git a/src/gpu/mtl/GrMtlTexture.h b/src/gpu/mtl/GrMtlTexture.h index 3433f38db0..21f5e13b19 100644 --- a/src/gpu/mtl/GrMtlTexture.h +++ b/src/gpu/mtl/GrMtlTexture.h @@ -26,7 +26,9 @@ public: id<MTLTexture> mtlTexture() const { return fTexture; } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getTextureHandle() const override; +#endif GrBackendTexture getBackendTexture() const override; void textureParamsModified() override {} diff --git a/src/gpu/mtl/GrMtlTexture.mm b/src/gpu/mtl/GrMtlTexture.mm index 92afe31a9a..534eb6baf7 100644 --- a/src/gpu/mtl/GrMtlTexture.mm +++ b/src/gpu/mtl/GrMtlTexture.mm @@ -71,10 +71,12 @@ GrMtlGpu* GrMtlTexture::getMtlGpu() const { return static_cast<GrMtlGpu*>(this->getGpu()); } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject GrMtlTexture::getTextureHandle() const { void* voidTex = (__bridge_retained void*)fTexture; return (GrBackendObject)voidTex; } +#endif GrBackendTexture GrMtlTexture::getBackendTexture() const { return GrBackendTexture(); // invalid diff --git a/src/gpu/vk/GrVkRenderTarget.cpp b/src/gpu/vk/GrVkRenderTarget.cpp index 83c3b97776..3cab94d7dc 100644 --- a/src/gpu/vk/GrVkRenderTarget.cpp +++ b/src/gpu/vk/GrVkRenderTarget.cpp @@ -352,12 +352,14 @@ void GrVkRenderTarget::onAbandon() { } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject GrVkRenderTarget::getRenderTargetHandle() const { // If the render target is multisampled, we currently return the ImageInfo for the resolved // image. If we only wrap the msaa target (currently not implemented) we should return a handle // to that instead. return (GrBackendObject)&fInfo; } +#endif GrBackendRenderTarget GrVkRenderTarget::getBackendRenderTarget() const { return GrBackendRenderTarget(this->width(), this->height(), this->numColorSamples(), diff --git a/src/gpu/vk/GrVkRenderTarget.h b/src/gpu/vk/GrVkRenderTarget.h index 64be0b78e4..ed840fc226 100644 --- a/src/gpu/vk/GrVkRenderTarget.h +++ b/src/gpu/vk/GrVkRenderTarget.h @@ -70,7 +70,10 @@ public: return true; } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getRenderTargetHandle() const override; +#endif + GrBackendRenderTarget getBackendRenderTarget() const override; void getAttachmentsDescriptor(GrVkRenderPass::AttachmentsDescriptor* desc, diff --git a/src/gpu/vk/GrVkTexture.cpp b/src/gpu/vk/GrVkTexture.cpp index 0b9862443c..c4393fdd36 100644 --- a/src/gpu/vk/GrVkTexture.cpp +++ b/src/gpu/vk/GrVkTexture.cpp @@ -161,9 +161,11 @@ void GrVkTexture::onAbandon() { INHERITED::onAbandon(); } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject GrVkTexture::getTextureHandle() const { return (GrBackendObject)&fInfo; } +#endif GrBackendTexture GrVkTexture::getBackendTexture() const { return GrBackendTexture(this->width(), this->height(), fInfo, this->grVkImageLayout()); diff --git a/src/gpu/vk/GrVkTexture.h b/src/gpu/vk/GrVkTexture.h index e37b53ebbf..79506eff9e 100644 --- a/src/gpu/vk/GrVkTexture.h +++ b/src/gpu/vk/GrVkTexture.h @@ -29,7 +29,9 @@ public: ~GrVkTexture() override; +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject getTextureHandle() const override; +#endif GrBackendTexture getBackendTexture() const override; void textureParamsModified() override {} diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp index bbbbceeed8..3be804fca8 100644 --- a/src/image/SkImage.cpp +++ b/src/image/SkImage.cpp @@ -163,10 +163,12 @@ GrTexture* SkImage::getTexture() const { bool SkImage::isTextureBacked() const { return SkToBool(as_IB(this)->peekProxy()); } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject SkImage::getTextureHandle(bool flushPendingGrContextIO, GrSurfaceOrigin* origin) const { return as_IB(this)->onGetTextureHandle(flushPendingGrContextIO, origin); } +#endif GrBackendTexture SkImage::getBackendTexture(bool flushPendingGrContextIO, GrSurfaceOrigin* origin) const { @@ -186,7 +188,9 @@ GrTexture* SkImage::getTexture() const { return nullptr; } bool SkImage::isTextureBacked() const { return false; } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject SkImage::getTextureHandle(bool, GrSurfaceOrigin*) const { return 0; } +#endif GrBackendTexture SkImage::getBackendTexture(bool flushPendingGrContextIO, GrSurfaceOrigin* origin) const { diff --git a/src/image/SkImage_Base.h b/src/image/SkImage_Base.h index 191cf0354e..c74a7b97e0 100644 --- a/src/image/SkImage_Base.h +++ b/src/image/SkImage_Base.h @@ -55,10 +55,12 @@ public: virtual sk_sp<GrTextureProxy> refPinnedTextureProxy(uint32_t* uniqueID) const { return nullptr; } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS virtual GrBackendObject onGetTextureHandle(bool flushPendingGrContextIO, GrSurfaceOrigin* origin) const { return 0; } +#endif virtual GrTexture* onGetTexture() const { return nullptr; } #endif diff --git a/src/image/SkImage_Gpu.cpp b/src/image/SkImage_Gpu.cpp index 0538172b90..05259f6a3c 100644 --- a/src/image/SkImage_Gpu.cpp +++ b/src/image/SkImage_Gpu.cpp @@ -165,6 +165,7 @@ static void apply_premul(const SkImageInfo& info, void* pixels, size_t rowBytes) } } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject SkImage_Gpu::onGetTextureHandle(bool flushPendingGrContextIO, GrSurfaceOrigin* origin) const { SkASSERT(fProxy); @@ -202,6 +203,7 @@ GrBackendObject SkImage_Gpu::onGetTextureHandle(bool flushPendingGrContextIO, } return 0; } +#endif GrBackendTexture SkImage_Gpu::onGetBackendTexture(bool flushPendingGrContextIO, GrSurfaceOrigin* origin) const { diff --git a/src/image/SkImage_Gpu.h b/src/image/SkImage_Gpu.h index af7c1fac6a..1425c875ce 100644 --- a/src/image/SkImage_Gpu.h +++ b/src/image/SkImage_Gpu.h @@ -49,8 +49,11 @@ public: *uniqueID = this->uniqueID(); return fProxy; } + +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject onGetTextureHandle(bool flushPendingGrContextIO, GrSurfaceOrigin* origin) const override; +#endif GrBackendTexture onGetBackendTexture(bool flushPendingGrContextIO, GrSurfaceOrigin* origin) const override; diff --git a/src/image/SkSurface.cpp b/src/image/SkSurface.cpp index b1c434d37b..73f3175ab9 100644 --- a/src/image/SkSurface.cpp +++ b/src/image/SkSurface.cpp @@ -218,6 +218,7 @@ void SkSurface::writePixels(const SkBitmap& src, int x, int y) { } } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject SkSurface::getTextureHandle(BackendHandleAccess access) { return asSB(this)->onGetTextureHandle(access); } @@ -225,6 +226,7 @@ GrBackendObject SkSurface::getTextureHandle(BackendHandleAccess access) { bool SkSurface::getRenderTargetHandle(GrBackendObject* obj, BackendHandleAccess access) { return asSB(this)->onGetRenderTargetHandle(obj, access); } +#endif GrBackendTexture SkSurface::getBackendTexture(BackendHandleAccess access) { return asSB(this)->onGetBackendTexture(access); diff --git a/src/image/SkSurface_Base.h b/src/image/SkSurface_Base.h index 2771d5ff16..90bcdff1dd 100644 --- a/src/image/SkSurface_Base.h +++ b/src/image/SkSurface_Base.h @@ -19,6 +19,7 @@ public: SkSurface_Base(const SkImageInfo&, const SkSurfaceProps*); virtual ~SkSurface_Base(); +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS virtual GrBackendObject onGetTextureHandle(BackendHandleAccess) { return 0; } @@ -26,6 +27,7 @@ public: virtual bool onGetRenderTargetHandle(GrBackendObject*, BackendHandleAccess) { return false; } +#endif virtual GrBackendTexture onGetBackendTexture(BackendHandleAccess); virtual GrBackendRenderTarget onGetBackendRenderTarget(BackendHandleAccess); diff --git a/src/image/SkSurface_Gpu.cpp b/src/image/SkSurface_Gpu.cpp index 9d1a2f61f6..e9ae9104e2 100644 --- a/src/image/SkSurface_Gpu.cpp +++ b/src/image/SkSurface_Gpu.cpp @@ -51,6 +51,7 @@ static GrRenderTarget* prepare_rt_for_external_access(SkSurface_Gpu* surface, return rtc->accessRenderTarget(); } +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject SkSurface_Gpu::onGetTextureHandle(BackendHandleAccess access) { GrRenderTarget* rt = prepare_rt_for_external_access(this, access); if (!rt) { @@ -71,6 +72,7 @@ bool SkSurface_Gpu::onGetRenderTargetHandle(GrBackendObject* obj, BackendHandleA *obj = rt->getRenderTargetHandle(); return true; } +#endif GrBackendTexture SkSurface_Gpu::onGetBackendTexture(BackendHandleAccess access) { GrRenderTarget* rt = prepare_rt_for_external_access(this, access); diff --git a/src/image/SkSurface_Gpu.h b/src/image/SkSurface_Gpu.h index ecb84a8c00..fc014c2cd2 100644 --- a/src/image/SkSurface_Gpu.h +++ b/src/image/SkSurface_Gpu.h @@ -23,8 +23,10 @@ public: // This is an internal-only factory static sk_sp<SkSurface> MakeWrappedRenderTarget(GrContext*, sk_sp<GrRenderTargetContext>); +#ifdef SK_SUPPORT_LEGACY_BACKEND_OBJECTS GrBackendObject onGetTextureHandle(BackendHandleAccess) override; bool onGetRenderTargetHandle(GrBackendObject*, BackendHandleAccess) override; +#endif GrBackendTexture onGetBackendTexture(BackendHandleAccess) override; GrBackendRenderTarget onGetBackendRenderTarget(BackendHandleAccess) override; |