Last edited 3 years ago

How to launch Khronos OpenGLES conformance tests

Applicable for STM32MP15x lines

1. Introduction[edit source]

The purpose of this article is to describe how to build and execute the Khronos OpenGL ES 2.0 Conformance Tests.

These tests are provided by the Khronos Group [1]. They are available as open source from the Khronos CTS GitHub source repo [2].

For a detailed description of the Khronos OpenGL ES2.0 CTS, please refer to the openglcts README.md [3] file.

2. How to install khronos-cts[edit source]

2.1. Building khronos-cts[edit source]

Execute the following command in the OpenSTLinux build environment:

 bitbake khronos-cts

2.2. Installing kronos-cts on the target board[edit source]

Execute the following command in the OpenSTLinux build environment:

 scp tmp*/deploy/deb/*neon*/khronos-cts_opengl-cts-<CTS Release>.deb root@<IPBOARD>:<SomewhereInTheBoard>
Info white.png Information
But default dpkg will extract within /home/root/.

This debian package is rather huge. For instance opengl-cts-4.6.0 is around 115MB. If rootfs space is at sake this is better to unpack the debian somewhere else by appending instdir=<SomewhereElse> to the above command

3. How to execute khronos-cts[edit source]

3.1. Running test suite[edit source]

Execute the following commands on the target board:

 cd /home/root
 ./cts-runner --type=es2 1>results.txt
[     1] EGL: enable default configs for conformance test
...
Info white.png Information
The test execution can take several hours.
Warning white.png Warning
The *free* system RAM amount required to complete this test suite in around 500MB. Under out of memory occurs.
Khronos gles cts1.png

3.2. Running a single/group of test(s)[edit source]

 cd /home/root
 glcts.exe --deqp-case=dEQP-EGL.functional.*

4. Testing verdict example[edit source]


...
Test run totals:
  Passed:        13786/13957 (98.8%)
  Failed:        11/13957 (0.1%)
  Not supported: 131/13957 (0.9%)
  Warnings:      29/13957 (0.2%)
219/220 sessions passed, conformance test FAILED

In order to interpret result, please look at "Understanding the result"[4]

Even more there are several tools available to process those test logs[5]

5. References[edit source]