Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix release build after Hixie's bomb drop. #19

Merged
merged 1 commit into from
Jul 16, 2015

Conversation

eseidelGoogle
Copy link
Contributor

@Hixie
Copy link
Contributor

Hixie commented Jul 16, 2015

LGTM

eseidelGoogle added a commit that referenced this pull request Jul 16, 2015
Fix release build after Hixie's bomb drop.
@eseidelGoogle eseidelGoogle merged commit 192f39f into flutter:master Jul 16, 2015
@eseidelGoogle eseidelGoogle deleted the build_fix branch July 16, 2015 22:12
PingShen referenced this pull request Jul 14, 2020
Translate the coordinate from global flutterview to the specific embedded sub-view.
PingShen referenced this pull request Jul 14, 2020
This change makes it so that we track all the motion events encountered by `FlutterView` and all of its subviews in the `MotionEventTracker` class, indexed by a unique `MotionEventId`. This identifier is then passed to the Flutter framework as seen in flutter/flutter#60930. Once the gestures take part in gesture disambiguation and are sent back to the engine, we look-up the original motion event using the `MotionEventId` and dispatch it to the platform.

Bug: flutter/flutter#58837
swift-kim referenced this pull request in flutter-tizen/engine Nov 25, 2020
* Create channels directory

* Handle back button events
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
* add diff tool
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
…izers.

This fixes a group of crashes during fuzz testing.

