2011年4月7日木曜日

AdrenoSDK

PowerVRSDKのエミュレータの場合、
スタート、ポーズ、デバイスの情報表示、ターゲットデバイスの設定等があるが、
速度が遅い。実機相当にしているというわけでもなさそうな速度。

AdrenoSDKは速い。情報表示をどうするのかドキュメント読み中。
NvidiaはPowerVRのエミュレータ、AMDはAdrenoのエミュレータが良いのかなと
根拠なく思う。AMDとAdrenoは根拠あるが。新しいGeforceならそのままGLESを
動かせばよいのだろうが、gDebuggerは使えるのだろうか。

訂正、PowerVRの方はターゲットデバイス設定でプリセットのように各種設定が
行われる。
Adrenoはクロック設定やバス速度を自分でする。

OpenGL ES SLとif

シェーダの分岐命令ですが、少なくとも、adreno200とTegra250では
使い物にならないくさい。
Tegra250はGeforce 6シリーズと性能が同等ということだが、
中がどうなっているのか調査中。
まさか中身が6そのままか、改修したものなのか?
中身が6だったら分岐命令はアウトだよね。

APP_ABIの設定はBUILD_STATIC_LIBRARYにも反映されていた。

2011年4月2日土曜日

AMDドライバとPowerVRSDK

RadeonHD5770で
Driver Packaging Version 8.821-110126a-112958C-ATI
にしたらPowerVR GLES2エミュレータが動作しなくなった。
eglMakeCurrentで不正アクセスが起きる。

サンプルをビルドすれば動くのだがはて。他に何かしたかな。

2011年3月23日水曜日

モバイル向けGPUのglClearDepth

adrenoは、0..1にクランプしないぽい。範囲外は溢れるのか、判定が正しくなくなる。
Tegra2はドキュメントどおりクランプ、
PowerVR SGXはエミュレータどおりならクランプ。
ぽいというだけで確定ではない。

glBufferSubData辺りの挙動も違うっぽいぞ。

depthバッファのサイズは
Tegra2が最大16ビット、
adreno, PowerVRが最大24ビット、
ZiiLabs ZMS-08は最大32ビットまでらしい。
16ビットで頑張るしかない。

2011年3月21日月曜日

LuvPadのUSBドライバ

他のページから転載メモ
google-usb_driver/android_winusb.inf
に以下を追加。他のTegra250でも使えるのかな?要チェック

[Google.NTx86]
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
%CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_7100&MI_01

[Google.NTamd64]
;NVIDIA Tegra
%SingleAdbInterface% = USB_Install, USB\VID_0955&PID_7000
%CompositeAdbInterface% = USB_Install, USB\VID_0955&PID_7100&MI_01

別のドライバが自動でインストールされてしまった場合、
デバイスマネージャ、USBコントローラの中からデバイスIDがVID_0955&PID_710
のものをドライバ更新する。

2011年1月7日金曜日

NDKのコンパイラ最適化設定

AndroidManifest.xmlでdebuggable設定していると、
ndk Application.mkでのAPP_OPTIM設定のデフォルト値が、
debugになる。知らなんだ。

APP_OPTIM := release にしてみる。→ 変化なし
APP_ABI := armeabi-v7a にしてみる。 → 変化なし
まあ、別のところがつまっているのでしょう。
息抜きのための、速くなるかも実験はこれくらいにしておく。

APP_ABI := armeabi armeabi-v7a にすると
ARMV5TE向けとARMV7a向けのバイナリが作られる。
この設定、共有ライブラリ作成 BUILD_SHARED_LIBRARY には
影響しているが、BUILD_STATIC_LIBRARYには影響しないの?
うまい解決法を探している。

フォントをどうロードしようか思案中。

2010年12月22日水曜日

Android ndk5

以下へのアクセスインターフェイス
・入力システム
・センサシステム
・イベントループ
・ウィンドウシステム

Audio API OpenSL ESのサポート
apkファイル内のassetへのアクセス
STLport GNU libstdc++
EGL

これは、本格的にネイティブに引きこもって、上流階級のJava様にこき使われる世界か