1 page.title=OpenGL ES testing 2 @jd:body 3 4 <!-- 5 Copyright 2015 The Android Open Source Project 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 --> 19 20 <div id="qv-wrapper"> 21 <div id="qv"> 22 <h2>In this document</h2> 23 <ol id="auto-toc"> 24 </ol> 25 </div> 26 </div> 27 28 29 <p>AOSP includes the drawElements Quality Program (deqp) GPU testing suite at 30 <a href="https://android.googlesource.com/platform/external/deqp">https://android.googlesource.com/platform/external/deqp</a>. 31 </p> 32 33 <p>To work with the latest submitted code, use the 34 <code>deqp-dev</code> branch. For code that matches a specific Android CTS 35 release, use the <code><em>release-code-name</em>-release</code> branch (e.g. 36 for Android 6.0, use the <code>marshmallow-release</code> branch).</p> 37 38 <h2 id=deploying_deqp>Deploying deqp</h2> 39 40 <p>To deploy the deqp test suite to a new environment, review all pages in this 41 section:</p> 42 <ul> 43 <li><a href="{@docRoot}devices/graphics/build-tests.html">Building test 44 programs</a>. Discusses build systems such as CMake, targets, and various builds 45 (Win32, Android, Linux).</li> 46 <li><a href="{@docRoot}devices/graphics/port-tests.html">Porting the test 47 framework</a>. Describes adapting base portability libraries, implementing 48 test-framework platform-integration interfaces, and porting the 49 execution service. Porting is optional (depending on the target platform).</li> 50 <li><a href="{@docRoot}devices/graphics/run-tests.html">Running the tests</a>. 51 Provides instructions for running deqp tests in Linux and Windows environments, 52 command line arguments, and the Android package.</li> 53 <li><a href="{@docRoot}devices/graphics/automate-tests.html">Automating the 54 tests</a>. Covers test automation options, command line tools, CSV and XML 55 exporting, and conversion to JUnit.</li> 56 <li><a href="{@docRoot}devices/graphics/test-groups.html">Using special test 57 groups</a>. Provides advice for running memory allocation and long-running 58 stress tests.</li> 59 <li><a href="{@docRoot}devices/graphics/cts-integration.html">Integrating with 60 Android CTS</a>. Describes the <code>mustpass</code> list of tests, duplicating 61 runs, and mapping CTS results.</li> 62 </ul> 63 64 <h2 id=source_layout>Source layout</h2> 65 66 <p>The source code layout for the deqp test modules and supporting libraries is 67 shown in the table below (the listing is not comprehensive but highlights the 68 most important directories).</p> 69 70 <table> 71 <tr> 72 <th>Directory</th> 73 <th>Description</th> 74 </tr> 75 <tr> 76 <td><code>android</code></td> 77 <td><p>Android tester sources and build scripts</p></td> 78 </tr> 79 <tr> 80 <td><code>data</code></td> 81 <td><p>Test data files</p> 82 </td> 83 </tr> 84 <tr> 85 <td><code>modules</code></td> 86 <td><p>Test module sources</p> 87 </td> 88 </tr> 89 <tr> 90 <td><code> 91 modules/egl</code></td> 92 <td><p>EGL module</p> 93 </td> 94 </tr> 95 <tr> 96 <td><code> 97 modules/gles2</code></td> 98 <td><p>GLES2 module</p> 99 </td> 100 </tr> 101 <tr> 102 <td><code> 103 modules/gles3</code></td> 104 <td><p>GLES3 module</p> 105 </td> 106 </tr> 107 <tr> 108 <td><code> 109 modules/gles31</code></td> 110 <td><p>GLES3.1 module</p> 111 </td> 112 </tr> 113 <tr> 114 <td><code> 115 modules/gles32</code></td> 116 <td><p>GLES3.2 module</p> 117 </td> 118 </tr> 119 <tr> 120 <td><code>targets</code></td> 121 <td><p>Target-specific build configuration files</p> 122 </td> 123 </tr> 124 <tr> 125 <td><code>framework</code></td> 126 <td><p>deqp test module framework and utilities</p> 127 </td> 128 </tr> 129 <tr> 130 <td><code> 131 framework/delibs</code></td> 132 <td><p>Base portability and build libraries</p> 133 </td> 134 </tr> 135 <tr> 136 <td><code> 137 framework/platform</code></td> 138 <td><p>Platform ports</p> 139 </td> 140 </tr> 141 <tr> 142 <td><code> 143 framework/qphelper</code></td> 144 <td><p>Test program integration library (C)</p> 145 </td> 146 </tr> 147 <tr> 148 <td><code> 149 framework/common</code></td> 150 <td><p>Deqp framework (C++)</p> 151 </td> 152 </tr> 153 <tr> 154 <td><code> 155 framework/opengl, framework/egl</code></td> 156 <td><p>API-specific utilities</p> 157 </td> 158 </tr> 159 <tr> 160 <td><code> 161 execserver</code></td> 162 <td><p>Device-side ExecServer source</p> 163 </td> 164 </tr> 165 <tr> 166 <td><code> 167 executor</code></td> 168 <td><p>Host-side test executor shell tool and utilities</p> 169 </td> 170 </tr> 171 <tr> 172 <td><code> 173 external</code></td> 174 <td><p>Build stub directory for external libs libpng and zlib</p> 175 </td> 176 </tr> 177 </table> 178 179 <h3 id=open-source_components>Open source components</h3> 180 181 <p>The deqp uses <code>libpng</code> and <code>zlib</code>, which can be fetched 182 using the script <code>external/fetch_sources.py </code>or via git from 183 <code>platform/external/[libpng,zlib]</code>.</p> 184