| Index: include/gpu/GrTexture.h
|
| diff --git a/include/gpu/GrTexture.h b/include/gpu/GrTexture.h
|
| index 06ba2e41086f06915d72f5c5f80a50e264e64e13..8bdff34df5ee311a84401b4c19f8bca1d20186d4 100644
|
| --- a/include/gpu/GrTexture.h
|
| +++ b/include/gpu/GrTexture.h
|
| @@ -16,7 +16,7 @@
|
|
|
| class GrResourceKey;
|
| class GrTextureParams;
|
| -class GrTextureImpl;
|
| +class GrTexturePriv;
|
|
|
| class GrTexture : public GrSurface {
|
| public:
|
| @@ -44,19 +44,6 @@ public:
|
| virtual const GrRenderTarget* asRenderTarget() const SK_OVERRIDE { return fRenderTarget.get(); }
|
|
|
| /**
|
| - * Convert from texels to normalized texture coords for POT textures only. Please don't add
|
| - * new callsites for these functions. They are slated for removal.
|
| - */
|
| - SkFixed normalizeFixedX(SkFixed x) const {
|
| - SkASSERT(SkIsPow2(fDesc.fWidth));
|
| - return x >> fShiftFixedX;
|
| - }
|
| - SkFixed normalizeFixedY(SkFixed y) const {
|
| - SkASSERT(SkIsPow2(fDesc.fHeight));
|
| - return y >> fShiftFixedY;
|
| - }
|
| -
|
| - /**
|
| * Return the native ID or handle to the texture, depending on the
|
| * platform. e.g. on OpenGL, return the texture ID.
|
| */
|
| @@ -67,11 +54,9 @@ public:
|
| * changed externally to Skia.
|
| */
|
| virtual void textureParamsModified() = 0;
|
| - SK_ATTR_DEPRECATED("Renamed to textureParamsModified.")
|
| - void invalidateCachedState() { this->textureParamsModified(); }
|
|
|
| /**
|
| - * Informational texture flags. This will be moved to the private GrTextureImpl class soon.
|
| + * Informational texture flags. This will be removed soon.
|
| */
|
| enum FlagBits {
|
| kFirstBit = (kLastPublic_GrTextureFlagBit << 1),
|
| @@ -94,21 +79,16 @@ public:
|
| }
|
| #endif
|
|
|
| - GrTextureImpl* impl() { return reinterpret_cast<GrTextureImpl*>(this); }
|
| - const GrTextureImpl* impl() const { return reinterpret_cast<const GrTextureImpl*>(this); }
|
| + /** Access methods that are only to be used within Skia code. */
|
| + inline GrTexturePriv texturePriv();
|
| + inline const GrTexturePriv texturePriv() const;
|
|
|
| protected:
|
| // A texture refs its rt representation but not vice-versa. It is up to
|
| // the subclass constructor to initialize this pointer.
|
| SkAutoTUnref<GrRenderTarget> fRenderTarget;
|
|
|
| - GrTexture(GrGpu* gpu, bool isWrapped, const GrTextureDesc& desc)
|
| - : INHERITED(gpu, isWrapped, desc)
|
| - , fRenderTarget(NULL) {
|
| - // only make sense if alloc size is pow2
|
| - fShiftFixedX = 31 - SkCLZ(fDesc.fWidth);
|
| - fShiftFixedY = 31 - SkCLZ(fDesc.fHeight);
|
| - }
|
| + GrTexture(GrGpu* gpu, bool isWrapped, const GrTextureDesc& desc);
|
|
|
| virtual ~GrTexture();
|
|
|
| @@ -121,60 +101,23 @@ protected:
|
| private:
|
| void abandonReleaseCommon();
|
| virtual void internal_dispose() const SK_OVERRIDE;
|
| -
|
| - // these two shift a fixed-point value into normalized coordinates
|
| - // for this texture if the texture is power of two sized.
|
| - int fShiftFixedX;
|
| - int fShiftFixedY;
|
| -
|
| - typedef GrSurface INHERITED;
|
| -};
|
| -
|
| -class GrTextureImpl : public GrTexture {
|
| -public:
|
| - SK_DECLARE_INST_COUNT(GrTextureImpl)
|
| -
|
| - void setFlag(GrTextureFlags flags) {
|
| - fDesc.fFlags = fDesc.fFlags | flags;
|
| - }
|
| - void resetFlag(GrTextureFlags flags) {
|
| - fDesc.fFlags = fDesc.fFlags & ~flags;
|
| - }
|
| - bool isSetFlag(GrTextureFlags flags) const {
|
| - return 0 != (fDesc.fFlags & flags);
|
| - }
|
| -
|
| void dirtyMipMaps(bool mipMapsDirty);
|
|
|
| - bool mipMapsAreDirty() const {
|
| - return kValid_MipMapsStatus != fMipMapsStatus;
|
| - }
|
| -
|
| - bool hasMipMaps() const {
|
| - return kNotAllocated_MipMapsStatus != fMipMapsStatus;
|
| - }
|
| -
|
| - static GrResourceKey ComputeKey(const GrGpu* gpu,
|
| - const GrTextureParams* params,
|
| - const GrTextureDesc& desc,
|
| - const GrCacheID& cacheID);
|
| - static GrResourceKey ComputeScratchKey(const GrTextureDesc& desc);
|
| - static bool NeedsResizing(const GrResourceKey& key);
|
| - static bool NeedsBilerp(const GrResourceKey& key);
|
| -
|
| -protected:
|
| - GrTextureImpl(GrGpu* gpu, bool isWrapped, const GrTextureDesc& desc);
|
| -
|
| -private:
|
| enum MipMapsStatus {
|
| kNotAllocated_MipMapsStatus,
|
| kAllocated_MipMapsStatus,
|
| kValid_MipMapsStatus
|
| };
|
|
|
| - MipMapsStatus fMipMapsStatus;
|
| + MipMapsStatus fMipMapsStatus;
|
| + // These two shift a fixed-point value into normalized coordinates
|
| + // for this texture if the texture is power of two sized.
|
| + int fShiftFixedX;
|
| + int fShiftFixedY;
|
| +
|
| + friend class GrTexturePriv;
|
|
|
| - typedef GrTexture INHERITED;
|
| + typedef GrSurface INHERITED;
|
| };
|
|
|
| /**
|
|
|