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><supports-gl-texture></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 <supports-gl-texture 29 android:<a href="#name">name</a>="<em>string</em>" /> 30 </pre> 31 </dd> 32 33 <dt>contained in:</dt> 34 <dd><code><a href="{@docRoot}guide/topics/manifest/manifest-element.html"><manifest></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><supports-gl-texture></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><supports-gl-texture></code> elements. For example:</p> 51 52 <pre><supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" /> 53 <supports-gl-texture android:name="GL_OES_compressed_paletted_texture" /></pre> 54 55 <p>Declared <code><supports-gl-texture></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><supports-gl-texture></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><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><supports-gl-texture></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 — 159 an application declares its supported texture compression formats in 160 <code><supports-gl-texture></code> elements in its manifest <br/>with...</li> 161 <li>Texture compression formats that are supported by the GPU on the device — 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><supports-gl-texture></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><supports-gl-texture></code> elements, 184 Google Play does not apply any filtering based on GL texture compression format.</p> 185 186 </dl> 187 188