Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.3.0
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Fri, 3 Dec 2021 22:11:25 +0000 (17:11 -0500)
committerPiotr Byszewski <piotr.byszewski@mobica.com>
Mon, 6 Dec 2021 23:03:42 +0000 (00:03 +0100)
Change-Id: Ia22f7b085cc3c34513604a3b282b5b628805a04f

13 files changed:
1  2 
android/cts/master/egl-master.txt
external/fetch_sources.py
external/vulkancts/README.md
external/vulkancts/framework/vulkan/vkNullDriver.cpp
external/vulkancts/modules/vulkan/api/CMakeLists.txt
external/vulkancts/modules/vulkan/image/CMakeLists.txt
external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp
external/vulkancts/modules/vulkan/pipeline/CMakeLists.txt
external/vulkancts/modules/vulkan/reconvergence/vktReconvergenceTests.cpp
external/vulkancts/modules/vulkan/renderpass/CMakeLists.txt
external/vulkancts/scripts/gen_ext_deps.py
external/vulkancts/scripts/gen_framework.py
modules/egl/teglRobustnessTests.cpp

Simple merge
@@@ -326,14 -326,19 +326,19 @@@ PACKAGES = 
                "glslang",
                removeTags = ["master-tot"]),
        GitRepo(
 -              "https://github.com/KhronosGroup/SPIRV-Headers.git",
 -              None,
 -              "449bc986ba6f4c5e10e32828783f9daef2a77644",
 +              "https://gitlab.khronos.org/spirv/SPIRV-Headers.git",
 +              "git@gitlab.khronos.org:spirv/SPIRV-Headers.git",
 +              "7445cca32fa418a40dbc8b433734a1d3079200ac",
                "spirv-headers"),
 -      GitRepo(
 -              "https://github.com/KhronosGroup/Vulkan-Docs.git",
 -              None,
 -              "e57864f6a51a2d56dc7f012b21957755c59aafa8",
++        GitRepo(
++              "https://gitlab.khronos.org/vulkan/vulkan.git",
++              "git@gitlab.khronos.org:vulkan/vulkan.git",
++              "c7226880e6083dfd087131e09027cf1030bc002d",
+               "vulkan-docs"),
        GitRepo(
 -              "https://github.com/google/amber.git",
 -              None,
 -              "209d92e2c27a333e723d24497e8c7a07b2f2eb39",
 +              "https://gitlab.khronos.org/spirv/amber.git",
 +              "git@gitlab.khronos.org:spirv/amber.git",
-               "94586d6c879db7394a4203813a40f0d7e437e0aa",
++              "58a246b645b1e6ec228f715c9db94cd9f3c0c2be",
                "amber"),
  ]
  
Simple merge
@@@ -594,13 -594,13 +594,20 @@@ public
                                                {}
  };
  
 -class PrivateDataSlotEXT
 +class PrivateDataSlot
  {
  public:
 -                                              PrivateDataSlotEXT                      (VkDevice, const VkPrivateDataSlotCreateInfoEXT*)
 +                                              PrivateDataSlot                         (VkDevice, const VkPrivateDataSlotCreateInfo*)
 +                                              {}
 +};
 +
