與 Android CTS 集成

Android CTS 發布包(可從Android Compatibility Downloads獲得)包括Khronos 一致性測試,並且需要這些測試的一個子集(稱為mustpass列表)才能通過。對於不支持目標 API 或擴展的設備,將跳過測試並報告為通過。

mustpass列表包括 OpenGL ES 2.0 至 OpenGL ES 3.2 和 Vulkan 1.1。 mustpass文件可以在 Khronos 一致性測試的android/cts目錄下找到。您可以使用以下命令通過cts-tradefed實用程序運行這些測試:

cts-tradefed run cts --plan CTS-DEQP

在沒有 CTS 的情況下複製運行

要復制 CTS 運行,請安裝 CTS 包的 deqp APK 並使用以下命令:

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

重要的部分是--deqp-gl-config-name=rgba8888d24s8參數,它要求在具有 24 位深度緩衝區和 8 位模板緩衝區的 RGBA 8888 屏幕表面上運行測試。請記住使用--deqp-case參數設置所需的測試。

CTS 結果映射

在 Android CTS 中,測試用例最終可能處於以下三種狀態之一:通過、失敗或未執行(deqp 有更多可用的結果代碼)。 CTS 自動將 Khronos 一致性測試結果代碼映射到 CTS 結果:

  • CTS pass 可以包括PassNotSupportedQualityWarningCompatibilityWarning
  • CTS 故障可能包括FailResourceErrorCrashTimeoutInternalError