diff options
author | Robert Phillips <robertphillips@google.com> | 2017-05-23 07:43:48 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-05-23 12:45:21 +0000 |
commit | 92de631edd3eb9b3430332d1f1d566e903ea2ea9 (patch) | |
tree | 47117268c4a5fb3065ef4be5a21eb3c5c0b401b2 /gm | |
parent | 8ca3356290323ed7eb42611b867fff90c239eb39 (diff) |
Remove compressed (ETC1) texture support from Ganesh (take 2)
Reland of https://skia-review.googlesource.com/c/17456/ (Remove compressed (ETC1) texture support from Ganesh) but w/o removing third_part\etc1 files
TBR=bsalomon@google.com
Change-Id: I8ec4b7e3ddf47d213cb24c382731c050ffb8847f
Reviewed-on: https://skia-review.googlesource.com/17700
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'gm')
-rw-r--r-- | gm/etc1.cpp | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/gm/etc1.cpp b/gm/etc1.cpp deleted file mode 100644 index cc01a0e35e..0000000000 --- a/gm/etc1.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2017 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "gm.h" -#include "sk_tool_utils.h" -#include "SkRandom.h" - -#if SK_SUPPORT_GPU -#include "etc1.h" - -#include "GrContext.h" -#include "GrRenderTargetContext.h" -#include "GrRenderTargetContextPriv.h" -#include "GrTextureProxy.h" -#include "effects/GrSimpleTextureEffect.h" -#include "ops/GrNonAAFillRectOp.h" - -// Basic test of Ganesh's ETC1 support -class ETC1GM : public skiagm::GM { -public: - ETC1GM() { - this->setBGColor(sk_tool_utils::color_to_565(0xFFCCCCCC)); - } - -protected: - SkString onShortName() override { - return SkString("etc1"); - } - - SkISize onISize() override { - return SkISize::Make(kTexWidth + 2*kPad, kTexHeight + 2*kPad); - } - - void onOnceBeforeDraw() override { - SkBitmap bm; - SkImageInfo ii = SkImageInfo::Make(kTexWidth, kTexHeight, kRGB_565_SkColorType, - kOpaque_SkAlphaType); - bm.allocPixels(ii); - - bm.erase(SK_ColorBLUE, SkIRect::MakeWH(kTexWidth, kTexHeight)); - - for (int y = 0; y < kTexHeight; y += 4) { - for (int x = 0; x < kTexWidth; x += 4) { - bm.erase((x+y) % 8 ? SK_ColorRED : SK_ColorGREEN, SkIRect::MakeXYWH(x, y, 4, 4)); - } - } - - int size = etc1_get_encoded_data_size(bm.width(), bm.height()); - fETC1Data.reset(size); - - unsigned char* pixels = (unsigned char*) fETC1Data.get(); - - if (etc1_encode_image((unsigned char*) bm.getAddr16(0, 0), - bm.width(), bm.height(), 2, bm.rowBytes(), pixels)) { - fETC1Data.reset(); - } - } - - void onDraw(SkCanvas* canvas) override { - GrRenderTargetContext* renderTargetContext = - canvas->internal_private_accessTopLayerRenderTargetContext(); - if (!renderTargetContext) { - skiagm::GM::DrawGpuOnlyMessage(canvas); - return; - } - - GrContext* context = canvas->getGrContext(); - if (!context) { - return; - } - - GrSurfaceDesc desc; - desc.fConfig = kETC1_GrPixelConfig; - desc.fWidth = kTexWidth; - desc.fHeight = kTexHeight; - - sk_sp<GrTextureProxy> proxy = GrSurfaceProxy::MakeDeferred(context->resourceProvider(), - desc, SkBudgeted::kYes, - fETC1Data.get(), 0); - if (!proxy) { - return; - } - - const SkMatrix trans = SkMatrix::MakeTrans(-kPad, -kPad); - - sk_sp<GrFragmentProcessor> fp = GrSimpleTextureEffect::Make(context->resourceProvider(), - std::move(proxy), - nullptr, trans); - - GrPaint grPaint; - grPaint.setXPFactory(GrPorterDuffXPFactory::Get(SkBlendMode::kSrc)); - grPaint.addColorFragmentProcessor(std::move(fp)); - - SkRect rect = SkRect::MakeXYWH(kPad, kPad, kTexWidth, kTexHeight); - - renderTargetContext->priv().testingOnly_addDrawOp(GrNonAAFillRectOp::Make( - std::move(grPaint), SkMatrix::I(), rect, nullptr, nullptr, GrAAType::kNone)); - } - -private: - static const int kPad = 8; - static const int kTexWidth = 16; - static const int kTexHeight = 20; - - SkAutoTMalloc<char> fETC1Data; - - typedef GM INHERITED; -}; - -////////////////////////////////////////////////////////////////////////////// - -DEF_GM(return new ETC1GM;) - -#endif |