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

[Impeller] libImpeller: A C++ wrapper to the Impeller API. #56682

Merged
merged 3 commits into from
Nov 22, 2024

Conversation

chinmaygarde
Copy link
Member

impeller.hpp is to impeller.h what vulkan.hpp is to vulkan.h

  • A single header C++ 17 library that only depends on impeller.h and standard libc++ utilities.
  • The C++ library proc. table is setup at runtime (via dlsym and related methods). Impeller users don't need to link against libimpeller.so as long as they can discover it at runtime.
  • RAII wrappers for all opaque objects.
  • Namespaces are configurable depending on target.
  • Included in the distributed SDK next to impeller.h.

* A single header C++ 17 library that only depends on impeller.h and standard libc++ utilities.
* The C++ library proc. table is setup at runtime (via dlsym and related methods). Impeller users don't need to link against libimpeller.so as long as they can discover it at runtime.
* RAII wrappers for all opaque objects.
* Namespaces are configurable depending on target.
* Included in the distributed SDK next to impeller.h.
@chinmaygarde chinmaygarde added e: impeller e: libimpeller The standalone Impeller library with a single-header API. labels Nov 18, 2024
@chinmaygarde
Copy link
Member Author

The linux failures were due to the lookup of symbols from an executable. I've reworked the setup to not depend on the vagaries of runtime symbol lookup on different platforms.

@chinmaygarde chinmaygarde added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 21, 2024
@auto-submit auto-submit bot merged commit 03eb3db into flutter:main Nov 22, 2024
33 checks passed
@chinmaygarde chinmaygarde deleted the impellerhpp branch November 22, 2024 02:53
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Nov 22, 2024
…159345)

flutter/engine@6f941c9...202506d

