aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/ImageTest.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2018-02-02 13:51:50 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-02-02 23:37:59 +0000
commit5bb82cbecd740d21b92e8d2944280ab6eb6af7a6 (patch)
tree8171a4ea5d7f72dbba276b58a89a7e115066f24c /tests/ImageTest.cpp
parent1e5ef4f81ca18cd9448426891cda5120cea51de8 (diff)
Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend.""""
This reverts commit 18c52a7b52211de5d0dcd86dc048adef758c6c75. Also relands "More sample count cleanup:" and "Add new GrContext queries for imagability, surfacability, and max sample count of color types" Bug: skia: Change-Id: I4028105a3a1f16ce3944e134619eb6245af6b947 Reviewed-on: https://skia-review.googlesource.com/102940 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'tests/ImageTest.cpp')
-rw-r--r--tests/ImageTest.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/ImageTest.cpp b/tests/ImageTest.cpp
index a1472d42dd..9a89000748 100644
--- a/tests/ImageTest.cpp
+++ b/tests/ImageTest.cpp
@@ -38,6 +38,7 @@
#include "GrResourceCache.h"
#include "GrTest.h"
#include "GrTexture.h"
+#include "SkGr.h"
#endif
using namespace sk_gpu_test;
@@ -486,6 +487,29 @@ DEF_GPUTEST_FOR_GL_RENDERING_CONTEXTS(SkImage_drawAbandonedGpuImage, reporter, c
surface->getCanvas()->drawImage(image, 0, 0);
}
+DEF_GPUTEST_FOR_RENDERING_CONTEXTS(GrContext_colorTypeSupportedAsImage, reporter, ctxInfo) {
+ for (int ct = 0; ct < kLastEnum_SkColorType; ++ct) {
+ static constexpr int kSize = 10;
+ SkColorType colorType = static_cast<SkColorType>(ct);
+ bool can = ctxInfo.grContext()->colorTypeSupportedAsImage(colorType);
+ auto* gpu = ctxInfo.grContext()->contextPriv().getGpu();
+ GrBackendTexture backendTex = gpu->createTestingOnlyBackendTexture(
+ nullptr, kSize, kSize, colorType, false, GrMipMapped::kNo);
+ auto img =
+ SkImage::MakeFromTexture(ctxInfo.grContext(), backendTex, kTopLeft_GrSurfaceOrigin,
+ colorType, kOpaque_SkAlphaType, nullptr);
+ REPORTER_ASSERT(reporter, can == SkToBool(img),
+ "%d, colorTypeSupportedAsImage:%d, actual:%d, ct:%d", can, SkToBool(img),
+ colorType);
+
+ img.reset();
+ ctxInfo.grContext()->flush();
+ if (backendTex.isValid()) {
+ gpu->deleteTestingOnlyBackendTexture(&backendTex);
+ }
+ }
+}
+
#endif
class EmptyGenerator : public SkImageGenerator {