tests: Get rid of error in DisabledIndependentBlend
Make sure renderpass has correct number of color attachments
Change-Id: Id95da5731fe9b317606ccb3a177c9759d3d0810e
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 4b46bbc..ed6b0e0 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -3254,7 +3254,31 @@
descriptorSet.CreateVKDescriptorSet(m_commandBuffer);
VkPipelineObj pipeline(m_device);
- VkRenderpassObj renderpass(m_device);
+ // Create a renderPass with two color attachments
+ VkAttachmentReference attachments[2] = {};
+ attachments[0].layout = VK_IMAGE_LAYOUT_GENERAL;
+ attachments[1].layout = VK_IMAGE_LAYOUT_GENERAL;
+
+ VkSubpassDescription subpass = {};
+ subpass.pColorAttachments = attachments;
+ subpass.colorAttachmentCount = 2;
+
+ VkRenderPassCreateInfo rpci = {};
+ rpci.subpassCount = 1;
+ rpci.pSubpasses = &subpass;
+ rpci.attachmentCount = 1;
+
+ VkAttachmentDescription attach_desc = {};
+ attach_desc.format = VK_FORMAT_B8G8R8A8_UNORM;
+ attach_desc.samples = VK_SAMPLE_COUNT_1_BIT;
+ attach_desc.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
+ attach_desc.finalLayout = VK_IMAGE_LAYOUT_GENERAL;
+
+ rpci.pAttachments = &attach_desc;
+ rpci.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
+
+ VkRenderPass renderpass;
+ vkCreateRenderPass(m_device->device(), &rpci, NULL, &renderpass);
VkShaderObj vs(m_device, bindStateVertShaderText, VK_SHADER_STAGE_VERTEX_BIT, this);
pipeline.AddShader(&vs);
@@ -3265,8 +3289,9 @@
att_state2.blendEnable = VK_FALSE;
pipeline.AddColorAttachment(0, &att_state1);
pipeline.AddColorAttachment(1, &att_state2);
- pipeline.CreateVKPipeline(descriptorSet.GetPipelineLayout(), renderpass.handle());
+ pipeline.CreateVKPipeline(descriptorSet.GetPipelineLayout(), renderpass);
m_errorMonitor->VerifyFound();
+ vkDestroyRenderPass(m_device->device(), renderpass, NULL);
}
#if 0