if ((colorProperties.optimalTilingFeatures & kColorFeatures) != kColorFeatures)
TCU_THROW(NotSupportedError, "Required color image features not supported");
+
checkPipelineLibraryRequirements(vki, physicalDevice, m_testConfig.pipelineConstructionType);
}
&vertexAttrib // const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
};
- const vk::VkPipelineInputAssemblyStateCreateInfo inputAssemblyStateCreateInfo
+ const VkPipelineInputAssemblyStateCreateInfo inputAssemblyStateCreateInfo
{
VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO, // VkStructureType sType;
nullptr, // const void* pNext;
colorWriteEnables.data() // const VkBool32* pColorWriteEnables;
};
+ const bool cweAllowed = (dynamic && m_params.colorWriteEnables);
+ owner.m_isDynamicColorWriteEnable = cweAllowed;
+
const VkPipelineColorBlendStateCreateInfo colorBlendStateCreateInfo
{
VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, // VkStructureType sType
- &colorWriteCreateInfo, // const void* pNext
+ cweAllowed ? nullptr : &colorWriteCreateInfo, // const void* pNext
0u, // VkPipelineColorBlendStateCreateFlags flags
VK_FALSE, // VkBool32 logicOpEnable
VK_LOGIC_OP_CLEAR, // VkLogicOp logicOp
{ blendComp, blendComp, blendComp, blendComp } // float blendConstants[4]
};
- const bool cweAllowed = (dynamic && m_params.colorWriteEnables);
- owner.m_isDynamicColorWriteEnable = cweAllowed;
-
owner
.setDefaultRasterizationState()
.setDefaultDepthStencilState()
ColorWriteEnables writeEnables (attachmentCount + m_params.attachmentMore, VK_TRUE);
for (deUint32 i = 0; i < attachmentCount; ++i) writeEnables[i] = (i % 2) ? VK_TRUE : VK_FALSE;
- Move<VkPipelineLayout> pipelineLayout = makePipelineLayout(m_vkd, m_device, 0u, nullptr, 0u, nullptr);
+ Move<VkPipelineLayout> pipelineLayout = makePipelineLayout(m_vkd, m_device, 0u, nullptr, 0u, nullptr);
std::vector<Move<VkRenderPass>> renderPasses;
std::vector<Framebuffer> framebuffers;
std::vector<GraphicsPipelineWrapperEx> pipelines;
setupAndBuildPipeline(pipelines.back(), *pipelineLayout, *renderPasses[i], (i+1), writeEnables, blendComp, dynamicColorWriteEnable);
}
-
- const VkImageSubresourceRange attachmentResource = makeImageSubresourceRange(VK_IMAGE_ASPECT_COLOR_BIT, 0u, 1u, 0u, 1u);
- VkImageMemoryBarrier attachmentReady = makeImageMemoryBarrier(VK_ACCESS_SHADER_WRITE_BIT, VK_ACCESS_TRANSFER_READ_BIT,
- VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL,
- VkImage(0), attachmentResource);
-
Move<VkCommandPool> cmdPool = makeCommandPool(m_vkd, m_device, queueIndex);
Move<VkCommandBuffer> cmdBuff = allocateCommandBuffer(m_vkd, m_device, *cmdPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY);
beginRenderPass(m_vkd, *cmdBuff, *renderPasses[a], *framebuffers[a].framebuffer, renderArea, attachmentCount, clearValues.data());
m_vkd.cmdDraw(*cmdBuff, 6u, 1u, 0u, (a + 1));
endRenderPass(m_vkd, *cmdBuff);
-
- for (Attachment& attachment : framebuffers[a].attachments)
- {
- attachmentReady.image = **attachment.image;
- m_vkd.cmdPipelineBarrier(*cmdBuff, VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
- VK_DEPENDENCY_VIEW_LOCAL_BIT, 0, nullptr, 0, nullptr, 1u, &attachmentReady);
- }
}
endCommandBuffer(m_vkd, *cmdBuff);
dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.cpu.memory.size
dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.cpu.buffer.size
dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.gpu.memory.size
-dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.gpu.buffer.size
-
-# Issue 3759: dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.* creates an invalid pColorBlendState
-dEQP-VK.pipeline.*.color_write_enable_maxa.cwe_after_bind.*
-dEQP-VK.pipeline.*.color_write_enable_maxa.cwe_before_bind.*
+dEQP-VK.ray_tracing_pipeline.acceleration_structures.query_pool_results.gpu.buffer.size
\ No newline at end of file
dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_last
dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_first_and_second
dEQP-VK.pipeline.fast_linked_library.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments3_more0
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments3_more1
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments3_more2
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments3_more3
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments4_more0
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments4_more1
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments4_more2
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments4_more3
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments5_more0
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments5_more1
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments5_more2
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_before_bind.attachments5_more3
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments3_more0
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments3_more1
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments3_more2
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments3_more3
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments4_more0
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments4_more1
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments4_more2
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments4_more3
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments5_more0
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments5_more1
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments5_more2
+dEQP-VK.pipeline.fast_linked_library.color_write_enable_maxa.cwe_after_bind.attachments5_more3
dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_last
dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_first_and_second
dEQP-VK.pipeline.monolithic.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments3_more0
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments3_more1
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments3_more2
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments3_more3
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments4_more0
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments4_more1
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments4_more2
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments4_more3
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments5_more0
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments5_more1
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments5_more2
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_before_bind.attachments5_more3
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments3_more0
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments3_more1
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments3_more2
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments3_more3
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments4_more0
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments4_more1
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments4_more2
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments4_more3
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments5_more0
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments5_more1
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments5_more2
+dEQP-VK.pipeline.monolithic.color_write_enable_maxa.cwe_after_bind.attachments5_more3
dEQP-VK.pipeline.monolithic.misc.position_to_ssbo
dEQP-VK.pipeline.monolithic.misc.primitive_id_from_tess
dEQP-VK.pipeline.monolithic.derivative.compute.derivative_by_handle
dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_last
dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_first_and_second
dEQP-VK.pipeline.pipeline_library.color_write_enable.no_channels.static.disable_second_and_last
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments3_more0
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments3_more1
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments3_more2
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments3_more3
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments4_more0
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments4_more1
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments4_more2
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments4_more3
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments5_more0
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments5_more1
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments5_more2
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_before_bind.attachments5_more3
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments3_more0
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments3_more1
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments3_more2
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments3_more3
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments4_more0
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments4_more1
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments4_more2
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments4_more3
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments5_more0
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments5_more1
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments5_more2
+dEQP-VK.pipeline.pipeline_library.color_write_enable_maxa.cwe_after_bind.attachments5_more3
dEQP-VK.pipeline.pipeline_library.graphics_library.fast.4
dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_1111
dEQP-VK.pipeline.pipeline_library.graphics_library.fast.0_112