From 1a6b4053fa01990b87748b9f26b297d55acf8cbc Mon Sep 17 00:00:00 2001 From: sfricke-samsung <46493288+sfricke-samsung@users.noreply.github.com> Date: Tue, 8 Dec 2020 11:34:51 -0800 Subject: [PATCH] spirv-val: Add last ViewportIndex and Layer VUID (#4053) --- source/val/validate_builtins.cpp | 3 ++- source/val/validation_state.cpp | 4 ++++ test/val/val_builtins_test.cpp | 5 +++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/source/val/validate_builtins.cpp b/source/val/validate_builtins.cpp index 86adac91f..557e0678c 100644 --- a/source/val/validate_builtins.cpp +++ b/source/val/validate_builtins.cpp @@ -2775,8 +2775,9 @@ spv_result_t BuiltInsValidator::ValidateLayerOrViewportIndexAtReference( if (operand == SpvBuiltInLayer) capability = "ShaderViewportIndexLayerEXT or ShaderLayer"; + uint32_t vuid = (operand == SpvBuiltInLayer) ? 4273 : 4405; return _.diag(SPV_ERROR_INVALID_DATA, &referenced_from_inst) - << "Using BuiltIn " + << _.VkErrorID(vuid) << "Using BuiltIn " << _.grammar().lookupOperandName(SPV_OPERAND_TYPE_BUILT_IN, operand) << " in Vertex or Tessellation execution model requires the " diff --git a/source/val/validation_state.cpp b/source/val/validation_state.cpp index bf756fefd..1d6791ee8 100644 --- a/source/val/validation_state.cpp +++ b/source/val/validation_state.cpp @@ -1419,6 +1419,8 @@ std::string ValidationState_t::VkErrorID(uint32_t id, return VUID_WRAP(VUID-LaunchSizeKHR-LaunchSizeKHR-04271); case 4272: return VUID_WRAP(VUID-Layer-Layer-04272); + case 4273: + return VUID_WRAP(VUID-Layer-Layer-04273); case 4274: return VUID_WRAP(VUID-Layer-Layer-04274); case 4275: @@ -1553,6 +1555,8 @@ std::string ValidationState_t::VkErrorID(uint32_t id, return VUID_WRAP(VUID-ViewIndex-ViewIndex-04403); case 4404: return VUID_WRAP(VUID-ViewportIndex-ViewportIndex-04404); + case 4405: + return VUID_WRAP(VUID-ViewportIndex-ViewportIndex-04405); case 4406: return VUID_WRAP(VUID-ViewportIndex-ViewportIndex-04406); case 4407: diff --git a/test/val/val_builtins_test.cpp b/test/val/val_builtins_test.cpp index 3fc06fbb0..f9bab2920 100644 --- a/test/val/val_builtins_test.cpp +++ b/test/val/val_builtins_test.cpp @@ -1256,7 +1256,8 @@ INSTANTIATE_TEST_SUITE_P( ViewportIndexExecutionModelEnabledByCapability, ValidateVulkanCombineBuiltInExecutionModelDataTypeResult, Combine(Values("ViewportIndex"), Values("Vertex", "TessellationEvaluation"), - Values("Output"), Values("%u32"), Values(nullptr), + Values("Output"), Values("%u32"), + Values("VUID-ViewportIndex-ViewportIndex-04405"), Values(TestResult( SPV_ERROR_INVALID_DATA, "ShaderViewportIndexLayerEXT or ShaderViewportIndex")))); @@ -1265,7 +1266,7 @@ INSTANTIATE_TEST_SUITE_P( LayerExecutionModelEnabledByCapability, ValidateVulkanCombineBuiltInExecutionModelDataTypeResult, Combine(Values("Layer"), Values("Vertex", "TessellationEvaluation"), - Values("Output"), Values("%u32"), Values(nullptr), + Values("Output"), Values("%u32"), Values("VUID-Layer-Layer-04273"), Values(TestResult(SPV_ERROR_INVALID_DATA, "ShaderViewportIndexLayerEXT or ShaderLayer"))));