### Android
- * Android NDK r10e
+ * Android NDK r11
* Android SDK with: SDK Tools, SDK Platform-tools, SDK Build-tools, and API 22
+ * Java Development Kit (JDK)
* Apache Ant
* Windows: either NMake or JOM in PATH
+See `android/scripts/common.py` for a list locations where the build system
+expects to find these.
+
Building CTS
------------
You may need to re-run `fetch_sources.py` to update to the latest glslang and
spirv-tools revisions occasionally.
-NOTE: glslang integration is not yet available on Android due to a toolchain
-bug, so pre-compiled SPIR-V binaries must be used. See instructions below.
-
With CMake out-of-source builds are always recommended. Create a build directory
of your choosing, and in that directory generate Makefiles or IDE project
using cmake.
Current mustpass is checked into repository and can be found at:
- external/vulkancts/mustpass/1.0.0/vk-default.txt
+ external/vulkancts/mustpass/1.0.2/vk-default.txt
Vulkan CTS mustpass can be re-generated by running:
-----------------------------
For distribution, and platforms that don't support GLSL to SPIR-V compilation,
-SPIR-V binaries must be pre-built with following command:
+SPIR-V binaries can be pre-built with following command:
- python external/vulkancts/build_spirv_binaries.py
+ python external/vulkancts/scripts/build_spirv_binaries.py
Binaries will be written to `external/vulkancts/data/vulkan/prebuilt/`.
Following command line options MUST be used when running CTS:
- --deqp-caselist-file=<vulkancts>/external/vulkancts/mustpass/1.0.0/vk-default.txt
+ --deqp-caselist-file=<vulkancts>/external/vulkancts/mustpass/1.0.2/vk-default.txt
--deqp-log-images=disable
--deqp-log-shader-sources=disable
--deqp-log-flush=disable
+By default, the test log will be written into the path "TestResults.qpa". If the
+platform requires a different path, it can be specified with:
+
+ --deqp-log-filename=<path>
+
No other command line options are allowed.
### Win32
### Android
- adb push <vulkancts>/external/vulkancts/mustpass/1.0.0/vk-default.txt /sdcard/vk-default.txt
+ adb push <vulkancts>/external/vulkancts/mustpass/1.0.2/vk-default.txt /sdcard/vk-default.txt
adb shell
In device shell:
status` and `git log` (2) in the source directory:
git status > <submission pkg dir>/git-status.txt
- git log <release tag>..HEAD > <submission pkg dir>/git-log.txt
+ git log --first-parent <release tag>^..HEAD > <submission pkg dir>/git-log.txt
Any changes made to CTS must be committed to the local repository, and provided
as part of the submission package (3). This can be done by running:
If the submission package covers multiple products, you can list them by appending
additional `PRODUCT:` lines to the conformance statement. For example:
- CONFORM_VERSION: vulkan-cts-1.0.0-internal
+ CONFORM_VERSION: vulkan-cts-1.0.2.0
PRODUCT: Product A
PRODUCT: Product B
...
QualityWarning
CompatibilityWarning
-Submission package can be verified using `external/vulkancts/verify_submission.py`
+Submission package can be verified using `external/vulkancts/scripts/verify_submission.py`
script. The script takes two arguments: path to extracted submission package
and path to current mustpass list. For example:
- python external/vulkancts/verify_submission.py VK_10_Khronos_1/ external/vulkancts/mustpass/1.0.0/vk-default.txt
+ python external/vulkancts/scripts/verify_submission.py VK_10_Khronos_1/ external/vulkancts/mustpass/1.0.2/vk-default.txt
Vulkan platform port
`framework/platform/win32/tcuWin32Platform.cpp` and
`framework/platform/android/tcuAndroidPlatform.cpp`.
+If any WSI extensions are supported, platform port must also implement
+methods for creating native display (`vk::Platform::createWsiDisplay`)
+and window handles (`vk::wsi::Display::createWindow`). Otherwise tests
+under `dEQP-VK.wsi` will fail.
+
Null (dummy) driver
-------------------
https://android.googlesource.com/platform/external/cherry. Please follow
instructions in README to get started.
-To enable support for Vulkan tests, dEQP-VK module must be added to list of
-test packages.
-
-In `cherry/testrunner.go`, add following line to `testPackageDescriptors` list
-(line 645 in `NewTestRunner` function):
-
- {"dEQP-VK", "deqp-vk", "../external/vulkancts/modules/vulkan", dataDir + "dEQP-VK-cases.xml"},
-
Before first launch, and every time test hierarchy has been modified, test
case list must be refreshed by running: