ブログランキング・にほんブログ村へ


iPhone/iPad用潜水艦ゲームアプリ ソナーエコー iTunesにて公開中

2016年10月13日

[iOS][Metal]Execution of the command buffer was aborted due to an error during execution.Caused GPU Hang Error (IOAF code 3)

OpenGLES -> Metalの移植もいよいよ大詰め…となっていきなりこんなエラーに遭遇。
環境は iOS10.0.2 iPhone SE。

Execution of the command buffer was aborted due to an error during execution. Caused GPU Hang Error (IOAF code 3)

Execution of the command buffer was aborted due to an error during execution.

MTLCommandBufferがなんかしらの内部エラーを出してるらしいが、なにせ情報がほとんどない。
UIKitと衝突する?と出ることがあるとかいう感じの記述をみつけてそれらしいところを外してみるが効果なし。
不思議なのは描画関係何も変えてないはずなのにいきなり出るようになったこと。


----解決。

更新開発中のゲーム(ソナーエコー)で、ステージ制なのに新ステージのみで出て他のステージで出ないことから調べていったところ、テクスチャのロードをミスして出来てなかったこと(0となっていた)がわかった。
エンコーダのテクスチャの設定をsetFragmentTextureしないまま実行すると、パラメータがセットされないというエラーが出るのに0をセットするとこういうエラーとなるらしい。
不親切で気づかないと相当はまるので気をつけたい。
タグ:iOS metal
posted by みこあいさ at 12:31| iOS開発