To download sources, run:
- $ python external/fetch_sources.py
+ python external/fetch_sources.py
You may need to re-run fetch_sources.py to update to the latest glslang and
spirv-tools revisions occasionally.
### Windows x86-32
- > cmake <path to vulkancts> -G"Visual Studio 12"
- > start dEQP-Core-default.sln
+ cmake <path to vulkancts> -G"Visual Studio 12"
+ start dEQP-Core-default.sln
### Windows x86-64
- > cmake <path to vulkancts> -G"Visual Studio 12 Win64"
- > start dEQP-Core-default.sln
+ cmake <path to vulkancts> -G"Visual Studio 12 Win64"
+ start dEQP-Core-default.sln
### Linux 32-bit Debug
- $ cmake <path to vulkancts> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
- $ make -j
+ cmake <path to vulkancts> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-m32 -DCMAKE_CXX_FLAGS=-m32
+ make -j
Release build can be done by using -DCMAKE_BUILD_TYPE=Release
### Linux 64-bit Debug
- $ cmake <path to vulkancts> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64
- $ make -j
+ cmake <path to vulkancts> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64
+ make -j
### Android
Following command will build CTS into android/package/bin/dEQP-debug.apk.
- $ python android/scripts/build.py
+ python android/scripts/build.py
The package can be installed by either running:
- $ python android/scripts/install.py
+ python android/scripts/install.py
By default the CTS package will contain libdeqp.so built for armeabi-v7a, arm64-v8a,
and x86 ABIs, but that can be changed in android/scripts/common.py script.
To pick which ABI to use at install time, following commands must be used
instead:
- $ adb install --abi <ABI name> android/package/bin/dEQP-debug.apk /data/local/tmp/dEQP-debug.apk
+ adb install --abi <ABI name> android/package/bin/dEQP-debug.apk /data/local/tmp/dEQP-debug.apk
Building Mustpass
Vulkan CTS mustpass can be re-generated by running:
- $ python <vulkancts>/external/vulkancts/build_mustpass.py
+ python <vulkancts>/external/vulkancts/build_mustpass.py
Pre-compiling SPIR-V binaries
For distribution, and platforms that don't support GLSL to SPIR-V compilation,
SPIR-V binaries must be pre-built with following command:
- $ python external/vulkancts/build_spirv_binaries.py
+ python external/vulkancts/build_spirv_binaries.py
Binaries will be written to `external/vulkancts/data/vulkan/prebuilt/`.
### Win32
- > cd <builddir>/external/vulkancts/modules/vulkan
- > Debug/deqp-vk.exe --deqp-caselist-file=...
+ cd <builddir>/external/vulkancts/modules/vulkan
+ Debug/deqp-vk.exe --deqp-caselist-file=...
Test log will be written into TestResults.qpa
### Linux
- $ cd <builddir>/external/vulkancts/modules/vulkan
- $ ./deqp-vk --deqp-vk-caselist-file=...
+ cd <builddir>/external/vulkancts/modules/vulkan
+ ./deqp-vk --deqp-vk-caselist-file=...
### Android
- $ adb push <vulkancts>/external/vulkancts/mustpass/1.0.0/vk-default.txt /sdcard/vk-default.txt
- $ adb shell
+ adb push <vulkancts>/external/vulkancts/mustpass/1.0.0/vk-default.txt /sdcard/vk-default.txt
+ adb shell
In device shell:
- $ am start -n com.drawelements.deqp/android.app.NativeActivity -e cmdLine "deqp --deqp-caselist-file=/sdcard/vk-default.txt --deqp-log-images=disable --deqp-log-shader-sources=disable --deqp-log-filename=/sdcard/TestResults.qpa"
+ am start -n com.drawelements.deqp/android.app.NativeActivity -e cmdLine "deqp --deqp-caselist-file=/sdcard/vk-default.txt --deqp-log-images=disable --deqp-log-shader-sources=disable --deqp-log-filename=/sdcard/TestResults.qpa"
Test progress will be written to device log and can be displayed with:
- $ adb logcat -s dEQP
+ adb logcat -s dEQP
Test log will be written into `/sdcard/TestResults.qpa`.
One way to create a suiteable gzipped tar file is to execute the command:
- $ tar -cvzf <filename.tgz> -C <submission pkg dir> .
+ tar -cvzf <filename.tgz> -C <submission pkg dir> .
where `<submission pkg dir>` is the directory containing the files from (1)-(4)
from above. A submission package must contain all of the files listed above,
Before first launch, and every time test hierarchy has been modified, test
case list must be refreshed by running:
- $ python scripts/build_caselists.py path/to/cherry/data
+ python scripts/build_caselists.py path/to/cherry/data
Cherry must be restarted for the case list update to take effect.