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