Home | History | Annotate | Download | only in manifest
      1 page.title=<supports-gl-texture>
      2 parent.title=The AndroidManifest.xml File
      3 parent.link=manifest-intro.html
      4 @jd:body
      5 
      6  <div class="sidebox-wrapper">
      7  <div class="sidebox">
      8     <img src="{@docRoot}assets/images/icon_play.png" style="float:left;margin:0;padding:0;">
      9     <p style="color:#669999;padding-top:1em;">Google Play Filtering</p>
     10     <p style="padding-top:1em;">Google Play filters applications according
     11     to the texture compression formats that they support, to ensure that
     12     they can be installed only on devices that can handle their textures
     13     properly. You can use texture compression filtering
     14     as a way of targeting specific device types, based on GPU platform.</p>
     15 
     16     <p style="margin-top:1em;">For important information about how
     17     Google Play uses <code>&lt;supports-gl-texture&gt;</code> elements as
     18     the basis for filtering, please read <a href="#market-texture-filtering">Google
     19     Play and texture compression filtering</a>, below.</p>
     20 </div>
     21 </div>
     22 
     23 <dl class="xml">
     24 
     25 <dt>syntax:</dt>
     26 <dd>
     27 <pre class="stx">
     28 &lt;supports-gl-texture
     29   android:<a href="#name">name</a>="<em>string</em>" /&gt;
     30 </pre>
     31 </dd>
     32 
     33 <dt>contained in:</dt>
     34 <dd><code><a href="{@docRoot}guide/topics/manifest/manifest-element.html">&lt;manifest&gt;</a></code></dd>
     35 
     36 <dt>description:</dt>
     37 <dd itemprop="description">Declares a single GL texture compression format that is supported by
     38 the application.
     39 
     40 <p>An application "supports" a GL texture compression format if it is capable of
     41 providing texture assets that are compressed in that format, once the
     42 application is installed on a device. The application can provide the
     43 compressed assets locally, from inside the <code>.apk</code>, or it can download them
     44 from a server at runtime.</p>
     45 
     46 <p>Each <code>&lt;supports-gl-texture&gt;</code> element declares exactly one
     47 supported texture compression format, specified as the value of a
     48 <code>android:name</code> attribute. If your application supports multiple
     49 texture compression formats, you can declare multiple
     50 <code>&lt;supports-gl-texture&gt;</code> elements. For example:</p>
     51 
     52 <pre>&lt;supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" /&gt;
     53 &lt;supports-gl-texture android:name="GL_OES_compressed_paletted_texture" /&gt;</pre>
     54 
     55 <p>Declared <code>&lt;supports-gl-texture&gt;</code> elements are informational,
     56 meaning that the Android system itself does not examine the elements at install
     57 time to ensure matching support on the device. However, other services
     58 (such as Google Play) or applications can check your application's
     59 <code>&lt;supports-gl-texture&gt;</code> declarations as part of handling or
     60 interacting with your application. For this reason, it's very important that
     61 you declare all of the texture compression formats (from the list below) that
     62 your application is capable of supporting. </p>
     63 
     64 <p>Applications and devices typically declare their supported GL texture
     65 compression formats using the same set of well-known strings, as listed below.
     66 The set of format strings may grow over time, as needed, and since the values
     67 are strings, applications are free to declare other formats as needed.</p>
     68 
     69 <p>Assuming that the application is built with SDK Platform Tools r3 or higher,
     70 filtering based on the <code>&lt;supports-gl-texture></code> element is activated
     71 for all API levels.</p>
     72 
     73 <dt>attributes:</dt>
     74 
     75 <dd>
     76 <dl class="attr">
     77 
     78   <dt><a name="name"></a>{@code android:name}</dt>
     79   <dd>Specifies a single GL texture compression format supported by the application,
     80   as a descriptor string. Common descriptor values are listed in the table below.
     81 
     82 <table>
     83 <tr>
     84 <th>Texture Compression Format Descriptor</th>
     85 <th>Comments</th>
     86 </tr>
     87 <tr>
     88 <td><code>GL_OES_compressed_ETC1_RGB8_texture</code></td>
     89 <td>Ericsson texture compression. Specified in OpenGL ES 2.0 and available in all
     90 Android-powered devices that support OpenGL ES 2.0.</td>
     91 </tr>
     92 <tr>
     93 <td><code>GL_OES_compressed_paletted_texture</code></td>
     94 <td>Generic paletted texture compression.</td>
     95 </tr>
     96 <tr>
     97 <td><code>GL_AMD_compressed_3DC_texture</code></td>
     98 <td>ATI 3Dc texture compression. </td>
     99 </tr>
    100 <tr>
    101 <td><code>GL_AMD_compressed_ATC_texture</code></td>
    102 <td>ATI texture compression. Available on devices running Adreno GPU, including
    103 HTC Nexus One, Droid Incredible, EVO, and others. For widest compatibility,
    104 devices may also declare a <code>&lt;supports-gl-texture&gt;</code> element with the
    105 descriptor <code>GL_ATI_texture_compression_atitc</code>. </td>
    106 </tr>
    107 <tr>
    108 <td><code>GL_EXT_texture_compression_latc</code></td>
    109 <td>Luminance alpha texture compression. </td>
    110 </tr>
    111 <tr>
    112 <td><code>GL_EXT_texture_compression_dxt1</code></td>
    113 <td>S3 DXT1 texture compression. Supported on devices running Nvidia Tegra2
    114 platform, including Motorala Xoom, Motorola Atrix, Droid Bionic, and
    115 others.</td>
    116 </tr>
    117 <tr>
    118 <td><code>GL_EXT_texture_compression_s3tc</code></td>
    119 <td>S3 texture compression, nonspecific to DXT variant. Supported on devices
    120 running Nvidia Tegra2 platform, including Motorala Xoom, Motorola Atrix, Droid
    121 Bionic, and others. If your application requires a specific DXT variant, declare
    122 that descriptor instead of this one.</td>
    123 </tr>
    124 <tr>
    125 <td><code>GL_IMG_texture_compression_pvrtc</code></td>
    126 <td>PowerVR texture compression. Available in devices running PowerVR SGX530/540
    127 GPU, such as Motorola DROID series; Samsung Galaxy S, Nexus S, and Galaxy Tab;
    128 and others.</td>
    129 </tr>
    130 </table>
    131 
    132 </dd>
    133 </dl></dd>
    134 
    135 <!-- ##api level indication##
    136 <dt>introduced in:</dt>
    137 <dd>API Level </dd>-->
    138 
    139 <dt>see also:</dt>
    140 <dd>
    141   <ul>
    142     <li><a href="{@docRoot}google/play/filters.html">Filters on Google Play</a></li>
    143   </ul>
    144 </dd>
    145 
    146 <h2 id="market-texture-filtering">Google Play and texture compression filtering</h2>
    147 
    148 <p>Google Play filters the applications that are visible to users, so that
    149 users can see and download only those applications that are compatible with
    150 their devices. One of the ways it filters applications is by texture
    151 compression compatibility, giving you control over the availability of your
    152 application to various devices, based on the capabilities of their GPUs.</p>
    153 
    154 <p>To determine an application's texture compression compatibility with a given
    155 user's device, Google Play compares:</p>
    156 
    157 <ul>
    158 <li>Texture compression formats that are supported by the application &mdash;
    159 an application declares its supported texture compression formats in
    160 <code>&lt;supports-gl-texture&gt;</code> elements in its manifest <br/>with...</li>
    161 <li>Texture compression formats that are supported by the GPU on the device &mdash;
    162 a device reports the formats it supports as read-only system properties.</li>
    163 </ul>
    164 
    165 <p>Each time you upload an application to the Google Play Developer Console,
    166 Google Play scans the application's manifest file and looks for any
    167 <code>&lt;supports-gl-texture&gt;</code> elements. It extracts the
    168 format descriptors from the elements and stores them internally as
    169 metadata associated with the application <code>.apk</code> and the application
    170 version. </p>
    171 
    172 <p>When a user searches or browses for applications on Google Play,
    173 the service compares the texture compression formats supported by the application
    174 with those supported by the user's device. The comparison is based on the format
    175 descriptor strings and a match must be exact.</p>
    176 
    177 <p>If <em>any</em> of an application's supported texture compression formats is
    178 also supported by the device, Google Play allows the user to see the
    179 application and potentially download it. Otherwise, if none of the application's
    180 formats is supported by the device, Google Play filters the application so
    181 that it is not available for download. </p>
    182 
    183 <p>If an application does not declare any <code>&lt;supports-gl-texture&gt;</code> elements,
    184 Google Play does not apply any filtering based on GL texture compression format.</p>
    185 
    186 </dl>
    187 
    188