Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Unified Diff: src/gpu/GrTextureProvider.cpp

Issue 1249543003: Creating functions for uploading a mipmapped texture. (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: No longer exposing SkMipMap and SkCachedData. Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/gpu/GrTextureProvider.cpp
diff --git a/src/gpu/GrTextureProvider.cpp b/src/gpu/GrTextureProvider.cpp
index cfa6994c4b6d043b616aa335d48613ec11cbdfe0..d15ff19265214585abb52f710e456d8ece06f360 100644
--- a/src/gpu/GrTextureProvider.cpp
+++ b/src/gpu/GrTextureProvider.cpp
@@ -40,7 +40,25 @@ GrTexture* GrTextureProvider::createTexture(const GrSurfaceDesc& desc, bool budg
texture->unref();
}
}
- return fGpu->createTexture(desc, budgeted, srcData, rowBytes);
+
+ SkMipMapLevel level(srcData, rowBytes);
+ const int levelCount = 1;
+ SkTArray<SkMipMapLevel> texels(levelCount);
+ texels.push_back(level);
+ return createTexture(desc, budgeted, texels);
bsalomon 2015/08/26 18:30:11 style nit, we prepend method calls with "this->"
cblume 2015/08/26 18:58:00 Done.
+}
+
+GrTexture* GrTextureProvider::createTexture(const GrSurfaceDesc& desc, bool budgeted,
+ SkTArray<SkMipMapLevel>& texels) {
+ if (this->isAbandoned()) {
+ return NULL;
+ }
+ if ((desc.fFlags & kRenderTarget_GrSurfaceFlag) &&
+ !fGpu->caps()->isConfigRenderable(desc.fConfig, desc.fSampleCnt > 0)) {
+ return NULL;
+ }
+
+ return fGpu->createTexture(desc, budgeted, texels);
}
GrTexture* GrTextureProvider::refScratchTexture(const GrSurfaceDesc& desc, ScratchTexMatch match,

Powered by Google App Engine
This is Rietveld 408576698