if (pCreateInfos->basePipelineIndex != -1) {
if (pCreateInfos->basePipelineHandle != VK_NULL_HANDLE) {
log_msg(data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
- INVALID_USAGE, LayerName,
+ VALIDATION_ERROR_00526, LayerName,
"vkCreateGraphicsPipelines parameter, pCreateInfos->basePipelineHandle, must be VK_NULL_HANDLE if "
"pCreateInfos->flags "
- "contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag and pCreateInfos->basePipelineIndex is not -1");
+ "contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag and pCreateInfos->basePipelineIndex is not -1. %s",
+ validation_error_map[VALIDATION_ERROR_00526]);
return false;
}
}
if (pCreateInfos->basePipelineIndex != -1) {
log_msg(
data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
- INVALID_USAGE, LayerName,
+ VALIDATION_ERROR_00528, LayerName,
"vkCreateGraphicsPipelines parameter, pCreateInfos->basePipelineIndex, must be -1 if pCreateInfos->flags "
"contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag and pCreateInfos->basePipelineHandle is not "
- "VK_NULL_HANDLE");
+ "VK_NULL_HANDLE. %s",
+ validation_error_map[VALIDATION_ERROR_00528]);
return false;
}
}
if (has_control && has_eval) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
- __LINE__, REQUIRED_PARAMETER, LayerName,
- "vkCreateGraphicsPipelines: if pCreateInfos[%d].pStages includes a tessellation "
- "control shader stage and a tessellation evaluation shader stage, "
- "pCreateInfos[%d].pTessellationState must not be NULL",
- i, i);
+ __LINE__, VALIDATION_ERROR_00536, LayerName,
+ "vkCreateGraphicsPipelines: if pCreateInfos[%d].pStages includes a tessellation "
+ "control shader stage and a tessellation evaluation shader stage, "
+ "pCreateInfos[%d].pTessellationState must not be NULL. %s",
+ i, i, validation_error_map[VALIDATION_ERROR_00536]);
}
}
} else {
if (pCreateInfos[i].pTessellationState->sType != VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
- __LINE__, INVALID_STRUCT_STYPE, LayerName,
- "vkCreateGraphicsPipelines: parameter pCreateInfos[%d].pTessellationState->sType must be "
- "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO",
- i);
+ __LINE__, VALIDATION_ERROR_00538, LayerName,
+ "vkCreateGraphicsPipelines: parameter pCreateInfos[%d].pTessellationState->sType must be "
+ "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO. %s",
+ i, validation_error_map[VALIDATION_ERROR_00538]);
}
}
(pCreateInfos[i].pRasterizationState->rasterizerDiscardEnable == VK_FALSE)) {
skip |= log_msg(
report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
- REQUIRED_PARAMETER, LayerName,
+ VALIDATION_ERROR_02113, LayerName,
"vkCreateGraphicsPipelines: if pCreateInfos[%d].pRasterizationState->rasterizerDiscardEnable is VK_FALSE, "
- "pCreateInfos[%d].pViewportState must be a pointer to a valid VkPipelineViewportStateCreateInfo structure",
- i, i);
+ "pCreateInfos[%d].pViewportState must be a pointer to a valid VkPipelineViewportStateCreateInfo structure. "
+ "%s",
+ i, i, validation_error_map[VALIDATION_ERROR_02113]);
}
} else {
skip |=
if (!has_dynamic_viewport && (pCreateInfos[i].pViewportState->pViewports == nullptr)) {
skip |=
log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
- __LINE__, REQUIRED_PARAMETER, LayerName,
+ __LINE__, VALIDATION_ERROR_02110, LayerName,
"vkCreateGraphicsPipelines: if pCreateInfos[%d].pDynamicState->pDynamicStates does not contain "
- "VK_DYNAMIC_STATE_VIEWPORT, pCreateInfos[%d].pViewportState->pViewports must not be NULL",
- i, i);
+ "VK_DYNAMIC_STATE_VIEWPORT, pCreateInfos[%d].pViewportState->pViewports must not be NULL. %s",
+ i, i, validation_error_map[VALIDATION_ERROR_02110]);
}
// scissorCount must be greater than 0
if (!has_dynamic_scissor && (pCreateInfos[i].pViewportState->pScissors == nullptr)) {
skip |=
log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
- __LINE__, REQUIRED_PARAMETER, LayerName,
+ __LINE__, VALIDATION_ERROR_02111, LayerName,
"vkCreateGraphicsPipelines: if pCreateInfos[%d].pDynamicState->pDynamicStates does not contain "
- "VK_DYNAMIC_STATE_SCISSOR, pCreateInfos[%d].pViewportState->pScissors must not be NULL",
- i, i);
+ "VK_DYNAMIC_STATE_SCISSOR, pCreateInfos[%d].pViewportState->pScissors must not be NULL. %s",
+ i, i, validation_error_map[VALIDATION_ERROR_02111]);
}
}
}
// a valid VkPipelineMultisampleStateCreateInfo structure
if ((pCreateInfos[i].pRasterizationState != nullptr) &&
pCreateInfos[i].pRasterizationState->rasterizerDiscardEnable == VK_FALSE) {
- skip |=
- log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__,
- REQUIRED_PARAMETER, LayerName, "vkCreateGraphicsPipelines: if "
- "pCreateInfos[%d].pRasterizationState->rasterizerDiscardEnable is "
- "VK_FALSE, pCreateInfos[%d].pMultisampleState must not be NULL",
- i, i);
+ skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
+ __LINE__, VALIDATION_ERROR_02114, LayerName,
+ "vkCreateGraphicsPipelines: if "
+ "pCreateInfos[%d].pRasterizationState->rasterizerDiscardEnable is "
+ "VK_FALSE, pCreateInfos[%d].pMultisampleState must not be NULL. %s",
+ i, i, validation_error_map[VALIDATION_ERROR_02114]);
}
} else {
skip |=
VALIDATION_ERROR_00523~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'pPipelines must be a pointer to an array of createInfoCount VkPipeline handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~
VALIDATION_ERROR_00524~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'createInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~
VALIDATION_ERROR_00525~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~
-VALIDATION_ERROR_00526~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
+VALIDATION_ERROR_00526~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00527~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, it must be a valid index into the calling commands pCreateInfos parameter' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
-VALIDATION_ERROR_00528~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
+VALIDATION_ERROR_00528~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00529~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineHandle must be a valid VkPipeline handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00530~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, it must be a valid handle to a graphics VkPipeline' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00531~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'The stage member of each element of pStages must be unique' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00533~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'The stage member of any given element of pStages must not be VK_SHADER_STAGE_COMPUTE_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00534~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pStages includes a tessellation control shader stage, it must include a tessellation evaluation shader stage' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00535~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pStages includes a tessellation evaluation shader stage, it must include a tessellation control shader stage' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
-VALIDATION_ERROR_00536~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pStages includes a tessellation control shader stage and a tessellation evaluation shader stage, pTessellationState must not be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
+VALIDATION_ERROR_00536~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pStages includes a tessellation control shader stage and a tessellation evaluation shader stage, pTessellationState must not be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00537~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pStages includes tessellation shader stages, the shader code of at least one stage must contain an OpExecutionMode instruction that specifies the type of subdivision in the pipeline' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
-VALIDATION_ERROR_00538~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'sType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
+VALIDATION_ERROR_00538~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'sType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00539~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00540~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'flags must be a valid combination of VkPipelineCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_00541~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'pStages must be a pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_02107~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If subpass uses a depth/stencil attachment in renderpass that has a layout of VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL in the VkAttachmentReference defined by subpass, and pDepthStencilState is not NULL, the failOp, passOp and depthFailOp members of each of the front and back members of pDepthStencilState must be VK_STENCIL_OP_KEEP' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_02108~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pColorBlendState is not NULL, the blendEnable member of each element of the pAttachment member of pColorBlendState must be VK_FALSE if the format of the attachment referred to in subpass of renderPass does not support color blend operations, as specified by the VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT flag in VkFormatProperties::linearTilingFeatures or VkFormatProperties::optimalTilingFeatures returned by vkGetPhysicalDeviceFormatProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_02109~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pColorBlendState is not NULL, The attachmentCount member of pColorBlendState must be equal to the colorAttachmentCount used to create subpass' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
-VALIDATION_ERROR_02110~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_VIEWPORT, the pViewports member of pViewportState must be a pointer to an array of pViewportState::viewportCount VkViewport structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
-VALIDATION_ERROR_02111~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_SCISSOR, the pScissors member of pViewportState must be a pointer to an array of pViewportState::scissorCount VkRect2D structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
+VALIDATION_ERROR_02110~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_VIEWPORT, the pViewports member of pViewportState must be a pointer to an array of pViewportState::viewportCount VkViewport structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
+VALIDATION_ERROR_02111~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_SCISSOR, the pScissors member of pViewportState must be a pointer to an array of pViewportState::scissorCount VkRect2D structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_02112~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the wide lines feature is not enabled, and no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_LINE_WIDTH, the lineWidth member of pRasterizationState must be 1.0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
-VALIDATION_ERROR_02113~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the rasterizerDiscardEnable member of pRasterizationState is VK_FALSE, pViewportState must be a pointer to a valid VkPipelineViewportStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
-VALIDATION_ERROR_02114~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the rasterizerDiscardEnable member of pRasterizationState is VK_FALSE, pMultisampleState must be a pointer to a valid VkPipelineMultisampleStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
+VALIDATION_ERROR_02113~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the rasterizerDiscardEnable member of pRasterizationState is VK_FALSE, pViewportState must be a pointer to a valid VkPipelineViewportStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
+VALIDATION_ERROR_02114~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the rasterizerDiscardEnable member of pRasterizationState is VK_FALSE, pMultisampleState must be a pointer to a valid VkPipelineMultisampleStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_02115~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the rasterizerDiscardEnable member of pRasterizationState is VK_FALSE, and subpass uses a depth/stencil attachment, pDepthStencilState must be a pointer to a valid VkPipelineDepthStencilStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_02116~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the rasterizerDiscardEnable member of pRasterizationState is VK_FALSE, and subpass uses color attachments, pColorBlendState must be a pointer to a valid VkPipelineColorBlendStateCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~
VALIDATION_ERROR_02117~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If the depth bias clamping feature is not enabled, no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_DEPTH_BIAS, and the depthBiasEnable member of pDepthStencil is VK_TRUE, the depthBiasClamp member of pDepthStencil must be 0.0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~