Switch from querying swizzle on caps to using swizzles stored on proxies.
Change-Id: I03f4a3affd6dda7a83bee8eec768dcaa93a6b801
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/220534
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/ccpr/GrCCDrawPathsOp.cpp b/src/gpu/ccpr/GrCCDrawPathsOp.cpp
index 612251b..189081f 100644
--- a/src/gpu/ccpr/GrCCDrawPathsOp.cpp
+++ b/src/gpu/ccpr/GrCCDrawPathsOp.cpp
@@ -412,6 +412,7 @@
initArgs.fCaps = &flushState->caps();
initArgs.fResourceProvider = flushState->resourceProvider();
initArgs.fDstProxy = flushState->drawOpArgs().fDstProxy;
+ initArgs.fOutputSwizzle = flushState->drawOpArgs().fOutputSwizzle;
auto clip = flushState->detachAppliedClip();
GrPipeline::FixedDynamicState fixedDynamicState(clip.scissorState().rect());
GrPipeline pipeline(initArgs, std::move(fProcessors), std::move(clip));
@@ -426,7 +427,8 @@
SkASSERT(atlas->isInstantiated());
GrCCPathProcessor pathProc(
- atlas->peekTexture(), atlas->origin(), fViewMatrixIfUsingLocalCoords);
+ atlas->peekTexture(), atlas->textureSwizzle(), atlas->origin(),
+ fViewMatrixIfUsingLocalCoords);
GrTextureProxy* atlasProxy = range.fAtlasProxy;
fixedDynamicState.fPrimitiveProcessorTextures = &atlasProxy;
pathProc.drawPaths(flushState, pipeline, &fixedDynamicState, *resources, baseInstance,