[impeller] Wire up the OpenGL ES Backend.#33405
Conversation
| std::optional<bool> DetermineIfES(const std::string& version) { | ||
| if (HasPrefix(version, "OpenGL ES")) { | ||
| return true; | ||
| } else if (HasPrefix(version, "OpenGL")) { |
There was a problem hiding this comment.
This case looks redundant with the else {} case.
There was a problem hiding this comment.
So, I am not actually sure if the OpenGL prefix is required. I seemed to think it was. But the Mac desktop implementation does not seem to have it. The else below this was supposed to be std::nullopt. Notice how the bool is optional but a value is always returned. I am going to assume the Mac desktop behavior is correct and return a non-optional for now.
| } | ||
| } | ||
|
|
||
| static std::optional<Version> DetermineVersion(std::string version) { |
There was a problem hiding this comment.
Can this have some unit tests? String parsing without unit tests makes me very nervous.
There was a problem hiding this comment.
Adding this in a followup patch along with other fixes.
d8ab012 to
4c77bb9
Compare
| "gpu_surface_gl_skia.cc", | ||
| "gpu_surface_gl_skia.h", |
There was a problem hiding this comment.
not a problem but will require compensating changes for the roll.
dnfield
left a comment
There was a problem hiding this comment.
I didn't give this whole patch a close look, but from what I've spot checked it looks good enough to land for experimentation.
|
https://flutter-review.googlesource.com/c/recipes/+/30204 will be needed to clear up the "Linux clang-tidy" presubmit. |
887f33c to
5a3ddf5
Compare
|
@jonahwilliams for advice on 'fractional' build failure. Maybe just needs a rebase? |
|
You might just need 9867003 |
5a3ddf5 to
42233f9
Compare
This reverts commit 01a129b.
This is still work in progress but basic rendering is functional. There are issues around context access from multiple threads that I am going to address in a subsequent patch. This also brings in the binary cost overhead of using Impeller on Android.
