drawState.compareOp = rr::TESTFUNC_ALWAYS;
drawState.depthTestEnable = true;
drawState.depthWriteEnable = true;
+ drawState.depthBoundsTestEnable = true;
drawState.sampleShadingEnable = true;
vulkanProgram.depthImageView = *depthImageView;
vulkanProgram.descriptorSetLayout = *descriptorSetLayout;
, depthTestEnable (false)
, depthWriteEnable (false)
, compareOp (rr::TESTFUNC_LESS)
+ , depthBoundsTestEnable (false)
, blendEnable (false)
, lineWidth (1.0)
, numPatchControlPoints (0)
0u, // write mask
0u); // reference
+ if (m_drawState.depthBoundsTestEnable && context.getDeviceFeatures().depthBounds)
+ TCU_THROW(NotSupportedError, "depthBounds not supported");
+
const VkPipelineDepthStencilStateCreateInfo pipelineDepthStencilStateInfo =
{
VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, // VkStructureType sType;
m_drawState.depthTestEnable, // VkBool32 depthTestEnable;
m_drawState.depthWriteEnable, // VkBool32 depthWriteEnable;
mapCompareOp(m_drawState.compareOp), // VkCompareOp depthCompareOp;
- VK_TRUE, // VkBool32 depthBoundsTestEnable;
+ m_drawState.depthBoundsTestEnable, // VkBool32 depthBoundsTestEnable
VK_FALSE, // VkBool32 stencilTestEnable;
stencilOpState, // VkStencilOpState front;
stencilOpState, // VkStencilOpState back;