A500で発生する「シェーダデタッチ動作バグ」の検証を行うためのサンプル。†detachbug.apkusage.txtreadme.txtパッケージ2012.1029.1最初のバージョン。A500と同じ挙動でした。XOOMもA500と同じでした。A500と同じ挙動でした。ESでシェーダプログラムのリンクを行うときは、以下のようにします。fragmentShaderId);glLinkProgram(programId);Khronosのドキュメントによると、「glLinkProgram?()の後、アタッチしたシェーダオブジェクトはデタッチしてもよい」と記されています(*1)。デタッチする場合、コードは以下のようになります。A500ではデタッチを実行してしまうと、対象のシェーダプログラムは動作が保証されません。正常なレンダリングが行われなかったり、プログラムの異常終了の原因にもなります。このプログラムは、この現象を再現するためのサンプルです。†detachbugをインストールし、起動します。プログラムが正常に動いているときは、以下のような表示が行われます。黒い背景に、丸・四角・星型3つの図形が回転表示される。メニューボタンを押すと、以下のメニューが表示されます。シェーダのデタッチを行わない。頂点シェーダのデタッチを行う。ピクセルシェーダのデタッチを行う。両方のシェーダのデタッチを行う。ESが仕様通りに動いている場合は、どのモードで実行しても動作は変化しません。A500(*2)では、以下のような動作になります。