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
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
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
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
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
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
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));
+ }
+ }
}
{
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
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
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