aboutsummaryrefslogtreecommitdiff
path: root/layers/parameter_validation_utils.cpp
diff options
context:
space:
mode:
authorJohn Zulauf <jzulauf@lunarg.com>2017-11-14 11:43:19 -0700
committerjzulauf-lunarg <32470354+jzulauf-lunarg@users.noreply.github.com>2017-11-30 13:02:21 -0700
commit21b152947d3c6463b568a003f7d28e768c4c0c3c (patch)
treea708b4ff2e23b2bf1e4519cb4e5948c4e90021d8 /layers/parameter_validation_utils.cpp
parentf3cd1f58bf0f1dbd2440e6adfc31c2d428731441 (diff)
downloadusermoji-21b152947d3c6463b568a003f7d28e768c4c0c3c.tar.xz
layers: Update pipeline multisample pnext check
Updated validation check for VUID-VkPipelineMultisampleStateCreateInfo-pNext-pNext (VALIDATION_ERROR_1001c40d) to include the valid extension pNext sType values valid for the current spec: VkPipelineCoverageModulationStateCreateInfoNV, VkPipelineCoverageToColorStateCreateInfoNV, or VkPipelineSampleLocationsStateCreateInfoEXT Change-Id: Ic3e054110c2bad4b44121a67e7e61e627fa9c559
Diffstat (limited to 'layers/parameter_validation_utils.cpp')
-rw-r--r--layers/parameter_validation_utils.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/layers/parameter_validation_utils.cpp b/layers/parameter_validation_utils.cpp
index 41a51acb..1efb0c80 100644
--- a/layers/parameter_validation_utils.cpp
+++ b/layers/parameter_validation_utils.cpp
@@ -1170,10 +1170,19 @@ bool pv_vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache
"is VK_FALSE, pCreateInfos[%d].pMultisampleState must not be NULL. %s",
i, i, validation_error_map[VALIDATION_ERROR_096005de]);
} else {
+ constexpr const VkStructureType valid_next_stypes[] = {
+ LvlTypeMap<VkPipelineCoverageModulationStateCreateInfoNV>::kSType,
+ LvlTypeMap<VkPipelineCoverageToColorStateCreateInfoNV>::kSType,
+ LvlTypeMap<VkPipelineSampleLocationsStateCreateInfoEXT>::kSType};
+ constexpr const char *valid_struct_names =
+ "VkPipelineCoverageModulationStateCreateInfoNV, "
+ "VkPipelineCoverageToColorStateCreateInfoNV, "
+ "VkPipelineSampleLocationsStateCreateInfoEXT";
skip |= validate_struct_pnext(
report_data, "vkCreateGraphicsPipelines",
- ParameterName("pCreateInfos[%i].pMultisampleState->pNext", ParameterName::IndexVector{i}), NULL,
- pCreateInfos[i].pMultisampleState->pNext, 0, NULL, GeneratedHeaderVersion, VALIDATION_ERROR_1001c40d);
+ ParameterName("pCreateInfos[%i].pMultisampleState->pNext", ParameterName::IndexVector{i}),
+ valid_struct_names, pCreateInfos[i].pMultisampleState->pNext, 3, valid_next_stypes, GeneratedHeaderVersion,
+ VALIDATION_ERROR_1001c40d);
skip |= validate_reserved_flags(
report_data, "vkCreateGraphicsPipelines",