spirv-val: Improve PR 4831 error message (#4968)

This commit is contained in:
Spencer Fricke 2022-10-20 23:51:43 +09:00 committed by GitHub
parent ecd5b9c167
commit eb113f0fdf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 11 deletions

View File

@ -853,17 +853,18 @@ spv_result_t CheckDecorationsOfEntryPoints(ValidationState_t& vstate) {
(models->size() > 1 || has_vert)) {
return vstate.diag(SPV_ERROR_INVALID_ID, var_instr)
<< vstate.VkErrorID(6202)
<< "OpEntryPoint interfaces variable must not be vertex "
"execution model with an input storage class for "
"Entry Point id "
<< vstate.SpvDecorationString(decoration.dec_type())
<< " decorated variable must not be used in vertex "
"execution model as an Input storage class for Entry "
"Point id "
<< entry_point << ".";
} else if (storage_class == SpvStorageClassOutput &&
(models->size() > 1 || has_frag)) {
return vstate.diag(SPV_ERROR_INVALID_ID, var_instr)
<< vstate.VkErrorID(6201)
<< "OpEntryPoint interfaces variable must not be "
"fragment "
"execution model with an output storage class for "
<< vstate.SpvDecorationString(decoration.dec_type())
<< " decorated variable must not be used in fragment "
"execution model as an Output storage class for "
"Entry Point id "
<< entry_point << ".";
}

View File

@ -8756,9 +8756,8 @@ TEST_P(ValidateDecorationString, VulkanOutputInvalidInterface) {
AnyVUID("VUID-StandaloneSpirv-Flat-06201"));
EXPECT_THAT(
getDiagnosticString(),
HasSubstr(
"OpEntryPoint interfaces variable must not be fragment execution "
"model with an output storage class for Entry Point id 2."));
HasSubstr("decorated variable must not be used in fragment execution "
"model as an Output storage class for Entry Point id 2."));
}
TEST_P(ValidateDecorationString, VulkanVertexInputInvalidInterface) {
@ -8796,8 +8795,8 @@ TEST_P(ValidateDecorationString, VulkanVertexInputInvalidInterface) {
AnyVUID("VUID-StandaloneSpirv-Flat-06202"));
EXPECT_THAT(
getDiagnosticString(),
HasSubstr("OpEntryPoint interfaces variable must not be vertex execution "
"model with an input storage class for Entry Point id 2."));
HasSubstr("decorated variable must not be used in vertex execution model "
"as an Input storage class for Entry Point id 2."));
}
INSTANTIATE_TEST_SUITE_P(FragmentInputInterface, ValidateDecorationString,