I'm in the process of writing an OpenGL ES powered framework for my next Android game(s). Currently I'm supporting three different techniques of drawing sprites:
- the basic way: using vertex arrays (slow)
- using vertex-buffer-objects (VBOs) (faster)
- using the draw_texture extension (fastest, but only for basic sprites, i.e. no transforming)
Vertex arrays are supported in OpenGL ES 1.0 and thus in every Android-device. I'm guessing most (if not all) of the current devices also support VBOs and draw_texture.
Instead of guessing, I'd like to know the extensions supported by different devices. If majority of devices support VBOs, I could simplify my code and focus only on VBOs + draw_texture.
It'd be helpful to know what different devices support, so if you have an Android-device, do report the extensions list开发者_Go百科 please. :)
String extensions = gl.glGetString(GL10.GL_EXTENSIONS);
I've got a HTC Hero, so I can share those extensions next.
OpenGL ES extensions on HTC G1 (Android 1.6):
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_crossbar
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_extended_texture_coordinate_data_formats
- GL_ATI_imageon_misc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap
- GL_OES_byte_coordinates
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_fixed_point
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_single_precision
- GL_OES_vertex_buffer_object
- GL_QUALCOMM_vertex_buffer_object
- GL_QUALCOMM_direct_texture
OpenGL ES version on HTC G1 (Android 1.6):
- OpenGL ES 1.0-CM
I'm including the version as retrieved by:
gl.glGetString(GL10.GL_VERSION)
It's pretty interesting in that it doesn't follow the specification. The profile is supposed to be before the number. It is also needed to determine capabilities. For example, the Droid doesn't report VBO support in its extension list. It does report an OpenGL ES version of 1.1, however. That means it does support VBOs, because VBOs were made mandatory in the 1.1 version.
Here's a HTC Evo 4G running Android 2.1-update1 (Thanks Google IO):
GL_VERSION:
- OpenGL ES-CM 1.1
GL_EXTENSIONS:
- GL_AMD_compressed_3DC_texture
- GL_AMD_compressed_ATC_texture
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_compressed_texture_atitc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap
- GL_OES_EGL_image
- GL_OES_blend_equation_separate
- GL_OES_blend_func_separate
- GL_OES_blend_subtract
- GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_extended_matrix_palette
- GL_OES_framebuffer_object
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_stencil_wrap
- GL_OES_texture_cube_map
- GL_OES_texture_env_crossbar
- GL_OES_texture_mirrored_repeat
GL_RENDERER:
- Adreno
GL_VENDOR:
- Qualcomm
GL_ALIASED_POINT_SIZE_RANGE:
- 1, 128
GL_SMOOTH_POINT_SIZE_RANGE:
- 1, 128
I thought performance would duplicate the Nexus one. It has the same renderer/processor after all. The screen is TFT instead of OLED, but the same resolution. One of my games that takes 16-18ms per frame on the N1 takes 33-34ms on this, however. I haven't looked into why yet. The number looks suspiciously like it would if the screen only ran at 30Hz instead of 60Hz. I haven't confirmed that yet, though.
OpenGL ES extensions on Nexus One (Android 2.1):
- GL_AMD_compressed_3DC_texture
- GL_AMD_compressed_ATC_texture
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_compressed_texture_atitc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap
- GL_OES_EGL_image
- GL_OES_blend_equation_separate
- GL_OES_blend_func_separate
- GL_OES_blend_subtract
- GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_extended_matrix_palette
- GL_OES_framebuffer_object
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_stencil_wrap
- GL_OES_texture_cube_map
- GL_OES_texture_env_crossbar
- GL_OES_texture_mirrored_repeat
OpenGL ES info for HTC Desire (AU)
GL_EXTENSIONS:
- GL_AMD_compressed_3DC_texture
- GL_AMD_compressed_ATC_texture
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_compressed_texture_atitc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap GL_OES_EGL_image
- GL_OES_blend_equation_separate
- GL_OES_blend_func_separate
- GL_OES_blend_subtract
- GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_extended_matrix_palette
- GL_OES_framebuffer_object
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_stencil_wrap
- GL_OES_texture_cube_map
- GL_OES_texture_env_crossbar
- GL_OES_texture_mirrored_repeat
GL_VERSION:
- OpenGL ES-CM 1.1
GL_RENDERER:
- Adreno
GL_VENDOR:
- Qualcomm
You should try going to www.glbenchmark.com. They have a nice database. And they list all extensions in their GL environment section for each device.
Just got a Droid running Android 2.0.1.
GL_EXTENSIONS:
- GL_OES_byte_coordinates
- GL_OES_fixed_point
- GL_OES_single_precision
- GL_OES_matrix_get
- GL_OES_read_format
- GL_OES_compressed_paletted_texture
- GL_OES_point_sprite
- GL_OES_point_size_array
- GL_OES_matrix_palette
- GL_OES_draw_texture
- GL_OES_query_matrix
- GL_OES_texture_env_crossbar
- GL_OES_texture_mirrored_repeat
- GL_OES_texture_cube_map
- GL_OES_blend_subtract
- GL_OES_blend_func_separate
- GL_OES_blend_equation_separate
- GL_OES_stencil_wrap
- GL_OES_extended_matrix_palette
- GL_OES_framebuffer_object
- GL_OES_rgb8_rgba8
- GL_OES_depth24
- GL_OES_stencil8
- GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_mapbuffer
- GL_OES_EGL_image
- GL_EXT_multi_draw_arrays
- GL_OES_required_internalformat
- GL_IMG_read_format
- GL_IMG_texture_compression_pvrtc
- GL_IMG_texture_format_BGRA8888
- GL_EXT_texture_format_BGRA8888
- GL_IMG_texture_stream
- GL_IMG_vertex_program
GL_VERSION:
- OpenGL ES-CM 1.1
GL_RENDERER:
- PowerVR SGX 530
GL_VENDOR:
- Imagination Technologies
GL_ALIASED_POINT_SIZE_RANGE:
- 1, 32
GL_SMOOTH_POINT_SIZE_RANGE:
- 1, 1
Here is the info for Samsung GT-I5700 (Spica / Galaxy Spica) with Android 1.5:
GL_VERSION:
- 1.1 (lib version 11.02.72)
GL_RENDERER:
- FIMG
GL_VENDOR:
- Samsung Electronics
GL_EXTENSIONS:
- GL_OES_matrix_palette
- GL_OES_draw_texture
- GL_OES_framebuffer_object
- GL_OES_matrix_get
- GL_ARB_texture_non_power_of_two
Looks like Dave Webb has a point.
Here is what I have with the original Droid using Android 2.1, which differs from what had been reported here for the Droid with Android 2.0.1.
GL Version
- OpenGL ES 2.0
GL Vendor
- Imagination Technologies
GL Renderer
- PowerVR SGX 530
GL Extensions
- GL_OES_rgb8_rgba8
- GL_OES_depth24
- GL_OES_vertex_half_float
- GL_OES_texture_float
- GL_OES_texture_half_float
- GL_OES_element_index_uint
- GL_OES_mapbuffer
- GL_OES_fragment_precision_high
- GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_EGL_image
- GL_OES_required_internalformat
- GL_OES_depth_texture
- GL_OES_get_program_binary
- GL_OES_packed_depth_stencil
- GL_OES_standard_derivatives
- GL_EXT_multi_draw_arrays
- GL_EXT_texture_format_BGRA8888
- GL_EXT_discard_framebuffer
- GL_IMG_shader_binary
- GL_IMG_texture_compression_pvrtc
- GL_IMG_texture_stream2
- GL_IMG_texture_npot
- GL_IMG_texture_format_BGRA8888
- GL_IMG_read_format
- GL_IMG_program_binary
- GL_IMG_vertex_array_object
OpenGL ES extensions on HTC Hero (Android 1.5):
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_crossbar
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_extended_texture_coordinate_data_formats
- GL_ATI_imageon_misc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap
- GL_OES_byte_coordinates
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_fixed_point
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_single_precision
- GL_OES_vertex_buffer_object
- GL_QUALCOMM_vertex_buffer_object
- GL_QUALCOMM_direct_texture
Archos 5 internet tablet running Android 1.6:
GL_VERSION:
- OpenGL ES-CM 1.0
GL_EXTENSIONS:
- GL_OES_byte_coordinates
- GL_OES_fixed_point
- GL_OES_single_precision
- GL_OES_read_format
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_matrix_get
- GL_OES_query_matrix
- GL_ARB_texture_compression
- GL_ARB_texture_non_power_of_two
- GL_ANDROID_direct_texture
- GL_ANDROID_user_clip_plane
- GL_ANDROID_vertex_buffer_object
- GL_ANDROID_generate_mipmap
GL_RENDERER:
- Android PixelFlinger 1.0
GL_VENDOR:
- Android
GL_ALIASED_POINT_SIZE_RANGE:
- 0, 134217727
GL_SMOOTH_POINT_SIZE_RANGE:
- 0, 2048
Guess that means there is no OpenGL hardware acceleration.
Gl info for Samsung Galaxy Tab
Android Device
samsung / GT-P1000 / GT-P1000
2.2 / armeabi-v7a
OpenGL Version
OpenGL ES-CM 1.1
OpenGL Vendor
Imagination Technologies
OpenGL Renderer
PowerVR SGX 540
OpenGL Extensions
EXT_multi_draw_arrays
EXT_texture_format_BGRA8888
IMG_read_format
IMG_texture_compression_pvrtc
IMG_texture_format_BGRA8888
IMG_texture_stream
IMG_vertex_program
OES_EGL_image
OES_blend_equation_separate
OES_blend_func_separate
OES_blend_subtract
OES_byte_coordinates
OES_compressed_ETC1_RGB8_texture
OES_compressed_paletted_texture
OES_depth24
OES_draw_texture
OES_extended_matrix_palette
OES_fixed_point
OES_framebuffer_object
OES_mapbuffer
OES_matrix_get
OES_matrix_palette
OES_point_size_array
OES_point_sprite
OES_query_matrix
OES_read_format
OES_required_internalformat
OES_rgb8_rgba8
OES_single_precision
OES_stencil8
OES_stencil_wrap
OES_texture_cube_map
OES_texture_env_crossbar
OES_texture_mirrored_repeat
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 1,16
ALIASED_POINT_SIZE_RANGE = 1,32
MAX_ELEMENTS_INDICES = 0
MAX_ELEMENTS_VERTICES = 0
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 16
MAX_PROJECTION_STACK_DEPTH = 2
MAX_TEXTURE_SIZE = 2048
MAX_TEXTURE_STACK_DEPTH = 4
MAX_TEXTURE_UNITS = 4
MAX_VIEWPORT_DIMS = 2048,2048
SMOOTH_LINE_WIDTH_RANGE = 1,1
SMOOTH_POINT_SIZE_RANGE = 1,1
SUBPIXEL_BITS = 4
Limits OpenGL 1.1
MAX_CLIP_PLANES = 6
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 2048
MAX_PALETTE_MATRICES_OES = 32
MAX_RENDERBUFFER_SIZE_OES = 2048
MAX_VERTEX_UNITS_OES = 4
Display Resolution
Pixels = 600 x 1024
DPIs = 168.89351 x 169.33333
Display Configurations
Standard
07: R5G6B5
06: R5G6B5 D24 S8
08: R5G6B5 D24 S8 MSAAx4
01: R8G8B8A8
04: R8G8B8A8
00: R8G8B8A8 D24 S8
03: R8G8B8A8 D24 S8
02: R8G8B8A8 D24 S8 MSAAx4
05: R8G8B8A8 D24 S8 MSAAx4
Compressed Texture Formats
Reported
8b90: PALETTE4_RGB8_OES
8b91: PALETTE4_RGBA8_OES
8b92: PALETTE4_R5_G6_B5_OES
8b93: PALETTE4_RGBA4_OES
8b94: PALETTE4_RGB5_A1_OES
8b95: PALETTE8_RGB8_OES
8b96: PALETTE8_RGBA8_OES
8b97: PALETTE8_R5_G6_B5_OES
8b98: PALETTE8_RGBA4_OES
8b99: PALETTE8_RGB5_A1_OES
8c01: ???
8c03: ???
8c00: ???
8c02: ???
8d64: ETC1_RGB8_OES
EGL Vendor & Version
Imagination Technologies
1.4 build 1.5.15.3152
EGL Extensions
ANDROID_image_native_buffer
IMG_context_priority
KHR_gl_renderbuffer_image
KHR_gl_texture_2D_image
KHR_gl_texture_cubemap_image
KHR_image
KHR_image_base
KHR_vg_parent_image
GL info for Samsung Nexus S
Android Device
samsung crespo Nexus S
2.3.4 armeabi-v7a
OpenGL Version
OpenGL ES-CM 1.1
OpenGL Vendor
Imagination Technologies
OpenGL Renderer
PowerVR SGX 540
OpenGL Extensions
EXT_multi_draw_arrays
EXT_texture_format_BGRA8888
IMG_read_format
IMG_texture_compression_pvrtc
IMG_texture_format_BGRA8888
IMG_texture_stream
IMG_vertex_array_object
OES_EGL_image
OES_blend_equation_separate
OES_blend_func_separate
OES_blend_subtract
OES_byte_coordinates
OES_compressed_ETC1_RGB8_texture
OES_compressed_paletted_texture
OES_depth24
OES_draw_texture
OES_egl_sync
OES_extended_matrix_palette
OES_fixed_point
OES_framebuffer_object
OES_mapbuffer
OES_matrix_get
OES_matrix_palette
OES_point_size_array
OES_point_sprite
OES_query_matrix
OES_read_format
OES_required_internalformat
OES_rgb8_rgba8
OES_single_precision
OES_stencil8
OES_stencil_wrap
OES_texture_cube_map
OES_texture_env_crossbar
OES_texture_mirrored_repeat
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 1,16
ALIASED_POINT_SIZE_RANGE = 1,32
MAX_ELEMENTS_INDICES = 0
MAX_ELEMENTS_VERTICES = 0
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 16
MAX_PROJECTION_STACK_DEPTH = 2
MAX_TEXTURE_SIZE = 2048
MAX_TEXTURE_STACK_DEPTH = 4
MAX_TEXTURE_UNITS = 4
MAX_VIEWPORT_DIMS = 2048,2048
SMOOTH_LINE_WIDTH_RANGE = 1,1
SMOOTH_POINT_SIZE_RANGE = 1,1
SUBPIXEL_BITS = 4
Limits OpenGL 1.1
MAX_CLIP_PLANES = 6
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 2048
MAX_PALETTE_MATRICES_OES = 32
MAX_RENDERBUFFER_SIZE_OES = 2048
MAX_VERTEX_UNITS_OES = 4
Display Resolution
Pixels = 480 x 800
DPIs = 234.46153 x 236.27907
Display Configurations
Standard
11 R5G6B5
10 R5G6B5 D24 S8
12 R5G6B5 D24 S8 MSAAx4
02 R8G8B8A8
05 R8G8B8A8
08 R8G8B8
01 R8G8B8A8 D24 S8
04 R8G8B8A8 D24 S8
07 R8G8B8 D24 S8
03 R8G8B8A8 D24 S8 MSAAx4
06 R8G8B8A8 D24 S8 MSAAx4
09 R8G8B8 D24 S8 MSAAx4
Slow
29 R5G6B5 Native
30 R5G6B5 D16 Native
31 R8G8B8 Native
32 R8G8B8 D16 Native
33 R8G8B8A8 Native
34 R8G8B8A8 D16 Native
35 A8 Native
36 A8 D16 Native
Compressed Texture Formats
Reported
8b90 PALETTE4_RGB8_OES
8b91 PALETTE4_RGBA8_OES
8b92 PALETTE4_R5_G6_B5_OES
8b93 PALETTE4_RGBA4_OES
8b94 PALETTE4_RGB5_A1_OES
8b95 PALETTE8_RGB8_OES
8b96 PALETTE8_RGBA8_OES
8b97 PALETTE8_R5_G6_B5_OES
8b98 PALETTE8_RGBA4_OES
8b99 PALETTE8_RGB5_A1_OES
8c01
8c03
8c00
8c02
8d64 ETC1_RGB8_OES
EGL Vendor & Version
Android
1.4 Android META-EGL
EGL Extensions
ANDROID_image_native_buffer
ANDROID_swap_rectangle
KHR_image
KHR_image_base
KHR_image_pixmap
Gl info for milestone
Android Device
motorola / umts_sholes / Milestone
2.1-update1 / armeabi-v7a
OpenGL Version
OpenGL ES-CM 1.1
OpenGL Vendor
Imagination Technologies
OpenGL Renderer
PowerVR SGX 530
OpenGL Extensions
EXT_multi_draw_arrays
EXT_texture_format_BGRA8888
IMG_read_format
IMG_texture_compression_pvrtc
IMG_texture_format_BGRA8888
IMG_texture_stream
IMG_vertex_program
OES_EGL_image
OES_blend_equation_separate
OES_blend_func_separate
OES_blend_subtract
OES_byte_coordinates
OES_compressed_ETC1_RGB8_texture
OES_compressed_paletted_texture
OES_depth24
OES_draw_texture
OES_extended_matrix_palette
OES_fixed_point
OES_framebuffer_object
OES_mapbuffer
OES_matrix_get
OES_matrix_palette
OES_point_size_array
OES_point_sprite
OES_query_matrix
OES_read_format
OES_required_internalformat
OES_rgb8_rgba8
OES_single_precision
OES_stencil8
OES_stencil_wrap
OES_texture_cube_map
OES_texture_env_crossbar
OES_texture_mirrored_repeat
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 1,16
ALIASED_POINT_SIZE_RANGE = 1,32
MAX_ELEMENTS_INDICES = 0
MAX_ELEMENTS_VERTICES = 0
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 16
MAX_PROJECTION_STACK_DEPTH = 2
MAX_TEXTURE_SIZE = 2048
MAX_TEXTURE_STACK_DEPTH = 4
MAX_TEXTURE_UNITS = 4
MAX_VIEWPORT_DIMS = 2048,2048
SMOOTH_LINE_WIDTH_RANGE = 1,1
SMOOTH_POINT_SIZE_RANGE = 1,1
SUBPIXEL_BITS = 4
Limits OpenGL 1.1
MAX_CLIP_PLANES = 6
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 2048
MAX_PALETTE_MATRICES_OES = 32
MAX_RENDERBUFFER_SIZE_OES = 2048
MAX_VERTEX_UNITS_OES = 4
Display Resolution
Pixels = 480 x 854
DPIs = 96.0 x 96.0
Display Configurations
Standard
07: R5G6B5
06: R5G6B5 D24 S8
08: R5G6B5 D24 S8 MSAAx4
01: R8G8B8A8
04: R8G8B8A8
00: R8G8B8A8 D24 S8
03: R8G8B8A8 D24 S8
02: R8G8B8A8 D24 S8 MSAAx4
05: R8G8B8A8 D24 S8 MSAAx4
Slow
22: R5G6B5 Native
23: R5G6B5 D16 Native
24: R8G8B8 Native
25: R8G8B8 D16 Native
26: R8G8B8A8 Native
27: R8G8B8A8 D16 Native
28: A8 Native
29: A8 D16 Native
Compressed Texture Formats
Reported
8b90: PALETTE4_RGB8_OES
8b91: PALETTE4_RGBA8_OES
8b92: PALETTE4_R5_G6_B5_OES
8b93: PALETTE4_RGBA4_OES
8b94: PALETTE4_RGB5_A1_OES
8b95: PALETTE8_RGB8_OES
8b96: PALETTE8_RGBA8_OES
8b97: PALETTE8_R5_G6_B5_OES
8b98: PALETTE8_RGBA4_OES
8b99: PALETTE8_RGB5_A1_OES
8c01: ???
8c03: ???
8c00: ???
8c02: ???
8d64: ETC1_RGB8_OES
EGL Vendor & Version
Android
1.4 Android META-EGL
EGL Extensions
ANDROID_get_render_buffer
ANDROID_image_native_buffer
ANDROID_swap_rectangle
KHR_image
KHR_image_base
KHR_image_pixmap
And for htc wildfire
Android Device
HTC / buzz / HTC Wildfire
2.2.1 / armeabi
OpenGL Version
OpenGL ES-CM 1.0
OpenGL Vendor
Android
OpenGL Renderer
Android PixelFlinger 1.3
OpenGL Extensions
ANDROID_generate_mipmap
ANDROID_user_clip_plane
ANDROID_vertex_buffer_object
ARB_texture_compression
ARB_texture_non_power_of_two
OES_EGL_image
OES_byte_coordinates
OES_compressed_ETC1_RGB8_texture
OES_compressed_paletted_texture
OES_draw_texture
OES_fixed_point
OES_matrix_get
OES_query_matrix
OES_read_format
OES_single_precision
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 0,134217727
ALIASED_POINT_SIZE_RANGE = 0,134217727
MAX_ELEMENTS_INDICES = 0
MAX_ELEMENTS_VERTICES = 0
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 16
MAX_PROJECTION_STACK_DEPTH = 2
MAX_TEXTURE_SIZE = 4096
MAX_TEXTURE_STACK_DEPTH = 2
MAX_TEXTURE_UNITS = 2
MAX_VIEWPORT_DIMS = 4096,4096
SMOOTH_LINE_WIDTH_RANGE = 0,2048
SMOOTH_POINT_SIZE_RANGE = 0,2048
SUBPIXEL_BITS = 4
Limits OpenGL 1.1
MAX_CLIP_PLANES = 6
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 0
MAX_PALETTE_MATRICES_OES = 0
MAX_RENDERBUFFER_SIZE_OES = 0
MAX_VERTEX_UNITS_OES = 0
Display Resolution
Pixels = 240 x 320
DPIs = 124.408165 x 125.04615
Display Configurations
Slow
00: R5G6B5 Native
01: R5G6B5 D16 Native
02: R8G8B8 Native
03: R8G8B8 D16 Native
04: R8G8B8A8 Native
05: R8G8B8A8 D16 Native
06: A8 Native
07: A8 D16 Native
Compressed Texture Formats
Reported
8b90: PALETTE4_RGB8_OES
8b91: PALETTE4_RGBA8_OES
8b92: PALETTE4_R5_G6_B5_OES
8b93: PALETTE4_RGBA4_OES
8b94: PALETTE4_RGB5_A1_OES
8b95: PALETTE8_RGB8_OES
8b96: PALETTE8_RGBA8_OES
8b97: PALETTE8_R5_G6_B5_OES
8b98: PALETTE8_RGBA4_OES
8b99: PALETTE8_RGB5_A1_OES
8d64: ETC1_RGB8_OES
EGL Vendor & Version
Android
1.4 Android META-EGL
EGL Extensions
ANDROID_get_render_buffer
ANDROID_image_native_buffer
ANDROID_swap_rectangle
KHR_image
KHR_image_base
KHR_image_pixmap
Great initiative dude! I thought it would be nice to also put the specs for the emulator. This is running Android 2.1
- GL_OES_byte_coordinates
- GL_OES_fixed_point
- GL_OES_single_precision
- GL_OES_read_format
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_matrix_get
- GL_OES_query_matrix
- GL_OES_EGL_image
- GL_ARB_texture_compression
- GL_ARB_texture_non_power_of_two
- GL_ANDROID_user_clip_plane
- GL_ANDROID_vertex_buffer_object
- GL_ANDROID_generate_mipmap
This is output for my Sony Ericsson Xperia X10 with the 2.1 Update. I will add the specs for the same phone running 1.6 later.
- GL_AMD_compressed_3DC_texture
- GL_AMD_compressed_ATC_texture
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_compressed_texture_atitc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap
- GL_OES_E - GL_image
- GL_OES_blend_equation_separate
- GL_OES_blend_func_separate
- GL_OES_blend_subtract
- GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_extended_matrix_palette
- GL_OES_framebuffer_object
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_stencil_wrap
- GL_OES_texture_cube_map
- GL_OES_texture_env_crossbar
- GL_OES_texture_mirrored_repeat
Tis is output from Sony Erocsson Xperia X10 with Android 1.6 (without the 2.1 update):
- GL_AMD_compressed_3DC_texture
- GL_AMD_compressed_ATC_texture
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_compressed_texture_atitc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap
- GL_OES_blend_equation_separate
- GL_OES_blend_func_separate
- GL_OES_blend_subtract
- GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_extended_matrix_palette
- GL_OES_framebuffer_object
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_stencil_wrap
- GL_OES_texture_cube_map
- GL_OES_texture_env_crossbar
- GL_OES_texture_mirrored_repeat
Samsung Galaxy S, Android 2.1
Android Device
- samsung / GT-I9000 / GT-I9000
- 2.1-update1 / armeabi-v7a
OpenGL Version
- OpenGL ES-CM 1.1
OpenGL Vendor
- Imagination Technologies
OpenGL Renderer
- PowerVR SGX 540
OpenGL Extensions
- EXT_multi_draw_arrays
- EXT_texture_format_BGRA8888
- IMG_read_format
- IMG_texture_compression_pvrtc
- IMG_texture_format_BGRA8888
- IMG_texture_stream
- IMG_vertex_program
- OES_EGL_image
- OES_blend_equation_separate
- OES_blend_func_separate
- OES_blend_subtract
- OES_byte_coordinates
- OES_compressed_ETC1_RGB8_texture
- OES_compressed_paletted_texture
- OES_depth24
- OES_draw_texture
- OES_extended_matrix_palette
- OES_fixed_point
- OES_framebuffer_object
- OES_mapbuffer
- OES_matrix_get
- OES_matrix_palette
- OES_point_size_array
- OES_point_sprite
- OES_query_matrix
- OES_read_format
- OES_required_internalformat
- OES_rgb8_rgba8
- OES_single_precision
- OES_stencil8
- OES_stencil_wrap
- OES_texture_cube_map
- OES_texture_env_crossbar
- OES_texture_mirrored_repeat
Android Device
- Xperia x10 / X10i
- 2.1-update1 / armeabi-v7a
OpenGL Version
- OpenGL ES-CM 1.1
OpenGL Vendor
- Qualcomm
OpenGL Renderer
- Adreno
GL Extensions
- GL_AMD_compressed_3DC_texture
- GL_AMD_compressed_ATC_texture
- GL_ARB_texture_env_combine
- GL_ARB_texture_env_dot3
- GL_ARB_texture_mirrored_repeat
- GL_ARB_vertex_buffer_object
- GL_ATI_compressed_texture_atitc
- GL_ATI_texture_compression_atitc
- GL_EXT_blend_equation_separate
- GL_EXT_blend_func_separate
- GL_EXT_blend_minmax
- GL_EXT_blend_subtract
- GL_EXT_stencil_wrap
- GL_OES_EGL_image
- GL_OES_blend_equation_separate
- GL_OES_blend_func_separate
- GL_OES_blend_subtract
- GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_compressed_paletted_texture
- GL_OES_draw_texture
- GL_OES_extended_matrix_palette
- GL_OES_framebuffer_object
- GL_OES_matrix_palette
- GL_OES_point_size_array
- GL_OES_point_sprite
- GL_OES_read_format
- GL_OES_stencil_wrap
- GL_OES_texture_cube_map
- GL_OES_texture_env_crossbar
- GL_OES_texture_mirrored_repeat
GL_OES_EGL_image is new in update 2.1 (not present in 1.6)
Here's the Motorola Cliq, running a 1.1 hack found here:
Android Device
motorola / morr / MB200
2.1-update1 / armeabi
OpenGL Version
OpenGL ES 1.1-CM
OpenGL Vendor
QUALCOMM, Inc.
OpenGL Renderer
Q3Dimension MSM7230 01.02.08 0 4.0.0
OpenGL Extensions
ARB_texture_env_combine
ARB_texture_env_crossbar
ARB_texture_env_dot3
ARB_texture_mirrored_repeat
ARB_vertex_buffer_object
ATI_extended_texture_coordinate_data_formats
ATI_imageon_misc
ATI_texture_compression_atitc
EXT_blend_equation_separate
EXT_blend_func_separate
EXT_blend_minmax
EXT_blend_subtract
EXT_stencil_wrap
OES_byte_coordinates
OES_compressed_paletted_texture
OES_draw_texture
OES_fixed_point
OES_matrix_palette
OES_point_size_array
OES_point_sprite
OES_read_format
OES_single_precision
OES_vertex_buffer_object
QUALCOMM_direct_texture
QUALCOMM_vertex_buffer_object
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 1,1
ALIASED_POINT_SIZE_RANGE = 1,32
MAX_ELEMENTS_INDICES = 65536
MAX_ELEMENTS_VERTICES = 65536
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 16
MAX_PROJECTION_STACK_DEPTH = 2
MAX_TEXTURE_SIZE = 1024
MAX_TEXTURE_STACK_DEPTH = 2
MAX_TEXTURE_UNITS = 2
MAX_VIEWPORT_DIMS = 320,455
SMOOTH_LINE_WIDTH_RANGE = 1,1
SMOOTH_POINT_SIZE_RANGE = 1,32
SUBPIXEL_BITS = 2
Limits OpenGL 1.1
MAX_CLIP_PLANES = 0
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 0
MAX_PALETTE_MATRICES_OES = 48
MAX_RENDERBUFFER_SIZE_OES = 0
MAX_VERTEX_UNITS_OES = 4
Display Resolution
Pixels = 320 x 480
DPIs = 159.37254 x 160.42105
Display Configurations
Standard
00: R5G6B5
05: R5G5B5A1
14: R5G6B5 S4
06: R5G5B5A1 S4
15: R5G6B5 D16
07: R5G5B5A1 D16
04: R5G6B5 D16 S4
08: R5G5B5A1 D16 S4
Non Conformant
09: R4G4B4A4
10: R4G4B4A4 S4
11: R4G4B4A4 D16
12: R4G4B4A4 D16 S4
13: R8G8B8A8
01: R8G8B8A8 S4
02: R8G8B8A8 D16
03: R8G8B8A8 D16 S4
Slow
16: R5G6B5 Native
17: R5G6B5 D16 Native
18: R8G8B8 Native
19: R8G8B8 D16 Native
20: R8G8B8A8 Native
21: R8G8B8A8 D16 Native
22: A8 Native
23: A8 D16 Native
Compressed Texture Formats
Reported
8b90: PALETTE4_RGB8_OES
8b91: PALETTE4_RGBA8_OES
8b92: PALETTE4_R5_G6_B5_OES
8b93: PALETTE4_RGBA4_OES
8b94: PALETTE4_RGB5_A1_OES
8b95: PALETTE8_RGB8_OES
8b96: PALETTE8_RGBA8_OES
8b97: PALETTE8_R5_G6_B5_OES
8b98: PALETTE8_RGBA4_OES
8b99: PALETTE8_RGB5_A1_OES
EGL Vendor & Version
Android
1.4 Android META-EGL
EGL Extensions
ANDROID_get_render_buffer
ANDROID_image_native_buffer
ANDROID_swap_rectangle
KHR_image
KHR_image_base
KHR_image_pixmap
Here's the output of glInfo for my HTC Desire (T-mobile branded)
Android Device
HTC / bravo / HTC Desire
2.2 / armeabi-v7a
OpenGL Version
OpenGL ES-CM 1.1
OpenGL Vendor
Qualcomm
OpenGL Renderer
Adreno
OpenGL Extensions
AMD_compressed_3DC_texture
AMD_compressed_ATC_texture
ARB_texture_env_combine
ARB_texture_env_dot3
ARB_texture_mirrored_repeat
ARB_vertex_buffer_object
ATI_compressed_texture_atitc
ATI_texture_compression_atitc
EXT_blend_equation_separate
EXT_blend_func_separate
EXT_blend_minmax
EXT_blend_subtract
EXT_stencil_wrap
OES_EGL_image
OES_blend_equation_separate
OES_blend_func_separate
OES_blend_subtract
OES_compressed_ETC1_RGB8_texture
OES_compressed_paletted_texture
OES_draw_texture
OES_extended_matrix_palette
OES_framebuffer_object
OES_matrix_palette
OES_point_size_array
OES_point_sprite
OES_read_format
OES_stencil_wrap
OES_texture_cube_map
OES_texture_env_crossbar
OES_texture_mirrored_repeat
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 1,8
ALIASED_POINT_SIZE_RANGE = 1,128
MAX_ELEMENTS_INDICES = 0
MAX_ELEMENTS_VERTICES = 0
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 16
MAX_PROJECTION_STACK_DEPTH = 4
MAX_TEXTURE_SIZE = 2048
MAX_TEXTURE_STACK_DEPTH = 2
MAX_TEXTURE_UNITS = 2
MAX_VIEWPORT_DIMS = 2048,2048
SMOOTH_LINE_WIDTH_RANGE = 1,1
SMOOTH_POINT_SIZE_RANGE = 1,128
SUBPIXEL_BITS = 2
Limits OpenGL 1.1
MAX_CLIP_PLANES = 1
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 2048
MAX_PALETTE_MATRICES_OES = 20
MAX_RENDERBUFFER_SIZE_OES = 2048
MAX_VERTEX_UNITS_OES = 4
Display Resolution
Pixels = 480 x 800
DPIs = 254.0 x 254.0
Display Configurations
Standard
06: R5G6B5
07: R5G6B5 D16
08: R5G6B5 D24 S8
09: R8G8B8A8
10: R8G8B8A8 D16
11: R8G8B8A8 D24 S8
12: R8G8B8
13: R8G8B8 D16
14: R8G8B8 D24 S8
36: R5G6B5 MSAAx4
37: R5G6B5 D16 MSAAx4
38: R5G6B5 D24 S8 MSAAx4
39: R8G8B8A8 MSAAx4
40: R8G8B8A8 D16 MSAAx4
41: R8G8B8A8 D24 S8 MSAAx4
42: R8G8B8 MSAAx4
43: R8G8B8 D16 MSAAx4
44: R8G8B8 D24 S8 MSAAx4
Non Conformant
21: R5G6B5 MSAAx2
22: R5G6B5 D16 MSAAx2
23: R5G6B5 D24 S8 MSAAx2
24: R8G8B8A8 MSAAx2
25: R8G8B8A8 D16 MSAAx2
26: R8G8B8A8 D24 S8 MSAAx2
27: R8G8B8 MSAAx2
28: R8G8B8 D16 MSAAx2
29: R8G8B8 D24 S8 MSAAx2
Slow
45: R5G6B5 Native
46: R5G6B5 D16 Native
47: R8G8B8 Native
48: R8G8B8 D16 Native
49: R8G8B8A8 Native
50: R8G8B8A8 D16 Native
51: A8 Native
52: A8 D16 Native
Compressed Texture Formats
Reported
8b90: PALETTE4_RGB8_OES
8b91: PALETTE4_RGBA8_OES
8b92: PALETTE4_R5_G6_B5_OES
8b93: PALETTE4_RGBA4_OES
8b94: PALETTE4_RGB5_A1_OES
8b95: PALETTE8_RGB8_OES
8b96: PALETTE8_RGBA8_OES
8b97: PALETTE8_R5_G6_B5_OES
8b98: PALETTE8_RGBA4_OES
8b99: PALETTE8_RGB5_A1_OES
Implicit
87f9: 3DC_X_AMD
87fa: 3DC_XY_AMD
8c92: ATC_RGB_AMD
8c93: ATC_RGBA_EXPLICIT_ALPHA_AMD
87ee: ATC_RGBA_INTERPOLATED_ALPHA_AMD
8d64: ETC1_RGB8_OES
EGL Vendor & Version
Android
1.4 Android META-EGL
EGL Extensions
ANDROID_get_render_buffer
ANDROID_image_native_buffer
ANDROID_swap_rectangle
KHR_image
KHR_image_base
KHR_image_pixmap
Here is the GL info for Samsung Galaxy SII:
Android Device
samsung / GT-I9100 / GT-I9100
2.3.3 / armeabi-v7a
OpenGL Version
OpenGL ES-CM 1.1
OpenGL Vendor
ARM
OpenGL Renderer
Mali-400 MP
OpenGL Extensions
ARM_rgba8
OES_EGL_image
OES_byte_coordinates
OES_compressed_ETC1_RGB8_texture
OES_compressed_paletted_texture
OES_depth24
OES_depth_texture
OES_draw_texture
OES_extended_matrix_palette
OES_fixed_point
OES_framebuffer_object
OES_matrix_get
OES_matrix_palette
OES_packed_depth_stencil
OES_point_size_array
OES_point_sprite
OES_query_matrix
OES_read_format
OES_single_precision
OES_stencil8
OES_texture_npot
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 0,100
ALIASED_POINT_SIZE_RANGE = 1,100
MAX_ELEMENTS_INDICES = 0
MAX_ELEMENTS_VERTICES = 0
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 32
MAX_PROJECTION_STACK_DEPTH = 32
MAX_TEXTURE_SIZE = 4096
MAX_TEXTURE_STACK_DEPTH = 32
MAX_TEXTURE_UNITS = 8
MAX_VIEWPORT_DIMS = 4096,4096
SMOOTH_LINE_WIDTH_RANGE = 0,100
SMOOTH_POINT_SIZE_RANGE = 1,100
SUBPIXEL_BITS = 4
Limits OpenGL 1.1
MAX_CLIP_PLANES = 1
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 0
MAX_PALETTE_MATRICES_OES = 32
MAX_RENDERBUFFER_SIZE_OES = 4096
MAX_VERTEX_UNITS_OES = 4
Display Resolution
Pixels = 480 x 800
DPIs = 217.71428 x 218.49463
Display Configurations
Standard
01: R5G6B5 Native
06: R5G6B5 D24 S8 Native
09: R5G5B5A1 D24 S8 Native
12: R4G4B4A4 D24 S8 Native
07: R5G6B5 D24 S8 MSAAx4 Native
10: R5G5B5A1 D24 S8 MSAAx4 Native
13: R4G4B4A4 D24 S8 MSAAx4 Native
02: R8G8B8A8 Native
03: R8G8B8 Native
15: R8G8B8A8 D24 S8 Native
04: R8G8B8 D24 S8 Native
05: R8G8B8A8 D24 S8 Native
16: R8G8B8A8 D24 S8 MSAAx4 Native
Non Conformant
08: R5G6B5 D24 S8 MSAAx16 Native
11: R5G5B5A1 D24 S8 MSAAx16 Native
14: R4G4B4A4 D24 S8 MSAAx16 Native
17: R8G8B8A8 D24 S8 MSAAx16 Native
Compressed Texture Formats
Reported
8b90: PALETTE4_RGB8_OES
8b91: PALETTE4_RGBA8_OES
8b92: PALETTE4_R5_G6_B5_OES
8b93: PALETTE4_RGBA4_OES
8b94: PALETTE4_RGB5_A1_OES
8b95: PALETTE8_RGB8_OES
8b96: PALETTE8_RGBA8_OES
8b97: PALETTE8_R5_G6_B5_OES
8b98: PALETTE8_RGBA4_OES
8b99: PALETTE8_RGB5_A1_OES
8d64: ETC1_RGB8_OES
EGL Vendor & Version
Android
1.4 Android META-EGL
EGL Extensions
ANDROID_image_native_buffer
ANDROID_swap_rectangle
KHR_image
KHR_image_base
KHR_image_pixmap
HTC Sensation
GL_VENDOR: Qualcomm
GL_RENDERER: Adreno (TM) 220
GL_VERSION: OpenGL ES 2.0 1566933
GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 1.00
GL_EXTENSIONS:
- GL_AMD_compressed_ATC_texture
- GL_AMD_performance_monitor
- GL_AMD_program_binary_Z400
- GL_EXT_texture_filter_anisotropic
- GL_EXT_texture_format_BGRA8888
- GL_EXT_texture_type_2_10_10_10_REV
- GL_NV_fence GL_OES_compressed_ETC1_RGB8_texture
- GL_OES_depth_texture
- GL_OES_depth24 GL_OES_EGL_image
- GL_OES_EGL_image_external
- GL_OES_element_index_uint
- GL_OES_fbo_render_mipmap
- GL_OES_fragment_precision_high
- GL_OES_get_program_binary
- GL_OES_packed_depth_stencil
- GL_OES_rgb8_rgba8
- GL_OES_standard_derivatives
- GL_OES_texture_3D
- GL_OES_texture_float
- GL_OES_texture_half_float
- GL_OES_texture_half_float_linear GL_OES_texture_npot
- GL_OES_vertex_half_float
- GL_OES_vertex_type_10_10_10_2
- GL_QCOM_binning_control
- GL_QCOM_driver_control
- GL_QCOM_perfmon_global_mode
- GL_QCOM_extended_get
- GL_QCOM_extended_get2
- GL_QCOM_tiled_rendering
- GL_QCOM_writeonly_rendering
- GL_QCOM_memory_monitor
- GL_AMD_compressed_3DC_texture
Here are extensions for Sony Ericsson Xperia Pro running updated 2.34:
GL_AMD_compressed_3DC_texture
GL_AMD_compressed_ATC_texture
GL_AMD_performance_monitor
GL_APPLE_texture_2D_limited_npot
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_format_BGRA8888
GL_EXT_texture_type_2_10_10_10_REV
GL_OES_blend_equation_separate
GL_OES_blend_func_separate
GL_OES_blend_subtract
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_compressed_paletted_texture
GL_OES_depth_texture
GL_OES_draw_texture
GL_OES_framebuffer_object
GL_OES_matrix_palette
GL_OES_packed_depth_stencil
GL_OES_point_size_array
GL_OES_point_sprite
GL_OES_read_format
GL_OES_rgb8_rgba8
GL_OES_stencil_wrap
GL_OES_EGL_image
GL_OES_texture_cube_map
GL_OES_texture_env_crossbar
GL_OES_texture_float
GL_OES_texture_half_float
GL_OES_texture_half_float_linear
GL_OES_texture_npot
GL_OES_texture_mirrored_repeat
GL_QCOM_binning_control
GL_QCOM_extended_get
GL_QCOM_tiled_rendering
GL Info for Samsung Galaxy Nexus:
Android Device
samsung / maguro / Galaxy Nexus
4.0.1 / armeabi-v7a
OpenGL Version
OpenGL ES-CM 1.1 build 1.8@300406
OpenGL Vendor
Imagination Technologies
OpenGL Renderer
PowerVR SGX 540
OpenGL Extensions
EXT_multi_draw_arrays
EXT_texture_format_BGRA8888
IMG_read_format
IMG_texture_compression_pvrtc
IMG_texture_format_BGRA8888
IMG_vertex_array_object
OES_EGL_image
OES_EGL_image_external
OES_blend_equation_separate
OES_blend_func_separate
OES_blend_subtract
OES_byte_coordinates
OES_compressed_ETC1_RGB8_texture
OES_compressed_paletted_texture
OES_depth24
OES_draw_texture
OES_egl_sync
OES_extended_matrix_palette
OES_fixed_point
OES_framebuffer_object
OES_mapbuffer
OES_matrix_get
OES_matrix_palette
OES_point_size_array
OES_point_sprite
OES_query_matrix
OES_read_format
OES_required_internalformat
OES_rgb8_rgba8
OES_single_precision
OES_stencil8
OES_stencil_wrap
OES_texture_cube_map
OES_texture_env_crossbar
OES_texture_mirrored_repeat
Limits OpenGL 1.0
ALIASED_LINE_WIDTH_RANGE = 1,16
ALIASED_POINT_SIZE_RANGE = 1,32
MAX_ELEMENTS_INDICES = 0
MAX_ELEMENTS_VERTICES = 0
MAX_LIGHTS = 8
MAX_MODELVIEW_STACK_DEPTH = 16
MAX_PROJECTION_STACK_DEPTH = 2
MAX_TEXTURE_SIZE = 2048
MAX_TEXTURE_STACK_DEPTH = 4
MAX_TEXTURE_UNITS = 4
MAX_VIEWPORT_DIMS = 2048,2048
SMOOTH_LINE_WIDTH_RANGE = 1,1
SMOOTH_POINT_SIZE_RANGE = 1,1
SUBPIXEL_BITS = 4
Limits OpenGL 1.1
MAX_CLIP_PLANES = 6
Limits OpenGL 1.1 Ext
MAX_COLOR_ATTACHMENTS_OES = 0
MAX_CUBE_MAP_TEXTURE_SIZE = 2048
MAX_PALETTE_MATRICES_OES = 32
MAX_RENDERBUFFER_SIZE_OES = 2048
MAX_VERTEX_UNITS_OES = 4
Display Resolution
Pixels = 720 x 1184
DPIs = 315.31033 x 318.7451
Display Configurations
Standard
08: R5G6B5
07: R5G6B5 D24 S8
09: R5G6B5 D24 S8 MSAAx4
02: R8G8B8A8
05: R8G8B8
01: R8G8B8A8 D24 S8
04: R8G8B8 D24 S8
03: R8G8B8A8 D24 S8 MSAAx4
06: R8G8B8 D24 S8 MSAAx4
Slow
23: R5G6B5 Native
24: R5G6B5 D16 Native
25: R8G8B8 Native
26: R8G8B8 D16 Native
27: R8G8B8A8 Native
28: R8G8B8A8 D16 Native
29: A8 Native
30: A8 D16 Native
Compressed Texture Formats
Reported
8b90: PALETTE4_RGB8_OES
8b91: PALETTE4_RGBA8_OES
8b92: PALETTE4_R5_G6_B5_OES
8b93: PALETTE4_RGBA4_OES
8b94: PALETTE4_RGB5_A1_OES
8b95: PALETTE8_RGB8_OES
8b96: PALETTE8_RGBA8_OES
8b97: PALETTE8_R5_G6_B5_OES
8b98: PALETTE8_RGBA4_OES
8b99: PALETTE8_RGB5_A1_OES
8c01: ???
8c03: ???
8c00: ???
8c02: ???
8d64: ETC1_RGB8_OES
EGL Vendor & Version
Android
1.4 Android META-EGL
EGL Extensions
ANDROID_image_native_buffer
ANDROID_swap_rectangle
KHR_fence_sync
KHR_gl_renderbuffer_image
KHR_gl_texture_2D_image
KHR_gl_texture_cubemap_image
KHR_image
KHR_image_base
KHR_image_pixmap
NV_system_time
Asus Eee PAD Transformer Prime TF201
extensions:
GL_NV_platform_binary
GL_OES_rgb8_rgba8
GL_OES_EGL_sync
GL_OES_fbo_render_mipmap
GL_NV_depth_nonlinear
GL_NV_draw_path
GL_NV_texture_npot_2D_mipmap
GL_OES_EGL_image
GL_OES_EGL_image_external
GL_OES_vertex_half_float
GL_OES_mapbuffer
GL_NV_draw_buffers
GL_NV_multiview_draw_buffers
GL_EXT_Cg_shader
GL_EXT_packed_float
GL_OES_texture_half_float
GL_OES_texture_float
GL_EXT_texture_array
GL_OES_compressed_ETC1_RGB8_texture
GL_EXT_texture_compression_latc
GL_NV_texture_compression_latc
GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_s3tc
GL_NV_texture_compression_s3tc
GL_EXT_texture_filter_anisotropic
GL_NV_get_tex_image
GL_NV_read_buffer
GL_NV_shader_framebuffer_fetch
GL_NV_fbo_color_attachments
GL_EXT_bgra
GL_EXT_texture_format_BGRA8888
GL_EXT_unpack_subimage
GL_NV_pack_subimage
GL_NV_texture_compression_s3tc_update
GL_NV_read_depth
GL_NV_read_stencil
GL_EXT_robustness
GL_OES_standard_derivatives
GL_NV_EGL_stream_consumer_external
GL_NV_coverage_sample
GL_EXT_occlusion_query_boolean
GL_NV_timer_query
Just grabbed the device from colleague's desk and quickly read the extension string, didn't have a chance to get OpenGL version (should be "OpenGL ES 2.0") and renderer (should be "NVIDIA Tegra 3").
精彩评论