Repository navigation
Prefer GLES 3 with GLES 2 fallback - #212
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Scene needs GLES 3; existing GLES 2 devices must still run Impeller.
dbc49eb to
bd7d80c
Compare
xiaowei-guan
left a comment
There was a problem hiding this comment.
Inline details for the summary review above.
| eglCreateContext(egl_display_, egl_config_, EGL_NO_CONTEXT, attribs); | ||
| if (egl_context_ == EGL_NO_CONTEXT) { | ||
| PrintEGLError(); | ||
| FT_LOG(Error) << "Could not create an onscreen context."; |
There was a problem hiding this comment.
🟡 When Impeller is enabled, the first InitializeEGL(3) is speculative: on every GLES2-only device this Error log (and the "No matching configurations found." one above at line 194) will fire even though the ES2 fallback then succeeds and the app runs fine. Error-level logs on a fully-recovered expected path will mislead triage — consider downgrading during the speculative attempt, or logging Error only after all attempts fail. (Summary finding 1)
There was a problem hiding this comment.
As far as I know, most of the TVs we support should be compatible with GLES 3.0.
Based on our agent-based analysis, the only scenario requiring GLES 2.0 is on the Raspberry Pi 3; therefore, such cases are expected to be extremely rare.
If you know any issues regarding GLES 3.0 support on these TVs(old model or version), please share them with us.
There was a problem hiding this comment.
Added a check for cases where Flutter 3D is used (--enable-flutter-gpu).
Flutter GPU needs GLES 3, but the engine ships only GLSL ES 1.00 entity shaders, so FragmentProgram breaks on a GLES 3 context. Keep other Impeller apps on GLES 2 until the engine provides GLES 3 shaders.
b8241a7 to
4d54e83
Compare
Flutter 3D scene needs GLES 3; existing GLES 2 devices must still run Impeller.