10/27 16:00 (
@gorry5) しかしICONIA TAB A500のGLES2ドライバだと、glDetachShader()しちゃったプログラムをglUseProgram()するとその後のglDrawElements()の中でクラッシュする
10/27 16:10 (
@gorry5) 本来、デタッチしちゃいけないならglUseProgram()でエラーが出ないとおかしい。そこでエラーが出ないで実際にそのプログラムで描画しようとしてクラッシュするんだからタチが悪い
10/27 16:29 (
@gorry5) 追加条件がわかった。アタッチするシェーダはVertexとFragmentの2種類があるんだが、このうちFragmentだけをデタッチすると異状が発生する。Vertexだけ、あるいは両方ともデタッチすると異状は出ない
10/27 16:32 (@gorry5) 本来両方ともデタッチしたほうがいいところを片方しかしていなかったのは当方のミスではある。まあ普通は「次のプログラム用に新しいシェーダをアタッチすると古いのはデタッチされる」ので、こんなバグは気づきにくいかもしれない