1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
--- 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<class... RemainingArgs>
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<RemainingArgs>(remaining)...);
}
template<class... RemainingArgs>
void collectArgs(ExpressionArray& args, DSLExpression expr, RemainingArgs&&... remaining) {
- args.push_back(expr.release());
+ push_back(args, expr);
collectArgs(args, std::forward<RemainingArgs>(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 <memory>
-
-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<DSLParameter*> params, Position pos) {
fPosition = pos;
|