Android Galaxy S2 ARM Mali-400 MP

ベンチは走らせてませんが 3D 描画は速い。
今まで試した Android の中では最速でした。

● GPU

GL_VERSION: OpenGL ES 2.0
GL_RENDERER: Mali-400 MP
GL_VENDOR: ARM
GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 1.00

[GL_OES_texture_npot]
[GL_OES_compressed_ETC1_RGB8_texture]
[GL_OES_standard_derivatives]
[GL_OES_EGL_image]
[GL_OES_depth24]
[GL_ARM_rgba8]
[GL_ARM_mali_shader_binary]
[GL_OES_depth_texture]
[GL_OES_packed_depth_stencil]

API=0  Shader=100
pconst=1024 vconst=128 vin=16 vout=12 ptex=8 vtex=0 combotex=8 maxrender=4096 maxtexsize=4096 cubetexsize=1024 viewdims=4096

TextureFormat 1
tc[00]=8d64  GL_ETC1_RGB8_OES

Unified でなく unit が独立しているせいもあるかもしれませんが、
比較的長い pixel shader も意外なほど動きます。

その代わり extension は少な目です。

Mobile GPU の比較

float 系テクスチャや圧縮頂点フォーマットが無いようです。
また圧縮テクスチャが ETC1 だけに制限されるのも、他の GPU との
大きな違いとなっています。

今の Mobile GPU はそれぞれ何かしらのトレードオフがあり全部入りはありません。

例えば Adreno 200 は演算ユニットが高精度固定、Unified で頂点機能も豊富、
低帯域対策は TBR と ATITC。その代わり頂点キャッシュなし。
PVR SGX535 は TBDR + PVRTC で全体的なスループットが高いがシェーダーの
演算精度をどこまで落とせるかが最適化の要。
Tegra2 は TBR でない代わりに転送量削減で 16bit depth 固定など。

Mali-400MP はまた違った特徴を持っているようです。

● CPU

Cortex-A9 1.2GHz dual。iPad2 同様 neon ありです。
今まで触ったハードで A9 neon 無しは Tegra2 だけでした。

Processor	: ARMv7 Processor rev 1 (v7l)
processor	: 0
BogoMIPS	: 1592.52

processor	: 1
BogoMIPS	: 1592.52

Features	: swp half thumb fastmult vfp edsp neon vfpv3 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x2
CPU part	: 0xc09
CPU revision	: 1

モバイルでの 3D ゲームも現実的なレベルだと思います。
デスクトップ GPU との差はまだまだですが、意外にすぐ追いつかれるかも
しれません。

関連エントリ
iPad2 A5 と浮動小数演算 VFP/NEON
Android OpenGL ES 2.0 の圧縮テクスチャ
Tegra2 Cortex-A9 と浮動小数演算
Snapdragon と浮動小数演算速度