Add permutations of different cases on existing test
authorVihanakangas <venni.ihanakangas@siru.fi>
Fri, 7 May 2021 14:33:38 +0000 (17:33 +0300)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 27 May 2021 06:44:45 +0000 (06:44 +0000)
A test for copying a partial image with npot dimensions,
differing format from source to destination and clearing
of image was previously added. This commit adds different variations
of said test.

New tests:

dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_clear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_noclear
dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_noclear

Affects:

dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_clear

Components: Vulkan

VK-GL-CTS issue: 2683

Change-Id: Ib82339d66e451e34a633e45f50ed8981db21731a

android/cts/master/vk-master-2021-03-01/api.txt
android/cts/master/vk-master/api.txt
external/vulkancts/modules/vulkan/api/vktApiCopiesAndBlittingTests.cpp
external/vulkancts/mustpass/master/vk-default/api.txt

index 9a49c4a..dcb0e00 100644 (file)
@@ -76,6 +76,13 @@ dEQP-VK.api.command_buffers.executable_to_ininitial
 dEQP-VK.api.command_buffers.recording_to_invalid
 dEQP-VK.api.command_buffers.executable_to_invalid
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal
 dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_general
 dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.general_optimal
@@ -29819,6 +29826,13 @@ dEQP-VK.api.copy_and_blit.core.buffer_to_buffer_with_offset.7_5
 dEQP-VK.api.copy_and_blit.core.buffer_to_buffer_with_offset.7_6
 dEQP-VK.api.copy_and_blit.core.buffer_to_buffer_with_offset.7_7
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_general
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.general_optimal
@@ -33184,6 +33198,13 @@ dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_m
 dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.from_previous_level.layercount_6.a8b8g8r8_srgb_pack32.general_optimal_cubic
 dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.from_previous_level.layercount_6.a8b8g8r8_srgb_pack32.general_general_cubic
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_general
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.all_formats.color.1d.r4g4_unorm_pack8.r4g4_unorm_pack8.general_optimal
index b52c09b..2b734cb 100644 (file)
@@ -8138,6 +8138,13 @@ dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.whole_image
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.whole_image_diff_fromat
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.depth
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.stencil
 dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal
@@ -105603,6 +105610,13 @@ dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.whole
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.whole_image_diff_fromat
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.depth
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.stencil
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.2d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal
@@ -118599,6 +118613,13 @@ dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.whole_image
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.whole_image_diff_fromat
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.depth
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.stencil
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.all_formats.color.2d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal
index bff0307..0c307a8 100644 (file)
@@ -5621,41 +5621,83 @@ void addImageToImageSimpleTests (tcu::TestCaseGroup* group, AllocationKind alloc
                group->addChild(new CopyImageToImageTestCase(testCtx, "partial_image", "Partial image", params));
        }
 
+       static const struct
        {
-               VkExtent3D      extent                                  = { 65u, 63u, 1u };
-
-               TestParams      params;
-               params.src.image.imageType                      = VK_IMAGE_TYPE_2D;
-               params.src.image.format                         = VK_FORMAT_R32_UINT;
-               params.src.image.extent                         = extent;
-               params.src.image.tiling                         = VK_IMAGE_TILING_OPTIMAL;
-               params.src.image.operationLayout        = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
-               params.dst.image.imageType                      = VK_IMAGE_TYPE_2D;
-               params.dst.image.format                         = VK_FORMAT_R8G8B8A8_UNORM;
-               params.dst.image.extent                         = extent;
-               params.dst.image.tiling                         = VK_IMAGE_TILING_OPTIMAL;
-               params.dst.image.operationLayout        = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
-               params.allocationKind                           = allocationKind;
-               params.extensionUse                                     = extensionUse;
-               params.clearDestination                         = VK_TRUE;
+               std::string             name;
+               vk::VkFormat    format1;
+               vk::VkFormat    format2;
+       } formats [] =
+       {
+               { "diff_format",        vk::VK_FORMAT_R32_UINT,                 vk::VK_FORMAT_R8G8B8A8_UNORM    },
+               { "same_format",        vk::VK_FORMAT_R8G8B8A8_UNORM,   vk::VK_FORMAT_R8G8B8A8_UNORM    }
+       };
+       static const struct
+       {
+               std::string             name;
+               vk::VkBool32    clear;
+       } clears [] =
+       {
+               { "clear",              VK_TRUE         },
+               { "noclear",    VK_FALSE        }
+       };
+       static const struct
+       {
+               std::string             name;
+               VkExtent3D              extent;
+       } extents [] =
+       {
+               { "npot",       {65u, 63u, 1u}  },
+               { "pot",        {64u, 64u, 1u}  }
+       };
 
