spirv-val: Label VUID 04780 (#4334)
diff --git a/source/val/validate_image.cpp b/source/val/validate_image.cpp
index 2ece572..e5968d0 100644
--- a/source/val/validate_image.cpp
+++ b/source/val/validate_image.cpp
@@ -1510,8 +1510,8 @@
if (spvIsVulkanEnv(target_env)) {
if (_.GetDimension(actual_result_type) != 4) {
return _.diag(SPV_ERROR_INVALID_DATA, inst)
- << "Expected " << GetActualResultTypeStr(opcode)
- << " to have 4 components";
+ << _.VkErrorID(4780) << "Expected "
+ << GetActualResultTypeStr(opcode) << " to have 4 components";
}
} // Check OpenCL below, after we get the image info.
diff --git a/source/val/validation_state.cpp b/source/val/validation_state.cpp
index ba7e8fe..5282163 100644
--- a/source/val/validation_state.cpp
+++ b/source/val/validation_state.cpp
@@ -1825,6 +1825,8 @@
return VUID_WRAP(VUID-StandaloneSpirv-OpMemoryBarrier-04732);
case 4733:
return VUID_WRAP(VUID-StandaloneSpirv-OpMemoryBarrier-04733);
+ case 4780:
+ return VUID_WRAP(VUID-StandaloneSpirv-Result-04780);
default:
return ""; // unknown id
}
diff --git a/test/val/val_image_test.cpp b/test/val/val_image_test.cpp
index 4d57b26..701e35e 100644
--- a/test/val/val_image_test.cpp
+++ b/test/val/val_image_test.cpp
@@ -3389,6 +3389,8 @@
.c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions(SPV_ENV_VULKAN_1_0));
EXPECT_THAT(getDiagnosticString(),
+ AnyVUID("VUID-StandaloneSpirv-Result-04780"));
+ EXPECT_THAT(getDiagnosticString(),
HasSubstr("Expected Result Type to have 4 components"));
}