spirv-val: Label VUID 06997 (#4881)
diff --git a/source/val/validate_scopes.cpp b/source/val/validate_scopes.cpp
index 887e8d1..a5f3db1 100644
--- a/source/val/validate_scopes.cpp
+++ b/source/val/validate_scopes.cpp
@@ -233,7 +233,7 @@
!_.HasCapability(SpvCapabilitySubgroupBallotKHR) &&
!_.HasCapability(SpvCapabilitySubgroupVoteKHR)) {
return _.diag(SPV_ERROR_INVALID_DATA, inst)
- << spvOpcodeString(opcode)
+ << _.VkErrorID(6997) << spvOpcodeString(opcode)
<< ": in Vulkan 1.0 environment Memory Scope is can not be "
"Subgroup without SubgroupBallotKHR or SubgroupVoteKHR "
"declared";
diff --git a/source/val/validation_state.cpp b/source/val/validation_state.cpp
index adfe75b..2702b2b 100644
--- a/source/val/validation_state.cpp
+++ b/source/val/validation_state.cpp
@@ -1977,6 +1977,8 @@
return VUID_WRAP(VUID-StandaloneSpirv-PushConstant-06808);
case 6925:
return VUID_WRAP(VUID-StandaloneSpirv-Uniform-06925);
+ case 6997:
+ return VUID_WRAP(VUID-StandaloneSpirv-SubgroupVoteKHR-06997);
default:
return ""; // unknown id
}
diff --git a/test/val/val_barriers_test.cpp b/test/val/val_barriers_test.cpp
index f27e467..df5ee16 100644
--- a/test/val/val_barriers_test.cpp
+++ b/test/val/val_barriers_test.cpp
@@ -359,6 +359,8 @@
CompileSuccessfully(GenerateShaderCode(body), SPV_ENV_VULKAN_1_0);
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions(SPV_ENV_VULKAN_1_0));
+ EXPECT_THAT(getDiagnosticString(),
+ AnyVUID("VUID-StandaloneSpirv-SubgroupVoteKHR-06997"));
EXPECT_THAT(
getDiagnosticString(),
HasSubstr(
@@ -765,6 +767,8 @@
CompileSuccessfully(GenerateShaderCode(body), SPV_ENV_VULKAN_1_0);
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions(SPV_ENV_VULKAN_1_0));
+ EXPECT_THAT(getDiagnosticString(),
+ AnyVUID("VUID-StandaloneSpirv-SubgroupVoteKHR-06997"));
EXPECT_THAT(
getDiagnosticString(),
HasSubstr(