Home | History | Annotate | Download | only in graphics
      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