blob: 07e8300b6b2dd7ac3d6b2762f75582d4118cc588 [file] [edit]
/*
* Copyright 2021 Google LLC
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "src/gpu/graphite/Renderer.h"
#include "src/gpu/AtlasTypes.h"
#include "src/gpu/graphite/render/TextDirectRenderStep.h"
#include "src/gpu/graphite/render/TextSDFRenderStep.h"
namespace skgpu::graphite {
const Renderer& Renderer::TextDirect(MaskFormat maskFormat) {
static const TextDirectRenderStep kMask{true};
static const TextDirectRenderStep kBitmap{false};
static const Renderer kTextMaskRenderer{"TextMaskRenderer",
&kMask};
static const Renderer kTextBitmapRenderer{"TextBitmapRenderer",
&kBitmap};
switch(maskFormat) {
case MaskFormat::kA8: return kTextMaskRenderer;
case MaskFormat::kA565: return kTextBitmapRenderer;
case MaskFormat::kARGB: return kTextBitmapRenderer;
}
SkUNREACHABLE;
}
const Renderer& Renderer::TextSDF(bool useLCDText) {
static const TextSDFRenderStep kA8{false};
static const TextSDFRenderStep kLCD{true};
static const Renderer kTextSDFA8Renderer{"TextSDFA8Renderer",
&kA8};
static const Renderer kTextSDFLCDRenderer{"TextSDFLCDRenderer",
&kLCD};
if (useLCDText) {
return kTextSDFLCDRenderer;
} else {
return kTextSDFA8Renderer;
}
SkUNREACHABLE;
}
} // namespace skgpu