Validate empty render pass
authorPaavo Pessi <paavo.pessi@siru.fi>
Fri, 22 Sep 2017 09:00:16 +0000 (12:00 +0300)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 28 Sep 2017 10:17:46 +0000 (06:17 -0400)
The test creates a render pass and a subpass with no input, color,
resolve or depth/stencil attachments and executes a single draw
command.

New tests:

dEQP-VK.renderpass.suballocation.simple.no_attachments
dEQP-VK.renderpass.dedicated_allocation.simple.no_attachments

Components: Vulkan

VK-GL-CTS issue: 620
VK-GL-CTS public issue: 10

Change-Id: I0da8a6850898979e65d39f323b14694968d9d6c5

android/cts/master/vk-master.txt
external/vulkancts/modules/vulkan/renderpass/vktRenderPassTests.cpp
external/vulkancts/mustpass/1.0.3/vk-default.txt

index 94c3ec3..75af327 100644 (file)
@@ -184568,6 +184568,7 @@ dEQP-VK.renderpass.suballocation.simple.depth_stencil
 dEQP-VK.renderpass.suballocation.simple.color_depth
 dEQP-VK.renderpass.suballocation.simple.color_stencil
 dEQP-VK.renderpass.suballocation.simple.color_depth_stencil
+dEQP-VK.renderpass.suballocation.simple.no_attachments
 dEQP-VK.renderpass.suballocation.formats.r5g6b5_unorm_pack16.clear.clear
 dEQP-VK.renderpass.suballocation.formats.r5g6b5_unorm_pack16.clear.draw
 dEQP-VK.renderpass.suballocation.formats.r5g6b5_unorm_pack16.clear.clear_draw
@@ -190911,6 +190912,7 @@ dEQP-VK.renderpass.dedicated_allocation.simple.depth_stencil
 dEQP-VK.renderpass.dedicated_allocation.simple.color_depth
 dEQP-VK.renderpass.dedicated_allocation.simple.color_stencil
 dEQP-VK.renderpass.dedicated_allocation.simple.color_depth_stencil
+dEQP-VK.renderpass.dedicated_allocation.simple.no_attachments
 dEQP-VK.renderpass.dedicated_allocation.formats.r5g6b5_unorm_pack16.clear.clear
 dEQP-VK.renderpass.dedicated_allocation.formats.r5g6b5_unorm_pack16.clear.draw
 dEQP-VK.renderpass.dedicated_allocation.formats.r5g6b5_unorm_pack16.clear.clear_draw
index 0436ded..cd45715 100644 (file)
@@ -5568,6 +5568,21 @@ void addSimpleTests (tcu::TestCaseGroup* group, AllocationKind allocationKind)
 
                addFunctionCaseWithPrograms<TestConfig>(group, "color_depth_stencil", "Color, depth and stencil attachment case.", createTestShaders, renderPassTest, TestConfig(renderPass, TestConfig::RENDERTYPES_DRAW, TestConfig::COMMANDBUFFERTYPES_INLINE, TestConfig::IMAGEMEMORY_STRICT, targetSize, renderPos, renderSize, 90239, allocationKind));
        }
+
+       // no attachments
+       {
+               const RenderPass        renderPass      (vector<Attachment>(),
+                                                                                vector<Subpass>(1, Subpass(VK_PIPELINE_BIND_POINT_GRAPHICS,
+                                                                                                                                       0u,
+                                                                                                                                       vector<AttachmentReference>(),
+                                                                                                                                       vector<AttachmentReference>(),
+                                                                                                                                       vector<AttachmentReference>(),
+                                                                                                                                       AttachmentReference(VK_ATTACHMENT_UNUSED, VK_IMAGE_LAYOUT_GENERAL),
+                                                                                                                                       vector<deUint32>())),
+                                                                               vector<SubpassDependency>());
+
+               addFunctionCaseWithPrograms<TestConfig>(group, "no_attachments", "No attachments case.", createTestShaders, renderPassTest, TestConfig(renderPass, TestConfig::RENDERTYPES_DRAW, TestConfig::COMMANDBUFFERTYPES_INLINE, TestConfig::IMAGEMEMORY_STRICT, targetSize, renderPos, renderSize, 90239, allocationKind));
+       }
 }
 
 std::string formatToName (VkFormat format)
index d1d5d1b..c2d838c 100644 (file)
@@ -184553,6 +184553,7 @@ dEQP-VK.renderpass.suballocation.simple.depth_stencil
 dEQP-VK.renderpass.suballocation.simple.color_depth
 dEQP-VK.renderpass.suballocation.simple.color_stencil
 dEQP-VK.renderpass.suballocation.simple.color_depth_stencil
+dEQP-VK.renderpass.suballocation.simple.no_attachments
 dEQP-VK.renderpass.suballocation.formats.r5g6b5_unorm_pack16.clear.clear
 dEQP-VK.renderpass.suballocation.formats.r5g6b5_unorm_pack16.clear.draw
 dEQP-VK.renderpass.suballocation.formats.r5g6b5_unorm_pack16.clear.clear_draw
@@ -190896,6 +190897,7 @@ dEQP-VK.renderpass.dedicated_allocation.simple.depth_stencil
 dEQP-VK.renderpass.dedicated_allocation.simple.color_depth
 dEQP-VK.renderpass.dedicated_allocation.simple.color_stencil
 dEQP-VK.renderpass.dedicated_allocation.simple.color_depth_stencil
+dEQP-VK.renderpass.dedicated_allocation.simple.no_attachments
 dEQP-VK.renderpass.dedicated_allocation.formats.r5g6b5_unorm_pack16.clear.clear
 dEQP-VK.renderpass.dedicated_allocation.formats.r5g6b5_unorm_pack16.clear.draw
 dEQP-VK.renderpass.dedicated_allocation.formats.r5g6b5_unorm_pack16.clear.clear_draw