Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 1 Dec 2022 22:00:51 +0000 (22:00 +0000)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 1 Dec 2022 22:00:51 +0000 (22:00 +0000)
Change-Id: I4d3f1c8018aa246031409d52a6aa6716a95a67c7

1  2 
android/cts/main/vk-master-2022-03-01/texture.txt
android/cts/main/vk-master/texture.txt
external/vulkancts/modules/vulkan/api/vktApiImageCompressionControlTests.cpp
external/vulkancts/modules/vulkan/binding_model/vktBindingDescriptorSetRandomTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineLibraryTests.cpp
external/vulkancts/mustpass/main/vk-default/texture.txt

@@@ -94,22 -88,20 +94,23 @@@ static void checkImageCompressionContro
        if (!imageCompressionControlFeatures.imageCompressionControl)
                TCU_THROW(NotSupportedError, "VK_EXT_image_compression_control Image "
                                                                         "compression control feature not supported.");
 +      if (swapchain && !imageCompressionSwapchain.imageCompressionControlSwapchain)
 +              TCU_THROW(NotSupportedError, "VK_EXT_image_compression_control_swapchain Image "
 +                                                                       "compression control feature for swapchains not supported.");
  }
  
 -static void validate(Context& context, tcu::ResultCollector& results, VkDevice device, TestParams& testParams,
 -                                       VkImage image)
 +static void validate(const InstanceInterface& vki, const DeviceInterface& vkd, tcu::ResultCollector& results,
 +                                       VkPhysicalDevice physicalDevice, VkDevice device, TestParams& testParams, VkImage image)
  {
-       for (unsigned planeIndex = 0; planeIndex < testParams.control.compressionControlPlaneCount; planeIndex++)
+       constexpr VkImageAspectFlags planeAspects[]{ VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT,
+                                                                                                VK_IMAGE_ASPECT_PLANE_2_BIT };
+       const bool isYCbCr   = isYCbCrFormat(testParams.format);
+       const int  numPlanes = isYCbCr ? getPlaneCount(testParams.format) : 1;
+       for (int planeIndex = 0; planeIndex < numPlanes; planeIndex++)
        {
                VkImageAspectFlags aspect = VK_IMAGE_ASPECT_COLOR_BIT;
-               if (isYCbCrFormat(testParams.format))
+               if (isYCbCr)
                {
-                       VkImageAspectFlags planeAspects[]{ VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT,
-                                                                                          VK_IMAGE_ASPECT_PLANE_2_BIT };
                        aspect = planeAspects[planeIndex];
                }
  
                        VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT,
                        VK_IMAGE_COMPRESSION_FIXED_RATE_FLAG_BITS_MAX_ENUM_EXT
                };
-               compressionEnabled.pFixedRateFlags = fixedRateFlags;
 -              VkImageCompressionControlEXT compressionEnabled           = initVulkanStructure();
 -              compressionEnabled.compressionControlPlaneCount           = testParams.control.compressionControlPlaneCount;
 -              compressionEnabled.flags                                                          = testParams.control.flags;
+               if (compressionEnabled.compressionControlPlaneCount > 0)
+               {
+                       compressionEnabled.pFixedRateFlags = fixedRateFlags;
+               }
  
                VkPhysicalDeviceImageFormatInfo2 formatInfo = initVulkanStructure(&compressionEnabled);
                formatInfo.format                                                       = testParams.format;
@@@ -322,7 -222,10 +326,11 @@@ static tcu::TestStatus ahbImageCreateTe
        VkDevice                                   device                       = context.getDevice();
        tcu::TestLog&                      log                          = context.getTestContext().getLog();
        tcu::ResultCollector       results(log);
 +      const VkImageUsageFlagBits vkUsage                      = VK_IMAGE_USAGE_SAMPLED_BIT;
+       const bool                                 is_fixed_rate_ex = testParams.control.flags == VK_IMAGE_COMPRESSION_FIXED_RATE_EXPLICIT_EXT;
+       const uint32_t                     numPlanes            = isYCbCrFormat(testParams.format) ? getPlaneCount(testParams.format) : 1;
+       testParams.control.compressionControlPlaneCount = is_fixed_rate_ex ? numPlanes : 0;
  
        VkImageCompressionFixedRateFlagsEXT planeFlags[3]{};
  
@@@ -741,11 -411,8 +756,9 @@@ tcu::TestCaseGroup* createImageCompress
        }
        group->addChild(subgroup);
  
-       testParams.control.compressionControlPlaneCount = 1;
        subgroup = new tcu::TestCaseGroup(testCtx, "android_hardware_buffer",
                                                                          "Test creating Android Hardware buffer with compression control struct");
 +
        for (auto& flag : compression_flags)
        {
                testParams.control.flags = flag.flag;