Tracking uniform ownership
This is a prerequisite change for the upcoming sample(child, matrix)
function. By itself, this CL doesn't really change anything; it just
adds an ownership tracking feature which sample(child, matrix) depends
on.
Change-Id: I98b12e5fb062a2535af367931e7a932ea9c63a59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281337
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/gpu/ccpr/GrCCClipProcessor.cpp b/src/gpu/ccpr/GrCCClipProcessor.cpp
index 4f0e4f2..9eed783 100644
--- a/src/gpu/ccpr/GrCCClipProcessor.cpp
+++ b/src/gpu/ccpr/GrCCClipProcessor.cpp
@@ -76,16 +76,18 @@
if (proc.fMustCheckBounds) {
const char* pathIBounds;
- fPathIBoundsUniform = uniHandler->addUniform(kFragment_GrShaderFlag, kFloat4_GrSLType,
- "path_ibounds", &pathIBounds);
+ fPathIBoundsUniform = uniHandler->addUniform(&proc, kFragment_GrShaderFlag,
+ kFloat4_GrSLType, "path_ibounds",
+ &pathIBounds);
f->codeAppendf("if (all(greaterThan(float4(sk_FragCoord.xy, %s.zw), "
"float4(%s.xy, sk_FragCoord.xy)))) {",
pathIBounds, pathIBounds);
}
const char* atlasTransform;
- fAtlasTransformUniform = uniHandler->addUniform(kFragment_GrShaderFlag, kFloat4_GrSLType,
- "atlas_transform", &atlasTransform);
+ fAtlasTransformUniform = uniHandler->addUniform(&proc, kFragment_GrShaderFlag,
+ kFloat4_GrSLType, "atlas_transform",
+ &atlasTransform);
f->codeAppendf("float2 texcoord = sk_FragCoord.xy * %s.xy + %s.zw;",
atlasTransform, atlasTransform);