blob: b951be753b4e21646362aadf7712e12bd5fe23ca [file] [log] [blame]
.../vulkan/pipeline/vktPipelineDepthTests.cpp | 32 +++++++++++++++++++---
1 file changed, 28 insertions(+), 4 deletions(-)
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
index d6a0da0d7..ca9fd845d 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineDepthTests.cpp
@@ -661,12 +661,37 @@ DepthTestInstance::DepthTestInstance (Context& context,
de::dataOrNull(dynamicStates), // const VkDynamicState* pDynamicStates;
};
+ const vk::VkPipelineColorBlendAttachmentState blendState
+ {
+ VK_FALSE,
+ VK_BLEND_FACTOR_ONE,
+ VK_BLEND_FACTOR_ONE,
+ VK_BLEND_OP_ADD,
+ VK_BLEND_FACTOR_ONE,
+ VK_BLEND_FACTOR_ONE,
+ VK_BLEND_OP_ADD,
+ VK_COLOR_COMPONENT_R_BIT |
+ VK_COLOR_COMPONENT_G_BIT |
+ VK_COLOR_COMPONENT_B_BIT |
+ VK_COLOR_COMPONENT_A_BIT,
+ };
+ const VkPipelineColorBlendStateCreateInfo colorBlendStateCreateInfo
+ {
+ VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, // VkStructureType sType
+ DE_NULL, // const void* pNext
+ 0u, // VkPipelineColorBlendStateCreateFlags flags
+ VK_FALSE, // VkBool32 logicOpEnable
+ VK_LOGIC_OP_CLEAR, // VkLogicOp logicOp
+ 1u, // deUint32 attachmentCount
+ &blendState, // const VkPipelineColorBlendAttachmentState* pAttachments
+ { 0.0f, 0.0f, 0.0f, 0.0f } // float blendConstants[4]
+ };
+
for (int quadNdx = 0; quadNdx < DepthTest::QUAD_COUNT; quadNdx++)
{
depthStencilStateParams.depthCompareOp = depthCompareOps[quadNdx];
m_graphicsPipelines[quadNdx].setDefaultMultisampleState()
- .setDefaultColorBlendState()
.setDepthClipControl(depthClipControlWrapper)
.setDynamicState(&dynamicStateCreateInfo)
.setupVertexInputStete(&vertexInputStateParams)
@@ -682,14 +707,13 @@ DepthTestInstance::DepthTestInstance (Context& context,
0u,
*m_fragmentShaderModule,
&depthStencilStateParams)
- .setupFragmentOutputState(*m_renderPass)
+ .setupFragmentOutputState(*m_renderPass, 0u, &colorBlendStateCreateInfo)
.setMonolithicPipelineLayout(*m_pipelineLayout)
.buildPipeline();
if (useAltGraphicsPipelines)
{
m_altGraphicsPipelines[quadNdx].setDefaultMultisampleState()
- .setDefaultColorBlendState()
.setDepthClipControl(depthClipControl01Wrapper)
.setDynamicState(&dynamicStateCreateInfo)
.setupVertexInputStete(&vertexInputStateParams)
@@ -705,7 +729,7 @@ DepthTestInstance::DepthTestInstance (Context& context,
0u,
*m_fragmentShaderModule,
&depthStencilStateParams)
- .setupFragmentOutputState(*m_renderPass)
+ .setupFragmentOutputState(*m_renderPass, 0u, &colorBlendStateCreateInfo)
.setMonolithicPipelineLayout(*m_pipelineLayout)
.buildPipeline();
}
.../vulkan/pipeline/vktPipelineStencilTests.cpp | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/external/vulkancts/modules/vulkan/pipeline/vktPipelineStencilTests.cpp b/external/vulkancts/modules/vulkan/pipeline/vktPipelineStencilTests.cpp
index 519289274..f584086d6 100644
--- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineStencilTests.cpp
+++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineStencilTests.cpp
@@ -596,6 +596,21 @@ StencilTestInstance::StencilTestInstance (Context& context,
1.0f, // float lineWidth;
};
+ const vk::VkPipelineColorBlendAttachmentState blendState
+ {
+ VK_FALSE,
+ VK_BLEND_FACTOR_ONE,
+ VK_BLEND_FACTOR_ONE,
+ VK_BLEND_OP_ADD,
+ VK_BLEND_FACTOR_ONE,
+ VK_BLEND_FACTOR_ONE,
+ VK_BLEND_OP_ADD,
+ VK_COLOR_COMPONENT_R_BIT |
+ VK_COLOR_COMPONENT_G_BIT |
+ VK_COLOR_COMPONENT_B_BIT |
+ VK_COLOR_COMPONENT_A_BIT,
+
+ };
const vk::VkPipelineColorBlendStateCreateInfo colorBlendStateParams
{
vk::VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO, // VkStructureType sType
@@ -603,8 +618,8 @@ StencilTestInstance::StencilTestInstance (Context& context,
0u, // VkPipelineColorBlendStateCreateFlags flags
VK_FALSE, // VkBool32 logicOpEnable
vk::VK_LOGIC_OP_CLEAR, // VkLogicOp logicOp
- 0u, // deUint32 attachmentCount
- DE_NULL, // const VkPipelineColorBlendAttachmentState* pAttachments
+ 1u, // deUint32 attachmentCount
+ &blendState, // const VkPipelineColorBlendAttachmentState* pAttachments
{ 1.0f, 1.0f, 1.0f, 1.0f } // float blendConstants[4]
};
@@ -634,7 +649,7 @@ StencilTestInstance::StencilTestInstance (Context& context,
*m_vertexShaderModule,
&rasterizationStateParams)
.setupFragmentShaderState(*m_pipelineLayout, *m_renderPass, 0u, *m_fragmentShaderModule, &depthStencilStateParams)
- .setupFragmentOutputState(*m_renderPass, 0, (m_colorAttachmentEnable ? DE_NULL : &colorBlendStateParams))
+ .setupFragmentOutputState(*m_renderPass, 0, &colorBlendStateParams)
.setMonolithicPipelineLayout(*m_pipelineLayout)
.buildPipeline();
}