blob: c6b2540abbec24118d2a36d732729312ce1199c6 [file] [log] [blame]
page.title=OpenGL ES testing
@jd:body
<!--
Copyright 2015 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol id="auto-toc">
</ol>
</div>
</div>
<p>AOSP includes the drawElements Quality Program (deqp) GPU testing suite at
<a href="https://android.googlesource.com/platform/external/deqp">https://android.googlesource.com/platform/external/deqp</a>.
</p>
<p>To work with the latest submitted code, use the
<code>deqp-dev</code> branch. For code that matches a specific Android CTS
release, use the <code><em>release-code-name</em>-release</code> branch (e.g.
for Android 6.0, use the <code>marshmallow-release</code> branch).</p>
<h2 id=deploying_deqp>Deploying deqp</h2>
<p>To deploy the deqp test suite to a new environment, review all pages in this
section:</p>
<ul>
<li><a href="{@docRoot}devices/graphics/build-tests.html">Building test
programs</a>. Discusses build systems such as CMake, targets, and various builds
(Win32, Android, Linux).</li>
<li><a href="{@docRoot}devices/graphics/port-tests.html">Porting the test
framework</a>. Describes adapting base portability libraries, implementing
test-framework platform-integration interfaces, and porting the
execution service. Porting is optional (depending on the target platform).</li>
<li><a href="{@docRoot}devices/graphics/run-tests.html">Running the tests</a>.
Provides instructions for running deqp tests in Linux and Windows environments,
command line arguments, and the Android package.</li>
<li><a href="{@docRoot}devices/graphics/automate-tests.html">Automating the
tests</a>. Covers test automation options, command line tools, CSV and XML
exporting, and conversion to JUnit.</li>
<li><a href="{@docRoot}devices/graphics/test-groups.html">Using special test
groups</a>. Provides advice for running memory allocation and long-running
stress tests.</li>
<li><a href="{@docRoot}devices/graphics/cts-integration.html">Integrating with
Android CTS</a>. Describes the <code>mustpass</code> list of tests, duplicating
runs, and mapping CTS results.</li>
</ul>
<h2 id=source_layout>Source layout</h2>
<p>The source code layout for the deqp test modules and supporting libraries is
shown in the table below (the listing is not comprehensive but highlights the
most important directories).</p>
<table>
<tr>
<th>Directory</th>
<th>Description</th>
</tr>
<tr>
<td><code>android</code></td>
<td><p>Android tester sources and build scripts</p></td>
</tr>
<tr>
<td><code>data</code></td>
<td><p>Test data files</p>
</td>
</tr>
<tr>
<td><code>modules</code></td>
<td><p>Test module sources</p>
</td>
</tr>
<tr>
<td><code>
modules/egl</code></td>
<td><p>EGL module</p>
</td>
</tr>
<tr>
<td><code>
modules/gles2</code></td>
<td><p>GLES2 module</p>
</td>
</tr>
<tr>
<td><code>
modules/gles3</code></td>
<td><p>GLES3 module</p>
</td>
</tr>
<tr>
<td><code>
modules/gles31</code></td>
<td><p>GLES3.1 module</p>
</td>
</tr>
<tr>
<td><code>
modules/gles32</code></td>
<td><p>GLES3.2 module</p>
</td>
</tr>
<tr>
<td><code>targets</code></td>
<td><p>Target-specific build configuration files</p>
</td>
</tr>
<tr>
<td><code>framework</code></td>
<td><p>deqp test module framework and utilities</p>
</td>
</tr>
<tr>
<td><code>
framework/delibs</code></td>
<td><p>Base portability and build libraries</p>
</td>
</tr>
<tr>
<td><code>
framework/platform</code></td>
<td><p>Platform ports</p>
</td>
</tr>
<tr>
<td><code>
framework/qphelper</code></td>
<td><p>Test program integration library (C)</p>
</td>
</tr>
<tr>
<td><code>
framework/common</code></td>
<td><p>Deqp framework (C++)</p>
</td>
</tr>
<tr>
<td><code>
framework/opengl, framework/egl</code></td>
<td><p>API-specific utilities</p>
</td>
</tr>
<tr>
<td><code>
execserver</code></td>
<td><p>Device-side ExecServer source</p>
</td>
</tr>
<tr>
<td><code>
executor</code></td>
<td><p>Host-side test executor shell tool and utilities</p>
</td>
</tr>
<tr>
<td><code>
external</code></td>
<td><p>Build stub directory for external libs libpng and zlib</p>
</td>
</tr>
</table>
<h3 id=open-source_components>Open source components</h3>
<p>The deqp uses <code>libpng</code> and <code>zlib</code>, which can be fetched
using the script <a href=
"https://android.googlesource.com/platform/external/deqp/+/master/external/fetch_sources.py">
<code>platform/external/deqp/external/fetch_sources.py</code></a> or via git
from <code>platform/external/[libpng,zlib]</code>.</p>