Merge "Fix error mask generation in checkLineContinuity" into nougat-cts-dev
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / gen_framework.py
index 11a8758..e6d9e55 100644 (file)
@@ -6,24 +6,17 @@
 #
 # Copyright (c) 2015 Google Inc.
 #
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and/or associated documentation files (the
-# "Materials"), to deal in the Materials without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Materials, and to
-# permit persons to whom the Materials are furnished to do so, subject to
-# the following conditions:
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
 #
-# The above copyright notice(s) and this permission notice shall be
-# included in all copies or substantial portions of the Materials.
+#      http://www.apache.org/licenses/LICENSE-2.0
 #
-# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
 #
 #-------------------------------------------------------------------------
 
@@ -56,6 +49,7 @@ INSTANCE_FUNCTIONS    = [
        "vkGetPhysicalDeviceFeatures",
        "vkGetPhysicalDeviceFormatProperties",
        "vkGetPhysicalDeviceImageFormatProperties",
+       "vkGetPhysicalDeviceSparseImageFormatProperties",
        "vkGetPhysicalDeviceLimits",
        "vkGetPhysicalDeviceProperties",
        "vkGetPhysicalDeviceQueueFamilyProperties",
@@ -119,6 +113,7 @@ DEFINITIONS                 = [
        "VK_MAX_MEMORY_HEAPS",
        "VK_MAX_DESCRIPTION_SIZE",
        "VK_ATTACHMENT_UNUSED",
+       "VK_SUBPASS_EXTERNAL"
 ]
 
 PLATFORM_TYPES         = [
@@ -419,7 +414,7 @@ def writeHandleType (api, filename):
 def getEnumValuePrefix (enum):
        prefix = enum.name[0]
        for i in range(1, len(enum.name)):
-               if enum.name[i].isupper():
+               if enum.name[i].isupper() and not enum.name[i-1].isupper():
                        prefix += "_"
                prefix += enum.name[i].upper()
        return prefix
@@ -635,8 +630,12 @@ def writeStrUtilImpl (api, filename):
                                                newLine = "'\\n' << "
                                                valFmt = "tcu::formatArray(tcu::Format::HexIterator<%s>(DE_ARRAY_BEGIN(value.%s)), tcu::Format::HexIterator<%s>(DE_ARRAY_END(value.%s)))" % (member.type, baseName, member.type, baseName)
                                        else:
+                                               if baseName == "memoryTypes" or baseName == "memoryHeaps":
+                                                       endIter = "DE_ARRAY_BEGIN(value.%s) + value.%sCount" % (baseName, baseName[:-1])
+                                               else:
+                                                       endIter = "DE_ARRAY_END(value.%s)" % baseName
                                                newLine = "'\\n' << "
-                                               valFmt = "tcu::formatArray(DE_ARRAY_BEGIN(value.%s), DE_ARRAY_END(value.%s))" % (baseName, baseName)
+                                               valFmt = "tcu::formatArray(DE_ARRAY_BEGIN(value.%s), %s)" % (baseName, endIter)
                                        memberName = baseName
                                else:
                                        valFmt = "value.%s" % member.name