Android CTS と統合する

Android CTS のリリース パッケージ(Android の互換性のダウンロードから取得可能です)には、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

重要なのは、24 ビットの深度バッファと 8 ビットのステンシル バッファで RGBA 8888 の画面上サーフェスでテストを実行することを要求する --deqp-gl-config-name=rgba8888d24s8 引数です。必ず --deqp-case 引数を使用して、目的のテストを設定してください。

CTS 結果のマッピング

Android CTS では、テストケースは「合格」、「不合格」、「deqp」の 3 つの状態のいずれかになります(deqp にはさらに多くの結果コードがあります)。CTS は、Khronos 適合性テストの結果コードを自動的に CTS の結果にマッピングします。

  • CTS の合格には、PassNotSupportedQualityWarningCompatibilityWarning などが含まれます。
  • CTS の不合格には、FailResourceErrorCrashTimeoutInternalError などが含まれます。