コンストラクタで/system/lib/egl/egl.cfgをオープンしている。
これがなければ、デフォルトのconfigを使う。
ログにはなかったので、これは読み込まれている。
ファイルの中身は、こうなっていた。
0 1 fimg
意味としては"dpy, impl, tag"となっている。
dpyはディスプレイ番号
さて、このegl.cfgだが、SmartQ5用に提供されている。
他にも、
- lib/hw/copybit
- lib/egl/egl.cfg
- lib/egl/libEGL_fimg.so
- lib/egl/libGLESv1_CM_fimg.so
- lib/libGLESv1_CM_fimg.so
- lib/libChunkAlloc.so
ファイルとしてはlibGLESv2_fimg.soもあるのだが、これはコピーされていない。
Loader::open()では、いよいよライブラリをオープンしている。
ログでは、こうなっている。
D/libEGL ( 1890): loaded /system/lib/egl/libEGL_fimg.so
D/libEGL ( 1890): loaded /system/lib/egl/libGLESv1_CM_fimg.so
つまり、さっきのegl.cfgにあったfimgが使われているのだ。
tagってのは、そういう意味を持つようである。
さて、cnxってのは、このライブラリから持ってきているようだ。
getProcAddress()とかでエントリポイントを取得するのかな?
libEGL.soをnmで見ると。。。symbolがないのでわからない。
代わりに、自前でビルドした方を見てみる。
00003201 T eglGetConfigAttrib
これが呼ばれているんだろうな。
うーん、思ったよりも大事になってきたなあ。。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。