2024-11-22 [email protected] [Impeller] cache and reuse openGL
framebuffer attachments. (flutter/engine#56746)
2024-11-22 [email protected] Roll Skia from 700e685861c8 to
e7caf38140ce (25 revisions) (flutter/engine#56756)
2024-11-22 [email protected] Roll Dart SDK from
c1106f7e4cde to 141291fd570d (1 revision) (flutter/engine#56748)
2024-11-22 [email protected] [engine] more consistently flush
dart event loop, run vsync callback immediately (flutter/engine#56738)
2024-11-22 [email protected] Extract backend-specific code in
ShellTestPlatformView (flutter/engine#56722)
2024-11-22 [email protected] Eliminate
ShellTestPlatformView::BackendType::kDefaultBackendType
(flutter/engine#56744)
2024-11-22 [email protected] Roll Skia from 2614590b4f32 to
700e685861c8 (1 revision) (flutter/engine#56725)
2024-11-22 [email protected] Roll Dart SDK from
b36e4d731d67 to c1106f7e4cde (12 revisions) (flutter/engine#56742)
2024-11-22 [email protected] [Impeller] libImpeller: A C++ wrapper
to the Impeller API. (flutter/engine#56682)
2024-11-21 [email protected] [Impeller] Run simulator tests with
Impeller enabled. (flutter/engine#56740)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure
that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Nov 22, 2024
…visions) (#159345)" (#159360)

<!-- start_original_pr_link -->
Reverts: #159345
<!-- end_original_pr_link -->
<!-- start_initiating_author -->
Initiated by: hannah-hyj
<!-- end_initiating_author -->
<!-- start_revert_reason -->
Reason for reverting: tree is red on " Linux_build_test
flutter_gallery__transition_perf_hybrid" after engine auto roll
<!-- end_revert_reason -->
<!-- start_original_pr_author -->
Original PR Author: engine-flutter-autoroll
<!-- end_original_pr_author -->

<!-- start_reviewers -->
Reviewed By: {fluttergithubbot}
<!-- end_reviewers -->

<!-- start_revert_body -->
This change reverts the following previous change:

flutter/engine@6f941c9...202506d

2024-11-22 [email protected] [Impeller] cache and reuse openGL
framebuffer attachments. (flutter/engine#56746)
2024-11-22 [email protected] Roll Skia from 700e685861c8 to
e7caf38140ce (25 revisions) (flutter/engine#56756)
2024-11-22 [email protected] Roll Dart SDK from
c1106f7e4cde to 141291fd570d (1 revision) (flutter/engine#56748)
2024-11-22 [email protected] [engine] more consistently flush
dart event loop, run vsync callback immediately (flutter/engine#56738)
2024-11-22 [email protected] Extract backend-specific code in
ShellTestPlatformView (flutter/engine#56722)
2024-11-22 [email protected] Eliminate
ShellTestPlatformView::BackendType::kDefaultBackendType
(flutter/engine#56744)
2024-11-22 [email protected] Roll Skia from 2614590b4f32 to
700e685861c8 (1 revision) (flutter/engine#56725)
2024-11-22 [email protected] Roll Dart SDK from
b36e4d731d67 to c1106f7e4cde (12 revisions) (flutter/engine#56742)
2024-11-22 [email protected] [Impeller] libImpeller: A C++ wrapper
to the Impeller API. (flutter/engine#56682)
2024-11-21 [email protected] [Impeller] Run simulator tests with
Impeller enabled. (flutter/engine#56740)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure
that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

<!-- end_revert_body -->

Co-authored-by: auto-submit[bot] <[email protected]>
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Nov 23, 2024
…159364)

flutter/engine@6f941c9...f776c3a

2024-11-22 [email protected] Roll Skia from e7caf38140ce to
c3d9596a93f8 (2 revisions) (flutter/engine#56765)
2024-11-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts
"[engine] more consistently flush dart event loop, run vsync callback
immediately (#56738)" (flutter/engine#56767)
2024-11-22 [email protected] Roll Dart SDK from
8b65a7a628e2 to eb01a0430f72 (2 revisions) (flutter/engine#56764)
2024-11-22 [email protected] [Impeller] delete Impeller sim opt
out. (flutter/engine#56706)
2024-11-22 [email protected] [Impeller] Ensure that
SnapshotControllerImpeller has a rendering context before creating the
snapshot (flutter/engine#56743)
2024-11-22 [email protected] [DisplayList] migrate DlColorSource objects
to Impeller geometry (flutter/engine#56735)
2024-11-22 [email protected] [Impeller] libImpeller: Tinker on the
README. (flutter/engine#56761)
2024-11-22 [email protected] [Impeller] dont create temp vec for
discard. (flutter/engine#56759)
2024-11-22 [email protected] Roll Fuchsia Linux SDK from
zhFzwYCH-N_wasTnM... to D5CBHuB2c-v3Zai-c... (flutter/engine#56757)
2024-11-22 [email protected] Roll Dart SDK from
141291fd570d to 8b65a7a628e2 (1 revision) (flutter/engine#56755)
2024-11-22 [email protected] [Impeller] cache and reuse openGL
framebuffer attachments. (flutter/engine#56746)
2024-11-22 [email protected] Roll Skia from 700e685861c8 to
e7caf38140ce (25 revisions) (flutter/engine#56756)
2024-11-22 [email protected] Roll Dart SDK from
c1106f7e4cde to 141291fd570d (1 revision) (flutter/engine#56748)
2024-11-22 [email protected] [engine] more consistently flush
dart event loop, run vsync callback immediately (flutter/engine#56738)
2024-11-22 [email protected] Extract backend-specific code in
ShellTestPlatformView (flutter/engine#56722)
2024-11-22 [email protected] Eliminate
ShellTestPlatformView::BackendType::kDefaultBackendType
(flutter/engine#56744)
2024-11-22 [email protected] Roll Skia from 2614590b4f32 to
700e685861c8 (1 revision) (flutter/engine#56725)
2024-11-22 [email protected] Roll Dart SDK from
b36e4d731d67 to c1106f7e4cde (12 revisions) (flutter/engine#56742)
2024-11-22 [email protected] [Impeller] libImpeller: A C++ wrapper
to the Impeller API. (flutter/engine#56682)
2024-11-21 [email protected] [Impeller] Run simulator tests with
Impeller enabled. (flutter/engine#56740)

Also rolling transitive DEPS:
  fuchsia/sdk/core/linux-amd64 from zhFzwYCH-N_w to D5CBHuB2c-v3

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected],[email protected] on the revert to ensure
that a human
is aware of the problem.

To file a bug in Flutter:
https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App e: impeller e: libimpeller The standalone Impeller library with a single-header API.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants