Skip to content

Conversation

@xiaowei-guan
Copy link

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.
  /// 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;
  1. It uses Deprecated API
  // 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

…id change

FlutterOpenGLTexture and use deprecated api
Copy link
Member

@JSUYA JSUYA left a comment

Choose a reason for hiding this comment

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

Sorry for the late review.
I left a comment. Please check it.

Copy link
Member

@JSUYA JSUYA left a comment

Choose a reason for hiding this comment

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

I'm a little worried because there are a lot of code diffs...

@xiaowei-guan
Copy link
Author

I'm a little worried because there are a lot of code diffs...

I think this patch has two advantages:

  1. It should improve the performance of rendering textures. I'll share the comparison results later.

  2. I'll also try submitting this code to the official repository so that we won't have to merge this part of the code every time in the future.

@JSUYA
Copy link
Member

JSUYA commented Feb 3, 2026

please rebase to 3.38.8 branch

@xiaowei-guan xiaowei-guan merged commit 3ae82b3 into flutter-tizen:flutter-3.38.3 Feb 5, 2026
23 checks passed
xiaowei-guan added a commit to xiaowei-guan/flutter that referenced this pull request Feb 5, 2026
…id change FlutterOpenGLTexture and use deprecated api (flutter-tizen#23)

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
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.

Revert impeller render texture code for gles

2 participants