--- include/sksl/DSLFunction.h +++ include/sksl/DSLFunction.h @@ -93,17 +93,20 @@ DSLExpression call(ExpressionArray args, Position pos = {}); private: + static void push_back(ExpressionArray& args, DSLExpression& expr); + void collectArgs(ExpressionArray& args) {} template void collectArgs(ExpressionArray& args, DSLVar& var, RemainingArgs&&... remaining) { - args.push_back(DSLExpression(var).release()); + DSLExpression expr(var); + push_back(args, expr); collectArgs(args, std::forward(remaining)...); } template void collectArgs(ExpressionArray& args, DSLExpression expr, RemainingArgs&&... remaining) { - args.push_back(expr.release()); + push_back(args, expr); collectArgs(args, std::forward(remaining)...); } --- src/core/SkStrikeCache.h +++ src/core/SkStrikeCache.h @@ -13,11 +13,10 @@ #include "include/private/base/SkLoadUserConfig.h" // IWYU pragma: keep #include "include/private/base/SkMutex.h" #include "src/core/SkDescriptor.h" +#include "src/core/SkStrike.h" #include "src/core/SkStrikeSpec.h" #include "src/text/StrikeForGPU.h" -class SkStrike; -class SkStrikePinner; class SkTraceMemoryDump; // SK_DEFAULT_FONT_CACHE_COUNT_LIMIT and SK_DEFAULT_FONT_CACHE_LIMIT can be set using -D on your --- src/gpu/ganesh/effects/GrBlendFragmentProcessor.h +++ src/gpu/ganesh/effects/GrBlendFragmentProcessor.h @@ -10,8 +10,7 @@ #include "include/core/SkRefCnt.h" #include - -class GrFragmentProcessor; +#include "src/gpu/ganesh/GrFragmentProcessor.h" namespace GrBlendFragmentProcessor { --- src/sksl/dsl/DSLFunction.cpp +++ src/sksl/dsl/DSLFunction.cpp @@ -41,6 +41,10 @@ return context.fConfig->fIsBuiltinCode && SkSL::FindIntrinsicKind(name) != kNotIntrinsic; } +void DSLFunction::push_back(ExpressionArray& args, DSLExpression& expr) { + args.push_back(expr.release()); +} + void DSLFunction::init(DSLModifiers modifiers, const DSLType& returnType, std::string_view name, SkSpan params, Position pos) { fPosition = pos;