++class BufferCollectionFUCHSIA
++{
++public:
++                                              BufferCollectionFUCHSIA         (VkDevice, const VkBufferCollectionCreateInfoFUCHSIA*)
+                                               {}
+ };
  class CommandPool
  {
  public:
@@@ -3052,9 -2795,9 +3052,9 @@@ tcu::TestStatus MultiViewReadbackTestIn
                const VkAttachmentLoadOp                                        loadOp                  = (!fullClearPass) ? VK_ATTACHMENT_LOAD_OP_LOAD :
                                                                                                                                          (m_parameters.viewIndex == TEST_TYPE_READBACK_WITH_IMPLICIT_CLEAR) ? VK_ATTACHMENT_LOAD_OP_CLEAR :
                                                                                                                                          (m_parameters.viewIndex == TEST_TYPE_READBACK_WITH_EXPLICIT_CLEAR) ? VK_ATTACHMENT_LOAD_OP_DONT_CARE :
-                                                                                                                                         VK_ATTACHMENT_LOAD_OP_MAX_ENUM;
+                                                                                                                                         VK_ATTACHMENT_LOAD_OP_DONT_CARE;
 -              Unique<VkRenderPass>                                            renderPass              (makeRenderPass (*m_device, *m_logicalDevice, m_parameters.colorFormat, m_parameters.viewMasks, m_parameters.renderPassType, VK_SAMPLE_COUNT_1_BIT, loadOp));
 -              Unique<VkFramebuffer>                                           frameBuffer             (makeFramebuffer(*m_device, *m_logicalDevice, *renderPass, m_colorAttachment->getImageView(), m_parameters.extent.width, m_parameters.extent.height));
 +              Move<VkRenderPass>                                                      renderPass;
 +              Move<VkFramebuffer>                                                     frameBuffer;
                Unique<VkPipelineLayout>                                        pipelineLayout  (makePipelineLayout(*m_device, *m_logicalDevice));
                vector<PipelineSp>                                                      pipelines               (subpassCount);
                map<VkShaderStageFlagBits, ShaderModuleSP>      shaderModule;
@@@ -2,7 -2,7 +2,8 @@@
  
  include_directories(
        ..
 +      ../draw
+       ${DEQP_INL_DIR}
        )
  
  set(DEQP_VK_RENDER_PASS_SRCS
@@@ -76,26 -76,16 +77,26 @@@ def genApiVersions(name, apiVersions)
                yield '\tstd::make_tuple({}, {}, {}),'.format(version, major, minor)
        yield '};'
  
- def genExtDepInl(dependenciesAndVersions):
 +def genRequiredCoreVersions(name, coreVersionsDict):
 +      yield 'static const std::tuple<deUint32, deUint32, const char*>\t{}[]\t ='.format(name)
 +      yield '{'
 +      extNames = sorted(coreVersionsDict.keys())
 +      for extName in extNames:
 +              (major, minor) = coreVersionsDict[extName]
 +              yield '\tstd::make_tuple({}, {}, "{}"),'.format(major, minor, extName)
 +      yield '};'
 +
 -      allExtDepsDict, apiVersions = dependenciesAndVersions
+ def genExtDepInl(dependenciesAndVersions, filename):
 +      allExtDepsDict, apiVersions, allExtCoreVersions = dependenciesAndVersions
        apiVersions.reverse()
        lines = []
  
 -      lines = lines + [line for line in genExtDepArray(VK_EXT_DEP_INSTANCE, allExtDepsDict[VK_EXT_TYPE_INSTANCE])]
 -      lines = lines + [line for line in genExtDepArray(VK_EXT_DEP_DEVICE, allExtDepsDict[VK_EXT_TYPE_DEVICE])]
 -      lines = lines + [line for line in genApiVersions(VK_EXT_API_VERSIONS, apiVersions)]
 +      lines.extend(genExtDepArray(VK_EXT_DEP_INSTANCE, allExtDepsDict[VK_EXT_TYPE_INSTANCE]))
 +      lines.extend(genExtDepArray(VK_EXT_DEP_DEVICE, allExtDepsDict[VK_EXT_TYPE_DEVICE]))
 +      lines.extend(genApiVersions(VK_EXT_API_VERSIONS, apiVersions))
 +      lines.extend(genRequiredCoreVersions(VK_EXT_CORE_VERSIONS, allExtCoreVersions))
  
-       writeInlFile(VK_INL_FILE, lines)
+       writeInlFile(filename, lines)
  
  class extInfo:
        def __init__(self):
@@@ -131,6 -142,6 +131,7 @@@ def prefixName (prefix, name)
        name = name.replace("VIEWPORT_W", "VIEWPORT_W_")
        name = name.replace("_IDPROPERTIES", "_ID_PROPERTIES")
        name = name.replace("PHYSICAL_DEVICE_SHADER_FLOAT_16_INT_8_FEATURES", "PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES")
++      name = name.replace("PHYSICAL_DEVICE_RGBA_10_X_6_FORMATS_FEATURES_EXT", "PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT")
        name = name.replace("_PCIBUS_", "_PCI_BUS_")
        name = name.replace("ASTCD", "ASTC_D")
        name = name.replace("AABBNV", "AABB_NV")
@@@ -646,7 -655,7 +647,7 @@@ def parseDefinitions (extensionName, sr
                        return False
                if definition[0].startswith(extNameUpper):
                        return True
--              if definition[1].isdigit():
++              if definition[0].endswith("_H_"):
                        return True
                return False
  
@@@ -664,21 -673,19 +665,21 @@@ def parseTypedefs (src)
  
  def parseExtensions (src, versions, allFunctions, allCompositeTypes, allEnums, allBitfields, allHandles, allDefinitions):
  
 -      def getCoreVersion (extensionName, extensionsData):
 -              # returns None when extension was not added to core for any Vulkan version
 -              # returns array containing DEVICE or INSTANCE string followed by the vulkan version in which this extension is core
 -              # note that this function is also called for vulkan 1.0 source for which extName is None
 -              if not extensionName:
 -                      return None
 -              ptrn            = extensionName + r'\s+(DEVICE|INSTANCE)\s+([0-9_]+)'
 -              coreVersion = re.search(ptrn, extensionsData, re.I)
 -              if coreVersion != None:
 -                      return [coreVersion.group(1)] + [int(number) for number in coreVersion.group(2).split('_')[:3]]
 -              return None
 -
 -      extensionsData                  = readFile(os.path.join(VULKAN_SRC_DIR, "extensions_data.txt"))
 +      def getExtensionDataDict():
 +              ptrn = r'(VK_\S+)\s+(DEVICE|INSTANCE)\s+([0-9_]*)?'
-               extensionsDataFile      = readFile(os.path.join(VULKAN_H_DIR, "extensions_data.txt"))
++              extensionsDataFile      = readFile(os.path.join(VULKAN_SRC_DIR, "extensions_data.txt"))
 +              extensionList           = re.findall(ptrn, extensionsDataFile)
 +              extensionDict = {}
 +              # dictionary value is list containing DEVICE or INSTANCE string followed
 +              # by optional vulkan version in which this extension is core
 +              for item in extensionList:
 +                      versionList = []
 +                      if len(item[2]):
 +                              versionList = [int(number) for number in item[2].split('_')[:3]]
 +                      extensionDict[item[0]] = [item[1]] + versionList
 +              return extensionDict
 +
 +      extensionsDataDict              = getExtensionDataDict()
        splitSrc                                = splitByExtension(src)
        extensions                              = []
        functionsByName                 = {function.name: function for function in allFunctions}
@@@ -1492,7 -1481,7 +1493,10 @@@ def writeTypeUtil (api, filename)
                        "StdVideoH265PpsFlags",
                        "StdVideoDecodeH265PictureInfoFlags",
                        "StdVideoDecodeH265ReferenceInfoFlags",
--                      "StdVideoEncodeH265PictureInfoFlags"
++                      "StdVideoEncodeH265PictureInfoFlags",
++                      "StdVideoEncodeH265SliceHeaderFlags",
++                      "StdVideoEncodeH265ReferenceModificationFlags",
++                      "StdVideoEncodeH265ReferenceInfoFlags",
                ])
        COMPOSITE_TYPES = set([t.name for t in api.compositeTypes if not t.isAlias])
  
@@@ -1969,12 -1891,8 +1973,15 @@@ def generateDeviceFeaturesDefs(src)
                                sType = "SCISSOR_EXCLUSIVE"
                        elif sType == "ASTC_DECODE":
                                sType = "ASTC_DECODE_MODE"
 -                      if sType in {'VULKAN_1_1', 'VULKAN_1_2'}:
 +                      elif sType == "MAINTENANCE_4":
 +                              sType = "MAINTENANCE4"
 +                      elif sType == "YCBCR_2_PLANE_444_FORMATS":
 +                              sType = "YCBCR_2PLANE_444_FORMATS"
 +                      elif sType in {'VULKAN_1_1', 'VULKAN_1_2', 'VULKAN_1_3'}:
 +                              continue
++                      elif sType == 'RASTERIZATION_ORDER_ATTACHMENT_ACCESS':
++                              # skip case that has const pNext pointer
+                               continue
                        # end handling special cases
                        ptrnExtensionName       = r'^\s*#define\s+(\w+' + sSuffix + '_' + sType + '_EXTENSION_NAME).+$'
                        matchExtensionName      = re.search(ptrnExtensionName, src, re.M)
@@@ -2014,16 -1932,14 +2021,12 @@@ def generateDevicePropertiesDefs(src)
                matchStructName         = re.search(ptrnStructName, src, re.M)
                if matchStructName:
                        extType = sType
--                      if extType == "MAINTENANCE_3":
--                              extType = "MAINTENANCE3"
-                       elif extType == "MAINTENANCE_4":
-                               extType = "MAINTENANCE4"
--                      elif extType == "DISCARD_RECTANGLE":
++                      if extType == "DISCARD_RECTANGLE":
                                extType = "DISCARD_RECTANGLES"
                        elif extType == "DRIVER":
                                extType = "DRIVER_PROPERTIES"
                        elif extType == "POINT_CLIPPING":
--                              extType = "MAINTENANCE2"
++                              extType = "MAINTENANCE_2"
                        elif extType == "SHADER_CORE":
                                extType = "SHADER_CORE_PROPERTIES"
                        elif extType == "DRM":
@@@ -568,10 -551,9 +551,9 @@@ class ContextRese
  {
  public:
                                                ContextReset                            (glw::Functions& gl, tcu::TestLog& log, FixedFunctionType fixedFunctionType);
-                                               ContextReset                            (glw::Functions& gl, tcu::TestLog& log, ShaderType shaderType);
                                                ContextReset                            (glw::Functions& gl, tcu::TestLog& log, ShaderType shaderType, ResourceType resourceType, ReadWriteType readWriteType);
  
 -      virtual                         ~ContextReset                           (void) {};
 +      virtual                         ~ContextReset                           (void) {}
  
        virtual void            setup                                           (void) = 0;
        virtual void            draw                                            (void) = 0;