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><supports-gl-texture></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<supports-gl-texture 292b286bb26b95ac9d4eb35679239ea12d4f63b50bDirk Dougherty android:<a href="#name">name</a>="<em>string</em>" /> 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"><manifest></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><supports-gl-texture></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><supports-gl-texture></code> elements. For example:</p> 5136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty 5236d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<pre><supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" /> 5336d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<supports-gl-texture android:name="GL_OES_compressed_paletted_texture" /></pre> 5436d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty 5536d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<p>Declared <code><supports-gl-texture></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><supports-gl-texture></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><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><supports-gl-texture></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 — 15936d2d1b4bfd34f966372631d27717574b1973761Dirk Doughertyan application declares its supported texture compression formats in 16036d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<code><supports-gl-texture></code> elements in its manifest <br/>with...</li> 16136d2d1b4bfd34f966372631d27717574b1973761Dirk Dougherty<li>Texture compression formats that are supported by the GPU on the device — 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><supports-gl-texture></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><supports-gl-texture></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