Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

[Impeller] Make PathComponent POD, allow querying specific component type counts #40605

Merged
merged 3 commits into from
Mar 24, 2023

Conversation

dnfield
Copy link
Contributor

@dnfield dnfield commented Mar 24, 2023

I manually verified that this does not regress #39124

This will make these things a bit easier to use in compute (I can just memcpy them). Also makes them take a little less memory which is nice?

Comment on lines +174 to +176
static_assert(!std::is_polymorphic<LinearPathComponent>::value);
static_assert(!std::is_polymorphic<QuadraticPathComponent>::value);
static_assert(!std::is_polymorphic<CubicPathComponent>::value);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is my "test" that these stay POD.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooh nice, I didn't know this was a thing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was going to add some asserts about the sizes but this is better

Copy link
Member

@bdero bdero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Comment on lines +174 to +176
static_assert(!std::is_polymorphic<LinearPathComponent>::value);
static_assert(!std::is_polymorphic<QuadraticPathComponent>::value);
static_assert(!std::is_polymorphic<CubicPathComponent>::value);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooh nice, I didn't know this was a thing.

@bdero
Copy link
Member

bdero commented Mar 24, 2023

I think this needs a rebase to resolve the build failure.

@bdero
Copy link
Member

bdero commented Mar 24, 2023

Actually there might be a caching problem on the bots flutter/flutter#123416

@dnfield dnfield added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 24, 2023
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Mar 24, 2023
@auto-submit
Copy link
Contributor

auto-submit bot commented Mar 24, 2023

auto label is removed for flutter/engine, pr: 40605, due to - The status or check suite Mac Unopt has failed. Please fix the issues identified (or deflake) before re-applying this label.

@dnfield dnfield added the autosubmit Merge PR when tree becomes green via auto submit App label Mar 24, 2023
@auto-submit auto-submit bot merged commit 274196e into flutter:main Mar 24, 2023
@dnfield dnfield deleted the path branch March 25, 2023 03:37
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 25, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 25, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 25, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 25, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 26, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 27, 2023
eyebrowsoffire pushed a commit to eyebrowsoffire/engine that referenced this pull request Mar 27, 2023
…flutter#40605)

