Skip to content

Update Flutter 3.41.4#27

Open
JSUYA wants to merge 21 commits intoflutter-tizen:flutter-3.41.4from
JSUYA:flutter-3.41.4-candidate.1
Open

Update Flutter 3.41.4#27
JSUYA wants to merge 21 commits intoflutter-tizen:flutter-3.41.4from
JSUYA:flutter-3.41.4-candidate.1

Conversation

@JSUYA
Copy link
Member

@JSUYA JSUYA commented Mar 11, 2026

https://github.com/flutter/flutter/blob/stable/CHANGELOG.md#3414

flutter-tizen/flutter-tizen#745

tool:
embedder: flutter-tizen/embedder#161

  • Recent changes to the Dart version have caused code using syscall(__NR_getrandom) to appear in the Dart repository (C++). __NR_getrandom macro was not declared in Tizen 6.0-8.0 glib. Therefore, I added a header file declaring this macro to my custom build. (9181a10)

JSUYA and others added 19 commits March 11, 2026 15:13
flutter-tizen/flutter-tizen#554

Added x64 artifacts for x64 emulator support
(Currently, x64 Release mode is only supported on Linux hosts.)
flutter engine's window build uses Window SDKs 10.0.22621.0. window-2025 runner in gitHub actions no longer supports the 10.0.22621.0 SDK.
Add new struct FlutterVulkanTexture  for embedder :
```
typedef struct {
  /// Handle to the VkImage that is owned by the embedder. The engine will
  /// bind this image for writing the frame.
  FlutterVulkanImageHandle image;
  /// The VkDeviceMemory that backs the iamge.
  FlutterVulkanDeviceMemoryHandle image_memory;
  /// The VkFormat of the image (for example: VK_FORMAT_R8G8B8A8_UNORM).
  uint32_t format;
  /// User data to be returned on the invocation of the destruction callback.
  void* user_data;
  /// Callback invoked (on an engine managed thread) that asks the embedder to
  /// collect the texture.
  VoidCallback destruction_callback;
  /// Optional parameters for texture height/width, default is 0, non-zero means
  /// the texture has the specified width/height.
  /// Width of the texture.
  size_t width;
  /// Height of the texture.
  size_t height;
} FlutterVulkanTexture;
```
The implement of [texture
source](https://github.com/flutter-tizen/flutter/pull/17/files#diff-7955a8522a753162869f2e8ca0017a83f4854b60800c844202e70c3aa00ff0c9R5-R204)
refer to the solution of android
platform(https://github.com/flutter-tizen/flutter/blob/flutter-3.35.3/engine/src/flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc)

and I have submitted the code [Support render texture for
embedder](xiaowei-guan/embedder@6a94746),
I will create a new PR after[ support vulkan
backend](flutter-tizen/embedder#110) PR
released.
Because Tizen platform don't support hardware key, so we can't create a
cache source to store the gpu resource.
so we should reset the resouce before the frame end.
@JSUYA JSUYA self-assigned this Mar 11, 2026
@JSUYA JSUYA added the enhancement New feature or request label Mar 11, 2026
xiaowei-guan and others added 2 commits March 12, 2026 13:23
…id change FlutterOpenGLTexture and use deprecated api (flutter#26)

We have supported render external texture gl for Impeller
flutter-tizen/engine#368
But this PR has two issues:
1. It modify FlutterOpenGLTexture, it added additional variables, not a
good design.
```C++
  /// The pixel data buffer.
  const uint8_t* buffer;
  /// The size of pixel buffer.
  size_t buffer_size;
  /// Callback invoked that the gpu surface texture start binding.
  BoolCallback bind_callback;
  /// The type of the texture.
  FlutterGLImpellerTextureType impeller_texture_type;
```
2. It uses Deprecated API
```C++
  // Deprecated: use BlitPass::AddCopy instead.
  [[nodiscard]] bool SetContents(const uint8_t* contents,
                                 size_t length,
                                 size_t slice = 0,
                                 bool is_opaque = false);

```

So I tried to revert offical PR to render external gl for impeller
flutter/engine#56277
But this PR doesn't work on Tizen platform, I think This PR may not have
been verified.
To avoid change FlutterOpenGLTexture and use deprecated api, so I
re-implemented render external texture gl for impeller based on this
offical PR.
Fix flutter-tizen/embedder#131

<!--
Thanks for filing a pull request!
Reviewers are typically assigned within a week of filing a request.
To learn more about code review, see our documentation on Tree Hygiene:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
-->

*Replace this paragraph with a description of what this PR is changing
or adding, and why. Consider including before/after screenshots.*

*List which issues are fixed by this PR. You must list at least one
issue. An issue is not required if the PR fixes something trivial like a
typo.*

*If you had to change anything in the [flutter/tests] repo, include a
link to the migration guide as per the [breaking change policy].*

## Pre-launch Checklist

- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [ ] I signed the [CLA].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

**Note**: The Flutter team is currently trialing the use of [Gemini Code
Assist for
GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
Comments from the `gemini-code-assist` bot should not be taken as
authoritative feedback from the Flutter team. If you find its comments
useful you can update your code accordingly, but if you are unsure or
disagree with the feedback, please feel free to wait for a Flutter team
member's review for guidance on which automated comments should be
addressed.

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Inject a small compat header into the custom cross-toolchain command line
so Linux targets built with Tizen sysroots still see __NR_getrandom even
when the sysroot headers do not export it.

This keeps third_party/dart untouched and fixes builds across common Tizen
architectures:
- x86: 355
- x64: 318
- arm: 384
- arm64: 278
@JSUYA JSUYA force-pushed the flutter-3.41.4-candidate.1 branch from 9181a10 to 8e99837 Compare March 12, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants