summaryrefslogtreecommitdiff
path: root/external/skia/constexpr-template.patch.0
blob: 2e962660e4f0e27573bacf1507ecb5c0e02ec3a2 (plain)
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;