dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties.2d.linear.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties.2d.linear.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.2d.linear.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties.2d.linear.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties.3d.optimal.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties.3d.optimal.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.3d.optimal.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties2.2d.linear.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties2.2d.linear.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.linear.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties2.3d.optimal.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties2.3d.optimal.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.3d.optimal.b4g4r4a4_unorm_pack16
if (isCompressedFormat(format))
return false;
+ if (isYCbCrFormat(format))
+ return false;
+
const tcu::TextureFormat tcuFormat = mapVkFormat(format);
return tcuFormat.order == tcu::TextureFormat::D || tcuFormat.order == tcu::TextureFormat::S || tcuFormat.order == tcu::TextureFormat::DS;
}
return usage != 0;
}
-VkImageCreateFlags getValidImageCreateFlags (const VkPhysicalDeviceFeatures& deviceFeatures, VkFormat, VkFormatFeatureFlags, VkImageType type, VkImageUsageFlags usage)
+VkImageCreateFlags getValidImageCreateFlags (const VkPhysicalDeviceFeatures& deviceFeatures, VkFormat format, VkFormatFeatureFlags formatFeatures, VkImageType type, VkImageUsageFlags usage)
{
VkImageCreateFlags flags = (VkImageCreateFlags)0;
flags |= VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
}
+ if (isYCbCrFormat(format) && getPlaneCount(format) > 1)
+ {
+ if (formatFeatures & VK_FORMAT_FEATURE_DISJOINT_BIT_KHR)
+ flags |= VK_IMAGE_CREATE_DISJOINT_BIT_KHR;
+ }
+
if ((usage & (VK_IMAGE_USAGE_SAMPLED_BIT|VK_IMAGE_USAGE_STORAGE_BIT)) != 0 &&
(usage & VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT) == 0)
{
DE_ASSERT(deviceFeatures.sparseBinding || (createFlags & (VK_IMAGE_CREATE_SPARSE_BINDING_BIT|VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)) == 0);
DE_ASSERT(deviceFeatures.sparseResidencyAliased || (createFlags & VK_IMAGE_CREATE_SPARSE_ALIASED_BIT) == 0);
+ if (isYCbCrFormat(format) && (createFlags & (VK_IMAGE_CREATE_SPARSE_BINDING_BIT | VK_IMAGE_CREATE_SPARSE_ALIASED_BIT | VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)))
+ return false;
+
if (createFlags & VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)
{
if (isCompressedFormat(format))
{}
};
-tcu::TestStatus execImageFormatTest (Context& context, ImageFormatPropertyCase testCase)
-{
- return testCase.testFunction(context, testCase.format, testCase.imageType, testCase.tiling);
-}
-
-void createImageFormatTypeTilingTests (tcu::TestCaseGroup* testGroup, ImageFormatPropertyCase params)
-{
- DE_ASSERT(params.format == VK_FORMAT_UNDEFINED);
-
- for (deUint32 formatNdx = VK_FORMAT_UNDEFINED+1; formatNdx < VK_CORE_FORMAT_LAST; ++formatNdx)
- {
- const VkFormat format = (VkFormat)formatNdx;
- const char* const enumName = getFormatName(format);
- const string caseName = de::toLower(string(enumName).substr(10));
-
- params.format = format;
-
- addFunctionCase(testGroup, caseName, enumName, execImageFormatTest, params);
- }
-}
-
-void createImageFormatTypeTests (tcu::TestCaseGroup* testGroup, ImageFormatPropertyCase params)
-{
- DE_ASSERT(params.tiling == VK_IMAGE_TILING_LAST);
-
- testGroup->addChild(createTestGroup(testGroup->getTestContext(), "optimal", "", createImageFormatTypeTilingTests, ImageFormatPropertyCase(params.testFunction, VK_FORMAT_UNDEFINED, params.imageType, VK_IMAGE_TILING_OPTIMAL)));
- testGroup->addChild(createTestGroup(testGroup->getTestContext(), "linear", "", createImageFormatTypeTilingTests, ImageFormatPropertyCase(params.testFunction, VK_FORMAT_UNDEFINED, params.imageType, VK_IMAGE_TILING_LINEAR)));
-}
-
-void createImageFormatTests (tcu::TestCaseGroup* testGroup, ImageFormatPropertyCase::Function testFunction)
-{
- testGroup->addChild(createTestGroup(testGroup->getTestContext(), "1d", "", createImageFormatTypeTests, ImageFormatPropertyCase(testFunction, VK_FORMAT_UNDEFINED, VK_IMAGE_TYPE_1D, VK_IMAGE_TILING_LAST)));
- testGroup->addChild(createTestGroup(testGroup->getTestContext(), "2d", "", createImageFormatTypeTests, ImageFormatPropertyCase(testFunction, VK_FORMAT_UNDEFINED, VK_IMAGE_TYPE_2D, VK_IMAGE_TILING_LAST)));
- testGroup->addChild(createTestGroup(testGroup->getTestContext(), "3d", "", createImageFormatTypeTests, ImageFormatPropertyCase(testFunction, VK_FORMAT_UNDEFINED, VK_IMAGE_TYPE_3D, VK_IMAGE_TILING_LAST)));
-}
-
tcu::TestStatus imageFormatProperties (Context& context, const VkFormat format, const VkImageType imageType, const VkImageTiling tiling)
{
+ if (isYCbCrFormat(format))
+ checkYcbcrConversionSupport(context);
+
TestLog& log = context.getTestContext().getLog();
const VkPhysicalDeviceFeatures& deviceFeatures = context.getDeviceFeatures();
const VkPhysicalDeviceLimits& deviceLimits = context.getDeviceProperties().limits;
"A sampled image format must have VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR and VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR format feature flags set");
}
+ if (format == VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR || format == VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR)
+ {
+ const VkFormatFeatureFlags requiredFeatures = VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT | VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR | VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR | VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR;
+
+ results.check((supportedFeatures & requiredFeatures) == requiredFeatures,
+ getFormatName(format) + string(" must support ") + de::toString(getFormatFeatureFlagsStr(requiredFeatures)));
+ }
+
for (VkImageUsageFlags curUsageFlags = 0; curUsageFlags <= usageFlagSet; curUsageFlags++)
{
if ((curUsageFlags & ~usageFlagSet) != 0 ||
tcu::TestStatus imageFormatProperties2 (Context& context, const VkFormat format, const VkImageType imageType, const VkImageTiling tiling)
{
+ if (isYCbCrFormat(format))
+ checkYcbcrConversionSupport(context);
+
TestLog& log = context.getTestContext().getLog();
const PlatformInterface& vkp = context.getPlatformInterface();
const InstanceDriver vki (vkp, *instance);
const vector<VkPhysicalDevice> devices = enumeratePhysicalDevices(vki, *instance);
+ const VkImageUsageFlags ycbcrFlags = isYCbCrFormat(format) ? (VkImageUsageFlags)VK_IMAGE_CREATE_DISJOINT_BIT_KHR : (VkImageUsageFlags)0u;
const VkImageUsageFlags allUsageFlags = VK_IMAGE_USAGE_TRANSFER_SRC_BIT
| VK_IMAGE_USAGE_TRANSFER_DST_BIT
| VK_IMAGE_USAGE_SAMPLED_BIT
| VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT
| VK_IMAGE_CREATE_SPARSE_ALIASED_BIT
| VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
- | VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT;
+ | VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT
+ | ycbcrFlags;
for (size_t deviceNdx = 0; deviceNdx < devices.size(); ++deviceNdx)
{
return tcu::TestStatus::pass("Querying sparse image format properties succeeded");
}
+tcu::TestStatus execImageFormatTest (Context& context, ImageFormatPropertyCase testCase)
+{
+ return testCase.testFunction(context, testCase.format, testCase.imageType, testCase.tiling);
+}
+
+void createImageFormatTypeTilingTests (tcu::TestCaseGroup* testGroup, ImageFormatPropertyCase params)
+{
+ DE_ASSERT(params.format == VK_FORMAT_UNDEFINED);
+
+ static const struct
+ {
+ VkFormat begin;
+ VkFormat end;
+ ImageFormatPropertyCase params;
+ } s_formatRanges[] =
+ {
+ // core formats
+ { (VkFormat)(VK_FORMAT_UNDEFINED + 1), VK_CORE_FORMAT_LAST, params },
+
+ // YCbCr formats
+ { VK_FORMAT_G8B8G8R8_422_UNORM_KHR, (VkFormat)(VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR + 1), params }
+ };
+
+ for (int rangeNdx = 0; rangeNdx < DE_LENGTH_OF_ARRAY(s_formatRanges); ++rangeNdx)
+ {
+ const VkFormat rangeBegin = s_formatRanges[rangeNdx].begin;
+ const VkFormat rangeEnd = s_formatRanges[rangeNdx].end;
+
+ for (VkFormat format = rangeBegin; format != rangeEnd; format = (VkFormat)(format+1))
+ {
+ const bool isYCbCr = isYCbCrFormat(format);
+ const bool isSparse = (params.testFunction == sparseImageFormatProperties2);
+
+ if (isYCbCr && isSparse)
+ continue;
+
+ if (isYCbCr && params.imageType != VK_IMAGE_TYPE_2D)
+ continue;
+
+ const char* const enumName = getFormatName(format);
+ const string caseName = de::toLower(string(enumName).substr(10));
+
+ params.format = format;
+
+ addFunctionCase(testGroup, caseName, enumName, execImageFormatTest, params);
+ }
+ }
+}
+
+void createImageFormatTypeTests (tcu::TestCaseGroup* testGroup, ImageFormatPropertyCase params)
+{
+ DE_ASSERT(params.tiling == VK_IMAGE_TILING_LAST);
+
+ testGroup->addChild(createTestGroup(testGroup->getTestContext(), "optimal", "", createImageFormatTypeTilingTests, ImageFormatPropertyCase(params.testFunction, VK_FORMAT_UNDEFINED, params.imageType, VK_IMAGE_TILING_OPTIMAL)));
+ testGroup->addChild(createTestGroup(testGroup->getTestContext(), "linear", "", createImageFormatTypeTilingTests, ImageFormatPropertyCase(params.testFunction, VK_FORMAT_UNDEFINED, params.imageType, VK_IMAGE_TILING_LINEAR)));
+}
+
+void createImageFormatTests (tcu::TestCaseGroup* testGroup, ImageFormatPropertyCase::Function testFunction)
+{
+ testGroup->addChild(createTestGroup(testGroup->getTestContext(), "1d", "", createImageFormatTypeTests, ImageFormatPropertyCase(testFunction, VK_FORMAT_UNDEFINED, VK_IMAGE_TYPE_1D, VK_IMAGE_TILING_LAST)));
+ testGroup->addChild(createTestGroup(testGroup->getTestContext(), "2d", "", createImageFormatTypeTests, ImageFormatPropertyCase(testFunction, VK_FORMAT_UNDEFINED, VK_IMAGE_TYPE_2D, VK_IMAGE_TILING_LAST)));
+ testGroup->addChild(createTestGroup(testGroup->getTestContext(), "3d", "", createImageFormatTypeTests, ImageFormatPropertyCase(testFunction, VK_FORMAT_UNDEFINED, VK_IMAGE_TYPE_3D, VK_IMAGE_TILING_LAST)));
+}
+
+
// Android CTS -specific tests
namespace android
dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties.2d.linear.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties.2d.linear.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.2d.linear.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties.2d.linear.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties.3d.optimal.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties.3d.optimal.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.3d.optimal.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties2.2d.linear.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties2.2d.linear.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.linear.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties2.3d.optimal.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties2.3d.optimal.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.3d.optimal.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties.2d.optimal.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.optimal.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties.2d.linear.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties.2d.linear.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.2d.linear.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties.2d.linear.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties.2d.linear.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties.2d.linear.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties.3d.optimal.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties.3d.optimal.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties.3d.optimal.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties2.2d.optimal.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.optimal.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties2.2d.linear.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties2.2d.linear.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.linear.b4g4r4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x10_srgb_block
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x12_unorm_block
dEQP-VK.api.info.image_format_properties2.2d.linear.astc_12x12_srgb_block
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8b8g8r8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b8g8r8g8_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8r8_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8r8_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g8_b8_r8_3plane_444_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6g10x6_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r10x6g10x6b10x6a10x6_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6b10x6g10x6r10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b10x6g10x6r10x6g10x6_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6r10x6_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6r10x6_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4_unorm_pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4g12x4_unorm_2pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.r12x4g12x4b12x4a12x4_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4b12x4g12x4r12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b12x4g12x4r12x4g12x4_422_unorm_4pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4r12x4_2plane_420_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4r12x4_2plane_422_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g12x4_b12x4_r12x4_3plane_444_unorm_3pack16_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16b16g16r16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.b16g16r16g16_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16r16_2plane_420_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16r16_2plane_422_unorm_khr
+dEQP-VK.api.info.image_format_properties2.2d.linear.g16_b16_r16_3plane_444_unorm_khr
dEQP-VK.api.info.image_format_properties2.3d.optimal.r4g4_unorm_pack8
dEQP-VK.api.info.image_format_properties2.3d.optimal.r4g4b4a4_unorm_pack16
dEQP-VK.api.info.image_format_properties2.3d.optimal.b4g4r4a4_unorm_pack16