golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
121.15k stars 17.37k forks source link

proposal: x/mobile: start using OpenGL ES 3 instead of OpenGL ES 2 on Android #62413

Open hajimehoshi opened 10 months ago

hajimehoshi commented 10 months ago

Now OpenGL ES 3 is not supported by gomobile-build as it was troublesome to detect whether a device supports GL ES 3 or not (https://github.com/golang/mobile/blob/7088062f872dd0678a87e8986c67992e9c8855a5/gl/work.h#L5-L10).

IMO, it is already safe to assume that most devices support GL ES 3, and we don't have to detect it. One reason is that ES 3 is supported by Android 5 (https://developer.android.com/guide/topics/graphics/opengl).

By this change, gomobile implementation will be slightly simpler.

What do you think?

/CC @hyangah @dmitshur @crawshaw

dmitshur commented 10 months ago

To clarify, is this proposal to replace OpenGL ES 2 on Android with OpenGL ES 3? That is, to drop 2 and add 3 in its place?

Given Android 5 was released in 2014 and is unsupported since 2016, I can't think of a good reason to object to the change. That said, given the state of x/mobile support and prioritization, I'm not sure who would have time to do the work and code reviews. If it can happen anyway, the change itself seems favorable to me.

hajimehoshi commented 10 months ago

To clarify, is this proposal to replace OpenGL ES 2 on Android with OpenGL ES 3? That is, to drop 2 and add 3 in its place?

I meant to drop 2 and add 3. So, if a device doesn't support ES 3, gomobile would not work there.

ianlancetaylor commented 10 months ago

CC @golang/mobile-admins @golang/android