Add CTS_ARB_sparse_texture_clamp test specification proposal
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / README.md
index e088a5a..88df950 100644 (file)
@@ -26,11 +26,15 @@ Requirements
 
 ### 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
 ------------
@@ -45,9 +49,6 @@ To download sources, run:
 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.
@@ -99,7 +100,7 @@ Building Mustpass
 
 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:
 
@@ -110,9 +111,9 @@ 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:
+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/`.
 
@@ -125,7 +126,7 @@ Running CTS
 
 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
 
@@ -139,6 +140,11 @@ option may be used to disable frequent fflush() calls to the output logs:
 
        --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
@@ -155,7 +161,7 @@ Test log will be written into TestResults.qpa
 
 ### 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:
@@ -189,7 +195,7 @@ uncommitted changes. Thus it is necessary to run and capture output of `git
 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:
@@ -218,7 +224,7 @@ if `vk::Platform::describePlatform()` is implemented.
 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.2
+       CONFORM_VERSION:         vulkan-cts-1.0.2.0
        PRODUCT:                 Product A
        PRODUCT:                 Product B
        ...
@@ -277,11 +283,11 @@ codes are allowed:
        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
@@ -294,6 +300,11 @@ See `framework/common/tcuPlatform.hpp` and examples in
 `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
 -------------------
@@ -330,14 +341,6 @@ analysis). Cherry is available at
 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: