aboutsummaryrefslogtreecommitdiff
path: root/layers
diff options
context:
space:
mode:
authorTobin Ehlis <tobine@google.com>2017-01-03 14:09:57 -0700
committerTobin Ehlis <tobine@google.com>2017-01-04 06:49:18 -0700
commit236755c9702bcbdddd887a8ae3c0dafd80d569e6 (patch)
tree82598158c456efe5f12914238b331b1e9a4dfd3f /layers
parentbda40694f006c2aa082a1040ff7e7a163080f40d (diff)
downloadusermoji-236755c9702bcbdddd887a8ae3c0dafd80d569e6.tar.xz
scripts:Exceptions for duplicate unique ids
Added a number of exceptions for duplicate uses of unique error enums that are valid. Also added some comments to a few cases that need new unique ids.
Diffstat (limited to 'layers')
-rw-r--r--layers/descriptor_sets.cpp6
-rwxr-xr-xlayers/vk_validation_stats.py9
2 files changed, 13 insertions, 2 deletions
diff --git a/layers/descriptor_sets.cpp b/layers/descriptor_sets.cpp
index ccfad829..902a71cc 100644
--- a/layers/descriptor_sets.cpp
+++ b/layers/descriptor_sets.cpp
@@ -596,7 +596,7 @@ bool cvdescriptorset::DescriptorSet::ValidateCopyUpdate(const debug_report_data
std::string *error_msg) {
// Verify idle ds
if (in_use.load()) {
- // TODO : Re-using Allocate Idle error code, need copy update idle error code
+ // TODO : Re-using Free Idle error code, need copy update idle error code
*error_code = VALIDATION_ERROR_00919;
std::stringstream error_str;
error_str << "Cannot call vkUpdateDescriptorSets() to perform copy update on descriptor set " << set_
@@ -763,6 +763,8 @@ bool cvdescriptorset::ValidateImageUpdate(VkImageView image_view, VkImageLayout
format = image_node->createInfo.format;
usage = image_node->createInfo.usage;
// Validate that memory is bound to image
+ // TODO: This should have its own valid usage id apart from 2524 which is from CreateImageView case. The only
+ // the error here occurs is if memory bound to a created imageView has been freed.
if (ValidateMemoryIsBoundToImage(dev_data, image_node, "vkUpdateDescriptorSets()", VALIDATION_ERROR_02524)) {
*error_code = VALIDATION_ERROR_02524;
*error_msg = "No memory bound to image.";
@@ -1169,7 +1171,7 @@ bool cvdescriptorset::DescriptorSet::ValidateWriteUpdate(const debug_report_data
UNIQUE_VALIDATION_ERROR_CODE *error_code, std::string *error_msg) {
// Verify idle ds
if (in_use.load()) {
- // TODO : Re-using Allocate Idle error code, need write update idle error code
+ // TODO : Re-using Free Idle error code, need write update idle error code
*error_code = VALIDATION_ERROR_00919;
std::stringstream error_str;
error_str << "Cannot call vkUpdateDescriptorSets() to perform write update on descriptor set " << set_
diff --git a/layers/vk_validation_stats.py b/layers/vk_validation_stats.py
index 24cc4c57..369fe9b1 100755
--- a/layers/vk_validation_stats.py
+++ b/layers/vk_validation_stats.py
@@ -59,11 +59,20 @@ test_file = '../tests/layer_validation_tests.cpp'
duplicate_exceptions = [
'VALIDATION_ERROR_00018', # This covers the broad case that all child objects must be destroyed at DestroyInstance time
'VALIDATION_ERROR_00049', # This covers the broad case that all child objects must be destroyed at DestroyDevice time
+'VALIDATION_ERROR_00515', # Covers valid shader module handle for both Compute & Graphics pipelines
'VALIDATION_ERROR_00648', # This is a case for VkMappedMemoryRange struct that is used by both Flush & Invalidate MappedMemoryRange
'VALIDATION_ERROR_00741', # This is a blanket case for all invalid image aspect bit errors. The spec link has appropriate details for all separate cases.
'VALIDATION_ERROR_00768', # This case covers two separate checks which are done independently
'VALIDATION_ERROR_00769', # This case covers two separate checks which are done independently
'VALIDATION_ERROR_00942', # This is a descriptor set write update error that we use for a couple copy cases as well
+'VALIDATION_ERROR_00988', # Single error for mis-matched stageFlags of vkCmdPushConstants() that is flagged for no stage flags & mis-matched flags
+'VALIDATION_ERROR_01088', # Handles both depth/stencil & compressed image errors for vkCmdClearColorImage()
+'VALIDATION_ERROR_01223', # Used for the mipLevel check of both dst & src images on vkCmdCopyImage call
+'VALIDATION_ERROR_01224', # Used for the arraySize check of both dst & src images on vkCmdCopyImage call
+'VALIDATION_ERROR_01450', # Used for both x & y bounds of viewport
+'VALIDATION_ERROR_01489', # Used for both x & y value of scissors to make sure they're not negative
+'VALIDATION_ERROR_01926', # Surface of VkSwapchainCreateInfoKHR must be valid when creating both single or shared swapchains
+'VALIDATION_ERROR_02333', # Single error for both imageFormat & imageColorSpace requirements when creating swapchain
'VALIDATION_ERROR_02525', # Used twice for the same error codepath as both a param & to set a variable, so not really a duplicate
]