Revert "tests: Change IndependentBlend test to use new InitState parm"
This reverts commit f5085fdc45de29c82594c42bbaf71ed3517eb05e.
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 9235138..5537bb8 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -4369,35 +4369,53 @@
TEST_DESCRIPTION("Generate INDEPENDENT_BLEND by disabling independent "
"blend and then specifying different blend states for two "
"attachements");
- VkPhysicalDeviceFeatures features = {};
- features.independentBlend = VK_FALSE;
- ASSERT_NO_FATAL_FAILURE(InitState(&features));
+ ASSERT_NO_FATAL_FAILURE(InitState());
m_errorMonitor->SetDesiredFailureMsg(
- VK_DEBUG_REPORT_ERROR_BIT_EXT,
- "Invalid Pipeline CreateInfo: If independent blend feature not "
- "enabled, all elements of pAttachments must be identical");
+ VK_DEBUG_REPORT_ERROR_BIT_EXT,
+ "Invalid Pipeline CreateInfo: If independent blend feature not "
+ "enabled, all elements of pAttachments must be identical");
+ VkPhysicalDeviceFeatures features = {};
+ features.independentBlend = VK_FALSE;
+ std::vector<const char *> extension_names;
+ VkDeviceObj noib_device(0, gpu(), extension_names, &features);
- VkDescriptorSetObj descriptorSet(m_device);
- descriptorSet.AppendDummy();
- descriptorSet.CreateVKDescriptorSet(m_commandBuffer);
+ VkCommandPool cmd_pool;
+ VkCommandPoolCreateInfo pool_create_info{};
+ pool_create_info.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
+ pool_create_info.queueFamilyIndex = noib_device.graphics_queue_node_index_;
+ pool_create_info.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
- VkPipelineObj pipeline(m_device);
- VkRenderpassObj renderpass(m_device);
- VkShaderObj vs(m_device, bindStateVertShaderText,
- VK_SHADER_STAGE_VERTEX_BIT, this);
- pipeline.AddShader(&vs);
+ vkCreateCommandPool(noib_device.device(), &pool_create_info, nullptr,
+ &cmd_pool);
+ {
+ // Need cmd_buffer's destructor to be called before calling DestroyCommandPool
+ VkCommandBufferObj cmd_buffer(&noib_device, cmd_pool);
+ VkDescriptorSetObj descriptorSet(&noib_device);
+ descriptorSet.AppendDummy();
+ descriptorSet.CreateVKDescriptorSet(&cmd_buffer);
- VkPipelineColorBlendAttachmentState att_state1 = {}, att_state2 = {};
- att_state1.dstAlphaBlendFactor = VK_BLEND_FACTOR_CONSTANT_COLOR;
- att_state1.blendEnable = VK_TRUE;
- att_state2.dstAlphaBlendFactor = VK_BLEND_FACTOR_CONSTANT_COLOR;
- att_state2.blendEnable = VK_FALSE;
- pipeline.AddColorAttachment(0, &att_state1);
- pipeline.AddColorAttachment(1, &att_state2);
- pipeline.CreateVKPipeline(descriptorSet.GetPipelineLayout(),
- renderpass.handle());
- m_errorMonitor->VerifyFound();
+ VkPipelineObj pipeline(&noib_device);
+
+ VkRenderpassObj renderpass(&noib_device);
+
+ VkShaderObj vs(&noib_device, bindStateVertShaderText,
+ VK_SHADER_STAGE_VERTEX_BIT, this);
+
+ pipeline.AddShader(&vs);
+
+ VkPipelineColorBlendAttachmentState att_state1 = {}, att_state2 = {};
+ att_state1.dstAlphaBlendFactor = VK_BLEND_FACTOR_CONSTANT_COLOR;
+ att_state1.blendEnable = VK_TRUE;
+ att_state2.dstAlphaBlendFactor = VK_BLEND_FACTOR_CONSTANT_COLOR;
+ att_state2.blendEnable = VK_FALSE;
+ pipeline.AddColorAttachment(0, &att_state1);
+ pipeline.AddColorAttachment(1, &att_state2);
+ pipeline.CreateVKPipeline(descriptorSet.GetPipelineLayout(),
+ renderpass.handle());
+ m_errorMonitor->VerifyFound();
+ }
+ vkDestroyCommandPool(noib_device.device(), cmd_pool, NULL);
}
TEST_F(VkLayerTest, RenderPassDepthStencilAttachmentUnused) {