Update OpenGL CTS Readme and verification
- Update the OpenGL CTS Readme to clarify that
KC CTS results are not needed for opengl-es-cts-3.2.4.0 and later.
- Update the verification script to adjust to the new rules.
Components: OpenGL
Affects: conformance package verification
VK-GL-CTS issue: 695
Change-Id: I83ae7db6aefda0356f6db5dd5cd605fa287e01d8
diff --git a/external/openglcts/README.md b/external/openglcts/README.md
index 07b9a8f..95a9b30 100644
--- a/external/openglcts/README.md
+++ b/external/openglcts/README.md
@@ -231,8 +231,12 @@
at [Khronos Gitlab](https://gitlab.khronos.org/) to be able to download
Khronos Confidential CTS.
It is possible to run and build the CTS without the Khronos Confidential CTS.
-Khronos Confidential CTS is mandatory only if you plan to make a
+For OpenGL CTS releases, and OpenGL ES CTS releases prior to opengl-es-cts-3.2.4.0
+Khronos Confidential CTS is mandatory if you plan to make a
conformance submission (see [Creating a Submission Package](#creating-a-submission-package)).
+For opengl-es-cts-3.2.4.0 and later OpenGL ES CTS releases Khronos Confidential CTS
+results must not be included in a submission package.
+
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
diff --git a/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles2-khr-master.txt b/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles2-khr-noctx-master.txt
similarity index 100%
rename from external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles2-khr-master.txt
rename to external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles2-khr-noctx-master.txt
diff --git a/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles32-khr-master.txt b/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles32-khr-noctx-master.txt
similarity index 100%
rename from external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles32-khr-master.txt
rename to external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles32-khr-noctx-master.txt
diff --git a/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/mustpass.xml b/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/mustpass.xml
index 5528e4d..2d45d40 100644
--- a/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/mustpass.xml
+++ b/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/mustpass.xml
@@ -18,7 +18,7 @@
* be lost! Modify the generating script instead.
*/-->
<TestPackage name="Khronos Mustpass ES NoContext">
- <Configuration caseListFile="gles2-khr-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-master" os="any" useForFirstEGLConfig="True"/>
- <Configuration caseListFile="gles32-khr-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-master" os="any" useForFirstEGLConfig="True"/>
+ <Configuration caseListFile="gles2-khr-noctx-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-noctx-master" os="any" useForFirstEGLConfig="True"/>
+ <Configuration caseListFile="gles32-khr-noctx-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-noctx-master" os="any" useForFirstEGLConfig="True"/>
</TestPackage>
</Mustpass>
diff --git a/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles2-khr-master.txt b/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles2-khr-noctx-master.txt
similarity index 100%
rename from external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles2-khr-master.txt
rename to external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles2-khr-noctx-master.txt
diff --git a/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles32-khr-master.txt b/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles32-khr-noctx-master.txt
similarity index 100%
rename from external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles32-khr-master.txt
rename to external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles32-khr-noctx-master.txt
diff --git a/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/mustpass.xml b/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/mustpass.xml
index 5bc5063..008d616 100644
--- a/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/mustpass.xml
+++ b/external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/mustpass.xml
@@ -18,7 +18,7 @@
* be lost! Modify the generating script instead.
*/-->
<TestPackage name="Khronos Mustpass ES NoContext">
- <Configuration caseListFile="gles2-khr-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-master" os="any" useForFirstEGLConfig="True"/>
- <Configuration caseListFile="gles32-khr-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-master" os="any" useForFirstEGLConfig="True"/>
+ <Configuration caseListFile="gles2-khr-noctx-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-noctx-master" os="any" useForFirstEGLConfig="True"/>
+ <Configuration caseListFile="gles32-khr-noctx-master.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-noctx-master" os="any" useForFirstEGLConfig="True"/>
</TestPackage>
</Mustpass>
diff --git a/external/openglcts/modules/runner/glcKhronosMustpassEsNocontext.hpp b/external/openglcts/modules/runner/glcKhronosMustpassEsNocontext.hpp
index b4130de..8c7fb2c 100644
--- a/external/openglcts/modules/runner/glcKhronosMustpassEsNocontext.hpp
+++ b/external/openglcts/modules/runner/glcKhronosMustpassEsNocontext.hpp
@@ -22,8 +22,8 @@
const char* mustpassDir = "gl_cts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/";
static const RunParams khronos_mustpass_es_nocontext_first_cfg[] = {
- { glu::ApiType::es(2, 0), "khr-master", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
- { glu::ApiType::es(3, 2), "khr-master", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
+ { glu::ApiType::es(2, 0), "khr-noctx-master", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
+ { glu::ApiType::es(3, 2), "khr-noctx-master", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
};
#endif // _GLCKHRONOSMUSTPASSESNOCONTEXT_HPP
diff --git a/external/openglcts/scripts/build_mustpass.py b/external/openglcts/scripts/build_mustpass.py
index 488d9de..1bc9d26 100644
--- a/external/openglcts/scripts/build_mustpass.py
+++ b/external/openglcts/scripts/build_mustpass.py
@@ -854,7 +854,7 @@
GLCTS_NOCTX_ES2_KHR_PKG = Package(module = NOCTX_ES2_KHR_MODULE, configurations = [
# Master
- Configuration(name = "khr-master",
+ Configuration(name = "khr-noctx-master",
surfacewidth = "64",
surfaceheight = "64",
baseseed = "1",
@@ -863,7 +863,7 @@
GLCTS_NOCTX_ES32_KHR_PKG = Package(module = NOCTX_ES32_KHR_MODULE, configurations = [
# Master
- Configuration(name = "khr-master",
+ Configuration(name = "khr-noctx-master",
surfacewidth = "64",
surfaceheight = "64",
baseseed = "1",
diff --git a/external/openglcts/scripts/verify/verify_es.py b/external/openglcts/scripts/verify/verify_es.py
index ef1c95a..559718a 100644
--- a/external/openglcts/scripts/verify/verify_es.py
+++ b/external/openglcts/scripts/verify/verify_es.py
@@ -4,7 +4,7 @@
# Khronos OpenGL CTS
# ------------------
#
-# Copyright (c) 2016 The Khronos Group Inc.
+# Copyright (c) 2017 The Khronos Group Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -73,6 +73,14 @@
return messages
+def numGitLogStatusFile (releaseTag):
+ KC_CTS_RELEASE = ["opengl-es-cts-3\.2\.[2-3]\.[0-9]*", "opengl-cts-4\.6\.[0-9]*\.[0-9]*"]
+ for r in KC_CTS_RELEASE:
+ if re.match(r, releaseTag):
+ return 2
+
+ return 1
+
def verifyConfigFile (filename, type):
messages = []
caseNames = getConfigCaseName(type)
@@ -214,8 +222,11 @@
def verifyGitStatusFiles (package):
messages = []
- if len(package.gitStatus) != 2:
- messages.append(error(package.basePath, "Exactly two git status files must be present, found %s" % len(package.gitStatus)))
+ errorDict = {1 : 'one git status file', 2 : 'two git status files'}
+ numFiles = numGitLogStatusFile(package.conformVersion)
+
+ if len(package.gitStatus) != numFiles:
+ messages.append(error(package.basePath, "Exactly %s must be present, found %s" % (errorDict[numFiles], len(package.gitStatus))))
messages += verifyGitStatus(package)
@@ -268,11 +279,14 @@
def verifyGitLogFiles (package):
messages = []
- if len(package.gitLog) != 2:
- messages.append(error(package.basePath, "Exactly two git log file must be present, found %s" % len(package.gitLog)))
+ errorDict = {1 : 'one git log file', 2 : 'two git log files'}
+ numFiles = numGitLogStatusFile(package.conformVersion)
+
+ if len(package.gitLog) != numFiles:
+ messages.append(error(package.basePath, "Exactly %s must be present, found %s" % (errorDict[numFiles], len(package.gitLog))))
for i, gitLog in enumerate(package.gitLog):
- if "kc-cts" in gitLog[0]:
+ if "kc-cts" in gitLog[0] and numFiles > 1:
package.gitLog[i] = gitLog[:1] + ("external/kc-cts/src",) + gitLog[2:]
messages += verifyGitLogFile(package)