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

Unified Diff: src/gpu/SkGpuDevice.cpp

Issue 1121813002: new image from backend desc (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: set samplecount to 0 (for now) Created 5 years, 7 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
« no previous file with comments | « include/gpu/SkGr.h ('k') | src/gpu/SkGr.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/SkGpuDevice.cpp
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 9518600e9948cd681e1bf9f4fb587bc046ccce1c..7a50e0409cf016e0cfe3b360c0ab4076430830fb 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -1731,29 +1731,14 @@ bool SkGpuDevice::filterImage(const SkImageFilter* filter, const SkBitmap& src,
filter, ctx, result, offset);
}
-static SkImageInfo make_info(GrTexture* tex, int w, int h, bool isOpaque) {
- const GrPixelConfig config = tex->config();
- SkColorType ct;
- SkAlphaType at = isOpaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType;
- if (!GrPixelConfig2ColorAndProfileType(config, &ct, NULL)) {
- ct = kUnknown_SkColorType;
- }
- return SkImageInfo::Make(w, h, ct, at);
-}
-
static bool wrap_as_bm(const SkImage* image, SkBitmap* bm) {
GrTexture* tex = image->getTexture();
if (tex) {
- // TODO: handle the GrTexture directly, and skip GrPixelRef
- const SkImageInfo info = make_info(tex, image->width(), image->height(), image->isOpaque());
- bm->setInfo(info);
- bm->setPixelRef(SkNEW_ARGS(SkGrPixelRef, (info, tex)))->unref();
+ GrWrapTextureInBitmap(tex, image->width(), image->height(), image->isOpaque(), bm);
+ return true;
} else {
- if (!as_IB(image)->getROPixels(bm)) {
- return false;
- }
+ return as_IB(image)->getROPixels(bm);
}
- return true;
}
void SkGpuDevice::drawImage(const SkDraw& draw, const SkImage* image, SkScalar x, SkScalar y,
« no previous file with comments | « include/gpu/SkGr.h ('k') | src/gpu/SkGr.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698