[Impeller] Make PathComponent POD, allow querying specific component type counts
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 27, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 27, 2023
bdero pushed a commit to flutter/flutter that referenced this pull request Mar 28, 2023
…sions) (#123568)

* c75811491 Roll Dart SDK from 17655a04d99a to a040e32db8f2 (1 revision) (flutter/engine#40612)

* 274196e22 Make PathComponent POD, allow querying specific component type counts (flutter/engine#40605)

* f59822430 [Impeller] Adds golden image tests. (flutter/engine#40366)

* f3b880d7a Roll Dart SDK from a040e32db8f2 to 25d7c5d88496 (1 revision) (flutter/engine#40618)

* a5002f6b6 Roll Fuchsia Linux SDK from jdkyVHuAgQFiwEVQj... to 6JDOgmv1GqjN0MccU... (flutter/engine#40622)

* bdee86a83 Roll Dart SDK from 25d7c5d88496 to 57061b644e84 (1 revision) (flutter/engine#40624)

* 6b27c106e Roll Fuchsia Mac SDK from Nrn4D-aMBpMe5ngaF... to odB7mmGuAH51yrWgy... (flutter/engine#40625)

* 1febe9dc3 Roll Skia from 497dc2e1f01f to 17bce5f4f78f (2 revisions) (flutter/engine#40629)

* 3f9008208 [Impeller] More sundry fixes to the Vulkan backend. (flutter/engine#40603)

* 20cf8ebb4 Roll Skia from 17bce5f4f78f to d06e59e7d041 (1 revision) (flutter/engine#40630)

* 538c7eaa2 Roll Fuchsia Linux SDK from 6JDOgmv1GqjN0MccU... to smNcvjxC6Ja3FkteX... (flutter/engine#40631)

* 2b5e95e6e Roll Fuchsia Mac SDK from odB7mmGuAH51yrWgy... to 34M7LHe2DUL5mebOm... (flutter/engine#40633)

* 2270e07e7 Roll Skia from d06e59e7d041 to 009ed54d103d (1 revision) (flutter/engine#40644)

* 6c5be6a3b Roll Fuchsia Linux SDK from smNcvjxC6Ja3FkteX... to y4h2rtyt6Mx8xHEte... (flutter/engine#40647)

* eefb0be0a Roll Fuchsia Mac SDK from 34M7LHe2DUL5mebOm... to d30zLnNyJDgYNmKD4... (flutter/engine#40649)

* d5e7ff24b [Impeller] Enable RendererTest::TheImpeller for Vulkan. (flutter/engine#40634)

* 61b92a725 [Impeller] Keep impeller scene build working (flutter/engine#40635)

* 5be21e2bd [Impeller] Fix AtlasContents crash (flutter/engine#40637)

* ac769511e [Impeller] Fix accumulating translucency opacity peephole bug (flutter/engine#40639)

* 1cf3bf117 [Impeller] Fix stroke cap disconnection (flutter/engine#40643)

* 551f089c6 [Impeller] Remove verbose validation logs in the Vulkan pipeline cache. (flutter/engine#40651)

* 567be2665 Roll Dart SDK from 57061b644e84 to c1185c030a98 (2 revisions) (flutter/engine#40654)

* 3ecc5cc53 Revert Dart SDK to a040e32db8f2 (flutter/engine#40656)

* 60b6a1f7b Roll Fuchsia Linux SDK from y4h2rtyt6Mx8xHEte... to v0tCO5SkPScqIBWIr... (flutter/engine#40655)

* 736b4076f Roll Skia from 009ed54d103d to 4d02e783654f (1 revision) (flutter/engine#40657)

* 256ae6010 Roll Skia from 4d02e783654f to 4ca827754bc1 (2 revisions) (flutter/engine#40659)

* a3d5d3274 Roll Fuchsia Mac SDK from d30zLnNyJDgYNmKD4... to trm3jGwgZopG-wITx... (flutter/engine#40660)

* 5f517d646 Bump actions/checkout from 3.4.0 to 3.5.0 (flutter/engine#40662)

* 708bf70ab Remove timezone from flutter (flutter/engine#40588)

* d21f657e6 Post 3.0 lint sync (flutter/engine#40394)

* d58d7d999 [Impeller] Document EntityPass, make positioning less confusing (flutter/engine#40636)

* 6c3f5fe15 Roll Fuchsia Linux SDK from v0tCO5SkPScqIBWIr... to jlj9dbwYl_4cILVwQ... (flutter/engine#40665)

* f7d257198 [web] Accepts assetBase through JS config. (flutter/engine#40615)

* 6cc2f9bbf Revert "[web] Accepts assetBase through JS config. (#40615)" (flutter/engine#40670)

* 4eea74c9a [Impeller] initialize text alpha to 1.0 (flutter/engine#40667)

* f7eea0ea2 Roll Skia from 4ca827754bc1 to c55605969a59 (5 revisions) (flutter/engine#40668)

* 50f837497 [web] Add `js_types` sources to build. (flutter/engine#40597)

* d468552bc Return an empty JavaScript object as a replacement for exports/module in patchCanvasKitModule (flutter/engine#40582)

* 36f8473bc Simplify SkFontMgr classes for sk_sp (flutter/engine#40627)

* cc060144e [Impeller] Fix Impeller Metal wide gamut (flutter/engine#40671)

* 4bc9341d0 Revert "[web] Add `js_types` sources to build. (#40597)" (flutter/engine#40685)

* 9c0d1dbf0 Revert "Return an empty JavaScript object as a replacement for exports/module in patchCanvasKitModule (#40582)" (flutter/engine#40686)

* 8cb080365 Revert "Post 3.0 lint sync (#40394)" (flutter/engine#40687)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
autosubmit Merge PR when tree becomes green via auto submit App e: impeller
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants