136d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertypage.title=<supports-gl-texture>
22a1b706ec11e53689a2f86cc8e558e74591b462aScott Mainparent.title=The AndroidManifest.xml File
32a1b706ec11e53689a2f86cc8e558e74591b462aScott Mainparent.link=manifest-intro.html
436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty@jd:body
536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
62b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty <div class="sidebox-wrapper"> 
72b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty <div class="sidebox">
82b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    <img src="{@docRoot}assets/images/icon_play.png" style="float:left;margin:0;padding:0;"> 
92b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    <p style="color:#669999;padding-top:1em;">Google Play Filtering</p> 
102b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    <p style="padding-top:1em;">Google Play filters applications according
112b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    to the texture compression formats that they support, to ensure that
122b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    they can be installed only on devices that can handle their textures
132b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    properly. You can use texture compression filtering
142b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    as a way of targeting specific device types, based on GPU platform.</p>
152b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    
162b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    <p style="margin-top:1em;">For important information about how
172b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    Google Play uses <code>&lt;supports-gl-texture&gt;</code> elements as
182b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    the basis for filtering, please read <a href="#market-texture-filtering">Google
192b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    Play and texture compression filtering</a>, below.</p>
202b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty</div>
212b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty</div>
222b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty
2336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dl class="xml">
2436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
2536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dt>syntax:</dt>
2636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dd>
2736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<pre class="stx">
282b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty&lt;supports-gl-texture
292b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty  android:<a href="#name">name</a>="<em>string</em>" /&gt;
3036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</pre>
3136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</dd>
3236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
3336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dt>contained in:</dt>
3436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dd><code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code></dd>
3536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
3636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dt>description:</dt>
373155825c256b150cfa635ad27ac7a2bab76371b0Dirk Dougherty<dd itemprop="description">Declares a single GL texture compression format that is supported by
3836d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertythe application.
3936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
4036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>An application "supports" a GL texture compression format if it is capable of
4136d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyproviding texture assets that are compressed in that format, once the
4236d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyapplication is installed on a device. The application can provide the
4336d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertycompressed assets locally, from inside the <code>.apk</code>, or it can download them
4436d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyfrom a server at runtime.</p>
4536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
4636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>Each <code>&lt;supports-gl-texture&gt;</code> element declares exactly one
4736d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertysupported texture compression format, specified as the value of a
4836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<code>android:name</code> attribute. If your application supports multiple
4936d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertytexture compression formats, you can declare multiple
5036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<code>&lt;supports-gl-texture&gt;</code> elements. For example:</p>
5136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
5236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<pre>&lt;supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" /&gt;
5336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty&lt;supports-gl-texture android:name="GL_OES_compressed_paletted_texture" /&gt;</pre>
5436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
5536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>Declared <code>&lt;supports-gl-texture&gt;</code> elements are informational,
5636d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertymeaning that the Android system itself does not examine the elements at install
5736d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertytime to ensure matching support on the device. However, other services
584d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk Dougherty(such as Google Play) or applications can check your application's
5936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<code>&lt;supports-gl-texture&gt;</code> declarations as part of handling or
6036d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyinteracting with your application. For this reason, it's very important that
6136d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyyou declare all of the texture compression formats (from the list below) that
6236d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyyour application is capable of supporting. </p>
6336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
6436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>Applications and devices typically declare their supported GL texture
6536d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertycompression formats using the same set of well-known strings, as listed below.
6636d2d1b4bfd34f966372631d27717574b1973761Dirk DoughertyThe set of format strings may grow over time, as needed, and since the values
6736d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyare strings, applications are free to declare other formats as needed.</p>
6836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
6936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>Assuming that the application is built with SDK Platform Tools r3 or higher,
7036d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyfiltering based on the <code>&lt;supports-gl-texture></code> element is activated
7136d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyfor all API levels.</p>
7236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
7336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dt>attributes:</dt>
7436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
7536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dd>
7636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dl class="attr">
7736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
7836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty  <dt><a name="name"></a>{@code android:name}</dt>
7936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty  <dd>Specifies a single GL texture compression format supported by the application,
8036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty  as a descriptor string. Common descriptor values are listed in the table below.
8136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
8236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<table>
8336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
8436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<th>Texture Compression Format Descriptor</th>
8536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<th>Comments</th>
8636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
8736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
8836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td><code>GL_OES_compressed_ETC1_RGB8_texture</code></td>
8936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td>Ericsson texture compression. Specified in OpenGL ES 2.0 and available in all
9036d2d1b4bfd34f966372631d27717574b1973761Dirk DoughertyAndroid-powered devices that support OpenGL ES 2.0.</td>
9136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
9236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
9336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td><code>GL_OES_compressed_paletted_texture</code></td>
9436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td>Generic paletted texture compression.</td>
9536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
9636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
9736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td><code>GL_AMD_compressed_3DC_texture</code></td>
9836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td>ATI 3Dc texture compression. </td>
9936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
10036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
10136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td><code>GL_AMD_compressed_ATC_texture</code></td>
10236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td>ATI texture compression. Available on devices running Adreno GPU, including
10336d2d1b4bfd34f966372631d27717574b1973761Dirk DoughertyHTC Nexus One, Droid Incredible, EVO, and others. For widest compatibility,
10436d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertydevices may also declare a <code>&lt;supports-gl-texture&gt;</code> element with the
10536d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertydescriptor <code>GL_ATI_texture_compression_atitc</code>. </td>
10636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
10736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
10836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td><code>GL_EXT_texture_compression_latc</code></td>
10936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td>Luminance alpha texture compression. </td>
11036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
11136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
11236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td><code>GL_EXT_texture_compression_dxt1</code></td>
11336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td>S3 DXT1 texture compression. Supported on devices running Nvidia Tegra2
11436d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyplatform, including Motorala Xoom, Motorola Atrix, Droid Bionic, and
11536d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyothers.</td>
11636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
11736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
11836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td><code>GL_EXT_texture_compression_s3tc</code></td>
11936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td>S3 texture compression, nonspecific to DXT variant. Supported on devices
12036d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyrunning Nvidia Tegra2 platform, including Motorala Xoom, Motorola Atrix, Droid
12136d2d1b4bfd34f966372631d27717574b1973761Dirk DoughertyBionic, and others. If your application requires a specific DXT variant, declare
12236d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertythat descriptor instead of this one.</td>
12336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
12436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<tr>
12536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td><code>GL_IMG_texture_compression_pvrtc</code></td>
12636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<td>PowerVR texture compression. Available in devices running PowerVR SGX530/540
12736d2d1b4bfd34f966372631d27717574b1973761Dirk DoughertyGPU, such as Motorola DROID series; Samsung Galaxy S, Nexus S, and Galaxy Tab;
12836d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyand others.</td>
12936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</tr>
13036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</table>
13136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
13236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</dd>
13336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</dl></dd>
13436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
13536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<!-- ##api level indication##
13636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dt>introduced in:</dt>
13736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dd>API Level </dd>-->
13836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
13936d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dt>see also:</dt>
14036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<dd>
14136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty  <ul>
1422b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty    <li><a href="{@docRoot}google/play/filters.html">Filters on Google Play</a></li>
14336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty  </ul>
14436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</dd>
14536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
1464d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk Dougherty<h2 id="market-texture-filtering">Google Play and texture compression filtering</h2>
14736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
1484d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk Dougherty<p>Google Play filters the applications that are visible to users, so that
14936d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyusers can see and download only those applications that are compatible with
1504d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk Doughertytheir devices. One of the ways it filters applications is by texture
15136d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertycompression compatibility, giving you control over the availability of your
15236d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyapplication to various devices, based on the capabilities of their GPUs.</p>
15336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
15436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>To determine an application's texture compression compatibility with a given
1554d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk Doughertyuser's device, Google Play compares:</p>
15636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
15736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<ul>
15836d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<li>Texture compression formats that are supported by the application &mdash;
15936d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyan application declares its supported texture compression formats in
16036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<code>&lt;supports-gl-texture&gt;</code> elements in its manifest <br/>with...</li>
16136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<li>Texture compression formats that are supported by the GPU on the device &mdash;
16236d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertya device reports the formats it supports as read-only system properties.</li>
16336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</ul>
16436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
165aca4a7760ab232052d6133c51d335d467ec6469eDirk Dougherty<p>Each time you upload an application to the Google Play Developer Console,
1664d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk DoughertyGoogle Play scans the application's manifest file and looks for any
16736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<code>&lt;supports-gl-texture&gt;</code> elements. It extracts the
16836d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyformat descriptors from the elements and stores them internally as
16936d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertymetadata associated with the application <code>.apk</code> and the application
17036d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyversion. </p>
17136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
1724d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk Dougherty<p>When a user searches or browses for applications on Google Play,
17336d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertythe service compares the texture compression formats supported by the application
17436d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertywith those supported by the user's device. The comparison is based on the format
17536d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertydescriptor strings and a match must be exact.</p>
17636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
17736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>If <em>any</em> of an application's supported texture compression formats is
1784d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk Doughertyalso supported by the device, Google Play allows the user to see the
17936d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyapplication and potentially download it. Otherwise, if none of the application's
1804d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk Doughertyformats is supported by the device, Google Play filters the application so
18136d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertythat it is not available for download. </p>
18236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
18336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>If an application does not declare any <code>&lt;supports-gl-texture&gt;</code> elements,
1844d7bc65538c7cd9fbb1fbbcf22d1da47fcee1219Dirk DoughertyGoogle Play does not apply any filtering based on GL texture compression format.</p>
18536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
18636d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty</dl>
18736d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty
188