FAILURE: typedef`(=<?[
[NoSuchMethodError: The method 'nullAwareAccess_rightBegin' was called on null.
Receiver: null
Tried calling: nullAwareAccess_rightBegin(Instance of 'ListLiteralImpl', Instance of 'InterfaceTypeImpl'), #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
flutter#1      ResolverVisitor.startNullAwareIndexExpression (package:analyzer/src/generated/resolver.dart:776:26)
flutter#2      ResolverVisitor.visitIndexExpression (package:analyzer/src/generated/resolver.dart:1585:5)
flutter#3      IndexExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5993:49)
flutter#4      DefaultFormalParameterImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3008:20)
#5      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
flutter#6      UnifyingAstVisitor.visitDefaultFormalParameter (package:analyzer/dart/ast/visitor.dart:3198:65)
flutter#7      ResolverVisitor.visitDefaultFormalParameter (package:analyzer/src/generated/resolver.dart:1239:11)
flutter#8      DefaultFormalParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:3003:15)
flutter#9      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
flutter#10     FormalParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4493:17)
flutter#11     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
flutter#12     UnifyingAstVisitor.visitFormalParameterList (package:analyzer/dart/ast/visitor.dart:3258:59)
flutter#13     ScopedVisitor.visitFormalParameterList (package:analyzer/src/generated/resolver.dart:2717:11)
flutter#14     FormalParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:4489:49)
flutter#15     FunctionTypeAliasImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5166:18)
flutter#16     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
flutter#17     UnifyingAstVisitor.visitFunctionTypeAlias (package:analyzer/dart/ast/visitor.dart:3285:55)
flutter#18     ScopedVisitor.visitFunctionTypeAliasInScope (package:analyzer/src/generated/resolver.dart:2819:11)
flutter#19     ResolverVisitor.visitFunctionTypeAliasInScope (package:analyzer/src/generated/resolver.dart:1490:11)
flutter#20     ScopedVisitor.visitFunctionTypeAlias (package:analyzer/src/generated/resolver.dart:2812:7)
#21     ResolverVisitor.visitFunctionTypeAlias (package:analyzer/src/generated/resolver.dart:1482:13)
#22     FunctionTypeAliasImpl.accept (package:analyzer/src/dart/ast/ast.dart:5158:49)
#23     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1088:23)
#24     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#25     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:706:10)

Continues //dart-review.googlesource.com/c/sdk/+/175187

Change-Id: I9518363961b4adcf7f57c2f0661151ef74efc2f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175906
Reviewed-by: Brian Wilkerson <[email protected]>
Reviewed-by: Samuel Rawlins <[email protected]>
Commit-Queue: Konstantin Shcheglov <[email protected]>
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
FAILURE: _(:<>(o;?(a(@([
[NoSuchMethodError: The getter 'contextType' was called on null.
Receiver: null
Tried calling: contextType, #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
flutter#1      FunctionExpressionResolver.resolve (package:analyzer/src/dart/resolver/function_expression_resolver.dart:72:35)
flutter#2      ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1424:37)
flutter#3      FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5004:49)
flutter#4      ResolverVisitor.visitConditionalExpression (package:analyzer/src/generated/resolver.dart:1068:16)
#5      ConditionalExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:2265:15)
flutter#6      DefaultFormalParameterImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3008:20)
flutter#7      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1710:10)
flutter#8      UnifyingAstVisitor.visitDefaultFormalParameter (package:analyzer/dart/ast/visitor.dart:3198:65)
flutter#9      ResolverVisitor.visitDefaultFormalParameter (package:analyzer/src/generated/resolver.dart:1206:11)
flutter#10     DefaultFormalParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:3003:15)
flutter#11     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
flutter#12     FormalParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4493:17)
flutter#13     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1710:10)
flutter#14     UnifyingAstVisitor.visitFormalParameterList (package:analyzer/dart/ast/visitor.dart:3258:59)
flutter#15     ScopedVisitor.visitFormalParameterList (package:analyzer/src/generated/resolver.dart:2684:11)
flutter#16     FormalParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:4489:49)
flutter#17     FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5009:18)
flutter#18     FunctionExpressionResolver.resolve (package:analyzer/src/dart/resolver/function_expression_resolver.dart:65:10)
flutter#19     ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1415:35)
flutter#20     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5004:49)
#21     FunctionDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4873:26)
#22     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1710:10)
#23     UnifyingAstVisitor.visitFunctionDeclaration (package:analyzer/dart/ast/visitor.dart:3271:59)
#24     ScopedVisitor.visitFunctionDeclarationInScope (package:analyzer/src/generated/resolver.dart:2749:11)
#25     ResolverVisitor.visitFunctionDeclarationInScope (package:analyzer/src/generated/resolver.dart:1405:11)
#26     ScopedVisitor.visitFunctionDeclaration (package:analyzer/src/generated/resolver.dart:2742:7)
#27     ResolverVisitor.visitFunctionDeclaration (package:analyzer/src/generated/resolver.dart:1374:11)
#28     FunctionDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:4866:49)
#29     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1055:23)
#30     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#31     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:706:10)


Change-Id: I62cde978d075bbafacb1b429e87049ca5d54d268
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175907
Reviewed-by: Brian Wilkerson <[email protected]>
Commit-Queue: Konstantin Shcheglov <[email protected]>
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
FAILURE: typedef:(:<>(s{if
[NoSuchMethodError: The method 'ifStatement_thenBegin' was called on null.
Receiver: null
Tried calling: ifStatement_thenBegin(Instance of 'SimpleIdentifierImpl'), #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
flutter#1      ResolverVisitor.visitIfStatement (package:analyzer/src/generated/resolver.dart:1556:26)
flutter#2      IfStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:5705:49)
flutter#3      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
flutter#4      BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1087:17)
#5      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
flutter#6      UnifyingAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:3143:31)
flutter#7      ScopedVisitor.visitBlock.<anonymous closure> (package:analyzer/src/generated/resolver.dart:2467:13)
flutter#8      ScopedVisitor._withDeclaredLocals (package:analyzer/src/generated/resolver.dart:3061:8)
flutter#9      ScopedVisitor.visitBlock (package:analyzer/src/generated/resolver.dart:2466:5)
flutter#10     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1083:49)
flutter#11     BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1042:13)
flutter#12     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
flutter#13     UnifyingAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:3146:55)
flutter#14     ScopedVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:2476:13)
flutter#15     ResolverVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:954:13)
flutter#16     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1038:49)
flutter#17     FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5010:12)
flutter#18     FunctionExpressionResolver.resolve (package:analyzer/src/dart/resolver/function_expression_resolver.dart:65:10)
flutter#19     ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1457:37)
flutter#20     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5004:49)
#21     DefaultFormalParameterImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3008:20)
#22     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#23     UnifyingAstVisitor.visitDefaultFormalParameter (package:analyzer/dart/ast/visitor.dart:3198:65)
#24     ResolverVisitor.visitDefaultFormalParameter (package:analyzer/src/generated/resolver.dart:1239:11)
#25     DefaultFormalParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:3003:15)
#26     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#27     FormalParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4493:17)
#28     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#29     UnifyingAstVisitor.visitFormalParameterList (package:analyzer/dart/ast/visitor.dart:3258:59)
#30     ScopedVisitor.visitFormalParameterList (package:analyzer/src/generated/resolver.dart:2717:11)
#31     FormalParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:4489:49)
#32     FunctionTypeAliasImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5166:18)
#33     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#34     UnifyingAstVisitor.visitFunctionTypeAlias (package:analyzer/dart/ast/visitor.dart:3285:55)
#35     ScopedVisitor.visitFunctionTypeAliasInScope (package:analyzer/src/generated/resolver.dart:2819:11)
#36     ResolverVisitor.visitFunctionTypeAliasInScope (package:analyzer/src/generated/resolver.dart:1490:11)
#37     ScopedVisitor.visitFunctionTypeAlias (package:analyzer/src/generated/resolver.dart:2812:7)
#38     ResolverVisitor.visitFunctionTypeAlias (package:analyzer/src/generated/resolver.dart:1482:13)
#39     FunctionTypeAliasImpl.accept (package:analyzer/src/dart/ast/ast.dart:5158:49)
#40     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1088:23)
#41     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#42     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:706:10)


[email protected]

Change-Id: I72bf7219d55d0bf53beae11f977f8fb840dd8e2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175908
Commit-Queue: Konstantin Shcheglov <[email protected]>
Reviewed-by: Brian Wilkerson <[email protected]>
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
…neric class alias.

FAILURE: mixi@:class<s=a(=m
[NoSuchMethodError: The getter 'enclosingElement' was called on null.
Receiver: null
Tried calling: enclosingElement, #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
flutter#1      LinkedResolutionReader.nextElement (package:analyzer/src/summary2/bundle_reader.dart:602:22)
flutter#2      ApplyResolutionVisitor._nextElement (package:analyzer/src/summary2/apply_resolution.dart:1106:24)
flutter#3      ApplyResolutionVisitor.visitAnnotation (package:analyzer/src/summary2/apply_resolution.dart:83:20)
flutter#4      AnnotationImpl.accept (package:analyzer/src/dart/ast/ast.dart:280:49)
#5      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
flutter#6      ApplyResolutionVisitor.visitClassTypeAlias (package:analyzer/src/summary2/apply_resolution.dart:167:20)
flutter#7      ClassTypeAliasImpl.accept (package:analyzer/src/dart/ast/ast.dart:1794:49)
flutter#8      LinkedContext.applyResolution (package:analyzer/src/summary2/bundle_reader.dart:512:11)
flutter#9      LinkedUnitContext.applyResolution (package:analyzer/src/summary2/linked_unit_context.dart:93:25)
flutter#10     ElementImpl.metadata (package:analyzer/src/dart/element/element.dart:2893:21)
flutter#11     ResolutionVisitor.visitClassTypeAlias (package:analyzer/src/dart/resolver/resolution_visitor.dart:256:51)
flutter#12     ClassTypeAliasImpl.accept (package:analyzer/src/dart/ast/ast.dart:1794:49)
flutter#13     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
flutter#14     CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2141:21)
flutter#15     RecursiveAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:731:10)
flutter#16     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
flutter#17     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:680:10)
flutter#18     LibraryAnalyzer.analyzeSync.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:139:7)
flutter#19     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:387:8)
flutter#20     LibraryAnalyzer.analyzeSync (package:analyzer/src/dart/analysis/library_analyzer.dart:138:11)
#21     LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:107:12)
#22     AnalysisDriver._computeResolvedLibrary2.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1414:65)
#23     PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:32:15)
#24     AnalysisDriver._computeResolvedLibrary2 (package:analyzer/src/dart/analysis/driver.dart:1400:20)
#25     AnalysisDriver._computeResolvedLibrary.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1393:15)


Change-Id: I6f04a325b30d9dc61e7eb1a4bba91ed8b9bcd1d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176060
Reviewed-by: Brian Wilkerson <[email protected]>
Commit-Queue: Konstantin Shcheglov <[email protected]>
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
…parameters.

FAILURE: /((=#is!?}=
[NoSuchMethodError: The getter 'nullabilitySuffix' was called on null.
Receiver: null
Tried calling: nullabilitySuffix, #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
flutter#1      SubtypeHelper.isSubtypeOf (package:analyzer/src/dart/element/subtype.dart:50:29)
flutter#2      TypeSystemImpl.isSubtypeOf2 (package:analyzer/src/dart/element/type_system.dart:1131:27)
flutter#3      DartObjectImpl.hasType (package:analyzer/src/dart/constant/value.dart:487:41)
flutter#4      DartObjectComputer.typeTest (package:analyzer/src/dart/constant/evaluation.dart:2159:44)
#5      ConstantVisitor.visitIsExpression (package:analyzer/src/dart/constant/evaluation.dart:1230:34)
flutter#6      IsExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:6463:49)
flutter#7      ConstantVisitor.visitConditionalExpression (package:analyzer/src/dart/constant/evaluation.dart:1104:48)
flutter#8      ConditionalExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:2265:15)
flutter#9      ConstantEvaluationEngine.computeConstantValue (package:analyzer/src/dart/constant/evaluation.dart:159:16)
flutter#10     _ConstantWalker.evaluate (package:analyzer/src/dart/constant/compute.dart:57:32)
flutter#11     DependencyWalker.walk.strongConnect (package:analyzer/src/summary/link.dart:100:13)
flutter#12     DependencyWalker.walk (package:analyzer/src/summary/link.dart:119:18)
flutter#13     computeConstants (package:analyzer/src/dart/constant/compute.dart:26:14)
flutter#14     LibraryAnalyzer._computeConstants (package:analyzer/src/dart/analysis/library_analyzer.dart:259:5)
flutter#15     LibraryAnalyzer.analyzeSync (package:analyzer/src/dart/analysis/library_analyzer.dart:145:5)
flutter#16     LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:107:12)
flutter#17     AnalysisDriver._computeResolvedLibrary2.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1414:65)
flutter#18     PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:32:15)
flutter#19     AnalysisDriver._computeResolvedLibrary2 (package:analyzer/src/dart/analysis/driver.dart:1400:20)
flutter#20     AnalysisDriver._computeResolvedLibrary.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1393:15)
#21     _rootRun (dart:async/zone.dart:1186:13)
#22     _CustomZone.run (dart:async/zone.dart:1090:19)
#23     _runZoned (dart:async/zone.dart:1626:10)
#24     runZoned (dart:async/zone.dart:1546:10)
#25     NullSafetyUnderstandingFlag.enableNullSafetyTypes (package:analyzer/dart/element/null_safety_understanding_flag.dart:42:12)
#26     AnalysisDriver._computeResolvedLibrary (package:analyzer/src/dart/analysis/driver.dart:1392:40)
#27     AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:962:22)
#28     AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:2013:24)


Change-Id: I1d5482390a7d76cccbfbdf1dd871f9473ce2826a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175944
Reviewed-by: Brian Wilkerson <[email protected]>
Commit-Queue: Konstantin Shcheglov <[email protected]>
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
FAILURE: class=class<@((){x:
[NoSuchMethodError: The method 'labeledStatement_begin' was called on null.
Receiver: null
Tried calling: labeledStatement_begin(Instance of 'LabeledStatementImpl'), #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
flutter#1      FlowAnalysisHelper.labeledStatement_enter (package:analyzer/src/dart/resolver/flow_analysis_visitor.dart:196:10)
flutter#2      ResolverVisitor.visitLabeledStatement (package:analyzer/src/generated/resolver.dart:1636:20)
flutter#3      LabeledStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:6520:49)
flutter#4      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#5      BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1087:17)
flutter#6      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1749:10)
flutter#7      UnifyingAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:3143:31)
flutter#8      ScopedVisitor.visitBlock.<anonymous closure> (package:analyzer/src/generated/resolver.dart:2473:13)
flutter#9      ScopedVisitor._withDeclaredLocals (package:analyzer/src/generated/resolver.dart:3067:8)
flutter#10     ScopedVisitor.visitBlock (package:analyzer/src/generated/resolver.dart:2472:5)
flutter#11     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1083:49)
flutter#12     BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1042:13)
flutter#13     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1749:10)
flutter#14     UnifyingAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:3146:55)
flutter#15     ScopedVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:2482:13)
flutter#16     ResolverVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:957:13)
flutter#17     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1038:49)
flutter#18     FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5010:12)
flutter#19     FunctionExpressionResolver.resolve (package:analyzer/src/dart/resolver/function_expression_resolver.dart:65:10)
flutter#20     ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1460:37)
#21     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5004:49)
#22     ResolverVisitor.visitArgumentList (package:analyzer/src/generated/resolver.dart:887:20)
#23     ArgumentListImpl.accept (package:analyzer/src/dart/ast/ast.dart:355:49)
#24     AnnotationResolver.resolve (package:analyzer/src/dart/resolver/annotation_resolver.dart:35:21)
#25     ResolverVisitor.visitAnnotation (package:analyzer/src/generated/resolver.dart:823:30)
#26     AnnotationImpl.accept (package:analyzer/src/dart/ast/ast.dart:280:49)
#27     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#28     AnnotatedNodeImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:148:17)
#29     TypeParameterImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:10298:11)
#30     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1749:10)
#31     UnifyingAstVisitor.visitTypeParameter (package:analyzer/dart/ast/visitor.dart:3475:47)
#32     TypeParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:10294:49)
#33     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#34     TypeParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:10346:21)
#35     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1749:10)
#36     UnifyingAstVisitor.visitTypeParameterList (package:analyzer/dart/ast/visitor.dart:3478:55)
#37     TypeParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:10342:49)
#38     ScopedVisitor.visitClassDeclarationInScope (package:analyzer/src/generated/resolver.dart:2533:26)
#39     ScopedVisitor.visitClassDeclaration (package:analyzer/src/generated/resolver.dart:2521:7)
#40     ResolverVisitor.visitClassDeclaration (package:analyzer/src/generated/resolver.dart:1015:13)
#41     ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:1536:49)
#42     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1091:23)
#43     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#44     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:706:10)
#45     LibraryAnalyzer.analyzeSync.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:139:7)

Change-Id: I13a10d2c127528aa9166e82a5ae535ddbbb8a022
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175943
Reviewed-by: Brian Wilkerson <[email protected]>
Commit-Queue: Konstantin Shcheglov <[email protected]>
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
FAILURE: (:s=0?.1(I
['package:_fe_analyzer_shared/src/flow_analysis/flow_analysis.dart': Failed assertion: line 2785 pos 12: '_stack.isEmpty': is not true.
#0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39)
flutter#1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
flutter#2      _FlowAnalysisImpl.finish (package:_fe_analyzer_shared/src/flow_analysis/flow_analysis.dart:2785:12)
flutter#3      FlowAnalysisHelper.topLevelDeclaration_exit (package:analyzer/src/dart/resolver/flow_analysis_visitor.dart:224:10)
flutter#4      AstResolver.resolve (package:analyzer/src/summary2/ast_resolver.dart:88:21)
#5      _VariableInferenceNode._resolveInitializer (package:analyzer/src/summary2/top_level_inference.dart:466:17)
flutter#6      _VariableInferenceNode.computeDependencies (package:analyzer/src/summary2/top_level_inference.dart:393:5)
flutter#7      Node.getDependencies (package:analyzer/src/summary/link.dart:148:40)
flutter#8      DependencyWalker.walk.strongConnect (package:analyzer/src/summary/link.dart:53:40)
flutter#9      DependencyWalker.walk (package:analyzer/src/summary/link.dart:119:18)
flutter#10     _InferenceWalker.walkNodes (package:analyzer/src/summary2/top_level_inference.dart:254:9)
flutter#11     _InitializerInference.perform (package:analyzer/src/summary2/top_level_inference.dart:287:13)
flutter#12     TopLevelInference.infer (package:analyzer/src/summary2/top_level_inference.dart:111:26)
flutter#13     Linker._performTopLevelInference (package:analyzer/src/summary2/link.dart:183:29)
flutter#14     Linker._buildOutlines (package:analyzer/src/summary2/link.dart:93:5)
flutter#15     Linker.link (package:analyzer/src/summary2/link.dart:76:5)
flutter#16     link (package:analyzer/src/summary2/link.dart:33:10)
flutter#17     LibraryContext.load2.loadBundle (package:analyzer/src/dart/analysis/library_context.dart:227:24)
flutter#18     LibraryContext.load2.<anonymous closure> (package:analyzer/src/dart/analysis/library_context.dart:258:17)
flutter#19     PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:32:15)
flutter#20     LibraryContext.load2 (package:analyzer/src/dart/analysis/library_context.dart:256:12)
#21     new LibraryContext (package:analyzer/src/dart/analysis/library_context.dart:78:5)
#22     AnalysisDriver._createLibraryContext.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1538:27)
#23     _rootRun (dart:async/zone.dart:1186:13)
#24     _CustomZone.run (dart:async/zone.dart:1090:19)
#25     _runZoned (dart:async/zone.dart:1626:10)
#26     runZoned (dart:async/zone.dart:1546:10)
#27     NullSafetyUnderstandingFlag.enableNullSafetyTypes (package:analyzer/dart/element/null_safety_understanding_flag.dart:42:12)
#28     AnalysisDriver._createLibraryContext (package:analyzer/src/dart/analysis/driver.dart:1536:33)
#29     AnalysisDriver._computeResolvedLibrary2.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1402:28)


Change-Id: I6b91c6bd89d6e0430a36ded992d8dca82bfedbff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175961
Commit-Queue: Konstantin Shcheglov <[email protected]>
Reviewed-by: Brian Wilkerson <[email protected]>
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
…ter#19)

This uses the work that was done in flutter#18 to wire up special
handling of certain file operations such that their results
will be written out to dedicated recording files.

(more work towards flutter#11)
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
Package stable versions should only depend on sdk stable versions.
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
- always_declare_return_types
- annotate_overrides
- prefer_conditional_assignment
- prefer_if_null_operators
- prefer_single_quotes
- use_function_type_syntax_for_parameters

Drop unused author field from pubspec.

Simplify dependency on `string_scanner` since older versions aren't
supported on the Dart 2 SDK and so wouldn't be picked up even with a
wide constraint.
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
VersionRange.difference() with a VersionUnion didn't expect to get an
empty constraint, but it was possible to do so.

Closes flutter#18
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
These prevent building internally. Fix an unused import.
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
@grouma this is an attempt to fix flutter#18 (may be easier to [view the diff ignoring whitespace](https://github.com/dart-lang/sse/pull/19/files?utf8=%E2%9C%93&diff=unified&w=1) since some code got indenting and makes the diff look much bigger than it is).

However there is an exposed method here - `closeSink` that closes the underlying sink (in order to test - we can't close the exposed `sink` because it closes the stream controller that needs to continue to be used). I'm not sure if there's a better way (we can add `@visibleForTesting`, though `meta` isn't currently referenced here).

Happy to make changes if this isn't what you had in mind (and I can test it end-to-end through dwds and GitPod to confirm it works prior to merging it).
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
rhencke pushed a commit to rhencke/engine that referenced this pull request Dec 20, 2020
swift-kim referenced this pull request in swift-kim/engine Jan 28, 2021
* Call first OnClearCurrent when destroying TizenSurfaceGL
* Add LogLastEGLError from the Android Shell
* Move a method for resizing egl window to TizenNativeEGLWindow
* Tidy up

Signed-off-by: Boram Bae <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Feb 15, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Feb 15, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Feb 15, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Feb 15, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Mar 9, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Mar 29, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Jun 7, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Sep 27, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
swift-kim referenced this pull request in swift-kim/engine Nov 15, 2021
* Fix memory corruption issue (flutter-tizen#2)
* Exit application method is replaced by 'ui_app_exit' (flutter-tizen#3)
* Fix launch failure in sleep mode (flutter-tizen#4)
* Fix scorll issue (flutter-tizen#6)
* Changed EGL settings to support more Tizen devices (flutter-tizen#5)
* Add touch events of platform view channel for tizen (flutter-tizen#8)
* Resize egl window when software keyboard is shown (flutter-tizen#7)
* Fix texture being not released issue (flutter-tizen#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter-tizen#11)
* Refactor tizen surface (flutter-tizen#10)
* Fix a crash in stop phase of Tizen engine (flutter-tizen#12)
* Fix a crash during app shutdown (flutter-tizen#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter-tizen#15)
* Implement key events for tizen webview (flutter-tizen#14)
* Change method name starting with lower case (flutter-tizen#16)
* Remove not used code (flutter-tizen#18)
* Introduce assertion macros (flutter-tizen#17)
* Minor update to Misc (flutter-tizen#19)
* Add azure-pipelines.yml (flutter-tizen#20)
* Clean-up channel view resource upon exiting app (flutter-tizen#22)
* Call a method to set imf_context in platform view channel (flutter-tizen#24)
* Support Tizen 4.0 (flutter-tizen#23)
* Fix a focused platform view bug (flutter-tizen#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (flutter-tizen#28)
* Separate the embedder from the engine (flutter-tizen#29)
* Add profile build to the CI script (flutter-tizen#30)
* Share egl context to egl resource context (flutter-tizen#31)
* Implement message queue to handle vblank request (flutter-tizen#32)
* Fix a platform view bug (flutter-tizen#33)
* Convert timestamp to correct unit (flutter-tizen#35)
* Send locales to flutter including default locale (flutter-tizen#38)
* Enable FontConfig to improve font fallbacks (flutter-tizen#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
WonyoungChoi pushed a commit to WonyoungChoi/engine that referenced this pull request Dec 14, 2021
* Fix memory corruption issue (#2)
* Exit application method is replaced by 'ui_app_exit' (#3)
* Fix launch failure in sleep mode (#4)
* Fix scorll issue (flutter#6)
* Changed EGL settings to support more Tizen devices (#5)
* Add touch events of platform view channel for tizen (flutter#8)
* Resize egl window when software keyboard is shown (flutter#7)
* Fix texture being not released issue (flutter#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter#11)
* Refactor tizen surface (flutter#10)
* Fix a crash in stop phase of Tizen engine (flutter#12)
* Fix a crash during app shutdown (flutter#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter#15)
* Implement key events for tizen webview (flutter#14)
* Change method name starting with lower case (flutter#16)
* Remove not used code (flutter#18)
* Introduce assertion macros (flutter#17)
* Minor update to Misc (flutter#19)
* Add azure-pipelines.yml (flutter#20)
* Clean-up channel view resource upon exiting app (#22)
* Call a method to set imf_context in platform view channel (#24)
* Support Tizen 4.0 (#23)
* Fix a focused platform view bug (#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (#28)
* Separate the embedder from the engine (#29)
* Add profile build to the CI script (#30)
* Share egl context to egl resource context (#31)
* Implement message queue to handle vblank request (#32)
* Fix a platform view bug (#33)
* Convert timestamp to correct unit (#35)
* Send locales to flutter including default locale (#38)
* Enable FontConfig to improve font fallbacks (#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
WonyoungChoi pushed a commit to WonyoungChoi/engine that referenced this pull request Dec 23, 2021
* Fix memory corruption issue (#2)
* Exit application method is replaced by 'ui_app_exit' (#3)
* Fix launch failure in sleep mode (#4)
* Fix scorll issue (flutter#6)
* Changed EGL settings to support more Tizen devices (#5)
* Add touch events of platform view channel for tizen (flutter#8)
* Resize egl window when software keyboard is shown (flutter#7)
* Fix texture being not released issue (flutter#9)
* Remove tizen_tools dependency and update BUILD.gn (flutter#11)
* Refactor tizen surface (flutter#10)
* Fix a crash in stop phase of Tizen engine (flutter#12)
* Fix a crash during app shutdown (flutter#13)
* Fix a crash when TizenVsyncWaiter is destroyed. (flutter#15)
* Implement key events for tizen webview (flutter#14)
* Change method name starting with lower case (flutter#16)
* Remove not used code (flutter#18)
* Introduce assertion macros (flutter#17)
* Minor update to Misc (flutter#19)
* Add azure-pipelines.yml (flutter#20)
* Clean-up channel view resource upon exiting app (#22)
* Call a method to set imf_context in platform view channel (#24)
* Support Tizen 4.0 (#23)
* Fix a focused platform view bug (#27)
* Support screen rotations for Tizen 4.0 and Tizen 6.0 (#28)
* Separate the embedder from the engine (#29)
* Add profile build to the CI script (#30)
* Share egl context to egl resource context (#31)
* Implement message queue to handle vblank request (#32)
* Fix a platform view bug (#33)
* Convert timestamp to correct unit (#35)
* Send locales to flutter including default locale (#38)
* Enable FontConfig to improve font fallbacks (#40)

Co-authored-by: Xiaowei Guan <[email protected]>
Co-authored-by: MuHong Byun <[email protected]>
Co-authored-by: Boram Bae <[email protected]>
Co-authored-by: Seungsoo Lee <[email protected]>
Co-authored-by: Hakkyu Kim <[email protected]>
dnfield pushed a commit to dnfield/engine that referenced this pull request Apr 26, 2022
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Apr 28, 2022
bdero pushed a commit to flutter/flutter that referenced this pull request Apr 28, 2022
* 28af36b Merge entity renderer impl into the entity renderer.

* 08f00cd Move entity shaders to their own directory.

* e95252f Shorten names of the render target attachment descriptors.

* b5ed864 Fixup names of pipeline descriptors.

* 531162f Minor fixups to pipeline creation.

* a093636 Make pipelines store pipeline descriptors.

* 612b54f Start consolidating content rendering.

* 2747332 Separate save layer calls into a canvas pass.

* 97455db Start wiring up the entity playground.

* 778fc11 Allow shader libraries to look at multiple shader dylibs.

* 5405b9a Implement texture mapping.

* 866045d WIP on stroke rendering.

* d35f10a Insert additional padding at the end of the struct if the size of the struct does not satisfy the alignment requirements of all its members.

* 41ed619 Fix struct padding calculations.

* ac10b79 Rendering of continuous strokes.

* ede7645 Cleanup entity API.

* 9ce9a81 WIP Add test for clip rendering.

* 0570581 Add support for typed commands.

* 9c88b09 Give the default render target a stencil buffer.

* 60c3b21 Implement stencil-only clips.

* 65ffd04 Rework canvas passes in prep for subpasses.

* 38d4aba Renderer components no longer need a surface reference to function.

* 17d301b WIP on creating utils for creating offscreen render targets.

* 9359311 Fix bug in texture usage mask.

* 3f41788 Setup aiks for canvas subpasses.

* ab16b0b Setup canvas pass hierarchies.

* 3a8fb57 Canvas subpasses rendering into their own command buffers.

* 398b74f Work towards making canvas subpasses configure postprocessing effects.

* bb633ca Fix alpha writes while rendering to texture.

* f9a6a2c Fixup ortho calculations and add ostream printers for geometry utils.

* 18f8e72 Setup a framework to collapse passes.

* d00efdd Move entity pass management to the entity framework.

* ead8058 Setup a paint pass delgate.

* ed8b78a Allow entity passes to be elided based on their contents.

* 026dcd1 Turn on full-screen 4xMSAA by default and additional render target validations.

* 603b915 Add render pass and pipeline sample count validation.

* 30f28f1 All creation of pipeline variants from a pipeline.

* 2b78480 Allow for the on-demand creation and caching of pipeline variants from the prototype.

* 723ca3b Add more validation logs instead of FML logs.

* 6d87108 Implement Canvas::Skew.

* 18399a5 Implement Canvas::SaveLayer with bounds.

* 4234b34 Minor: Add Canvas::Transform.

* 8e90d38 Rect union and intersection.

* 4417fa6 Don't let subpass coverage exceed entity coverage.

* a63c047 Remove unused and confusing API in TRect.

* 20d22fd Add macOS availability checks.

* 05e9f89 Add missing availability check for macOS 10.12.

* cb54794 Fix broken test.

* e3d4357 Support non-uniform rounding radii.

* 10487e3 Stub out a display list dispatcher.

* f83a021 Support path fill types.

* 66096b5 Add support for path composition in path builder.

* d3626cd Implement conversion SkPath to Impeller paths.

* 98c18b3 Import the archivist framework.

* 147e64f Update translation units for style guide.

* 8d7d8e6 Cleanup archive structure.

* 89589cc Separate archive_location into its own TU.

* 547fc00 Clearer names for primary keys.

* 4a6e2d0 Add uncommitted patches from a previous change.

* 0c595a9 More use of optionals in archivist.

* 5289135 Make primary keys optional.

* 7b3ab41 Minor: Rename primary key variable name.

* 188890c Support user readable table names.

* 94b9bfd Add error message for incorrect member lookup.

* 95386ed Remove superfluous auto_key from ArchiveDef.

* bf24ff9 Cleanup macros in archive statement.

* 85b8a00 Remove remaining C-Style casts.

* 4ca5af4 Fix temporary database file deletion.

* 84eee26 Fix iOS compilation issues.

* a104fa5 Update GN rules for Flutter updates.

* a404064 Minor: Rename the Impeller dispatcher to be something sane and prep for sidecar wireup.

* 57a0728 Rework the confusingly named renderer subsystem instances.

* db3c4a1 Make the Metal drawable wrapping routine from the playground a utility.

* 7566d67 Minor: Change the names of the intermediates for the wrapped render target.

* 0016e48 Allow resizing the playground.

* 64e3b29 Holy size savings Batman!

* 3ac38d8 Forward targets specification to the code generator in impellerc.

* 0b63e2c Shader data can now be compiled into the binary.

* 86c91dc Fix pipeline library issue related to not tracking pending futures.

* 687f189 Don't waste space on an unnecessary depth buffer.

* 8748c76 Setup default pixel formats.

* f282f41 Remove support for the weird 5 byte pixel format.

* 7e5364a Minor: Account for macro namespacing.

* c66b7fb IOS macros have not been namespaced yet.

* f700873 Gate the minimum iOS deployment versions in the generated shaders.

* 819b033 Cross reference issues and add additional tracing.

* 169abed Add a README.

* c251e07 Fixup minor Markdown formatting issues in the README.

* 6d520d2 Add an image overview of the shader compilation pipeline.

* a449707 Link to the shader pipeline from the README.

* 844d400 Enable playgrounds in all tests and fix default sample counts.

* 9c53695 Update tests to account for sample count defaults.

* 14bf827 Back out changes to the Impeller dispatcher stub that depend on WIP interface changes. (flutter/engine#3)

* 2a6bb6e create scorecards-analysis.yml (flutter/engine#4)

* fec0355 Use -M0 instead of -frecord-sources (flutter/engine#5)

* e982526 Compensate for change to saveLayer (flutter/engine#6)

* 14ec50a Adds a GN flag for playgrounds (flutter/engine#7)

* 3d422b2 Wrap all MD files at 80 cols, minor cleanup of headers/indenting (flutter/engine#8)

* ca3433d Fix Rect::Compare bugs (flutter/engine#10)

* e768f4d adopt new DlColorFilter objects (flutter/engine#12)

* 88f4c24 Support 16bit index buffers (flutter/engine#11)

* dde655f Add viewport and scissor support (flutter/engine#9)

* 4220ef3 Add cull mode to command (flutter/engine#13)

* 9b2cbc1 Support nested clips & clip state restoration (flutter/engine#14)

* a2f7555 Fix bug introduced in a476b92 which broke a bunch of tests (flutter/engine#15)

* e7f9073 changes for new DlMaskFilter objects (flutter/engine#17)

* ba1ecb6 Add baseVertex (flutter/engine#16)

* 542b8c4 Fix index size check to respect 16 bit buffers (flutter/engine#19)

* 26090e4 Add mixed type specializations on algebraic ops in TPoint (flutter/engine#21)

* cb9997a Respect TextureContents/Canvas::DrawImageRect source rect (flutter/engine#22)

* 9ecbb76 Add an ImGui backend targetting Impeller to the playground (flutter/engine#20)

* 604a93f Fix prod build (flutter/engine#23)

* 6cd7a45 Bad cubic tests (flutter/engine#24)

* e94acaa Match skia's path param ordering (flutter/engine#25)

* b26c6ac Do not include the leading point for cubic polylines (flutter/engine#29)

* bafa73b Add assignment operators to point (flutter/engine#26)

* 2373da8 Add entity playground callback (flutter/engine#27)

* 2dceced adopt new DlAttributeType enum naming (flutter/engine#30)

* f41c0a9 Support subcontours in strokes, lay groundwork for fills (flutter/engine#31)

* 4be3053 Add immediate mode manipulator widget macros for the playground (flutter/engine#28)

* f0a7b4e Fix MoveTo for fills (flutter/engine#32)

* df2485c Add dot and cross product to Point (flutter/engine#33)

* 3cff1a9 Remove duplicate points between connected components when generating polylines (flutter/engine#34)

* 451f93e Handle all corner cases for stroke geometry, add bevel join & cap/join enums (flutter/engine#35)

* 0dae5ad Add `//impeller/typographer`. (flutter/engine#36)

