diff options
author | Stan Iliev <stani@google.com> | 2017-04-19 00:23:39 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-19 00:23:50 +0000 |
commit | 7fa5c31c2c9af834bee66d5fcf476e250076c8d6 (patch) | |
tree | 846c27759d4cf4c6487a636872e2e9c88d9137ff /include | |
parent | edec99b640a7a9dbc7d4fd9f48d35ed3a54c61e3 (diff) |
Revert "Plumb GrBackendTexture throughout skia."
This reverts commit 7da62b9059f3c1d31624a0e4da96ee5f908f9c12.
Reason for revert: fix android roll
Original change's description:
> Plumb GrBackendTexture throughout skia.
>
> Bug: skia:
> Change-Id: I1bae6768ee7229818a83ba608035a1f7867e6875
> Reviewed-on: https://skia-review.googlesource.com/13645
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org,stani@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I5cb8763cc837c83ebc6d10366fe2dd3efe35fb89
Reviewed-on: https://skia-review.googlesource.com/13773
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkCrossContextImageData.h | 15 | ||||
-rw-r--r-- | include/gpu/GrBackendSurface.h | 32 | ||||
-rw-r--r-- | include/gpu/GrExternalTextureData.h | 1 | ||||
-rw-r--r-- | include/private/GrSurfaceProxy.h | 3 |
4 files changed, 20 insertions, 31 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; diff --git a/include/gpu/GrBackendSurface.h b/include/gpu/GrBackendSurface.h index fd99a4312a..e588b8aa3a 100644 --- a/include/gpu/GrBackendSurface.h +++ b/include/gpu/GrBackendSurface.h @@ -15,18 +15,14 @@ struct GrGLTextureInfo; class GrBackendTexture { public: - // The passed in GrVkImageInfo must live until the GrBackendTexture is no longer used in - // creation of SkImages or SkSurfaces. GrBackendTexture(int width, int height, - const GrVkImageInfo* vkInfo); + GrVkImageInfo* vkInfo); - // The passed in GrGLTextureInfo must live until the GrBackendTexture is no longer used in - // creation of SkImages or SkSurfaces. GrBackendTexture(int width, int height, GrPixelConfig config, - const GrGLTextureInfo* glInfo); + GrGLTextureInfo* glInfo); int width() const { return fWidth; } int height() const { return fHeight; } @@ -35,11 +31,11 @@ public: // If the backend API is Vulkan, this returns a pointer to the GrVkImageInfo struct. Otherwise // it returns nullptr. - const GrVkImageInfo* getVkImageInfo() const; + GrVkImageInfo* getVkImageInfo(); // If the backend API is GL, this returns a pointer to the GrGLTextureInfo struct. Otherwise // it returns nullptr. - const GrGLTextureInfo* getGLTextureInfo() const; + GrGLTextureInfo* getGLTextureInfo(); private: // Temporary constructor which can be used to convert from a GrBackendTextureDesc. @@ -55,30 +51,26 @@ private: GrBackend fBackend; union { - const GrVkImageInfo* fVkInfo; - const GrGLTextureInfo* fGLInfo; + GrVkImageInfo* fVkInfo; + GrGLTextureInfo* fGLInfo; GrBackendObject fHandle; }; }; class GrBackendRenderTarget { public: - // The passed in GrVkImageInfo must live until the GrBackendTexture is no longer used in - // creation of SkImages or SkSurfaces. GrBackendRenderTarget(int width, int height, int sampleCnt, int stencilBits, - const GrVkImageInfo* vkInfo); + GrVkImageInfo* vkInfo); - // The passed in GrGLTextureInfo must live until the GrBackendTexture is no longer used in - // creation of SkImages or SkSurfaces. GrBackendRenderTarget(int width, int height, int sampleCnt, int stencilBits, GrPixelConfig config, - const GrGLTextureInfo* glInfo); + GrGLTextureInfo* glInfo); int width() const { return fWidth; } int height() const { return fHeight; } @@ -89,11 +81,11 @@ public: // If the backend API is Vulkan, this returns a pointer to the GrVkImageInfo struct. Otherwise // it returns nullptr. - const GrVkImageInfo* getVkImageInfo() const; + GrVkImageInfo* getVkImageInfo(); // If the backend API is GL, this returns a pointer to the GrGLTextureInfo struct. Otherwise // it returns nullptr. - const GrGLTextureInfo* getGLTextureInfo() const; + GrGLTextureInfo* getGLTextureInfo(); private: // Temporary constructor which can be used to convert from a GrBackendRenderTargetDesc. @@ -112,8 +104,8 @@ private: GrBackend fBackend; union { - const GrVkImageInfo* fVkInfo; - const GrGLTextureInfo* fGLInfo; + GrVkImageInfo* fVkInfo; + GrGLTextureInfo* fGLInfo; GrBackendObject fHandle; }; }; diff --git a/include/gpu/GrExternalTextureData.h b/include/gpu/GrExternalTextureData.h index b3b0594aa3..0ebc0534f1 100644 --- a/include/gpu/GrExternalTextureData.h +++ b/include/gpu/GrExternalTextureData.h @@ -21,7 +21,6 @@ protected: virtual GrBackendObject getBackendObject() const = 0; virtual void attachToContext(GrContext*) = 0; - friend class SkCrossContextImageData; friend class SkCCIDBackendTexture; friend class SkImage; }; diff --git a/include/private/GrSurfaceProxy.h b/include/private/GrSurfaceProxy.h index eb4f2814e3..efcec137c4 100644 --- a/include/private/GrSurfaceProxy.h +++ b/include/private/GrSurfaceProxy.h @@ -13,7 +13,6 @@ #include "SkRect.h" -class GrBackendTexture; class GrCaps; class GrOpList; class GrRenderTargetOpList; @@ -190,7 +189,7 @@ public: const GrSurfaceDesc&, SkBudgeted, const void* srcData, size_t rowBytes); - static sk_sp<GrTextureProxy> MakeWrappedBackend(GrContext*, GrBackendTexture&, GrSurfaceOrigin); + static sk_sp<GrSurfaceProxy> MakeWrappedBackend(GrContext*, GrBackendTextureDesc&); const GrSurfaceDesc& desc() const { return fDesc; } |