Merge changes I468fe3ef,I7632c4af into main am: a2c9a48d57
Original change: https://android-review.googlesource.com/c/platform/external/skia/+/2850230
Change-Id: If3fbb2e290f7bcc271ceb26fb9be38eacc525633
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h b/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h
index c06f830..1e9ae1b 100644
--- a/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h
+++ b/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h
@@ -79,8 +79,7 @@
int numTextureSamplers,
const GrGLSLVarying& texIdx,
const char* coordName,
- const char* colorName,
- GrGLSLColorSpaceXformHelper* cxh = nullptr) {
+ const char* colorName) {
SkASSERT(numTextureSamplers > 0);
// This shouldn't happen, but will avoid a crash if it does
if (numTextureSamplers <= 0) {
@@ -92,14 +91,12 @@
for (int i = 0; i < numTextureSamplers-1; ++i) {
args.fFragBuilder->codeAppendf("if (%s == %d) { %s = ", texIdx.fsIn(), i, colorName);
args.fFragBuilder->appendTextureLookup(args.fTexSamplers[i],
- coordName,
- cxh);
+ coordName);
args.fFragBuilder->codeAppend("; } else ");
}
args.fFragBuilder->codeAppendf("{ %s = ", colorName);
args.fFragBuilder->appendTextureLookup(args.fTexSamplers[numTextureSamplers - 1],
- coordName,
- cxh);
+ coordName);
args.fFragBuilder->codeAppend("; }");
}
diff --git a/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp b/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp
index 22c3518..4168152 100644
--- a/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp
+++ b/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp
@@ -95,7 +95,12 @@
fragBuilder->codeAppend("half4 texColor;");
append_multitexture_lookup(args, btgp.numTextureSamplers(),
- texIdx, uv.fsIn(), "texColor", &fColorSpaceXformHelper);
+ texIdx, uv.fsIn(), "texColor");
+ if (!fColorSpaceXformHelper.isNoop()) {
+ fragBuilder->codeAppend("texColor = ");
+ fragBuilder->appendColorGamutXform("texColor", &fColorSpaceXformHelper);
+ fragBuilder->codeAppend(";");
+ }
if (btgp.fMaskFormat == MaskFormat::kARGB) {
// modulate by color