Integration in die Android CTS

Android CTS-Release-Pakete (verfügbar unter Android Compatibility Downloads) enthalten Khronos-Konformitätstests. Dabei muss ein Teil dieser Tests (die sogenannte mustpass-Liste) bestanden werden. Bei Geräten, die eine Ziel-API oder ‑Erweiterung nicht unterstützen, werden die Tests übersprungen und als bestanden gemeldet.

Die Liste mustpass umfasst OpenGL ES 2.0 bis OpenGL ES 3.2 und Vulkan 1.1. mustpass-Dateien finden Sie in den Khronos-Konformitätstests im Verzeichnis android/cts. Sie können diese Tests mit dem cts-tradefed-Dienstprogramm mit dem folgenden Befehl ausführen:

cts-tradefed run cts --plan CTS-DEQP

Duplikate ohne CTS ausführen

Wenn Sie den CTS-Lauf replizieren möchten, installieren Sie die deqp-APK des CTS-Pakets und verwenden Sie den folgenden Befehl:

adb -d shell am start -n com.drawelements.deqp/android.app.NativeActivity -e \
cmdLine "deqp --deqp-case=dEQP-GLES3.some_group.* --deqp-gl-config-name=rgba8888d24s8 --deqp-log-filename=/sdcard/dEQP-Log.qpa

Der wichtige Teil ist das Argument --deqp-gl-config-name=rgba8888d24s8, mit dem die Tests auf einer RGBA 8888-Bildschirmoberfläche mit einem 24‑Bit-Tiefebuffer und einem 8‑Bit-Maskenbuffer ausgeführt werden sollen. Denken Sie daran, die gewünschten Tests mit dem Argument --deqp-case festzulegen.

CTS-Ergebniszuordnung

Im Android CTS kann ein Testfall in einem von drei Status enden: bestanden, fehlgeschlagen oder nicht ausgeführt (für deqp sind weitere Ergebniscodes verfügbar). Die CTS ordnet den Ergebniscodes des Khronos-Konformitätstests automatisch CTS-Ergebnisse zu:

  • Ein CTS-Ticket kann Pass, NotSupported, QualityWarning und CompatibilityWarning enthalten.
  • Ein CTS-Fehler kann Fail, ResourceError, Crash, Timeout und InternalError enthalten.