Update OpenGL CTS Readme and verification
authorAlexander Galazin <alexander.galazin@arm.com>
Fri, 15 Sep 2017 12:21:42 +0000 (14:21 +0200)
committerAlexander Galazin <alexander.galazin@arm.com>
Fri, 15 Sep 2017 15:18:16 +0000 (17:18 +0200)
 - 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

external/openglcts/README.md
external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles2-khr-noctx-master.txt [moved from external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles2-khr-master.txt with 100% similarity]
external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles32-khr-noctx-master.txt [moved from external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles32-khr-master.txt with 100% similarity]
external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/mustpass.xml
external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles2-khr-noctx-master.txt [moved from external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles2-khr-master.txt with 100% similarity]
external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/gles32-khr-noctx-master.txt [moved from external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/3.2.4.x/gles32-khr-master.txt with 100% similarity]
external/openglcts/data/mustpass/gles/khronos_mustpass_noctx/master/mustpass.xml
external/openglcts/modules/runner/glcKhronosMustpassEsNocontext.hpp
external/openglcts/scripts/build_mustpass.py
external/openglcts/scripts/verify/verify_es.py

index 07b9a8f..95a9b30 100644 (file)
@@ -231,8 +231,12 @@ conformance submission.
 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
index 5528e4d..2d45d40 100644 (file)
@@ -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>
index 5bc5063..008d616 100644 (file)
@@ -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>
index b4130de..8c7fb2c 100644 (file)
@@ -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
index 488d9de..1bc9d26 100644 (file)
@@ -854,7 +854,7 @@ GLCTS_GLES32_KHR_PKG_N1CFG                  = Package(module = ES32KHR_MODULE, useforfirsteglco
 
 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_ES2_KHR_PKG                     = Package(module = NOCTX_ES2_KHR_MODULE, configuration
 
 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",
index ef1c95a..559718a 100644 (file)
@@ -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 @@ def compareConfigs(filename, baseConfigs, cmpConfigs):
 
        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 verifyTestLogs (package):
 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 verifyPatchFiles (package):
 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)