How to launch Khronos OpenGLES conformance tests

来自百问网嵌入式Linux wiki
Zhouyuebiao讨论 | 贡献2020年5月8日 (五) 22:40的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

Introduction

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.

How to install khronos-cts

Building khronos-cts

Execute the following command in the OpenSTLinux build environment:

PC $> bitbake khronos-cts

Installing kronos-cts on the target board

Execute the following command in the OpenSTLinux build environment:

PC $> scp tmp*/deploy/deb/*neon*/khronos-cts_opengl-cts-<CTS Release>.deb root@<IPBOARD>:<SomewhereInTheBoard>
Info.png 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

How to execute khronos-cts

Running test suite

Execute the following commands on the target board:

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

Running a single/group of test(s)

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

Testing verdict example

Board $>
...
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]