aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ImageFilterCacheTest.cpp
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-01-31 17:53:34 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-02-01 16:04:41 +0000
commit3390e1526975e4250402e6642cd6875401abfc9e (patch)
tree85314856209b7a17aff0e001ae4a45bd952f693d /tests/ImageFilterCacheTest.cpp
parent77b3f32936dd069fa6a27f870b3b30035733d940 (diff)
Expand SkImage::getTextureHandle call
AFAICT cc/output/gl_renderer.cc only calls SkImage:getTexture to determine the origin of the backing GrTexture. What do y'all think of this CL as a means of removing that call to getTexture? One alternative would be to add a new entry point like: bool SkImage::getBackendTextureDesc(GrBackendTextureDesc* desc) const; which fills in the entire desc and returns whether the image is texture backed. Change-Id: Idd302c0a11d69ad08e0100bcf546b3bbaa7cf27e Reviewed-on: https://skia-review.googlesource.com/7788 Reviewed-by: Mike Reed <reed@google.com> 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.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/ImageFilterCacheTest.cpp b/tests/ImageFilterCacheTest.cpp
index 650d4cb3e8..393269adf6 100644
--- a/tests/ImageFilterCacheTest.cpp
+++ b/tests/ImageFilterCacheTest.cpp
@@ -199,17 +199,37 @@ DEF_GPUTEST_FOR_RENDERING_CONTEXTS(ImageFilterCache_ImageBackedGPU, reporter, ct
}
GrBackendTextureDesc backendDesc;
- backendDesc.fConfig = kRGBA_8888_GrPixelConfig;
backendDesc.fFlags = kNone_GrBackendTextureFlag;
+ backendDesc.fOrigin = kTopLeft_GrSurfaceOrigin;
+ backendDesc.fConfig = kRGBA_8888_GrPixelConfig;
backendDesc.fWidth = kFullSize;
backendDesc.fHeight = kFullSize;
backendDesc.fSampleCnt = 0;
backendDesc.fTextureHandle = srcTexture->getTextureHandle();
- sk_sp<SkImage> srcImage(SkImage::MakeFromTexture(ctxInfo.grContext(), backendDesc, kPremul_SkAlphaType));
+ sk_sp<SkImage> srcImage(SkImage::MakeFromTexture(ctxInfo.grContext(),
+ backendDesc,
+ kPremul_SkAlphaType));
if (!srcImage) {
return;
}
+ GrSurfaceOrigin readBackOrigin;
+ GrBackendObject readBackHandle = srcImage->getTextureHandle(false, &readBackOrigin);
+ // TODO: Make it so we can check this (see skbug.com/5019)
+#if 0
+ if (readBackHandle != backendDesc.fTextureHandle) {
+ ERRORF(reporter, "backend mismatch %d %d\n",
+ (int)readBackHandle, (int)backendDesc.fTextureHandle);
+ }
+ REPORTER_ASSERT(reporter, readBackHandle == backendDesc.fTextureHandle);
+#else
+ REPORTER_ASSERT(reporter, SkToBool(readBackHandle));
+#endif
+ if (readBackOrigin != backendDesc.fOrigin) {
+ ERRORF(reporter, "origin mismatch %d %d\n", readBackOrigin, backendDesc.fOrigin);
+ }
+ REPORTER_ASSERT(reporter, readBackOrigin == backendDesc.fOrigin);
+
test_image_backed(reporter, srcImage);
}