Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are deleted.
Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs.
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/376703009
diff --git a/src/gpu/gl/GrGpuGL.h b/src/gpu/gl/GrGpuGL.h
index a2c636d..509c4c1 100644
--- a/src/gpu/gl/GrGpuGL.h
+++ b/src/gpu/gl/GrGpuGL.h
@@ -105,8 +105,6 @@
void notifyIndexBufferDelete(GrGLuint id) {
fHWGeometryState.notifyIndexBufferDelete(id);
}
- void notifyTextureDelete(GrGLTexture* texture);
- void notifyRenderTargetDelete(GrRenderTarget* renderTarget);
// These functions should be used to generate and delete GL path names. They have their own
// allocator that runs on the client side, so they are much faster than going through GenPaths.
@@ -464,8 +462,8 @@
GrDrawState::DrawFace fHWDrawFace;
TriState fHWWriteToColor;
TriState fHWDitherEnabled;
- GrRenderTarget* fHWBoundRenderTarget;
- SkTArray<GrTexture*, true> fHWBoundTextures;
+ uint64_t fHWBoundRenderTargetInstanceID;
+ SkTArray<uint64_t, true> fHWBoundTextureInstanceIDs;
struct PathTexGenData {
GrGLenum fMode;