Hoist pixel geometry adjustments out of SkBaseDevice::CreateInfo()
We only call CreateInfo() from internalSaveLayer(), and always pass
kNever_TileUsage. Move the related pixel geo override to
internalSaveLayer, and remove CreateInfo::AdjustPixelGeometry().
(also swap the args order to "prove" we're covering all callers)
NOTREECHECKS=true
Change-Id: Ie11c3f501d262f070cf97797cb549d3afa87d679
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/286876
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 3b6abc0..d5e9ae0 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -1167,12 +1167,17 @@
sk_sp<SkBaseDevice> newDevice;
{
SkASSERT(info.alphaType() != kOpaque_SkAlphaType);
- const SkBaseDevice::TileUsage usage = SkBaseDevice::kNever_TileUsage;
+
+ // TODO: reinstate kPreserveLCDText_SaveLayerFlag
+ geo = kUnknown_SkPixelGeometry;
+
const bool trackCoverage =
SkToBool(saveLayerFlags & kMaskAgainstCoverage_EXPERIMENTAL_DONT_USE_SaveLayerFlag);
- const SkBaseDevice::CreateInfo createInfo = SkBaseDevice::CreateInfo(info, usage, geo,
- trackCoverage,
- fAllocator.get());
+ const auto createInfo = SkBaseDevice::CreateInfo(info,
+ geo,
+ SkBaseDevice::kNever_TileUsage,
+ trackCoverage,
+ fAllocator.get());
newDevice.reset(priorDevice->onCreateDevice(createInfo, paint));
if (!newDevice) {
return;