+       for (const auto& format : formats)
+       {
+               for (const auto& clear : clears)
                {
-                       const VkImageCopy       testCopy        =
+                       for (const auto& extent : extents)
                        {
-                               defaultSourceLayer,     // VkImageSubresourceLayers     srcSubresource;
-                               {34, 34, 0},            // VkOffset3D                           srcOffset;
-                               defaultSourceLayer,     // VkImageSubresourceLayers     dstSubresource;
-                               {0, 0, 0},                      // VkOffset3D                           dstOffset;
-                               {31, 29, 1}                     // VkExtent3D                           extent;
-                       };
+                               TestParams      params;
+                               params.src.image.imageType                      = VK_IMAGE_TYPE_2D;
+                               params.src.image.format                         = format.format1;
+                               params.src.image.extent                         = extent.extent;
+                               params.src.image.tiling                         = VK_IMAGE_TILING_OPTIMAL;
+                               params.src.image.operationLayout        = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL;
+                               params.dst.image.imageType                      = VK_IMAGE_TYPE_2D;
+                               params.dst.image.format                         = format.format2;
+                               params.dst.image.extent                         = extent.extent;
+                               params.dst.image.tiling                         = VK_IMAGE_TILING_OPTIMAL;
+                               params.dst.image.operationLayout        = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL;
+                               params.allocationKind                           = allocationKind;
+                               params.extensionUse                                     = extensionUse;
+                               params.clearDestination                         = clear.clear;
 
-                       CopyRegion                      imageCopy;
+                               {
+                                       VkImageCopy     testCopy        =
+                                       {
+                                               defaultSourceLayer,     // VkImageSubresourceLayers     srcSubresource;
+                                               {34, 34, 0},            // VkOffset3D                           srcOffset;
+                                               defaultSourceLayer,     // VkImageSubresourceLayers     dstSubresource;
+                                               {0, 0, 0},                      // VkOffset3D                           dstOffset;
+                                               {31, 29, 1}                     // VkExtent3D                           extent;
+                                       };
 
-                       imageCopy.imageCopy = testCopy;
-                       params.regions.push_back(imageCopy);
-               }
+                                       if (extent.name == "pot")
+                                       {
+                                               testCopy.srcOffset      = { 16, 16, 0 };
+                                               testCopy.extent         = { 32, 32, 1 };
+                                       }
 
-               group->addChild(new CopyImageToImageTestCase(testCtx, "partial_image_npot_diff_format_clear", "Partial image with npot dimensions, different format, and clearing of the destination image", params));
+                                       CopyRegion      imageCopy;
+                                       imageCopy.imageCopy = testCopy;
+                                       params.regions.push_back(imageCopy);
+                               }
+
+                               // Example test case name: "partial_image_npot_diff_format_clear"
+                               const std::string testCaseName = "partial_image_" + extent.name + "_" + format.name + "_" + clear.name;
+
+                               group->addChild(new CopyImageToImageTestCase(testCtx, testCaseName, "", params));
+                       }
+               }
        }
 
        {
index 5707db8..fd3dfb2 100644 (file)
@@ -8136,6 +8136,13 @@ dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.whole_image
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.whole_image_diff_fromat
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.depth
 dEQP-VK.api.copy_and_blit.core.image_to_image.simple_tests.stencil
 dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.2d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal
@@ -105602,6 +105609,13 @@ dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.whole
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.whole_image_diff_fromat
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.depth
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.simple_tests.stencil
 dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.all_formats.color.2d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal
@@ -118598,6 +118612,13 @@ dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.whole_image
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.whole_image_diff_fromat
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_diff_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_clear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_npot_same_format_noclear
+dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.partial_image_pot_same_format_noclear
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.depth
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.simple_tests.stencil
 dEQP-VK.api.copy_and_blit.copy_commands2.image_to_image.all_formats.color.2d.r4g4_unorm_pack8.r4g4_unorm_pack8.optimal_optimal