From 36d2d1b4bfd34f966372631d27717574b1973761 Mon Sep 17 00:00:00 2001
From: Dirk Dougherty <supports-gl-texture>
<supports-screens>
<uses-configuration>
Android Market filters the application unless one or more of the GL texture compression formats supported by the application are also supported by the device.
+Starting from Android 3.0, a hardware-accelerated OpenGL renderer is +available to applications, to improve performance for many common 2D graphics +operations. When the hardware-accelerated renderer is enabled, most operations +in Canvas, Paint, Xfermode, ColorFilter, Shader, and Camera are accelerated. +This results in smoother animations, smoother scrolling, and improved +responsiveness overall, even for applications that do not explicitly make use +the framework's OpenGL libraries.
+ +Note that not all of the OpenGL 2D operations are accelerated. If you enable +the hardware-accelerated renderer, test your application to ensure that it can +make use of the renderer without errors.
+An application would not have any code of its own only if it's using nothing but built-in component classes, such as an activity that uses the {@link -android.app.AliasActivity} class, a rare occurrence. +android.app.AliasActivity} class, a rare occurrence.
+Starting from Android 3.0, a hardware-accelerated OpenGL renderer is +available to applications, to improve performance for many common 2D graphics +operations. When the hardware-accelerated renderer is enabled, most operations +in Canvas, Paint, Xfermode, ColorFilter, Shader, and Camera are accelerated. +This results in smoother animations, smoother scrolling, and improved +responsiveness overall, even for applications that do not explicitly make use +the framework's OpenGL libraries.
+ +Note that not all of the OpenGL 2D operations are accelerated. If you enable +the hardware-accelerated renderer, test your application to ensure that it can +make use of the renderer without errors.
++<supports-gl-texture android:name="string" /> ++
<manifest>
Android Market and <supports-gl-texture>
elements
Android Market filters applications according + to the texture compression formats that they support, to ensure that + they can be installed only on devices that can handle their textures + properly. Developers can use texture compression filtering + as a way of targeting specific device types, based on GPU platform.
+ +For important information about how
+ Android Market uses <supports-gl-texture>
elements as
+ the basis for filtering, please read Android
+ Market and texture compression filtering, below.
An application "supports" a GL texture compression format if it is capable of
+providing texture assets that are compressed in that format, once the
+application is installed on a device. The application can provide the
+compressed assets locally, from inside the .apk
, or it can download them
+from a server at runtime.
Each <supports-gl-texture>
element declares exactly one
+supported texture compression format, specified as the value of a
+android:name
attribute. If your application supports multiple
+texture compression formats, you can declare multiple
+<supports-gl-texture>
elements. For example:
<supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" /> +<supports-gl-texture android:name="GL_OES_compressed_paletted_texture" />+ +
Declared <supports-gl-texture>
elements are informational,
+meaning that the Android system itself does not examine the elements at install
+time to ensure matching support on the device. However, other services
+(such as Android Market) or applications can check your application's
+<supports-gl-texture>
declarations as part of handling or
+interacting with your application. For this reason, it's very important that
+you declare all of the texture compression formats (from the list below) that
+your application is capable of supporting.
Applications and devices typically declare their supported GL texture +compression formats using the same set of well-known strings, as listed below. +The set of format strings may grow over time, as needed, and since the values +are strings, applications are free to declare other formats as needed.
+ +Assuming that the application is built with SDK Platform Tools r3 or higher,
+filtering based on the <supports-gl-texture>
element is activated
+for all API levels.
Texture Compression Format Descriptor | +Comments | +
---|---|
GL_OES_compressed_ETC1_RGB8_texture |
+Ericsson texture compression. Specified in OpenGL ES 2.0 and available in all +Android-powered devices that support OpenGL ES 2.0. | +
GL_OES_compressed_paletted_texture |
+Generic paletted texture compression. | +
GL_AMD_compressed_3DC_texture |
+ATI 3Dc texture compression. | +
GL_AMD_compressed_ATC_texture |
+ATI texture compression. Available on devices running Adreno GPU, including
+HTC Nexus One, Droid Incredible, EVO, and others. For widest compatibility,
+devices may also declare a <supports-gl-texture> element with the
+descriptor GL_ATI_texture_compression_atitc . |
+
GL_EXT_texture_compression_latc |
+Luminance alpha texture compression. | +
GL_EXT_texture_compression_dxt1 |
+S3 DXT1 texture compression. Supported on devices running Nvidia Tegra2 +platform, including Motorala Xoom, Motorola Atrix, Droid Bionic, and +others. | +
GL_EXT_texture_compression_s3tc |
+S3 texture compression, nonspecific to DXT variant. Supported on devices +running Nvidia Tegra2 platform, including Motorala Xoom, Motorola Atrix, Droid +Bionic, and others. If your application requires a specific DXT variant, declare +that descriptor instead of this one. | +
GL_IMG_texture_compression_pvrtc |
+PowerVR texture compression. Available in devices running PowerVR SGX530/540 +GPU, such as Motorola DROID series; Samsung Galaxy S, Nexus S, and Galaxy Tab; +and others. | +
Android Market filters the applications that are visible to users, so that +users can see and download only those applications that are compatible with +their devices. One of the ways Market filters applications is by texture +compression compatibility, giving you control over the availability of your +application to various devices, based on the capabilities of their GPUs.
+ +To determine an application's texture compression compatibility with a given +user's device, Android Market compares:
+ +<supports-gl-texture>
elements in its manifest Each time you upload an application to the Android Market Publisher Site,
+Android Market scans the application's manifest file and looks for any
+<supports-gl-texture>
elements. It extracts the
+format descriptors from the elements and stores them internally as
+metadata associated with the application .apk
and the application
+version.
When a user searches or browses for applications on Android Market, +the service compares the texture compression formats supported by the application +with those supported by the user's device. The comparison is based on the format +descriptor strings and a match must be exact.
+ +If any of an application's supported texture compression formats is +also supported by the device, Android Market allows the user to see the +application and potentially download it. Otherwise, if none of the application's +formats is supported by the device, Android Market filters the application so +that it is not available for download.
+ +If an application does not declare any <supports-gl-texture>
elements,
+Android Market does not apply any filtering based on GL texture compression format.