Open3
C-WebGL: AndroidのANGLE化で何が消えるのか問題
Androidはベンダ提供のOpenGL ESドライバを使えないようにしてGoogle製のOpenGL ES実装であるANGLEに統一しようとしている:
OpenGL ES自体は継続提供されるが、ベンダが対応しなければならないのはVulkanだけということになる。じゃぁベンダ独自の機能だったものはどうなるの。。?
ANGLEのサポートする拡張一覧はANGLEのリポジトリにある https://github.com/google/angle/blob/main/doc/ExtensionSupport.md 。
手元のPixel7 Proで比較
とりあえず Pixel7 ProにAndroid15が降ってきたので比較してみた。左がベンダのドライバで右がANGLE。
Android14時代にも存在したが殆どのアプリが正常に動作しなかった。Android15ではその辺がちゃんと修正されたようだ。
EDIT: いやPixel 7Proの入手直後に試してるな。。
いやめっちゃ機能減るな。。増える機能は基本的に無い。EACテクスチャ圧縮くらいか。。?減るのは:
- パレット化テクスチャ
-
GL_KHR_texture_compression_astc_hdr
いやVulkanでは普通に使えるんだからサポートしろや! -
GL_ARM_shader_framebuffer_fetch_depth_stencil
等、タイルメモリを使用する拡張。これは WebGL相当のGL_ANGLE_shader_pixel_local_storage
が公開されるのでそちらに乗り換えるべきか。
ASTCでHDRテクスチャ使えないのは微妙に困らないか。。?
Web3D survey
... あらためて見てみると、WebGLで展開されているextension自体があんまり無いんだな。。なのでWebGL互換性を考えると、ANGLEの実装内容で制約されてもあんまり困らないというのはあるのかもしれない。