diff options
| author | John Zulauf <jzulauf@lunarg.com> | 2017-11-14 11:43:19 -0700 |
|---|---|---|
| committer | jzulauf-lunarg <32470354+jzulauf-lunarg@users.noreply.github.com> | 2017-11-30 13:02:21 -0700 |
| commit | 21b152947d3c6463b568a003f7d28e768c4c0c3c (patch) | |
| tree | a708b4ff2e23b2bf1e4519cb4e5948c4e90021d8 /layers/parameter_validation_utils.cpp | |
| parent | f3cd1f58bf0f1dbd2440e6adfc31c2d428731441 (diff) | |
| download | usermoji-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.cpp | 13 |
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", |
