diff options
| author | Chris Forbes <chrisforbes@google.com> | 2017-06-14 12:38:01 -0700 |
|---|---|---|
| committer | Chris Forbes <chrisf@ijw.co.nz> | 2017-06-15 09:50:14 -0700 |
| commit | 6d342fcee9f5a934ce892a1db7a7afa970f6a127 (patch) | |
| tree | 1f57107fc55adffa75476fb433213e15c27973c7 | |
| parent | 61733037abccf5f48276983dd6f6094062cfe21c (diff) | |
| download | usermoji-6d342fcee9f5a934ce892a1db7a7afa970f6a127.tar.xz | |
layers: Clean up missing checks list for vkCreateBuffer
| -rw-r--r-- | layers/buffer_validation.cpp | 15 | ||||
| -rw-r--r-- | layers/vk_validation_error_database.txt | 4 |
2 files changed, 9 insertions, 10 deletions
diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp index 50763760..f04f74f3 100644 --- a/layers/buffer_validation.cpp +++ b/layers/buffer_validation.cpp @@ -2890,10 +2890,7 @@ bool PreCallValidateCreateBuffer(layer_data *device_data, const VkBufferCreateIn bool skip = false; const debug_report_data *report_data = core_validation::GetReportData(device_data); - // TODO: Add check for VALIDATION_ERROR_1ec0071e - // TODO: Add check for VALIDATION_ERROR_01400728 - // TODO: Add check for VALIDATION_ERROR_0140072a - // TODO: Add check for VALIDATION_ERROR_0140072c + // TODO: Add check for VALIDATION_ERROR_1ec0071e (sparse address space accounting) if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_BINDING_BIT) && (!GetEnabledFeatures(device_data)->sparseBinding)) { skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__, @@ -2906,17 +2903,19 @@ bool PreCallValidateCreateBuffer(layer_data *device_data, const VkBufferCreateIn if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT) && (!GetEnabledFeatures(device_data)->sparseResidencyBuffer)) { skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__, - DRAWSTATE_INVALID_FEATURE, "DS", + VALIDATION_ERROR_01400728, "DS", "vkCreateBuffer(): the sparseResidencyBuffer device feature is disabled: Buffers cannot be created with the " - "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT set."); + "VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT set. %s", + validation_error_map[VALIDATION_ERROR_01400728]); } if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_ALIASED_BIT) && (!GetEnabledFeatures(device_data)->sparseResidencyAliased)) { skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__, - DRAWSTATE_INVALID_FEATURE, "DS", + VALIDATION_ERROR_0140072a, "DS", "vkCreateBuffer(): the sparseResidencyAliased device feature is disabled: Buffers cannot be created with the " - "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT set."); + "VK_BUFFER_CREATE_SPARSE_ALIASED_BIT set. %s", + validation_error_map[VALIDATION_ERROR_0140072a]); } return skip; } diff --git a/layers/vk_validation_error_database.txt b/layers/vk_validation_error_database.txt index a53b251d..8ac0a5e4 100644 --- a/layers/vk_validation_error_database.txt +++ b/layers/vk_validation_error_database.txt @@ -90,8 +90,8 @@ VALIDATION_ERROR_01400720~^~N~^~None~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo- VALIDATION_ERROR_01400722~^~Y~^~None~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-sharingMode-00913~^~core~^~The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, pQueueFamilyIndices must be a pointer to an array of queueFamilyIndexCount uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-sharingMode-00913)~^~ VALIDATION_ERROR_01400724~^~Y~^~None~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-sharingMode-00914~^~core~^~The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, queueFamilyIndexCount must be greater than 1' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-sharingMode-00914)~^~ VALIDATION_ERROR_01400726~^~Y~^~None~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-flags-00915~^~core~^~The spec valid usage text states 'If the sparse bindings feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_BINDING_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-flags-00915)~^~ -VALIDATION_ERROR_01400728~^~N~^~None~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-flags-00916~^~core~^~The spec valid usage text states 'If the sparse buffer residency feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-flags-00916)~^~ -VALIDATION_ERROR_0140072a~^~N~^~None~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-flags-00917~^~core~^~The spec valid usage text states 'If the sparse aliased residency feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_ALIASED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-flags-00917)~^~ +VALIDATION_ERROR_01400728~^~Y~^~None~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-flags-00916~^~core~^~The spec valid usage text states 'If the sparse buffer residency feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-flags-00916)~^~ +VALIDATION_ERROR_0140072a~^~Y~^~None~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-flags-00917~^~core~^~The spec valid usage text states 'If the sparse aliased residency feature is not enabled, flags must not contain VK_BUFFER_CREATE_SPARSE_ALIASED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-flags-00917)~^~ VALIDATION_ERROR_0140072c~^~Y~^~SparseBindingImageBufferCreate~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-flags-00918~^~core~^~The spec valid usage text states 'If flags contains VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT, it must also contain VK_BUFFER_CREATE_SPARSE_BINDING_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-flags-00918)~^~ VALIDATION_ERROR_0140072e~^~N~^~Unknown~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-handleTypes-00919~^~(VK_KHX_external_memory+VK_NV_dedicated_allocation)~^~The spec valid usage text states 'If any of the handle types specified in VkExternalMemoryImageCreateInfoKHX::handleTypes requires dedicated allocation, as reported by vkGetPhysicalDeviceExternalBufferPropertiesKHX in VkExternalBufferPropertiesKHX::externalMemoryProperties::externalMemoryFeatures, the pNext chain must contain an instance of VkDedicatedAllocationBufferCreateInfoNV with its dedicatedAllocation field set to VK_TRUE.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-handleTypes-00919)~^~ VALIDATION_ERROR_01400730~^~N~^~Unknown~^~vkCreateBuffer~^~VUID-VkBufferCreateInfo-pNext-00920~^~(VK_KHX_external_memory)~^~The spec valid usage text states 'If the pNext extension contains an instance of VkExternalMemoryBufferCreateInfoKHX, its handleTypes member must only contain bits that are also in VkExternalBufferPropertiesKHX::externalMemoryProperties.pname:compatibleHandleTypes, as returned by vkGetPhysicalDeviceExternalBufferPropertiesKHX with pExternalBufferInfo->handleType equal to any one of the handle types specified in VkExternalMemoryBufferCreateInfoKHX::handleTypes' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/html/vkspec.html#VUID-VkBufferCreateInfo-pNext-00920)~^~ |
