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