Re-arrange GrResourceProvider's texture creation methods
This is all in service of removing the last raw writeSurfacePixels (that we can do anything about)
Change-Id: Ic84f677b2440b20e5fcc23e787584db0cfaecd01
Reviewed-on: https://skia-review.googlesource.com/13584
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/src/gpu/GrResourceProvider.h b/src/gpu/GrResourceProvider.h
index 91dd09f..676d82f 100644
--- a/src/gpu/GrResourceProvider.h
+++ b/src/gpu/GrResourceProvider.h
@@ -49,7 +49,6 @@
*/
sk_sp<GrTextureProxy> createMipMappedTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted,
const GrMipLevel* texels, int mipLevelCount,
- uint32_t flags = 0,
SkDestinationSurfaceColorMode mipColorMode =
SkDestinationSurfaceColorMode::kLegacy);
@@ -71,8 +70,9 @@
/** Create an exact fit texture with no initial data to upload.
*/
- sk_sp<GrTexture> createTexture(const GrSurfaceDesc& desc, SkBudgeted budgeted,
- uint32_t flags = 0);
+ sk_sp<GrTexture> createTexture(const GrSurfaceDesc&, SkBudgeted, uint32_t flags = 0);
+
+ sk_sp<GrTextureProxy> createTextureProxy(const GrSurfaceDesc&, SkBudgeted, const GrMipLevel&);
///////////////////////////////////////////////////////////////////////////
// Wrapped Backend Surfaces
@@ -245,6 +245,12 @@
GrTexture* refScratchTexture(const GrSurfaceDesc&, uint32_t scratchTextureFlags);
+ /*
+ * Try to find an existing scratch texture that exactly matches 'desc'. If successful
+ * update the budgeting accordingly.
+ */
+ sk_sp<GrTexture> getExactScratch(const GrSurfaceDesc&, SkBudgeted, uint32_t flags);
+
GrResourceCache* cache() { return fCache; }
const GrResourceCache* cache() const { return fCache; }