diff options
author | Robert Phillips <robertphillips@google.com> | 2017-04-05 12:18:58 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-05 17:00:10 +0000 |
commit | aaee31f18c0845417103d84285e365575def3c40 (patch) | |
tree | 9d0cea264cacdf51f64919ffc8f2b2d5dc83e961 /tests/ImageFilterCacheTest.cpp | |
parent | babb101291784b844a99b20b5164b271758f6d33 (diff) |
Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 2)
This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling.
This is a reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv)
Change-Id: Icd0a90d2beb483dc24ed87c3bace9c817019e148
Reviewed-on: https://skia-review.googlesource.com/11326
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'tests/ImageFilterCacheTest.cpp')
-rw-r--r-- | tests/ImageFilterCacheTest.cpp | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/tests/ImageFilterCacheTest.cpp b/tests/ImageFilterCacheTest.cpp index fe67925fda..95ade044bd 100644 --- a/tests/ImageFilterCacheTest.cpp +++ b/tests/ImageFilterCacheTest.cpp @@ -181,18 +181,6 @@ DEF_TEST(ImageFilterCache_ImageBackedRaster, reporter) { #include "GrContext.h" #include "GrResourceProvider.h" -static GrTexture* create_texture(GrContext* context) { - SkBitmap srcBM = create_bm(); - - GrSurfaceDesc desc; - desc.fConfig = kRGBA_8888_GrPixelConfig; - desc.fFlags = kNone_GrSurfaceFlags; - desc.fWidth = kFullSize; - desc.fHeight = kFullSize; - - return context->resourceProvider()->createTexture(desc, SkBudgeted::kNo, srcBM.getPixels(), 0); -} - static sk_sp<GrTextureProxy> create_proxy(GrResourceProvider* resourceProvider) { SkBitmap srcBM = create_bm(); @@ -208,10 +196,16 @@ static sk_sp<GrTextureProxy> create_proxy(GrResourceProvider* resourceProvider) srcBM.rowBytes()); } - DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ImageFilterCache_ImageBackedGPU, reporter, ctxInfo) { - sk_sp<GrTexture> srcTexture(create_texture(ctxInfo.grContext())); - if (!srcTexture) { + GrContext* context = ctxInfo.grContext(); + + sk_sp<GrTextureProxy> srcProxy(create_proxy(context->resourceProvider())); + if (!srcProxy) { + return; + } + + GrTexture* tex = srcProxy->instantiate(context->resourceProvider()); + if (!tex) { return; } @@ -222,8 +216,8 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ImageFilterCache_ImageBackedGPU, reporter, ct backendDesc.fWidth = kFullSize; backendDesc.fHeight = kFullSize; backendDesc.fSampleCnt = 0; - backendDesc.fTextureHandle = srcTexture->getTextureHandle(); - sk_sp<SkImage> srcImage(SkImage::MakeFromTexture(ctxInfo.grContext(), + backendDesc.fTextureHandle = tex->getTextureHandle(); + sk_sp<SkImage> srcImage(SkImage::MakeFromTexture(context, backendDesc, kPremul_SkAlphaType)); if (!srcImage) { |