Make fallback descriptors explicit
Have the subruns carry a pointer to the descriptor they need.
This simplifies the regen code, and makes ARGB fallback more explicit.
Change-Id: If11477cb9ecccc90ae262327e0579f4ab249836e
Reviewed-on: https://skia-review.googlesource.com/c/171586
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
diff --git a/src/gpu/text/GrTextBlob.cpp b/src/gpu/text/GrTextBlob.cpp
index e54ab06..184ee7a 100644
--- a/src/gpu/text/GrTextBlob.cpp
+++ b/src/gpu/text/GrTextBlob.cpp
@@ -64,7 +64,7 @@
const SkMatrix& viewMatrix) {
// if we have an override descriptor for the run, then we should use that
- SkAutoDescriptor* desc = fOverrideDescriptor.get() ? fOverrideDescriptor.get() : &fDescriptor;
+ SkAutoDescriptor* desc = fARGBFallbackDescriptor.get() ? fARGBFallbackDescriptor.get() : &fDescriptor;
SkScalerContextEffects effects;
SkScalerContext::CreateDescriptorAndEffectsUsingPaint(
skPaint, props, scalerContextFlags, viewMatrix, desc, &effects);
@@ -415,13 +415,13 @@
SkASSERT_RELEASE(rRun.fDescriptor.getDesc());
SkASSERT_RELEASE(*lRun.fDescriptor.getDesc() == *rRun.fDescriptor.getDesc());
- if (lRun.fOverrideDescriptor.get()) {
- SkASSERT_RELEASE(lRun.fOverrideDescriptor->getDesc());
- SkASSERT_RELEASE(rRun.fOverrideDescriptor.get() && rRun.fOverrideDescriptor->getDesc());
- SkASSERT_RELEASE(*lRun.fOverrideDescriptor->getDesc() ==
- *rRun.fOverrideDescriptor->getDesc());
+ if (lRun.fARGBFallbackDescriptor.get()) {
+ SkASSERT_RELEASE(lRun.fARGBFallbackDescriptor->getDesc());
+ SkASSERT_RELEASE(rRun.fARGBFallbackDescriptor.get() && rRun.fARGBFallbackDescriptor->getDesc());
+ SkASSERT_RELEASE(*lRun.fARGBFallbackDescriptor->getDesc() ==
+ *rRun.fARGBFallbackDescriptor->getDesc());
} else {
- SkASSERT_RELEASE(!rRun.fOverrideDescriptor.get());
+ SkASSERT_RELEASE(!rRun.fARGBFallbackDescriptor.get());
}
// color can be changed