diff options
Diffstat (limited to 'include/core/SkCrossContextImageData.h')
-rw-r--r-- | include/core/SkCrossContextImageData.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/include/core/SkCrossContextImageData.h b/include/core/SkCrossContextImageData.h index a408f71446..beaaaa6a28 100644 --- a/include/core/SkCrossContextImageData.h +++ b/include/core/SkCrossContextImageData.h @@ -12,7 +12,6 @@ #include "SkImage.h" #if SK_SUPPORT_GPU -#include "GrBackendSurface.h" #include "GrExternalTextureData.h" #endif @@ -69,15 +68,16 @@ public: ~SkCCIDBackendTexture() override {} private: - SkCCIDBackendTexture(const GrBackendTexture& backendTex, - GrSurfaceOrigin origin, + SkCCIDBackendTexture(const GrBackendTextureDesc& desc, std::unique_ptr<GrExternalTextureData> textureData, SkAlphaType alphaType, sk_sp<SkColorSpace> colorSpace) : fAlphaType(alphaType) , fColorSpace(std::move(colorSpace)) - , fBackendTex(backendTex) - , fOrigin(origin) - , fTextureData(std::move(textureData)) {} + , fDesc(desc) + , fTextureData(std::move(textureData)) { + // Point our texture desc at our copy of the backend information + fDesc.fTextureHandle = fTextureData->getBackendObject(); + } sk_sp<SkImage> makeImage(GrContext*) override; @@ -85,8 +85,7 @@ private: // and some backend-specific info (to reconstruct the texture). SkAlphaType fAlphaType; sk_sp<SkColorSpace> fColorSpace; - GrBackendTexture fBackendTex; - GrSurfaceOrigin fOrigin; + GrBackendTextureDesc fDesc; std::unique_ptr<GrExternalTextureData> fTextureData; friend class SkCrossContextImageData; |