aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar Stan Iliev <stani@google.com>2017-04-19 00:23:39 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-04-19 00:23:50 +0000
commit7fa5c31c2c9af834bee66d5fcf476e250076c8d6 (patch)
tree846c27759d4cf4c6487a636872e2e9c88d9137ff /include
parentedec99b640a7a9dbc7d4fd9f48d35ed3a54c61e3 (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.h15
-rw-r--r--include/gpu/GrBackendSurface.h32
-rw-r--r--include/gpu/GrExternalTextureData.h1
-rw-r--r--include/private/GrSurfaceProxy.h3
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; }