* e1a9ae8 Remove schedule runs of scorecards. (flutter/engine#38)

* 8d79ce6 Bump ossf/scorecard-action from 1.0.3 to 1.0.4 (flutter/engine#40)

* 137fa48 Fix license to make the license script happy (flutter/engine#37)

* 91ec4c2 Bump github/codeql-action from 1.0.26 to 1.1.3 (flutter/engine#39)

* 62135be Remove break corner cases, simplify strokes, and generate closed path joins (flutter/engine#41)

* 9f9c557 Account for glyph extents in the atlas. (flutter/engine#42)

* 4e323c6 Relay text color from Paint. (flutter/engine#43)

* c11f408 Account for updated macro name in //flutter/fml/build_config.h (flutter/engine#44)

* a781e2f Setup join/cap proc (flutter/engine#45)

* 555faba Avoid depending on STB in //flutter/impeller/image. (flutter/engine#47)

* d84a831 Add square cap (flutter/engine#48)

* 75e83ff Point: Add reflect and make scalar ops more flexible (flutter/engine#51)

* d9e7927 Add miter join (flutter/engine#49)

* 9058956 Add round caps and joins (flutter/engine#52)

* c81fbbd Move Contents classes into separate translation units (flutter/engine#53)

* 9d6048a Expose C API for tessellator, move to own subdir (flutter/engine#18)

* 2a1b560 Fix ScalarNearlyEqual test (flutter/engine#56)

* 845c3bc Add color premultiply/unpremultiply (flutter/engine#57)

* 6f9fa60 Add pipeline blend modes & demo (flutter/engine#55)

* 0936dfa Bump github/codeql-action from 1.1.3 to 1.1.4 (flutter/engine#58)

* 6da61e7 Remove FML dependency on geometry, tessellator (flutter/engine#59)

* b14fb96 Make Path::Polyline::GetContourPointBounds safe for OOB (flutter/engine#60)

* 24d7083 Add LICENSE file. (flutter/engine#61)

* 841bb99 Move impeller::Comparable to //impeller/base. (flutter/engine#62)

* 74dff11 Add a script that checks that all source files have a valid license block. (flutter/engine#63)

* ec27727 Correct polyline bounds test (flutter/engine#64)

* 0084668 Bump actions/upload-artifact from 2.3.1 to 3 (flutter/engine#54)

* b816f8f Bump actions/checkout from 2.4.0 to 3 (flutter/engine#50)

* e5fc548 [tessellator]Expose and document smoothing approximation via the C/Dart API. Minor refactor of tessellator to supply fill type to method rather than to object. (flutter/engine#65)

* 24e249a Fix top-level build group to not include the compiler and fixup headers. (flutter/engine#66)

* 9c3cbf8 Hack to prevent back-to-back playground tests from hanging (flutter/engine#68)

* 1828c4c Correct default blend mode, fix solid stroke shader to respect premultiplied source colors (flutter/engine#69)

* b3cbf05 Chainable texture filters (flutter/engine#67)

* f3a6b3e Document GN rules and make targets that cannot be built on the platform be no-ops. (flutter/engine#70)

* 597c10e Fix diagnostic on iOS simulators. (flutter/engine#71)

* e46345d Only depend on FML for tracing when building executables. (flutter/engine#72)

* d0c5928 Fix loop-range-construct warnings added in newer versions of Clang. (flutter/engine#75)

* b97e965 Add remaining additive blends (flutter/engine#76)

* ec1dd96 Fix issues with constexpr correctness. (flutter/engine#77)

* 47cb97c Add case necessary on 32-bit arm builds. (flutter/engine#79)

* f5db75a Use new DlColorSource objects (flutter/engine#73)

* 75a9853 update the linear gradient code to the new accessor names (flutter/engine#80)

* e381974 Impelement DisplayListDispatcher::transformReset. (flutter/engine#82)

* 8784ff4 Don't use `Add[Thing]` operations when emulating Skia path components (flutter/engine#86)

* 9e33c6f Transform clips by the entity's transform (flutter/engine#87)

* d916e2c Add blend filter support for advanced blends (flutter/engine#81)

* 396ef7d Bump github/codeql-action from 1.1.4 to 1.1.5 (flutter/engine#83)

* 503dff6 Add directional + 2D gaussian blur (flutter/engine#84)

* 6e77886 Add ClearContents to apply specified contents to the entire render target. (flutter/engine#88)

* 6883215 Add blend mode setting to Entity, Aiks paint, and the dispatcher (flutter/engine#89)

* 1d6dc1e Forward blend mode from the dispatchers drawColor call. (flutter/engine#90)

* 5b1b9df Apply Aiks transforms in the canvas space, not world space (flutter/engine#91)

* b32a65f Use new DlBlendMode object (flutter/engine#78)

* 47ff8db switch dispatcher methods to new DlImageFilter objects (flutter/engine#92)

* 3235eac Separate filters into different TUs (flutter/engine#93)

* f2d2351 Implement impeller::DisplayListDispatcher::drawTextBlob. (flutter/engine#94)

* a6b0939 Add support for instanced rendering and shader storage buffers. (flutter/engine#95)

* 47e9b08 Use 8bpp glyph atlases. (flutter/engine#96)

* 86c5ea4 Draw all glyphs in a text run using a single draw call. (flutter/engine#97)

* 32b5a8d Batch all draw calls in the entire text frame. (flutter/engine#100)

* 39f4ebd Make the filter DAG render all textures at the correct resolution (flutter/engine#99)

* 0aaa84e Render glyphs at the correct resolution with respect to the current transform (flutter/engine#101)

* eb7b7d1 Add difference clipping (flutter/engine#104)

* 6f02b89 Wire up stroke cap/join/miter limit display list ops (flutter/engine#105)

* cbd14ba Premultiply gradient colors (flutter/engine#106)

* 9886da8 Use display list images. (flutter/engine#102)

* 82a3403 Make filter inputs lazy and sharable (flutter/engine#103)

* 69334fd Implement drawArc (flutter/engine#109)

* 6de2c9c support new DlVertices object in dispatcher (flutter/engine#108)

* 31812de Bump github/codeql-action from 1.1.5 to 2.1.6 (flutter/engine#110)

* 78eb5d6 Add blur styles to gaussian blur (flutter/engine#107)

* c4f1a59 Fix solid stroke contour switching + round cap smoothing, and add transparent path overdraw example (flutter/engine#112)

* f2bf47d Fix SaveLayer/entity subpass behavioral problems (flutter/engine#111)

* 2dd3797 Wire up enhanced command buffer error reporting. (flutter/engine#113)

* 6e8368c Remove extra point from DrawRect; skip over duplicate contour points when generating polylines (flutter/engine#114)

* 93c5919 Explicitly wait for subpass buffers to be scheduled. (flutter/engine#115)

* f2e297c Bump github/codeql-action from 2.1.6 to 2.1.7 (flutter/engine#116)

* e09b0ed Add static thread safety analysis ready synchronization primitives. (flutter/engine#117)

* 8075d38 Standardize around "coverage" terminology; make coverage optional everywhere (flutter/engine#118)

* 685ae23 Add explicit scaling methods for Point/Vector2 (flutter/engine#119)

* af922f9 Ignore the stencil in the imgui pipeline (flutter/engine#120)

* 4248b5d Use the stencil buffer to avoid overdraw when rendering non-opaque solid strokes. (flutter/engine#121)

* 93035a4 Remove base.h from base/BUILD (flutter/engine#122)

* 20148b2 Standardize around blur sigma<->radius conversion factor (flutter/engine#123)

* 533b86d No newline in depfile output, which seems to confuse ninja (flutter/engine#125)

* 0ed6d4c Fix Path::GetBoundingBox crash for cubics with no local min/max (flutter/engine#126)

* 1a055b0 Add solid stroke coverage override (flutter/engine#127)

* 3bc1f33 Allow building targets that do not create metal shaders on all platforms. (flutter/engine#133)

* 43a7508 Move rendering TUs behind own flag (flutter/engine#134)

* 3c9f0e1 Build fixes for roll (flutter/engine#135)

* f6508c1 Remove extra premultiply from solid stroke/fill (flutter/engine#124)

* 999978f Fix enum typedef for older mac SDKs (flutter/engine#136)

* 9c4018f Filters: Replace Snapshot position with a full transform (flutter/engine#130)

* ca3cd7f Move static methods to anonymous namespace (flutter/engine#137)

* f1c1b68 Adds --sksl target to impellerc (flutter/engine#131)

* fa68eb6 Bump github/codeql-action from 2.1.7 to 2.1.8 (flutter/engine#128)

* a08cb8b Border mask blur (flutter/engine#132)

* a4599bf Add impellerc options to compile OpenGL Desktop and ES variant shaders. (flutter/engine#139)

* 8b881c6 Compute text coverage; use blend mode in savelayer; conservative pass collapse/elision behavior (flutter/engine#129)

* 3b1dfc4 Add an OpenGL ES stub and parameterize all playgrounds on rendering backend. (flutter/engine#141)

* 4d50315 Fix subpass ordering (flutter/engine#143)

* 80bb5f9 Windows (flutter/engine#144)

* 79f2e86 Compile and package all shaders for the OpenGL ES backend. (flutter/engine#146)

* f86c9b7 Implement mask blur in display list dispatcher (flutter/engine#142)

* 01e81ef Fix Mac compilation issue. (flutter/engine#147)

* 2b48a80 Fix up build/test issues when building on or off of mac (flutter/engine#148)

* 68d88ae Filters: Add local transforms (flutter/engine#140)

* df261f9 Fix minor mask blur issues (flutter/engine#149)

* c5474f6 Untie paths from entities (flutter/engine#145)

* 69b676c Bump actions/checkout from 3.0.0 to 3.0.2 (flutter/engine#151)

* 8679fe7 Remove dependency on Dart, add crash handler to impellerc (flutter/engine#150)

* 5605635 Use New DlPathEffect Object (flutter/engine#98)

* cd1a5a3 implement drawDisplayList in impeller dispatcher (flutter/engine#153)

* 5ec32d7 Revert "Use New DlPathEffect Object (#98)" (flutter/engine#154)

* da9cfb3 Separate FilterInput variants into their own TUs (flutter/engine#152)

* 3ebfe9e Another coverage fix for border mask blur (flutter/engine#158)

* 86fdc79 Make it an error for a stage input to take more than one slot. (flutter/engine#161)

* 120c0b6 Avoid instancing/SSBOs for text to support GLES (flutter/engine#160)

* 4c75fe6 Set path for linear gradient contents; don't fail renders for failed tessellations (flutter/engine#162)

* dd4d705 Check if sub_command_buffer is null before setting label (flutter/engine#163)

* d5f9781 format

* e676fd7 Missing files

* 89a30a7 temporarily increase clang_tidy test limits

* 7f0e95b Delete DartIsolateTest::ValidLoadingUnitSucceeds (flutter/engine#32970)

* 80c04d7 Delete AppLifecycleTests testDismissedFlutterViewControllerNotRespondingToApplicationLifecycle (flutter/engine#32971)
egramond pushed a commit to egramond/flutter that referenced this pull request May 5, 2022
* 28af36b Merge entity renderer impl into the entity renderer.

* 08f00cd Move entity shaders to their own directory.

* e95252f Shorten names of the render target attachment descriptors.

* b5ed864 Fixup names of pipeline descriptors.

* 531162f Minor fixups to pipeline creation.

* a093636 Make pipelines store pipeline descriptors.

* 612b54f Start consolidating content rendering.

* 2747332 Separate save layer calls into a canvas pass.

* 97455db Start wiring up the entity playground.

* 778fc11 Allow shader libraries to look at multiple shader dylibs.

* 5405b9a Implement texture mapping.

* 866045d WIP on stroke rendering.

* d35f10a Insert additional padding at the end of the struct if the size of the struct does not satisfy the alignment requirements of all its members.

* 41ed619 Fix struct padding calculations.

* ac10b79 Rendering of continuous strokes.

* ede7645 Cleanup entity API.

* 9ce9a81 WIP Add test for clip rendering.

* 0570581 Add support for typed commands.

* 9c88b09 Give the default render target a stencil buffer.

* 60c3b21 Implement stencil-only clips.

* 65ffd04 Rework canvas passes in prep for subpasses.

* 38d4aba Renderer components no longer need a surface reference to function.

* 17d301b WIP on creating utils for creating offscreen render targets.

* 9359311 Fix bug in texture usage mask.

* 3f41788 Setup aiks for canvas subpasses.

* ab16b0b Setup canvas pass hierarchies.

* 3a8fb57 Canvas subpasses rendering into their own command buffers.

* 398b74f Work towards making canvas subpasses configure postprocessing effects.

* bb633ca Fix alpha writes while rendering to texture.

* f9a6a2c Fixup ortho calculations and add ostream printers for geometry utils.

* 18f8e72 Setup a framework to collapse passes.

* d00efdd Move entity pass management to the entity framework.

* ead8058 Setup a paint pass delgate.

* ed8b78a Allow entity passes to be elided based on their contents.

* 026dcd1 Turn on full-screen 4xMSAA by default and additional render target validations.

* 603b915 Add render pass and pipeline sample count validation.

* 30f28f1 All creation of pipeline variants from a pipeline.

* 2b78480 Allow for the on-demand creation and caching of pipeline variants from the prototype.

* 723ca3b Add more validation logs instead of FML logs.

* 6d87108 Implement Canvas::Skew.

* 18399a5 Implement Canvas::SaveLayer with bounds.

* 4234b34 Minor: Add Canvas::Transform.

* 8e90d38 Rect union and intersection.

* 4417fa6 Don't let subpass coverage exceed entity coverage.

* a63c047 Remove unused and confusing API in TRect.

* 20d22fd Add macOS availability checks.

* 05e9f89 Add missing availability check for macOS 10.12.

* cb54794 Fix broken test.

* e3d4357 Support non-uniform rounding radii.

* 10487e3 Stub out a display list dispatcher.

* f83a021 Support path fill types.

* 66096b5 Add support for path composition in path builder.

* d3626cd Implement conversion SkPath to Impeller paths.

* 98c18b3 Import the archivist framework.

* 147e64f Update translation units for style guide.

* 8d7d8e6 Cleanup archive structure.

* 89589cc Separate archive_location into its own TU.

* 547fc00 Clearer names for primary keys.

* 4a6e2d0 Add uncommitted patches from a previous change.

* 0c595a9 More use of optionals in archivist.

* 5289135 Make primary keys optional.

* 7b3ab41 Minor: Rename primary key variable name.

* 188890c Support user readable table names.

* 94b9bfd Add error message for incorrect member lookup.

* 95386ed Remove superfluous auto_key from ArchiveDef.

* bf24ff9 Cleanup macros in archive statement.

* 85b8a00 Remove remaining C-Style casts.

* 4ca5af4 Fix temporary database file deletion.

* 84eee26 Fix iOS compilation issues.

* a104fa5 Update GN rules for Flutter updates.

* a404064 Minor: Rename the Impeller dispatcher to be something sane and prep for sidecar wireup.

* 57a0728 Rework the confusingly named renderer subsystem instances.

* db3c4a1 Make the Metal drawable wrapping routine from the playground a utility.

* 7566d67 Minor: Change the names of the intermediates for the wrapped render target.

* 0016e48 Allow resizing the playground.

* 64e3b29 Holy size savings Batman!

* 3ac38d8 Forward targets specification to the code generator in impellerc.

* 0b63e2c Shader data can now be compiled into the binary.

* 86c91dc Fix pipeline library issue related to not tracking pending futures.

* 687f189 Don't waste space on an unnecessary depth buffer.

* 8748c76 Setup default pixel formats.

* f282f41 Remove support for the weird 5 byte pixel format.

* 7e5364a Minor: Account for macro namespacing.

* c66b7fb IOS macros have not been namespaced yet.

* f700873 Gate the minimum iOS deployment versions in the generated shaders.

* 819b033 Cross reference issues and add additional tracing.

* 169abed Add a README.

* c251e07 Fixup minor Markdown formatting issues in the README.

* 6d520d2 Add an image overview of the shader compilation pipeline.

* a449707 Link to the shader pipeline from the README.

* 844d400 Enable playgrounds in all tests and fix default sample counts.

* 9c53695 Update tests to account for sample count defaults.

* 14bf827 Back out changes to the Impeller dispatcher stub that depend on WIP interface changes. (flutter/engine#3)

* 2a6bb6e create scorecards-analysis.yml (flutter/engine#4)

* fec0355 Use -M0 instead of -frecord-sources (flutter/engine#5)

* e982526 Compensate for change to saveLayer (flutter/engine#6)

* 14ec50a Adds a GN flag for playgrounds (flutter/engine#7)

* 3d422b2 Wrap all MD files at 80 cols, minor cleanup of headers/indenting (flutter/engine#8)

* ca3433d Fix Rect::Compare bugs (flutter/engine#10)

* e768f4d adopt new DlColorFilter objects (flutter/engine#12)

* 88f4c24 Support 16bit index buffers (flutter/engine#11)

* dde655f Add viewport and scissor support (flutter/engine#9)

* 4220ef3 Add cull mode to command (flutter/engine#13)

* 9b2cbc1 Support nested clips & clip state restoration (flutter/engine#14)

* a2f7555 Fix bug introduced in a476b92 which broke a bunch of tests (flutter/engine#15)

* e7f9073 changes for new DlMaskFilter objects (flutter/engine#17)

* ba1ecb6 Add baseVertex (flutter/engine#16)

* 542b8c4 Fix index size check to respect 16 bit buffers (flutter/engine#19)

* 26090e4 Add mixed type specializations on algebraic ops in TPoint (flutter/engine#21)

* cb9997a Respect TextureContents/Canvas::DrawImageRect source rect (flutter/engine#22)

* 9ecbb76 Add an ImGui backend targetting Impeller to the playground (flutter/engine#20)

* 604a93f Fix prod build (flutter/engine#23)

* 6cd7a45 Bad cubic tests (flutter/engine#24)

* e94acaa Match skia's path param ordering (flutter/engine#25)

* b26c6ac Do not include the leading point for cubic polylines (flutter/engine#29)

* bafa73b Add assignment operators to point (flutter/engine#26)

* 2373da8 Add entity playground callback (flutter/engine#27)

* 2dceced adopt new DlAttributeType enum naming (flutter/engine#30)

* f41c0a9 Support subcontours in strokes, lay groundwork for fills (flutter/engine#31)

* 4be3053 Add immediate mode manipulator widget macros for the playground (flutter/engine#28)

* f0a7b4e Fix MoveTo for fills (flutter/engine#32)

* df2485c Add dot and cross product to Point (flutter/engine#33)

* 3cff1a9 Remove duplicate points between connected components when generating polylines (flutter/engine#34)

* 451f93e Handle all corner cases for stroke geometry, add bevel join & cap/join enums (flutter/engine#35)

* 0dae5ad Add `//impeller/typographer`. (flutter/engine#36)

* e1a9ae8 Remove schedule runs of scorecards. (flutter/engine#38)

* 8d79ce6 Bump ossf/scorecard-action from 1.0.3 to 1.0.4 (flutter/engine#40)

* 137fa48 Fix license to make the license script happy (flutter/engine#37)

* 91ec4c2 Bump github/codeql-action from 1.0.26 to 1.1.3 (flutter/engine#39)

* 62135be Remove break corner cases, simplify strokes, and generate closed path joins (flutter/engine#41)

* 9f9c557 Account for glyph extents in the atlas. (flutter/engine#42)

* 4e323c6 Relay text color from Paint. (flutter/engine#43)

* c11f408 Account for updated macro name in //flutter/fml/build_config.h (flutter/engine#44)

* a781e2f Setup join/cap proc (flutter/engine#45)

* 555faba Avoid depending on STB in //flutter/impeller/image. (flutter/engine#47)

* d84a831 Add square cap (flutter/engine#48)

* 75e83ff Point: Add reflect and make scalar ops more flexible (flutter/engine#51)

* d9e7927 Add miter join (flutter/engine#49)

* 9058956 Add round caps and joins (flutter/engine#52)

* c81fbbd Move Contents classes into separate translation units (flutter/engine#53)

* 9d6048a Expose C API for tessellator, move to own subdir (flutter/engine#18)

* 2a1b560 Fix ScalarNearlyEqual test (flutter/engine#56)

* 845c3bc Add color premultiply/unpremultiply (flutter/engine#57)

* 6f9fa60 Add pipeline blend modes & demo (flutter/engine#55)

* 0936dfa Bump github/codeql-action from 1.1.3 to 1.1.4 (flutter/engine#58)

* 6da61e7 Remove FML dependency on geometry, tessellator (flutter/engine#59)

* b14fb96 Make Path::Polyline::GetContourPointBounds safe for OOB (flutter/engine#60)

* 24d7083 Add LICENSE file. (flutter/engine#61)

* 841bb99 Move impeller::Comparable to //impeller/base. (flutter/engine#62)

* 74dff11 Add a script that checks that all source files have a valid license block. (flutter/engine#63)

* ec27727 Correct polyline bounds test (flutter/engine#64)

* 0084668 Bump actions/upload-artifact from 2.3.1 to 3 (flutter/engine#54)

* b816f8f Bump actions/checkout from 2.4.0 to 3 (flutter/engine#50)

* e5fc548 [tessellator]Expose and document smoothing approximation via the C/Dart API. Minor refactor of tessellator to supply fill type to method rather than to object. (flutter/engine#65)

* 24e249a Fix top-level build group to not include the compiler and fixup headers. (flutter/engine#66)

* 9c3cbf8 Hack to prevent back-to-back playground tests from hanging (flutter/engine#68)

* 1828c4c Correct default blend mode, fix solid stroke shader to respect premultiplied source colors (flutter/engine#69)

* b3cbf05 Chainable texture filters (flutter/engine#67)

* f3a6b3e Document GN rules and make targets that cannot be built on the platform be no-ops. (flutter/engine#70)

* 597c10e Fix diagnostic on iOS simulators. (flutter/engine#71)

* e46345d Only depend on FML for tracing when building executables. (flutter/engine#72)

* d0c5928 Fix loop-range-construct warnings added in newer versions of Clang. (flutter/engine#75)

* b97e965 Add remaining additive blends (flutter/engine#76)

* ec1dd96 Fix issues with constexpr correctness. (flutter/engine#77)

* 47cb97c Add case necessary on 32-bit arm builds. (flutter/engine#79)

* f5db75a Use new DlColorSource objects (flutter/engine#73)

* 75a9853 update the linear gradient code to the new accessor names (flutter/engine#80)

* e381974 Impelement DisplayListDispatcher::transformReset. (flutter/engine#82)

* 8784ff4 Don't use `Add[Thing]` operations when emulating Skia path components (flutter/engine#86)

* 9e33c6f Transform clips by the entity's transform (flutter/engine#87)

* d916e2c Add blend filter support for advanced blends (flutter/engine#81)

* 396ef7d Bump github/codeql-action from 1.1.4 to 1.1.5 (flutter/engine#83)

* 503dff6 Add directional + 2D gaussian blur (flutter/engine#84)

* 6e77886 Add ClearContents to apply specified contents to the entire render target. (flutter/engine#88)

* 6883215 Add blend mode setting to Entity, Aiks paint, and the dispatcher (flutter/engine#89)

* 1d6dc1e Forward blend mode from the dispatchers drawColor call. (flutter/engine#90)

* 5b1b9df Apply Aiks transforms in the canvas space, not world space (flutter/engine#91)

* b32a65f Use new DlBlendMode object (flutter/engine#78)

* 47ff8db switch dispatcher methods to new DlImageFilter objects (flutter/engine#92)

* 3235eac Separate filters into different TUs (flutter/engine#93)

* f2d2351 Implement impeller::DisplayListDispatcher::drawTextBlob. (flutter/engine#94)

* a6b0939 Add support for instanced rendering and shader storage buffers. (flutter/engine#95)

* 47e9b08 Use 8bpp glyph atlases. (flutter/engine#96)

* 86c5ea4 Draw all glyphs in a text run using a single draw call. (flutter/engine#97)

* 32b5a8d Batch all draw calls in the entire text frame. (flutter/engine#100)

* 39f4ebd Make the filter DAG render all textures at the correct resolution (flutter/engine#99)

* 0aaa84e Render glyphs at the correct resolution with respect to the current transform (flutter/engine#101)

* eb7b7d1 Add difference clipping (flutter/engine#104)

* 6f02b89 Wire up stroke cap/join/miter limit display list ops (flutter/engine#105)

* cbd14ba Premultiply gradient colors (flutter/engine#106)

* 9886da8 Use display list images. (flutter/engine#102)

* 82a3403 Make filter inputs lazy and sharable (flutter/engine#103)

* 69334fd Implement drawArc (flutter/engine#109)

* 6de2c9c support new DlVertices object in dispatcher (flutter/engine#108)

* 31812de Bump github/codeql-action from 1.1.5 to 2.1.6 (flutter/engine#110)

* 78eb5d6 Add blur styles to gaussian blur (flutter/engine#107)

* c4f1a59 Fix solid stroke contour switching + round cap smoothing, and add transparent path overdraw example (flutter/engine#112)

* f2bf47d Fix SaveLayer/entity subpass behavioral problems (flutter/engine#111)

* 2dd3797 Wire up enhanced command buffer error reporting. (flutter/engine#113)

* 6e8368c Remove extra point from DrawRect; skip over duplicate contour points when generating polylines (flutter/engine#114)

* 93c5919 Explicitly wait for subpass buffers to be scheduled. (flutter/engine#115)

* f2e297c Bump github/codeql-action from 2.1.6 to 2.1.7 (flutter/engine#116)

* e09b0ed Add static thread safety analysis ready synchronization primitives. (flutter/engine#117)

* 8075d38 Standardize around "coverage" terminology; make coverage optional everywhere (flutter/engine#118)

* 685ae23 Add explicit scaling methods for Point/Vector2 (flutter/engine#119)

* af922f9 Ignore the stencil in the imgui pipeline (flutter/engine#120)

* 4248b5d Use the stencil buffer to avoid overdraw when rendering non-opaque solid strokes. (flutter/engine#121)

* 93035a4 Remove base.h from base/BUILD (flutter/engine#122)

* 20148b2 Standardize around blur sigma<->radius conversion factor (flutter/engine#123)

* 533b86d No newline in depfile output, which seems to confuse ninja (flutter/engine#125)

* 0ed6d4c Fix Path::GetBoundingBox crash for cubics with no local min/max (flutter/engine#126)

* 1a055b0 Add solid stroke coverage override (flutter/engine#127)

* 3bc1f33 Allow building targets that do not create metal shaders on all platforms. (flutter/engine#133)

* 43a7508 Move rendering TUs behind own flag (flutter/engine#134)

* 3c9f0e1 Build fixes for roll (flutter/engine#135)

* f6508c1 Remove extra premultiply from solid stroke/fill (flutter/engine#124)

* 999978f Fix enum typedef for older mac SDKs (flutter/engine#136)

* 9c4018f Filters: Replace Snapshot position with a full transform (flutter/engine#130)

* ca3cd7f Move static methods to anonymous namespace (flutter/engine#137)

* f1c1b68 Adds --sksl target to impellerc (flutter/engine#131)

* fa68eb6 Bump github/codeql-action from 2.1.7 to 2.1.8 (flutter/engine#128)

* a08cb8b Border mask blur (flutter/engine#132)

* a4599bf Add impellerc options to compile OpenGL Desktop and ES variant shaders. (flutter/engine#139)

* 8b881c6 Compute text coverage; use blend mode in savelayer; conservative pass collapse/elision behavior (flutter/engine#129)

* 3b1dfc4 Add an OpenGL ES stub and parameterize all playgrounds on rendering backend. (flutter/engine#141)

* 4d50315 Fix subpass ordering (flutter/engine#143)

* 80bb5f9 Windows (flutter/engine#144)

* 79f2e86 Compile and package all shaders for the OpenGL ES backend. (flutter/engine#146)

* f86c9b7 Implement mask blur in display list dispatcher (flutter/engine#142)

* 01e81ef Fix Mac compilation issue. (flutter/engine#147)

* 2b48a80 Fix up build/test issues when building on or off of mac (flutter/engine#148)

* 68d88ae Filters: Add local transforms (flutter/engine#140)

* df261f9 Fix minor mask blur issues (flutter/engine#149)

* c5474f6 Untie paths from entities (flutter/engine#145)

* 69b676c Bump actions/checkout from 3.0.0 to 3.0.2 (flutter/engine#151)

* 8679fe7 Remove dependency on Dart, add crash handler to impellerc (flutter/engine#150)

* 5605635 Use New DlPathEffect Object (flutter/engine#98)

* cd1a5a3 implement drawDisplayList in impeller dispatcher (flutter/engine#153)

* 5ec32d7 Revert "Use New DlPathEffect Object (flutter#98)" (flutter/engine#154)

* da9cfb3 Separate FilterInput variants into their own TUs (flutter/engine#152)

* 3ebfe9e Another coverage fix for border mask blur (flutter/engine#158)

* 86fdc79 Make it an error for a stage input to take more than one slot. (flutter/engine#161)

* 120c0b6 Avoid instancing/SSBOs for text to support GLES (flutter/engine#160)

* 4c75fe6 Set path for linear gradient contents; don't fail renders for failed tessellations (flutter/engine#162)

* dd4d705 Check if sub_command_buffer is null before setting label (flutter/engine#163)

* d5f9781 format

* e676fd7 Missing files

* 89a30a7 temporarily increase clang_tidy test limits

* 7f0e95b Delete DartIsolateTest::ValidLoadingUnitSucceeds (flutter/engine#32970)

* 80c04d7 Delete AppLifecycleTests testDismissedFlutterViewControllerNotRespondingToApplicationLifecycle (flutter/engine#32971)
@knopp knopp mentioned this pull request Jun 5, 2023
8 tasks
auto-submit bot pushed a commit that referenced this pull request Apr 5, 2024
The culprit test asks different threads to access some stack variables, but the stack might return earlier than the threads' completion. This PR fixes it by adding latches.

This test, despite being possibly fine for now, consistently triggers the following asan error when I make some unrelated trivial changes.

The thrown error:
<details>
<pre>
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from EmbedderTest
[ RUN      ] EmbedderTest.EmbedderThreadHostUseCustomThreadConfig
=================================================================
==14398==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00031833b530 at pc 0x00013248d543 bp 0x000318740390 sp 0x00031873fb58
WRITE of size 4 at 0x00031833b530 thread T2
    #0 0x13248d542 in pthread_getschedparam+0x3d2 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x2c542)
    #1 0x100577671 in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0::operator()() const+0x1a1 (embedder_unittests:x86_64+0x10030b671)
    #2 0x1005774a2 in decltype(std::declval<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>()()) std::_fl::__invoke[abi:v15000]<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>(flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&)+0x22 (embedder_unittests:x86_64+0x10030b4a2)
    #3 0x100577402 in void std::_fl::__invoke_void_return_wrapper<void, true>::__call<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>(flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&)+0x22 (embedder_unittests:x86_64+0x10030b402)
    #4 0x1005773ba in std::_fl::__function::__alloc_func<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0, std::_fl::allocator<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0>, void ()>::operator()[abi:v15000]()+0x2a (embedder_unittests:x86_64+0x10030b3ba)
    #5 0x1005734f6 in std::_fl::__function::__func<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0, std::_fl::allocator<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0>, void ()>::operator()()+0x26 (embedder_unittests:x86_64+0x1003074f6)
    #6 0x10066a525 in std::_fl::__function::__value_func<void ()>::operator()[abi:v15000]() const+0x105 (embedder_unittests:x86_64+0x1003fe525)
    #7 0x10066a3f2 in std::_fl::function<void ()>::operator()() const+0x22 (embedder_unittests:x86_64+0x1003fe3f2)
    #8 0x100c229dc in fml::MessageLoopImpl::FlushTasks(fml::FlushType)+0x37c (embedder_unittests:x86_64+0x1009b69dc)
    #9 0x100c22577 in fml::MessageLoopImpl::RunExpiredTasksNow()+0x27 (embedder_unittests:x86_64+0x1009b6577)
    #10 0x100c8aa2f in fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*)+0x2f (embedder_unittests:x86_64+0x100a1ea2f)
    #11 0x7ff817b54508 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__+0x13 (CoreFoundation:x86_64+0x97508)
    #12 0x7ff817b540b8 in __CFRunLoopDoTimer+0x310 (CoreFoundation:x86_64+0x970b8)
    #13 0x7ff817b53ce9 in __CFRunLoopDoTimers+0x11c (CoreFoundation:x86_64+0x96ce9)
    #14 0x7ff817b380ac in __CFRunLoopRun+0x83b (CoreFoundation:x86_64+0x7b0ac)
    #15 0x7ff817b372a8 in CFRunLoopRunSpecific+0x22c (CoreFoundation:x86_64+0x7a2a8)
    #16 0x100c8b155 in fml::MessageLoopDarwin::Run()+0x305 (embedder_unittests:x86_64+0x100a1f155)
    #17 0x100c223d0 in fml::MessageLoopImpl::DoRun()+0x150 (embedder_unittests:x86_64+0x1009b63d0)
    #18 0x100c1f1fa in fml::MessageLoop::Run()+0x2a (embedder_unittests:x86_64+0x1009b31fa)
    #19 0x100c7baa4 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0::operator()() const+0x194 (embedder_unittests:x86_64+0x100a0faa4)
    #20 0x100c7b8e2 in decltype(std::declval<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>()()) std::_fl::__invoke[abi:v15000]<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+0x22 (embedder_unittests:x86_64+0x100a0f8e2)
    #21 0x100c7b842 in void std::_fl::__invoke_void_return_wrapper<void, true>::__call<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+0x22 (embedder_unittests:x86_64+0x100a0f842)
    #22 0x100c7b7fa in std::_fl::__function::__alloc_func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()[abi:v15000]()+0x2a (embedder_unittests:x86_64+0x100a0f7fa)
    #23 0x100c77ad6 in std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()()+0x26 (embedder_unittests:x86_64+0x100a0bad6)
    #24 0x10066a525 in std::_fl::__function::__value_func<void ()>::operator()[abi:v15000]() const+0x105 (embedder_unittests:x86_64+0x1003fe525)
    #25 0x10066a3f2 in std::_fl::function<void ()>::operator()() const+0x22 (embedder_unittests:x86_64+0x1003fe3f2)
    #26 0x100c75388 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::operator()(void*) const+0xe8 (embedder_unittests:x86_64+0x100a09388)
    #27 0x100c75227 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*)+0xc7 (embedder_unittests:x86_64+0x100a09227)
    #28 0x1324b3e76 in asan_thread_start(void*)+0x46 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x52e76)
    #29 0x7ff817a5c18a in _pthread_start+0x62 (libsystem_pthread.dylib:x86_64+0x618a)
    #30 0x7ff817a57ae2 in thread_start+0xe (libsystem_pthread.dylib:x86_64+0x1ae2)

Address 0x00031833b530 is located in stack of thread T0 at offset 144 in frame
    #0 0x1002d051f in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()+0xf (embedder_unittests:x86_64+0x10006451f)

  This frame has 12 object(s):
    [32, 40) 'thread_host' (line 3445)
    [64, 112) 'ref.tmp' (line 3446)
    [144, 148) 'ui_policy' (line 3449) <== Memory access at offset 144 is inside this variable
    [160, 168) 'ui_param' (line 3450)
    [192, 200) 'ref.tmp2' (line 3452)
    [224, 272) 'ref.tmp5' (line 3452)
    [304, 320) 'agg.tmp'
    [336, 340) 'io_policy' (line 3458)
    [352, 360) 'io_param' (line 3459)
    [384, 392) 'ref.tmp6' (line 3460)
    [416, 464) 'ref.tmp10' (line 3460)
    [496, 512) 'agg.tmp11'
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x2c542) in pthread_getschedparam+0x3d2
Shadow bytes around the buggy address:
  0x00031833b280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b480: 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f8 f8 f8 f8
=>0x00031833b500: f8 f8 f2 f2 f2 f2[f8]f2 f8 f2 f2 f2 f8 f2 f2 f2
  0x00031833b580: f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 00 00 f2 f2 f8 f2
  0x00031833b600: f8 f2 f2 f2 f8 f2 f2 f2 f8 f8 f8 f8 f8 f8 f2 f2
  0x00031833b680: f2 f2 00 00 f3 f3 f3 f3 00 00 00 00 00 00 00 00
  0x00031833b700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
Thread T2 created by T0 here:
    #0 0x1324ae92d in pthread_create+0x5d (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x4d92d)
    #1 0x100c73901 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)+0x401 (embedder_unittests:x86_64+0x100a07901)
    #2 0x100c73cca in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)+0x2a (embedder_unittests:x86_64+0x100a07cca)
    #3 0x100c748c9 in std::_fl::__unique_if<fml::ThreadHandle>::__unique_single std::_fl::make_unique[abi:v15000]<fml::ThreadHandle, fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&&)+0x149 (embedder_unittests:x86_64+0x100a088c9)
    #4 0x100c74335 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)+0x255 (embedder_unittests:x86_64+0x100a08335)
    #5 0x100c746b2 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)+0x32 (embedder_unittests:x86_64+0x100a086b2)
    #6 0x106ee0b1a in std::_fl::__unique_if<fml::Thread>::__unique_single std::_fl::make_unique[abi:v15000]<fml::Thread, std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig&>(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig&)+0x4a (embedder_unittests:x86_64+0x106c74b1a)
    #7 0x106ee08e8 in flutter::ThreadHost::CreateThread(flutter::ThreadHost::Type, std::_fl::optional<fml::Thread::ThreadConfig>, flutter::ThreadHost::ThreadHostConfig const&) const+0x1b8 (embedder_unittests:x86_64+0x106c748e8)
    #8 0x106ee1466 in flutter::ThreadHost::ThreadHost(flutter::ThreadHost::ThreadHostConfig const&)+0x2f6 (embedder_unittests:x86_64+0x106c75466)
    #9 0x106ee19ca in flutter::ThreadHost::ThreadHost(flutter::ThreadHost::ThreadHostConfig const&)+0x2a (embedder_unittests:x86_64+0x106c759ca)
    #10 0x100b6f730 in flutter::EmbedderThreadHost::CreateEngineManagedThreadHost(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&)+0x3a0 (embedder_unittests:x86_64+0x100903730)
    #11 0x100b6e51c in flutter::EmbedderThreadHost::CreateEmbedderOrEngineManagedThreadHost(FlutterCustomTaskRunners const*, std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&)+0xcc (embedder_unittests:x86_64+0x10090251c)
    #12 0x1002d0748 in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()+0x238 (embedder_unittests:x86_64+0x100064748)
    #13 0x1089ce93b in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x21b (embedder_unittests:x86_64+0x10876293b)
    #14 0x108955bdf in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x2cf (embedder_unittests:x86_64+0x1086e9bdf)
    #15 0x108955755 in testing::Test::Run()+0x3a5 (embedder_unittests:x86_64+0x1086e9755)
    #16 0x108957b23 in testing::TestInfo::Run()+0x593 (embedder_unittests:x86_64+0x1086ebb23)
    #17 0x10895a8f2 in testing::TestSuite::Run()+0x6e2 (embedder_unittests:x86_64+0x1086ee8f2)
    #18 0x108977d7a in testing::internal::UnitTestImpl::RunAllTests()+0xb9a (embedder_unittests:x86_64+0x10870bd7a)
    #19 0x1089ee88b in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x21b (embedder_unittests:x86_64+0x10878288b)
    #20 0x1089770ac in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x2cc (embedder_unittests:x86_64+0x10870b0ac)
    #21 0x108976c3b in testing::UnitTest::Run()+0x28b (embedder_unittests:x86_64+0x10870ac3b)
    #22 0x1083e45e2 in RUN_ALL_TESTS()+0x22 (embedder_unittests:x86_64+0x1081785e2)
    #23 0x1083e43c8 in main+0x6e8 (embedder_unittests:x86_64+0x1081783c8)
    #24 0x213ff0365  (<unknown module>)

==14398==ABORTING
[1]    14398 abort      ../out/host_debug_unopt/embedder_unittests 
</pre>
</details>

The changes I made (isolated from a larger change, therefore it doesn't seem reasonable by itself):
```diff
 // shell/common/platform_view.cc, L33

 void PlatformView::DispatchPointerDataPacket(
     std::unique_ptr<PointerDataPacket> packet) {
-  delegate_.OnPlatformViewDispatchPointerDataPacket(
-      pointer_data_packet_converter_.Convert(std::move(packet)));
+  delegate_.OnPlatformViewDispatchPointerDataPacket(std::move(packet));
 }
```

Base engine rev: de2a73c

Environment: Macbook with M1 Max Chip, OS 14.4.1

Compiling with:
```
./engine/src/flutter/tools/gn --goma --unoptimized --asan --xcode-symlinks
./depot_tools/ninja -j200 -C ./engine/src/out/host_debug_unopt
./out/host_debug_unopt/embedder_unittests
```

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants