• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.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
35release, use the <code><em>release-code-name</em>-release</code> branch (e.g.
36for 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
41section:</p>
42<ul>
43<li><a href="{@docRoot}devices/graphics/build-tests.html">Building test
44programs</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
47framework</a>. Describes adapting base portability libraries, implementing
48test-framework platform-integration interfaces, and porting the
49execution service. Porting is optional (depending on the target platform).</li>
50<li><a href="{@docRoot}devices/graphics/run-tests.html">Running the tests</a>.
51Provides instructions for running deqp tests in Linux and Windows environments,
52command line arguments, and the Android package.</li>
53<li><a href="{@docRoot}devices/graphics/automate-tests.html">Automating the
54tests</a>. Covers test automation options, command line tools, CSV and XML
55exporting, and conversion to JUnit.</li>
56<li><a href="{@docRoot}devices/graphics/test-groups.html">Using special test
57groups</a>. Provides advice for running memory allocation and long-running
58stress tests.</li>
59<li><a href="{@docRoot}devices/graphics/cts-integration.html">Integrating with
60Android CTS</a>. Describes the <code>mustpass</code> list of tests, duplicating
61runs, 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
67shown in the table below (the listing is not comprehensive but highlights the
68most 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>
161execserver</code></td>
162<td><p>Device-side ExecServer source</p>
163</td>
164 </tr>
165 <tr>
166    <td><code>
167executor</code></td>
168<td><p>Host-side test executor shell tool and utilities</p>
169</td>
170 </tr>
171 <tr>
172    <td><code>
173external</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
182using the script <code>external/fetch_sources.py </code>or via git from
183<code>platform/external/[libpng,zlib]</code>.</p>
184