diff options
| author | Mike Schuchardt <mikes@lunarg.com> | 2017-02-14 15:33:52 -0700 |
|---|---|---|
| committer | Mike Schuchardt <mikes@lunarg.com> | 2017-02-23 13:42:27 -0700 |
| commit | 855b1bebc24c38ed09a7250818988f336e57888d (patch) | |
| tree | c881a026542165c43abdcc5923aa4cca5cf32621 /layers | |
| parent | 6a9e67afaaccfeeef572bda3240b6b900e12f270 (diff) | |
| download | usermoji-855b1bebc24c38ed09a7250818988f336e57888d.tar.xz | |
layers: Check all devices for valid object handles
Additional check in ValidateObject to distinguish between an invalid
object and an object that was created on another device.
Change-Id: I939ca7a23df47ad5809e46c780e084085f141c13
Diffstat (limited to 'layers')
| -rw-r--r-- | layers/object_tracker.cpp | 1014 | ||||
| -rw-r--r-- | layers/vk_validation_error_database.txt | 202 |
2 files changed, 720 insertions, 496 deletions
diff --git a/layers/object_tracker.cpp b/layers/object_tracker.cpp index 6e23d30c..3c30cb19 100644 --- a/layers/object_tracker.cpp +++ b/layers/object_tracker.cpp @@ -335,21 +335,45 @@ static void DestroyObject(T1 dispatchable_object, T2 object, VkDebugReportObject template <typename T1, typename T2> static bool ValidateObject(T1 dispatchable_object, T2 object, VkDebugReportObjectTypeEXT object_type, bool null_allowed, - enum UNIQUE_VALIDATION_ERROR_CODE error_code) { + enum UNIQUE_VALIDATION_ERROR_CODE invalid_handle_code, + enum UNIQUE_VALIDATION_ERROR_CODE wrong_device_code) { if (null_allowed && (object == VK_NULL_HANDLE)) { return false; } auto object_handle = handle_value(object); layer_data *device_data = GetLayerDataPtr(get_dispatch_key(dispatchable_object), layer_data_map); + // Look for object in device object map if (device_data->object_map[object_type].find(object_handle) == device_data->object_map[object_type].end()) { // If object is an image, also look for it in the swapchain image map if ((object_type != VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT) || (device_data->swapchainImageMap.find(object_handle) == device_data->swapchainImageMap.end())) { - const char *error_msg = (error_code == VALIDATION_ERROR_UNDEFINED) ? "" : validation_error_map[error_code]; + // Object not found, look for it in other device object maps + for (auto other_device_data : layer_data_map) { + if (other_device_data.second != device_data) + { + if (other_device_data.second->object_map[object_type].find(object_handle) != + other_device_data.second->object_map[object_type].end() || + (object_type == VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT && + other_device_data.second->swapchainImageMap.find(object_handle) != + other_device_data.second->swapchainImageMap.end())) { + // Object found on other device, report an error if object has a device parent error code + if (wrong_device_code != VALIDATION_ERROR_UNDEFINED) { + return log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, object_type, object_handle, + __LINE__, wrong_device_code, LayerName, + "Object 0x%" PRIxLEAST64 + " was not created, allocated or retrieved from the correct device. %s", + object_handle, validation_error_map[wrong_device_code]); + } else { + return false; + } + } + } + } + // Report an error if object was not found anywhere return log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, object_type, object_handle, __LINE__, - error_code, LayerName, "Invalid %s Object 0x%" PRIxLEAST64 ". %s", object_name[object_type], - object_handle, error_msg); + invalid_handle_code, LayerName, "Invalid %s Object 0x%" PRIxLEAST64 ". %s", object_name[object_type], + object_handle, validation_error_map[invalid_handle_code]); } } return false; @@ -385,7 +409,8 @@ VKAPI_ATTR void VKAPI_CALL DestroyInstance(VkInstance instance, const VkAllocati } // TODO: The instance handle can not be validated here. The loader will likely have to validate it. - ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, true, VALIDATION_ERROR_00021); + ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, true, VALIDATION_ERROR_00021, + VALIDATION_ERROR_UNDEFINED); DestroyObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, pAllocator, VALIDATION_ERROR_00019, VALIDATION_ERROR_00020); @@ -456,7 +481,8 @@ VKAPI_ATTR void VKAPI_CALL DestroyInstance(VkInstance instance, const VkAllocati VKAPI_ATTR void VKAPI_CALL DestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator) { std::unique_lock<std::mutex> lock(global_lock); - ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, true, VALIDATION_ERROR_00052); + ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, true, VALIDATION_ERROR_00052, + VALIDATION_ERROR_UNDEFINED); DestroyObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, pAllocator, VALIDATION_ERROR_00050, VALIDATION_ERROR_00051); @@ -501,7 +527,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDe { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01679); + VALIDATION_ERROR_01679, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -515,7 +541,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties(VkPhysicalDevice ph { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01683); + VALIDATION_ERROR_01683, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -532,7 +558,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties(VkPhysical { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01686); + VALIDATION_ERROR_01686, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -548,7 +574,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties(VkPhysicalDevice physical { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_00026); + VALIDATION_ERROR_00026, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -562,7 +588,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties(VkPhysicalDevice ph { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_00609); + VALIDATION_ERROR_00609, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -588,31 +614,36 @@ VKAPI_ATTR VkResult VKAPI_CALL QueueSubmit(VkQueue queue, uint32_t submitCount, bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(queue, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, true, VALIDATION_ERROR_00130); + skip_call |= ValidateObject(queue, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, true, VALIDATION_ERROR_00130, + VALIDATION_ERROR_00131); if (pSubmits) { for (uint32_t idx0 = 0; idx0 < submitCount; ++idx0) { if (pSubmits[idx0].pCommandBuffers) { for (uint32_t idx1 = 0; idx1 < pSubmits[idx0].commandBufferCount; ++idx1) { skip_call |= ValidateObject(queue, pSubmits[idx0].pCommandBuffers[idx1], - VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, VALIDATION_ERROR_00149); + VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, VALIDATION_ERROR_00149, + VALIDATION_ERROR_00151); } } if (pSubmits[idx0].pSignalSemaphores) { for (uint32_t idx2 = 0; idx2 < pSubmits[idx0].signalSemaphoreCount; ++idx2) { - skip_call |= ValidateObject(queue, pSubmits[idx0].pSignalSemaphores[idx2], - VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, false, VALIDATION_ERROR_00150); + skip_call |= + ValidateObject(queue, pSubmits[idx0].pSignalSemaphores[idx2], VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, + false, VALIDATION_ERROR_00150, VALIDATION_ERROR_00151); } } if (pSubmits[idx0].pWaitSemaphores) { for (uint32_t idx3 = 0; idx3 < pSubmits[idx0].waitSemaphoreCount; ++idx3) { - skip_call |= ValidateObject(queue, pSubmits[idx0].pWaitSemaphores[idx3], - VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, false, VALIDATION_ERROR_00146); + skip_call |= + ValidateObject(queue, pSubmits[idx0].pWaitSemaphores[idx3], VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, + false, VALIDATION_ERROR_00146, VALIDATION_ERROR_00151); } } } } if (queue) { - skip_call |= ValidateObject(queue, queue, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, false, VALIDATION_ERROR_00128); + skip_call |= ValidateObject(queue, queue, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, false, VALIDATION_ERROR_00128, + VALIDATION_ERROR_00131); } } if (skip_call) { @@ -626,7 +657,8 @@ VKAPI_ATTR VkResult VKAPI_CALL QueueWaitIdle(VkQueue queue) { bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(queue, queue, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, false, VALIDATION_ERROR_00317); + skip_call |= ValidateObject(queue, queue, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, false, VALIDATION_ERROR_00317, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -639,7 +671,8 @@ VKAPI_ATTR VkResult VKAPI_CALL DeviceWaitIdle(VkDevice device) { bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00318); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00318, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -653,7 +686,8 @@ VKAPI_ATTR VkResult VKAPI_CALL AllocateMemory(VkDevice device, const VkMemoryAll bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00612); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00612, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -673,12 +707,13 @@ VKAPI_ATTR VkResult VKAPI_CALL FlushMappedMemoryRanges(VkDevice device, uint32_t bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00635); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00635, + VALIDATION_ERROR_UNDEFINED); if (pMemoryRanges) { for (uint32_t idx0 = 0; idx0 < memoryRangeCount; ++idx0) { if (pMemoryRanges[idx0].memory) { skip_call |= ValidateObject(device, pMemoryRanges[idx0].memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, - false, VALIDATION_ERROR_00648); + false, VALIDATION_ERROR_00648, VALIDATION_ERROR_UNDEFINED); } } } @@ -696,12 +731,13 @@ VKAPI_ATTR VkResult VKAPI_CALL InvalidateMappedMemoryRanges(VkDevice device, uin bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00638); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00638, + VALIDATION_ERROR_UNDEFINED); if (pMemoryRanges) { for (uint32_t idx0 = 0; idx0 < memoryRangeCount; ++idx0) { if (pMemoryRanges[idx0].memory) { skip_call |= ValidateObject(device, pMemoryRanges[idx0].memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, - false, VALIDATION_ERROR_00648); + false, VALIDATION_ERROR_00648, VALIDATION_ERROR_UNDEFINED); } } } @@ -719,8 +755,10 @@ VKAPI_ATTR void VKAPI_CALL GetDeviceMemoryCommitment(VkDevice device, VkDeviceMe bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00654); - skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00655); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00654, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00655, + VALIDATION_ERROR_00657); } if (skip_call) { return; @@ -733,9 +771,12 @@ VKAPI_ATTR VkResult VKAPI_CALL BindBufferMemory(VkDevice device, VkBuffer buffer bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00799); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00798); - skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00800); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00798, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00799, + VALIDATION_ERROR_00801); + skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00800, + VALIDATION_ERROR_00802); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -748,9 +789,12 @@ VKAPI_ATTR VkResult VKAPI_CALL BindImageMemory(VkDevice device, VkImage image, V bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00807); - skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00808); - skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00809); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00807, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00808, + VALIDATION_ERROR_00810); + skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00809, + VALIDATION_ERROR_00811); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -764,8 +808,10 @@ VKAPI_ATTR void VKAPI_CALL GetBufferMemoryRequirements(VkDevice device, VkBuffer bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00784); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00783); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00783, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00784, + VALIDATION_ERROR_00786); } if (skip_call) { return; @@ -777,8 +823,10 @@ VKAPI_ATTR void VKAPI_CALL GetImageMemoryRequirements(VkDevice device, VkImage i bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00787); - skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00788); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00787, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00788, + VALIDATION_ERROR_00790); } if (skip_call) { return; @@ -791,8 +839,10 @@ VKAPI_ATTR void VKAPI_CALL GetImageSparseMemoryRequirements(VkDevice device, VkI bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01610); - skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01611); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01610, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01611, + VALIDATION_ERROR_01614); } if (skip_call) { return; @@ -810,7 +860,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties(VkPhysic { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01601); + VALIDATION_ERROR_01601, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -825,7 +875,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateFence(VkDevice device, const VkFenceCreateI bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00166); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00166, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -844,8 +895,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyFence(VkDevice device, VkFence fence, const Vk bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00176); - skip_call |= ValidateObject(device, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, true, VALIDATION_ERROR_00177); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00176, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, true, VALIDATION_ERROR_00177, + VALIDATION_ERROR_00179); } if (skip_call) { return; @@ -862,11 +915,12 @@ VKAPI_ATTR VkResult VKAPI_CALL ResetFences(VkDevice device, uint32_t fenceCount, bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00184); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00184, + VALIDATION_ERROR_UNDEFINED); if (pFences) { for (uint32_t idx0 = 0; idx0 < fenceCount; ++idx0) { - skip_call |= - ValidateObject(device, pFences[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, false, VALIDATION_ERROR_00187); + skip_call |= ValidateObject(device, pFences[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, false, + VALIDATION_ERROR_00185, VALIDATION_ERROR_00187); } } } @@ -881,8 +935,10 @@ VKAPI_ATTR VkResult VKAPI_CALL GetFenceStatus(VkDevice device, VkFence fence) { bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00180); - skip_call |= ValidateObject(device, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, false, VALIDATION_ERROR_00181); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00180, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, false, VALIDATION_ERROR_00181, + VALIDATION_ERROR_00182); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -896,11 +952,12 @@ VKAPI_ATTR VkResult VKAPI_CALL WaitForFences(VkDevice device, uint32_t fenceCoun bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00188); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00188, + VALIDATION_ERROR_UNDEFINED); if (pFences) { for (uint32_t idx0 = 0; idx0 < fenceCount; ++idx0) { - skip_call |= - ValidateObject(device, pFences[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, false, VALIDATION_ERROR_00191); + skip_call |= ValidateObject(device, pFences[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, false, + VALIDATION_ERROR_00189, VALIDATION_ERROR_00191); } } } @@ -916,7 +973,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateSemaphore(VkDevice device, const VkSemaphor bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00192); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00192, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -935,8 +993,10 @@ VKAPI_ATTR void VKAPI_CALL DestroySemaphore(VkDevice device, VkSemaphore semapho bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00202); - skip_call |= ValidateObject(device, semaphore, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, true, VALIDATION_ERROR_00203); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00202, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, semaphore, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, true, VALIDATION_ERROR_00203, + VALIDATION_ERROR_00205); } if (skip_call) { return; @@ -954,7 +1014,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateEvent(VkDevice device, const VkEventCreateI bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00206); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00206, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -973,8 +1034,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyEvent(VkDevice device, VkEvent event, const Vk bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00216); - skip_call |= ValidateObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, true, VALIDATION_ERROR_00217); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00216, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, true, VALIDATION_ERROR_00217, + VALIDATION_ERROR_00219); } if (skip_call) { return; @@ -991,8 +1054,10 @@ VKAPI_ATTR VkResult VKAPI_CALL GetEventStatus(VkDevice device, VkEvent event) { bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00220); - skip_call |= ValidateObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00221); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00220, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00221, + VALIDATION_ERROR_00222); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1005,8 +1070,10 @@ VKAPI_ATTR VkResult VKAPI_CALL SetEvent(VkDevice device, VkEvent event) { bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00223); - skip_call |= ValidateObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00224); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00223, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00224, + VALIDATION_ERROR_00225); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1019,8 +1086,10 @@ VKAPI_ATTR VkResult VKAPI_CALL ResetEvent(VkDevice device, VkEvent event) { bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00227); - skip_call |= ValidateObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00228); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00227, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00228, + VALIDATION_ERROR_00229); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1034,7 +1103,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateQueryPool(VkDevice device, const VkQueryPoo bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01002); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01002, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1053,8 +1123,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyQueryPool(VkDevice device, VkQueryPool queryPo bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01015); - skip_call |= ValidateObject(device, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, true, VALIDATION_ERROR_01016); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01015, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, true, VALIDATION_ERROR_01016, + VALIDATION_ERROR_01018); } if (skip_call) { return; @@ -1072,8 +1144,10 @@ VKAPI_ATTR VkResult VKAPI_CALL GetQueryPoolResults(VkDevice device, VkQueryPool bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01054); - skip_call |= ValidateObject(device, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, VALIDATION_ERROR_01055); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01054, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, VALIDATION_ERROR_01055, + VALIDATION_ERROR_01059); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1088,7 +1162,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateBuffer(VkDevice device, const VkBufferCreat bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00659); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00659, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1107,8 +1182,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyBuffer(VkDevice device, VkBuffer buffer, const bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, true, VALIDATION_ERROR_00680); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00679); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00679, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, true, VALIDATION_ERROR_00680, + VALIDATION_ERROR_00682); } if (skip_call) { return; @@ -1126,10 +1203,11 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateBufferView(VkDevice device, const VkBufferV bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00683); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00683, + VALIDATION_ERROR_UNDEFINED); if (pCreateInfo) { - skip_call |= - ValidateObject(device, pCreateInfo->buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00699); + skip_call |= ValidateObject(device, pCreateInfo->buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, + VALIDATION_ERROR_00699, VALIDATION_ERROR_UNDEFINED); } } if (skip_call) { @@ -1149,8 +1227,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyBufferView(VkDevice device, VkBufferView buffe bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, bufferView, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, true, VALIDATION_ERROR_00705); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00704); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00704, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, bufferView, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, true, VALIDATION_ERROR_00705, + VALIDATION_ERROR_00707); } if (skip_call) { return; @@ -1168,7 +1248,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateImage(VkDevice device, const VkImageCreateI bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00709); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00709, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1187,8 +1268,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyImage(VkDevice device, VkImage image, const Vk bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00746); - skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, true, VALIDATION_ERROR_00747); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00746, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, true, VALIDATION_ERROR_00747, + VALIDATION_ERROR_00749); } if (skip_call) { return; @@ -1206,8 +1289,10 @@ VKAPI_ATTR void VKAPI_CALL GetImageSubresourceLayout(VkDevice device, VkImage im bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00734); - skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00735); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00734, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00735, + VALIDATION_ERROR_00738); } if (skip_call) { return; @@ -1220,10 +1305,11 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateImageView(VkDevice device, const VkImageVie bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00750); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00750, + VALIDATION_ERROR_UNDEFINED); if (pCreateInfo) { - skip_call |= - ValidateObject(device, pCreateInfo->image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00763); + skip_call |= ValidateObject(device, pCreateInfo->image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, + VALIDATION_ERROR_00763, VALIDATION_ERROR_UNDEFINED); } } if (skip_call) { @@ -1243,8 +1329,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyImageView(VkDevice device, VkImageView imageVi bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00779); - skip_call |= ValidateObject(device, imageView, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, true, VALIDATION_ERROR_00780); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00779, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, imageView, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, true, VALIDATION_ERROR_00780, + VALIDATION_ERROR_00782); } if (skip_call) { return; @@ -1262,7 +1350,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateShaderModule(VkDevice device, const VkShade bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00466); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00466, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1283,9 +1372,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyShaderModule(VkDevice device, VkShaderModule s bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00481); - skip_call |= - ValidateObject(device, shaderModule, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, true, VALIDATION_ERROR_00482); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00481, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, shaderModule, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, true, + VALIDATION_ERROR_00482, VALIDATION_ERROR_00484); } if (skip_call) { return; @@ -1303,7 +1393,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineCache(VkDevice device, const VkPipe bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00562); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00562, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1324,9 +1415,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyPipelineCache(VkDevice device, VkPipelineCache bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00585); - skip_call |= - ValidateObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, true, VALIDATION_ERROR_00586); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00585, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, true, + VALIDATION_ERROR_00586, VALIDATION_ERROR_00588); } if (skip_call) { return; @@ -1344,9 +1436,10 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPipelineCacheData(VkDevice device, VkPipelineC bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00578); - skip_call |= - ValidateObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, false, VALIDATION_ERROR_00579); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00578, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, false, + VALIDATION_ERROR_00579, VALIDATION_ERROR_00582); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1361,13 +1454,14 @@ VKAPI_ATTR VkResult VKAPI_CALL MergePipelineCaches(VkDevice device, VkPipelineCa bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00572); - skip_call |= - ValidateObject(device, dstCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, false, VALIDATION_ERROR_00573); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00572, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, dstCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, false, VALIDATION_ERROR_00573, + VALIDATION_ERROR_00576); if (pSrcCaches) { for (uint32_t idx0 = 0; idx0 < srcCacheCount; ++idx0) { skip_call |= ValidateObject(device, pSrcCaches[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, false, - VALIDATION_ERROR_00577); + VALIDATION_ERROR_00574, VALIDATION_ERROR_00577); } } } @@ -1383,8 +1477,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyPipeline(VkDevice device, VkPipeline pipeline, bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00558); - skip_call |= ValidateObject(device, pipeline, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, true, VALIDATION_ERROR_00559); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00558, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, pipeline, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, true, VALIDATION_ERROR_00559, + VALIDATION_ERROR_00561); } if (skip_call) { return; @@ -1402,13 +1498,14 @@ VKAPI_ATTR VkResult VKAPI_CALL CreatePipelineLayout(VkDevice device, const VkPip bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00861); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00861, + VALIDATION_ERROR_UNDEFINED); if (pCreateInfo) { if (pCreateInfo->pSetLayouts) { for (uint32_t idx0 = 0; idx0 < pCreateInfo->setLayoutCount; ++idx0) { - skip_call |= - ValidateObject(device, pCreateInfo->pSetLayouts[idx0], - VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, false, VALIDATION_ERROR_00875); + skip_call |= ValidateObject(device, pCreateInfo->pSetLayouts[idx0], + VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, false, + VALIDATION_ERROR_00875, VALIDATION_ERROR_UNDEFINED); } } } @@ -1432,9 +1529,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyPipelineLayout(VkDevice device, VkPipelineLayo bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00885); - skip_call |= - ValidateObject(device, pipelineLayout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, true, VALIDATION_ERROR_00886); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00885, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, pipelineLayout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, true, + VALIDATION_ERROR_00886, VALIDATION_ERROR_00888); } if (skip_call) { return; @@ -1452,7 +1550,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateSampler(VkDevice device, const VkSamplerCre bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00812); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00812, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1471,8 +1570,10 @@ VKAPI_ATTR void VKAPI_CALL DestroySampler(VkDevice device, VkSampler sampler, co bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00840); - skip_call |= ValidateObject(device, sampler, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, true, VALIDATION_ERROR_00841); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00840, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, sampler, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, true, VALIDATION_ERROR_00841, + VALIDATION_ERROR_00843); } if (skip_call) { return; @@ -1491,7 +1592,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorSetLayout(VkDevice device, const bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00844); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00844, + VALIDATION_ERROR_UNDEFINED); if (pCreateInfo) { if (pCreateInfo->pBindings) { for (uint32_t idx0 = 0; idx0 < pCreateInfo->bindingCount; ++idx0) { @@ -1500,7 +1602,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorSetLayout(VkDevice device, const if (pCreateInfo->pBindings[idx0].pImmutableSamplers) { for (uint32_t idx1 = 0; idx1 < pCreateInfo->pBindings[idx0].descriptorCount; ++idx1) { skip_call |= ValidateObject(device, pCreateInfo->pBindings[idx0].pImmutableSamplers[idx1], - VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, false, VALIDATION_ERROR_00852); + VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, false, VALIDATION_ERROR_00852, + VALIDATION_ERROR_UNDEFINED); } } } @@ -1527,9 +1630,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyDescriptorSetLayout(VkDevice device, VkDescrip bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00857, + VALIDATION_ERROR_UNDEFINED); skip_call |= ValidateObject(device, descriptorSetLayout, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, true, - VALIDATION_ERROR_00858); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00857); + VALIDATION_ERROR_00858, VALIDATION_ERROR_00860); } if (skip_call) { return; @@ -1547,7 +1651,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateDescriptorPool(VkDevice device, const VkDes bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00889); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00889, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1568,9 +1673,10 @@ VKAPI_ATTR VkResult VKAPI_CALL ResetDescriptorPool(VkDevice device, VkDescriptor bool skip_call = false; std::unique_lock<std::mutex> lock(global_lock); layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); - skip_call |= - ValidateObject(device, descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, false, VALIDATION_ERROR_00930); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00929); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00929, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, false, + VALIDATION_ERROR_00930, VALIDATION_ERROR_00932); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; } @@ -1596,30 +1702,35 @@ VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets(VkDevice device, uint32_t descri bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00933); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00933, + VALIDATION_ERROR_UNDEFINED); if (pDescriptorCopies) { for (uint32_t idx0 = 0; idx0 < descriptorCopyCount; ++idx0) { if (pDescriptorCopies[idx0].dstSet) { - skip_call |= ValidateObject(device, pDescriptorCopies[idx0].dstSet, - VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, false, VALIDATION_ERROR_00972); + skip_call |= + ValidateObject(device, pDescriptorCopies[idx0].dstSet, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, + false, VALIDATION_ERROR_00972, VALIDATION_ERROR_00973); } if (pDescriptorCopies[idx0].srcSet) { - skip_call |= ValidateObject(device, pDescriptorCopies[idx0].srcSet, - VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, false, VALIDATION_ERROR_00971); + skip_call |= + ValidateObject(device, pDescriptorCopies[idx0].srcSet, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, + false, VALIDATION_ERROR_00971, VALIDATION_ERROR_00973); } } } if (pDescriptorWrites) { for (uint32_t idx1 = 0; idx1 < descriptorWriteCount; ++idx1) { if (pDescriptorWrites[idx1].dstSet) { - skip_call |= ValidateObject(device, pDescriptorWrites[idx1].dstSet, - VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, false, VALIDATION_ERROR_00955); + skip_call |= + ValidateObject(device, pDescriptorWrites[idx1].dstSet, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, + false, VALIDATION_ERROR_00955, VALIDATION_ERROR_00958); } if ((pDescriptorWrites[idx1].descriptorType == VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER) || (pDescriptorWrites[idx1].descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER)) { for (uint32_t idx2 = 0; idx2 < pDescriptorWrites[idx1].descriptorCount; ++idx2) { skip_call |= ValidateObject(device, pDescriptorWrites[idx1].pTexelBufferView[idx2], - VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, false, VALIDATION_ERROR_00940); + VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, false, VALIDATION_ERROR_00940, + VALIDATION_ERROR_00958); } } if ((pDescriptorWrites[idx1].descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER) || @@ -1627,10 +1738,9 @@ VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets(VkDevice device, uint32_t descri (pDescriptorWrites[idx1].descriptorType == VK_DESCRIPTOR_TYPE_STORAGE_IMAGE) || (pDescriptorWrites[idx1].descriptorType == VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT)) { for (uint32_t idx3 = 0; idx3 < pDescriptorWrites[idx1].descriptorCount; ++idx3) { - if (pDescriptorWrites[idx1].pImageInfo[idx3].imageView) { - skip_call |= ValidateObject(device, pDescriptorWrites[idx1].pImageInfo[idx3].imageView, - VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, false, VALIDATION_ERROR_00943); - } + skip_call |= ValidateObject(device, pDescriptorWrites[idx1].pImageInfo[idx3].imageView, + VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, false, VALIDATION_ERROR_00943, + VALIDATION_ERROR_00963); } } if ((pDescriptorWrites[idx1].descriptorType == VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER) || @@ -1640,7 +1750,8 @@ VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets(VkDevice device, uint32_t descri for (uint32_t idx4 = 0; idx4 < pDescriptorWrites[idx1].descriptorCount; ++idx4) { if (pDescriptorWrites[idx1].pBufferInfo[idx4].buffer) { skip_call |= ValidateObject(device, pDescriptorWrites[idx1].pBufferInfo[idx4].buffer, - VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00962); + VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00962, + VALIDATION_ERROR_UNDEFINED); } } } @@ -1659,17 +1770,18 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateFramebuffer(VkDevice device, const VkFrameb bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00400); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00400, + VALIDATION_ERROR_UNDEFINED); if (pCreateInfo) { if (pCreateInfo->pAttachments) { for (uint32_t idx0 = 0; idx0 < pCreateInfo->attachmentCount; ++idx0) { skip_call |= ValidateObject(device, pCreateInfo->pAttachments[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, - false, VALIDATION_ERROR_00420); + false, VALIDATION_ERROR_00420, VALIDATION_ERROR_00421); } } if (pCreateInfo->renderPass) { skip_call |= ValidateObject(device, pCreateInfo->renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, false, - VALIDATION_ERROR_00419); + VALIDATION_ERROR_00419, VALIDATION_ERROR_00421); } } } @@ -1691,8 +1803,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyFramebuffer(VkDevice device, VkFramebuffer fra bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00425); - skip_call |= ValidateObject(device, framebuffer, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, true, VALIDATION_ERROR_00426); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00425, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, framebuffer, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, true, VALIDATION_ERROR_00426, + VALIDATION_ERROR_00428); } if (skip_call) { return; @@ -1710,7 +1824,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass(VkDevice device, const VkRenderP bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00319); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00319, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1730,8 +1845,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyRenderPass(VkDevice device, VkRenderPass rende bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00396); - skip_call |= ValidateObject(device, renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, true, VALIDATION_ERROR_00397); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00396, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, true, VALIDATION_ERROR_00397, + VALIDATION_ERROR_00399); } if (skip_call) { return; @@ -1748,8 +1865,10 @@ VKAPI_ATTR void VKAPI_CALL GetRenderAreaGranularity(VkDevice device, VkRenderPas bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00449); - skip_call |= ValidateObject(device, renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, false, VALIDATION_ERROR_00450); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00449, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, false, VALIDATION_ERROR_00450, + VALIDATION_ERROR_00452); } if (skip_call) { return; @@ -1762,7 +1881,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateCommandPool(VkDevice device, const VkComman bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00064); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00064, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1782,9 +1902,10 @@ VKAPI_ATTR VkResult VKAPI_CALL ResetCommandPool(VkDevice device, VkCommandPool c bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= - ValidateObject(device, commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, false, VALIDATION_ERROR_00074); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00073); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00073, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, false, + VALIDATION_ERROR_00074, VALIDATION_ERROR_00076); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1799,16 +1920,18 @@ VKAPI_ATTR VkResult VKAPI_CALL BeginCommandBuffer(VkCommandBuffer command_buffer { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(command_buffer, command_buffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00108); + VALIDATION_ERROR_00108, VALIDATION_ERROR_UNDEFINED); if (begin_info) { OBJTRACK_NODE *pNode = device_data->object_map[VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT] [reinterpret_cast<const uint64_t>(command_buffer)]; if ((begin_info->pInheritanceInfo) && (pNode->status & OBJSTATUS_COMMAND_BUFFER_SECONDARY) && (begin_info->flags & VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT)) { skip_call |= ValidateObject(command_buffer, begin_info->pInheritanceInfo->framebuffer, - VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, true, VALIDATION_ERROR_00112); + VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, true, VALIDATION_ERROR_00112, + VALIDATION_ERROR_00121); skip_call |= ValidateObject(command_buffer, begin_info->pInheritanceInfo->renderPass, - VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, false, VALIDATION_ERROR_00110); + VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, false, VALIDATION_ERROR_00110, + VALIDATION_ERROR_00121); } } } @@ -1824,7 +1947,7 @@ VKAPI_ATTR VkResult VKAPI_CALL EndCommandBuffer(VkCommandBuffer commandBuffer) { { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00125); + VALIDATION_ERROR_00125, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1838,7 +1961,7 @@ VKAPI_ATTR VkResult VKAPI_CALL ResetCommandBuffer(VkCommandBuffer commandBuffer, { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00094); + VALIDATION_ERROR_00094, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -1853,9 +1976,9 @@ VKAPI_ATTR void VKAPI_CALL CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipe { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00599); - skip_call |= - ValidateObject(commandBuffer, pipeline, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, false, VALIDATION_ERROR_00601); + VALIDATION_ERROR_00599, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, pipeline, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, false, + VALIDATION_ERROR_00601, VALIDATION_ERROR_00604); } if (skip_call) { return; @@ -1869,7 +1992,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetViewport(VkCommandBuffer commandBuffer, uint32_ { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01443); + VALIDATION_ERROR_01443, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1883,7 +2006,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01492); + VALIDATION_ERROR_01492, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1896,7 +2019,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetLineWidth(VkCommandBuffer commandBuffer, float { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01478); + VALIDATION_ERROR_01478, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1910,7 +2033,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetDepthBias(VkCommandBuffer commandBuffer, float { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01483); + VALIDATION_ERROR_01483, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1924,7 +2047,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetBlendConstants(VkCommandBuffer commandBuffer, c { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01551); + VALIDATION_ERROR_01551, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1937,7 +2060,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetDepthBounds(VkCommandBuffer commandBuffer, floa { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01507); + VALIDATION_ERROR_01507, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1951,7 +2074,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetStencilCompareMask(VkCommandBuffer commandBuffe { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01515); + VALIDATION_ERROR_01515, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1964,7 +2087,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01521); + VALIDATION_ERROR_01521, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1977,7 +2100,7 @@ VKAPI_ATTR void VKAPI_CALL CmdSetStencilReference(VkCommandBuffer commandBuffer, { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01527); + VALIDATION_ERROR_01527, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -1993,13 +2116,13 @@ VKAPI_ATTR void VKAPI_CALL CmdBindDescriptorSets(VkCommandBuffer commandBuffer, { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00979); - skip_call |= - ValidateObject(commandBuffer, layout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, false, VALIDATION_ERROR_00981); + VALIDATION_ERROR_00979, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, layout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, false, + VALIDATION_ERROR_00981, VALIDATION_ERROR_00987); if (pDescriptorSets) { for (uint32_t idx0 = 0; idx0 < descriptorSetCount; ++idx0) { skip_call |= ValidateObject(commandBuffer, pDescriptorSets[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, - false, VALIDATION_ERROR_00982); + false, VALIDATION_ERROR_00982, VALIDATION_ERROR_00987); } } } @@ -2016,9 +2139,10 @@ VKAPI_ATTR void VKAPI_CALL CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkB bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01354); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01353); + VALIDATION_ERROR_01353, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01354, + VALIDATION_ERROR_01358); } if (skip_call) { return; @@ -2032,11 +2156,11 @@ VKAPI_ATTR void VKAPI_CALL CmdBindVertexBuffers(VkCommandBuffer commandBuffer, u { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01419); + VALIDATION_ERROR_01419, VALIDATION_ERROR_UNDEFINED); if (pBuffers) { for (uint32_t idx0 = 0; idx0 < bindingCount; ++idx0) { skip_call |= ValidateObject(commandBuffer, pBuffers[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, - VALIDATION_ERROR_01420); + VALIDATION_ERROR_01420, VALIDATION_ERROR_01425); } } } @@ -2053,7 +2177,7 @@ VKAPI_ATTR void VKAPI_CALL CmdDraw(VkCommandBuffer commandBuffer, uint32_t verte { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01362); + VALIDATION_ERROR_01362, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -2068,7 +2192,7 @@ VKAPI_ATTR void VKAPI_CALL CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_ { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01369); + VALIDATION_ERROR_01369, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -2082,9 +2206,10 @@ VKAPI_ATTR void VKAPI_CALL CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuff bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01378); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01377); + VALIDATION_ERROR_01377, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01378, + VALIDATION_ERROR_01382); } if (skip_call) { return; @@ -2097,9 +2222,10 @@ VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01390); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01389); + VALIDATION_ERROR_01389, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01390, + VALIDATION_ERROR_01394); } if (skip_call) { return; @@ -2113,7 +2239,7 @@ VKAPI_ATTR void VKAPI_CALL CmdDispatch(VkCommandBuffer commandBuffer, uint32_t x { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01559); + VALIDATION_ERROR_01559, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -2125,9 +2251,10 @@ VKAPI_ATTR void VKAPI_CALL CmdDispatchIndirect(VkCommandBuffer commandBuffer, Vk bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01566); + skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01566, + VALIDATION_ERROR_01570); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01565); + VALIDATION_ERROR_01565, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -2141,11 +2268,11 @@ VKAPI_ATTR void VKAPI_CALL CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01166); - skip_call |= - ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01168); - skip_call |= - ValidateObject(commandBuffer, srcBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01167); + VALIDATION_ERROR_01166, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01168, + VALIDATION_ERROR_01174); + skip_call |= ValidateObject(commandBuffer, srcBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01167, + VALIDATION_ERROR_01174); } if (skip_call) { return; @@ -2161,9 +2288,11 @@ VKAPI_ATTR void VKAPI_CALL CmdCopyImage(VkCommandBuffer commandBuffer, VkImage s { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01186); - skip_call |= ValidateObject(commandBuffer, dstImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01189); - skip_call |= ValidateObject(commandBuffer, srcImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01187); + VALIDATION_ERROR_01186, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01189, + VALIDATION_ERROR_01196); + skip_call |= ValidateObject(commandBuffer, srcImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01187, + VALIDATION_ERROR_01196); } if (skip_call) { return; @@ -2179,9 +2308,11 @@ VKAPI_ATTR void VKAPI_CALL CmdBlitImage(VkCommandBuffer commandBuffer, VkImage s { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01291); - skip_call |= ValidateObject(commandBuffer, dstImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01294); - skip_call |= ValidateObject(commandBuffer, srcImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01292); + VALIDATION_ERROR_01291, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01294, + VALIDATION_ERROR_01302); + skip_call |= ValidateObject(commandBuffer, srcImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01292, + VALIDATION_ERROR_01302); } if (skip_call) { return; @@ -2197,10 +2328,11 @@ VKAPI_ATTR void VKAPI_CALL CmdCopyBufferToImage(VkCommandBuffer commandBuffer, V { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01235); - skip_call |= ValidateObject(commandBuffer, dstImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01237); - skip_call |= - ValidateObject(commandBuffer, srcBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01236); + VALIDATION_ERROR_01235, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01237, + VALIDATION_ERROR_01244); + skip_call |= ValidateObject(commandBuffer, srcBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01236, + VALIDATION_ERROR_01244); } if (skip_call) { return; @@ -2215,10 +2347,11 @@ VKAPI_ATTR void VKAPI_CALL CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, V { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01253); - skip_call |= - ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01256); - skip_call |= ValidateObject(commandBuffer, srcImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01254); + VALIDATION_ERROR_01253, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01256, + VALIDATION_ERROR_01262); + skip_call |= ValidateObject(commandBuffer, srcImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01254, + VALIDATION_ERROR_01262); } if (skip_call) { return; @@ -2233,9 +2366,9 @@ VKAPI_ATTR void VKAPI_CALL CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuff { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01150); - skip_call |= - ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01151); + VALIDATION_ERROR_01150, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01151, + VALIDATION_ERROR_01157); } if (skip_call) { return; @@ -2249,9 +2382,9 @@ VKAPI_ATTR void VKAPI_CALL CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01138); - skip_call |= - ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01139); + VALIDATION_ERROR_01138, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01139, + VALIDATION_ERROR_01143); } if (skip_call) { return; @@ -2266,8 +2399,9 @@ VKAPI_ATTR void VKAPI_CALL CmdClearColorImage(VkCommandBuffer commandBuffer, VkI { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01089); - skip_call |= ValidateObject(commandBuffer, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01090); + VALIDATION_ERROR_01089, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01090, + VALIDATION_ERROR_01098); } if (skip_call) { return; @@ -2283,8 +2417,9 @@ VKAPI_ATTR void VKAPI_CALL CmdClearDepthStencilImage(VkCommandBuffer commandBuff { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01104); - skip_call |= ValidateObject(commandBuffer, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01105); + VALIDATION_ERROR_01104, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01105, + VALIDATION_ERROR_01113); } if (skip_call) { return; @@ -2300,7 +2435,7 @@ VKAPI_ATTR void VKAPI_CALL CmdClearAttachments(VkCommandBuffer commandBuffer, ui { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01117); + VALIDATION_ERROR_01117, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -2316,9 +2451,11 @@ VKAPI_ATTR void VKAPI_CALL CmdResolveImage(VkCommandBuffer commandBuffer, VkImag { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01327); - skip_call |= ValidateObject(commandBuffer, dstImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01330); - skip_call |= ValidateObject(commandBuffer, srcImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01328); + VALIDATION_ERROR_01327, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01330, + VALIDATION_ERROR_01337); + skip_call |= ValidateObject(commandBuffer, srcImage, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_01328, + VALIDATION_ERROR_01337); } if (skip_call) { return; @@ -2332,8 +2469,9 @@ VKAPI_ATTR void VKAPI_CALL CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent ev { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00232); - skip_call |= ValidateObject(commandBuffer, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00233); + VALIDATION_ERROR_00232, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00233, + VALIDATION_ERROR_00239); } if (skip_call) { return; @@ -2346,8 +2484,9 @@ VKAPI_ATTR void VKAPI_CALL CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00243); - skip_call |= ValidateObject(commandBuffer, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00244); + VALIDATION_ERROR_00243, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, VALIDATION_ERROR_00244, + VALIDATION_ERROR_00250); } if (skip_call) { return; @@ -2364,26 +2503,28 @@ VKAPI_ATTR void VKAPI_CALL CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00252); + VALIDATION_ERROR_00252, VALIDATION_ERROR_UNDEFINED); if (pBufferMemoryBarriers) { for (uint32_t idx0 = 0; idx0 < bufferMemoryBarrierCount; ++idx0) { if (pBufferMemoryBarriers[idx0].buffer) { - skip_call |= ValidateObject(commandBuffer, pBufferMemoryBarriers[idx0].buffer, - VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00259); + skip_call |= + ValidateObject(commandBuffer, pBufferMemoryBarriers[idx0].buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, + false, VALIDATION_ERROR_00259, VALIDATION_ERROR_UNDEFINED); } } } if (pEvents) { for (uint32_t idx1 = 0; idx1 < eventCount; ++idx1) { skip_call |= ValidateObject(commandBuffer, pEvents[idx1], VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, false, - VALIDATION_ERROR_00253); + VALIDATION_ERROR_00253, VALIDATION_ERROR_00264); } } if (pImageMemoryBarriers) { for (uint32_t idx2 = 0; idx2 < imageMemoryBarrierCount; ++idx2) { if (pImageMemoryBarriers[idx2].image) { - skip_call |= ValidateObject(commandBuffer, pImageMemoryBarriers[idx2].image, - VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00260); + skip_call |= + ValidateObject(commandBuffer, pImageMemoryBarriers[idx2].image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, + false, VALIDATION_ERROR_00260, VALIDATION_ERROR_UNDEFINED); } } } @@ -2405,20 +2546,22 @@ VKAPI_ATTR void VKAPI_CALL CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkP { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00270); + VALIDATION_ERROR_00270, VALIDATION_ERROR_UNDEFINED); if (pBufferMemoryBarriers) { for (uint32_t idx0 = 0; idx0 < bufferMemoryBarrierCount; ++idx0) { if (pBufferMemoryBarriers[idx0].buffer) { - skip_call |= ValidateObject(commandBuffer, pBufferMemoryBarriers[idx0].buffer, - VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_00277); + skip_call |= + ValidateObject(commandBuffer, pBufferMemoryBarriers[idx0].buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, + false, VALIDATION_ERROR_00277, VALIDATION_ERROR_UNDEFINED); } } } if (pImageMemoryBarriers) { for (uint32_t idx1 = 0; idx1 < imageMemoryBarrierCount; ++idx1) { if (pImageMemoryBarriers[idx1].image) { - skip_call |= ValidateObject(commandBuffer, pImageMemoryBarriers[idx1].image, - VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, VALIDATION_ERROR_00278); + skip_call |= + ValidateObject(commandBuffer, pImageMemoryBarriers[idx1].image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, + false, VALIDATION_ERROR_00278, VALIDATION_ERROR_UNDEFINED); } } } @@ -2437,9 +2580,9 @@ VKAPI_ATTR void VKAPI_CALL CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryP { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01035); - skip_call |= - ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, VALIDATION_ERROR_01036); + VALIDATION_ERROR_01035, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, + VALIDATION_ERROR_01036, VALIDATION_ERROR_01040); } if (skip_call) { return; @@ -2452,9 +2595,9 @@ VKAPI_ATTR void VKAPI_CALL CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPoo { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01043); - skip_call |= - ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, VALIDATION_ERROR_01044); + VALIDATION_ERROR_01043, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, + VALIDATION_ERROR_01044, VALIDATION_ERROR_01047); } if (skip_call) { return; @@ -2468,9 +2611,9 @@ VKAPI_ATTR void VKAPI_CALL CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQu { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01021); - skip_call |= - ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, VALIDATION_ERROR_01022); + VALIDATION_ERROR_01021, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, + VALIDATION_ERROR_01022, VALIDATION_ERROR_01026); } if (skip_call) { return; @@ -2484,9 +2627,9 @@ VKAPI_ATTR void VKAPI_CALL CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPi { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01078); - skip_call |= - ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, VALIDATION_ERROR_01080); + VALIDATION_ERROR_01078, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, + VALIDATION_ERROR_01080, VALIDATION_ERROR_01083); } if (skip_call) { return; @@ -2501,11 +2644,11 @@ VKAPI_ATTR void VKAPI_CALL CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_01068); - skip_call |= - ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01070); - skip_call |= - ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, VALIDATION_ERROR_01069); + VALIDATION_ERROR_01068, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, dstBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01070, + VALIDATION_ERROR_01075); + skip_call |= ValidateObject(commandBuffer, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, false, + VALIDATION_ERROR_01069, VALIDATION_ERROR_01075); } if (skip_call) { return; @@ -2520,9 +2663,9 @@ VKAPI_ATTR void VKAPI_CALL CmdPushConstants(VkCommandBuffer commandBuffer, VkPip { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00993); - skip_call |= - ValidateObject(commandBuffer, layout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, false, VALIDATION_ERROR_00994); + VALIDATION_ERROR_00993, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, layout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, false, + VALIDATION_ERROR_00994, VALIDATION_ERROR_01001); } if (skip_call) { return; @@ -2537,12 +2680,12 @@ VKAPI_ATTR void VKAPI_CALL CmdBeginRenderPass(VkCommandBuffer commandBuffer, con { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00435); + VALIDATION_ERROR_00435, VALIDATION_ERROR_UNDEFINED); if (pRenderPassBegin) { skip_call |= ValidateObject(commandBuffer, pRenderPassBegin->framebuffer, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, - false, VALIDATION_ERROR_00446); + false, VALIDATION_ERROR_00446, VALIDATION_ERROR_00448); skip_call |= ValidateObject(commandBuffer, pRenderPassBegin->renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, - false, VALIDATION_ERROR_00445); + false, VALIDATION_ERROR_00445, VALIDATION_ERROR_00448); } } if (skip_call) { @@ -2556,7 +2699,7 @@ VKAPI_ATTR void VKAPI_CALL CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpa { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00454); + VALIDATION_ERROR_00454, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -2569,7 +2712,7 @@ VKAPI_ATTR void VKAPI_CALL CmdEndRenderPass(VkCommandBuffer commandBuffer) { { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00461); + VALIDATION_ERROR_00461, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -2583,11 +2726,11 @@ VKAPI_ATTR void VKAPI_CALL CmdExecuteCommands(VkCommandBuffer commandBuffer, uin { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_00159); + VALIDATION_ERROR_00159, VALIDATION_ERROR_UNDEFINED); if (pCommandBuffers) { for (uint32_t idx0 = 0; idx0 < commandBufferCount; ++idx0) { skip_call |= ValidateObject(commandBuffer, pCommandBuffers[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, - false, VALIDATION_ERROR_00160); + false, VALIDATION_ERROR_00160, VALIDATION_ERROR_00165); } } } @@ -2601,8 +2744,10 @@ VKAPI_ATTR void VKAPI_CALL DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR s bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01847); - skip_call |= ValidateObject(instance, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, true, VALIDATION_ERROR_01848); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01847, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(instance, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, true, VALIDATION_ERROR_01848, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return; @@ -2621,9 +2766,9 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevi { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01890); - skip_call |= - ValidateObject(physicalDevice, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, VALIDATION_ERROR_01891); + VALIDATION_ERROR_01890, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(physicalDevice, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, + VALIDATION_ERROR_01891, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2639,9 +2784,9 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysica { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01907); - skip_call |= - ValidateObject(physicalDevice, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, VALIDATION_ERROR_01908); + VALIDATION_ERROR_01907, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(physicalDevice, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, + VALIDATION_ERROR_01908, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2658,9 +2803,9 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevi { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01910); - skip_call |= - ValidateObject(physicalDevice, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, VALIDATION_ERROR_01911); + VALIDATION_ERROR_01910, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(physicalDevice, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, + VALIDATION_ERROR_01911, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2677,9 +2822,9 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModesKHR(VkPhysica { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01914); - skip_call |= - ValidateObject(physicalDevice, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, VALIDATION_ERROR_01915); + VALIDATION_ERROR_01914, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(physicalDevice, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, + VALIDATION_ERROR_01915, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2694,13 +2839,15 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateSwapchainKHR(VkDevice device, const VkSwapc bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01918); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01918, + VALIDATION_ERROR_UNDEFINED); if (pCreateInfo) { skip_call |= ValidateObject(device, pCreateInfo->oldSwapchain, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, true, - VALIDATION_ERROR_01935); + VALIDATION_ERROR_01935, VALIDATION_ERROR_UNDEFINED); layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); - skip_call |= ValidateObject(device_data->physical_device, pCreateInfo->surface, - VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, VALIDATION_ERROR_01926); + skip_call |= + ValidateObject(device_data->physical_device, pCreateInfo->surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, + false, VALIDATION_ERROR_01926, VALIDATION_ERROR_UNDEFINED); } } if (skip_call) { @@ -2722,11 +2869,14 @@ VKAPI_ATTR VkResult VKAPI_CALL AcquireNextImageKHR(VkDevice device, VkSwapchainK bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01954); - skip_call |= ValidateObject(device, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, true, VALIDATION_ERROR_01957); - skip_call |= ValidateObject(device, semaphore, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, true, VALIDATION_ERROR_01956); - skip_call |= - ValidateObject(device, swapchain, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, false, VALIDATION_ERROR_01955); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01954, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, true, VALIDATION_ERROR_01957, + VALIDATION_ERROR_01960); + skip_call |= ValidateObject(device, semaphore, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, true, VALIDATION_ERROR_01956, + VALIDATION_ERROR_01959); + skip_call |= ValidateObject(device, swapchain, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, false, VALIDATION_ERROR_01955, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2743,18 +2893,21 @@ VKAPI_ATTR VkResult VKAPI_CALL QueuePresentKHR(VkQueue queue, const VkPresentInf if (pPresentInfo) { if (pPresentInfo->pSwapchains) { for (uint32_t idx0 = 0; idx0 < pPresentInfo->swapchainCount; ++idx0) { - skip_call |= ValidateObject(queue, pPresentInfo->pSwapchains[idx0], - VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, false, VALIDATION_ERROR_01969); + skip_call |= + ValidateObject(queue, pPresentInfo->pSwapchains[idx0], VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, false, + VALIDATION_ERROR_01969, VALIDATION_ERROR_UNDEFINED); } } if (pPresentInfo->pWaitSemaphores) { for (uint32_t idx1 = 0; idx1 < pPresentInfo->waitSemaphoreCount; ++idx1) { - skip_call |= ValidateObject(queue, pPresentInfo->pWaitSemaphores[idx1], - VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, false, VALIDATION_ERROR_01968); + skip_call |= + ValidateObject(queue, pPresentInfo->pWaitSemaphores[idx1], VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, false, + VALIDATION_ERROR_01968, VALIDATION_ERROR_UNDEFINED); } } } - skip_call |= ValidateObject(queue, queue, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, false, VALIDATION_ERROR_01962); + skip_call |= ValidateObject(queue, queue, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, false, VALIDATION_ERROR_01962, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2769,7 +2922,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateWin32SurfaceKHR(VkInstance instance, const bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01820); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01820, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2791,7 +2945,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWin32PresentationSupportKHR(VkPh { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01900); + VALIDATION_ERROR_01900, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_FALSE; @@ -2808,7 +2962,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateXcbSurfaceKHR(VkInstance instance, const Vk bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01827); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01827, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2831,7 +2986,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXcbPresentationSupportKHR(VkPhys { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01902); + VALIDATION_ERROR_01902, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_FALSE; @@ -2848,7 +3003,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateXlibSurfaceKHR(VkInstance instance, const V bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01836); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01836, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2871,7 +3027,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceXlibPresentationSupportKHR(VkPhy { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01905); + VALIDATION_ERROR_01905, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_FALSE; @@ -2888,7 +3044,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateMirSurfaceKHR(VkInstance instance, const Vk bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01802); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01802, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2910,7 +3067,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceMirPresentationSupportKHR(VkPhys { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01894); + VALIDATION_ERROR_01894, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_FALSE; @@ -2927,7 +3084,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateWaylandSurfaceKHR(VkInstance instance, cons bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01811); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01811, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2950,7 +3108,7 @@ VKAPI_ATTR VkBool32 VKAPI_CALL GetPhysicalDeviceWaylandPresentationSupportKHR(Vk { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01897); + VALIDATION_ERROR_01897, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_FALSE; @@ -2967,7 +3125,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateAndroidSurfaceKHR(VkInstance instance, cons bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01794); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01794, + VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -2991,14 +3150,16 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateSharedSwapchainsKHR(VkDevice device, uint32 uint32_t i = 0; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01943); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01943, + VALIDATION_ERROR_UNDEFINED); if (NULL != pCreateInfos) { for (i = 0; i < swapchainCount; i++) { skip_call |= ValidateObject(device, pCreateInfos[i].oldSwapchain, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, - true, VALIDATION_ERROR_01935); + true, VALIDATION_ERROR_01935, VALIDATION_ERROR_UNDEFINED); layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); skip_call |= ValidateObject(device_data->physical_device, pCreateInfos[i].surface, - VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, VALIDATION_ERROR_01926); + VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, false, VALIDATION_ERROR_01926, + VALIDATION_ERROR_UNDEFINED); } } } @@ -3265,7 +3426,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevi { std::lock_guard<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_00028); + VALIDATION_ERROR_00028, VALIDATION_ERROR_UNDEFINED); } if (skip) { return; @@ -3328,7 +3489,8 @@ VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDevices(VkInstance instance, uin VkPhysicalDevice *pPhysicalDevices) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_00023); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_00023, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -3349,7 +3511,8 @@ VKAPI_ATTR VkResult VKAPI_CALL EnumeratePhysicalDevices(VkInstance instance, uin VKAPI_ATTR void VKAPI_CALL GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue) { std::unique_lock<std::mutex> lock(global_lock); - ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00062); + ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00062, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); get_dispatch_table(ot_device_table_map, device)->GetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue); @@ -3363,8 +3526,10 @@ VKAPI_ATTR void VKAPI_CALL GetDeviceQueue(VkDevice device, uint32_t queueFamilyI VKAPI_ATTR void VKAPI_CALL FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks *pAllocator) { bool skip = false; std::unique_lock<std::mutex> lock(global_lock); - skip |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00621); - skip |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, true, VALIDATION_ERROR_00622); + skip |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00621, + VALIDATION_ERROR_UNDEFINED); + skip |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, true, VALIDATION_ERROR_00622, + VALIDATION_ERROR_00624); lock.unlock(); if (!skip) { get_dispatch_table(ot_device_table_map, device)->FreeMemory(device, memory, pAllocator); @@ -3379,8 +3544,10 @@ VKAPI_ATTR VkResult VKAPI_CALL MapMemory(VkDevice device, VkDeviceMemory memory, VkMemoryMapFlags flags, void **ppData) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00630); - skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00631); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00630, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00631, + VALIDATION_ERROR_00634); lock.unlock(); if (skip_call == VK_TRUE) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -3392,8 +3559,10 @@ VKAPI_ATTR VkResult VKAPI_CALL MapMemory(VkDevice device, VkDeviceMemory memory, VKAPI_ATTR void VKAPI_CALL UnmapMemory(VkDevice device, VkDeviceMemory memory) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00650); - skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00651); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00650, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_00651, + VALIDATION_ERROR_00652); lock.unlock(); if (skip_call == VK_TRUE) { return; @@ -3406,16 +3575,30 @@ VKAPI_ATTR VkResult VKAPI_CALL QueueBindSparse(VkQueue queue, uint32_t bindInfoC std::unique_lock<std::mutex> lock(global_lock); ValidateQueueFlags(queue, "QueueBindSparse"); + ValidateObject(queue, queue, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, false, VALIDATION_ERROR_01648, VALIDATION_ERROR_UNDEFINED); + ValidateObject(queue, fence, VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT, true, VALIDATION_ERROR_01650, VALIDATION_ERROR_01652); + for (uint32_t i = 0; i < bindInfoCount; i++) { - for (uint32_t j = 0; j < pBindInfo[i].bufferBindCount; j++) + for (uint32_t j = 0; j < pBindInfo[i].bufferBindCount; j++) { ValidateObject(queue, pBindInfo[i].pBufferBinds[j].buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, - VALIDATION_ERROR_01656); - for (uint32_t j = 0; j < pBindInfo[i].imageOpaqueBindCount; j++) + VALIDATION_ERROR_01656, VALIDATION_ERROR_UNDEFINED); + } + for (uint32_t j = 0; j < pBindInfo[i].imageOpaqueBindCount; j++) { ValidateObject(queue, pBindInfo[i].pImageOpaqueBinds[j].image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, - VALIDATION_ERROR_01657); - for (uint32_t j = 0; j < pBindInfo[i].imageBindCount; j++) + VALIDATION_ERROR_01657, VALIDATION_ERROR_UNDEFINED); + } + for (uint32_t j = 0; j < pBindInfo[i].imageBindCount; j++) { ValidateObject(queue, pBindInfo[i].pImageBinds[j].image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, false, - VALIDATION_ERROR_01658); + VALIDATION_ERROR_01658, VALIDATION_ERROR_UNDEFINED); + } + for (uint32_t j = 0; j < pBindInfo[i].waitSemaphoreCount; j++) { + ValidateObject(queue, pBindInfo[i].pWaitSemaphores[j], VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, false, + VALIDATION_ERROR_01655, VALIDATION_ERROR_01660); + } + for (uint32_t j = 0; j < pBindInfo[i].signalSemaphoreCount; j++) { + ValidateObject(queue, pBindInfo[i].pSignalSemaphores[j], VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, false, + VALIDATION_ERROR_01659, VALIDATION_ERROR_01660); + } } lock.unlock(); @@ -3427,9 +3610,10 @@ VKAPI_ATTR VkResult VKAPI_CALL AllocateCommandBuffers(VkDevice device, const VkC VkCommandBuffer *pCommandBuffers) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00084); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00084, + VALIDATION_ERROR_UNDEFINED); skip_call |= ValidateObject(device, pAllocateInfo->commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, false, - VALIDATION_ERROR_00090); + VALIDATION_ERROR_00090, VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { @@ -3453,12 +3637,13 @@ VKAPI_ATTR VkResult VKAPI_CALL AllocateDescriptorSets(VkDevice device, const VkD VkDescriptorSet *pDescriptorSets) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00908); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00908, + VALIDATION_ERROR_UNDEFINED); skip_call |= ValidateObject(device, pAllocateInfo->descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, false, - VALIDATION_ERROR_00915); + VALIDATION_ERROR_00915, VALIDATION_ERROR_00918); for (uint32_t i = 0; i < pAllocateInfo->descriptorSetCount; i++) { skip_call |= ValidateObject(device, pAllocateInfo->pSetLayouts[i], VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, - false, VALIDATION_ERROR_00916); + false, VALIDATION_ERROR_00916, VALIDATION_ERROR_00918); } lock.unlock(); if (skip_call) { @@ -3484,8 +3669,10 @@ VKAPI_ATTR void VKAPI_CALL FreeCommandBuffers(VkDevice device, VkCommandPool com const VkCommandBuffer *pCommandBuffers) { bool skip_call = false; std::unique_lock<std::mutex> lock(global_lock); - ValidateObject(device, commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, false, VALIDATION_ERROR_00099); - ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00098); + ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00098, + VALIDATION_ERROR_UNDEFINED); + ValidateObject(device, commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, false, VALIDATION_ERROR_00099, + VALIDATION_ERROR_00101); for (uint32_t i = 0; i < commandBufferCount; i++) { if (pCommandBuffers[i] != VK_NULL_HANDLE) { skip_call |= ValidateCommandBuffer(device, commandPool, pCommandBuffers[i]); @@ -3531,9 +3718,10 @@ VKAPI_ATTR VkResult VKAPI_CALL FreeDescriptorSets(VkDevice device, VkDescriptorP bool skip_call = false; VkResult result = VK_ERROR_VALIDATION_FAILED_EXT; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= - ValidateObject(device, descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, false, VALIDATION_ERROR_00924); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00923); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00923, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, false, + VALIDATION_ERROR_00924, VALIDATION_ERROR_00926); for (uint32_t i = 0; i < descriptorSetCount; i++) { if (pDescriptorSets[i] != VK_NULL_HANDLE) { skip_call |= ValidateDescriptorSet(device, descriptorPool, pDescriptorSets[i]); @@ -3558,9 +3746,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyDescriptorPool(VkDevice device, VkDescriptorPo bool skip_call = VK_FALSE; layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00904); - skip_call |= - ValidateObject(device, descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, true, VALIDATION_ERROR_00905); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00904, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, true, + VALIDATION_ERROR_00905, VALIDATION_ERROR_00907); lock.unlock(); if (skip_call) { return; @@ -3588,8 +3777,10 @@ VKAPI_ATTR void VKAPI_CALL DestroyCommandPool(VkDevice device, VkCommandPool com layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); bool skip_call = false; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00080); - skip_call |= ValidateObject(device, commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, true, VALIDATION_ERROR_00081); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00080, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, true, VALIDATION_ERROR_00081, + VALIDATION_ERROR_00083); lock.unlock(); if (skip_call) { return; @@ -3619,7 +3810,8 @@ VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainImagesKHR(VkDevice device, VkSwapchai VkImage *pSwapchainImages) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01948); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01948, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -3641,34 +3833,36 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateGraphicsPipelines(VkDevice device, VkPipeli const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00519); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00519, + VALIDATION_ERROR_UNDEFINED); if (pCreateInfos) { for (uint32_t idx0 = 0; idx0 < createInfoCount; ++idx0) { if (pCreateInfos[idx0].basePipelineHandle) { skip_call |= ValidateObject(device, pCreateInfos[idx0].basePipelineHandle, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, - true, VALIDATION_ERROR_00529); + true, VALIDATION_ERROR_00529, VALIDATION_ERROR_00549); } if (pCreateInfos[idx0].layout) { skip_call |= ValidateObject(device, pCreateInfos[idx0].layout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, - false, VALIDATION_ERROR_00546); + false, VALIDATION_ERROR_00546, VALIDATION_ERROR_00549); } if (pCreateInfos[idx0].pStages) { for (uint32_t idx1 = 0; idx1 < pCreateInfos[idx0].stageCount; ++idx1) { if (pCreateInfos[idx0].pStages[idx1].module) { skip_call |= ValidateObject(device, pCreateInfos[idx0].pStages[idx1].module, - VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, false, VALIDATION_ERROR_00515); + VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, false, VALIDATION_ERROR_00515, + VALIDATION_ERROR_UNDEFINED); } } } if (pCreateInfos[idx0].renderPass) { skip_call |= ValidateObject(device, pCreateInfos[idx0].renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, - false, VALIDATION_ERROR_00547); + false, VALIDATION_ERROR_00547, VALIDATION_ERROR_00549); } } } if (pipelineCache) { - skip_call |= - ValidateObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, true, VALIDATION_ERROR_00520); + skip_call |= ValidateObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, true, + VALIDATION_ERROR_00520, VALIDATION_ERROR_00525); } lock.unlock(); if (skip_call) { @@ -3694,26 +3888,27 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateComputePipelines(VkDevice device, VkPipelin const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00486); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_00486, + VALIDATION_ERROR_UNDEFINED); if (pCreateInfos) { for (uint32_t idx0 = 0; idx0 < createInfoCount; ++idx0) { if (pCreateInfos[idx0].basePipelineHandle) { skip_call |= ValidateObject(device, pCreateInfos[idx0].basePipelineHandle, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, - true, VALIDATION_ERROR_00496); + true, VALIDATION_ERROR_00496, VALIDATION_ERROR_00506); } if (pCreateInfos[idx0].layout) { skip_call |= ValidateObject(device, pCreateInfos[idx0].layout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, - false, VALIDATION_ERROR_00505); + false, VALIDATION_ERROR_00505, VALIDATION_ERROR_00506); } if (pCreateInfos[idx0].stage.module) { skip_call |= ValidateObject(device, pCreateInfos[idx0].stage.module, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, - false, VALIDATION_ERROR_00515); + false, VALIDATION_ERROR_00515, VALIDATION_ERROR_UNDEFINED); } } } if (pipelineCache) { - skip_call |= - ValidateObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, true, VALIDATION_ERROR_00487); + skip_call |= ValidateObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, true, + VALIDATION_ERROR_00487, VALIDATION_ERROR_00492); } lock.unlock(); if (skip_call) { @@ -3738,7 +3933,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateComputePipelines(VkDevice device, VkPipelin VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(VkDevice device, VkDebugMarkerObjectTagInfoEXT *pTagInfo) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_02007); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_02007, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -3754,7 +3950,8 @@ VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectTagEXT(VkDevice device, VkDeb VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(VkDevice device, VkDebugMarkerObjectNameInfoEXT *pNameInfo) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01999); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01999, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -3770,8 +3967,8 @@ VKAPI_ATTR VkResult VKAPI_CALL DebugMarkerSetObjectNameEXT(VkDevice device, VkDe VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT *pMarkerInfo) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= - ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, VALIDATION_ERROR_02014); + skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, + VALIDATION_ERROR_02014, VALIDATION_ERROR_UNDEFINED); lock.unlock(); layer_data *dev_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); if (!skip_call && dev_data->dispatch_table.CmdDebugMarkerBeginEXT) { @@ -3782,8 +3979,8 @@ VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer, VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= - ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, VALIDATION_ERROR_02022); + skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, + VALIDATION_ERROR_02022, VALIDATION_ERROR_UNDEFINED); lock.unlock(); layer_data *dev_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); if (!skip_call && dev_data->dispatch_table.CmdDebugMarkerEndEXT) { @@ -3794,8 +3991,8 @@ VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) { VKAPI_ATTR void VKAPI_CALL CmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer, VkDebugMarkerMarkerInfoEXT *pMarkerInfo) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= - ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, VALIDATION_ERROR_02025); + skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, + VALIDATION_ERROR_02025, VALIDATION_ERROR_UNDEFINED); lock.unlock(); layer_data *dev_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); if (!skip_call && dev_data->dispatch_table.CmdDebugMarkerInsertEXT) { @@ -3812,7 +4009,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatPropertiesNV( { std::lock_guard<std::mutex> lock(global_lock); skip_call |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01980); + VALIDATION_ERROR_01980, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -3831,7 +4028,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalD { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01851); + VALIDATION_ERROR_01851, VALIDATION_ERROR_UNDEFINED); } if (!skip) { result = get_dispatch_table(ot_instance_table_map, physicalDevice) @@ -3847,7 +4044,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhys { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01854); + VALIDATION_ERROR_01854, VALIDATION_ERROR_UNDEFINED); } if (!skip) { result = get_dispatch_table(ot_instance_table_map, physicalDevice) @@ -3863,7 +4060,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDev { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01858); + VALIDATION_ERROR_01858, VALIDATION_ERROR_UNDEFINED); } result = get_dispatch_table(ot_instance_table_map, physicalDevice) ->GetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, pDisplayCount, pDisplays); @@ -3883,8 +4080,9 @@ VKAPI_ATTR VkResult VKAPI_CALL GetDisplayModePropertiesKHR(VkPhysicalDevice phys { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01861); - skip |= ValidateObject(physicalDevice, display, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT, false, VALIDATION_ERROR_01862); + VALIDATION_ERROR_01861, VALIDATION_ERROR_UNDEFINED); + skip |= ValidateObject(physicalDevice, display, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT, false, VALIDATION_ERROR_01862, + VALIDATION_ERROR_UNDEFINED); } result = get_dispatch_table(ot_instance_table_map, physicalDevice) ->GetDisplayModePropertiesKHR(physicalDevice, display, pPropertyCount, pProperties); @@ -3900,8 +4098,9 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayModeKHR(VkPhysicalDevice physicalDev { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01865); - skip |= ValidateObject(physicalDevice, display, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT, false, VALIDATION_ERROR_01866); + VALIDATION_ERROR_01865, VALIDATION_ERROR_UNDEFINED); + skip |= ValidateObject(physicalDevice, display, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT, false, VALIDATION_ERROR_01866, + VALIDATION_ERROR_UNDEFINED); } result = get_dispatch_table(ot_instance_table_map, physicalDevice) ->CreateDisplayModeKHR(physicalDevice, display, pCreateInfo, pAllocator, pMode); @@ -3921,9 +4120,9 @@ VKAPI_ATTR VkResult VKAPI_CALL GetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice p { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_01875); - skip |= - ValidateObject(physicalDevice, mode, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT, false, VALIDATION_ERROR_01876); + VALIDATION_ERROR_01875, VALIDATION_ERROR_UNDEFINED); + skip |= ValidateObject(physicalDevice, mode, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT, false, + VALIDATION_ERROR_01876, VALIDATION_ERROR_UNDEFINED); } result = get_dispatch_table(ot_instance_table_map, physicalDevice) ->GetDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex, pCapabilities); @@ -3936,7 +4135,10 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateDisplayPlaneSurfaceKHR(VkInstance instance, bool skip_call = false; { std::lock_guard<std::mutex> lock(global_lock); - skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01878); + skip_call |= ValidateObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, false, VALIDATION_ERROR_01878, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(instance, pCreateInfo->displayMode, VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT, false, + VALIDATION_ERROR_01886, VALIDATION_ERROR_UNDEFINED); } if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -3958,8 +4160,10 @@ VKAPI_ATTR VkResult VKAPI_CALL GetMemoryWin32HandleNV(VkDevice device, VkDeviceM VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE *pHandle) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01725); - skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_01726); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_01725, + VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, false, VALIDATION_ERROR_01726, + VALIDATION_ERROR_01730); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -3975,9 +4179,14 @@ VKAPI_ATTR void VKAPI_CALL CmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer uint32_t stride) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= - ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, VALIDATION_ERROR_01771); - skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01772); + skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, + VALIDATION_ERROR_01771, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01772, + VALIDATION_ERROR_01777); + skip_call |= ValidateObject(commandBuffer, countBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01773, + VALIDATION_ERROR_01777); + skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01774, + VALIDATION_ERROR_01777); lock.unlock(); if (!skip_call) { get_dispatch_table(ot_device_table_map, commandBuffer) @@ -3990,9 +4199,14 @@ VKAPI_ATTR void VKAPI_CALL CmdDrawIndexedIndirectCountAMD(VkCommandBuffer comman uint32_t maxDrawCount, uint32_t stride) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= - ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, VALIDATION_ERROR_01783); - skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01784); + skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, + VALIDATION_ERROR_01783, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(commandBuffer, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01784, + VALIDATION_ERROR_01789); + skip_call |= ValidateObject(commandBuffer, countBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01785, + VALIDATION_ERROR_01789); + skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, false, VALIDATION_ERROR_01786, + VALIDATION_ERROR_01789); lock.unlock(); if (!skip_call) { get_dispatch_table(ot_device_table_map, commandBuffer) @@ -4006,7 +4220,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physic { std::lock_guard<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (!skip) { get_dispatch_table(ot_instance_table_map, physicalDevice)->GetPhysicalDeviceFeatures2KHR(physicalDevice, pFeatures); @@ -4019,7 +4233,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceProperties2KHR(VkPhysicalDevice phys { std::lock_guard<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (!skip) { get_dispatch_table(ot_instance_table_map, physicalDevice)->GetPhysicalDeviceProperties2KHR(physicalDevice, pProperties); @@ -4032,7 +4246,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevic { std::lock_guard<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (!skip) { get_dispatch_table(ot_instance_table_map, physicalDevice) @@ -4047,7 +4261,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceImageFormatProperties2KHR( { std::lock_guard<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (skip) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4065,7 +4279,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysical { std::lock_guard<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (skip) { return; @@ -4090,7 +4304,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevic { std::lock_guard<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (!skip) { get_dispatch_table(ot_instance_table_map, physicalDevice) @@ -4105,7 +4319,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceSparseImageFormatProperties2KHR( { std::lock_guard<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (!skip) { get_dispatch_table(ot_instance_table_map, physicalDevice) @@ -4119,7 +4333,7 @@ VKAPI_ATTR void VKAPI_CALL CmdProcessCommandsNVX(VkCommandBuffer commandBuffer, bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); lock.unlock(); layer_data *dev_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); if (!skip_call && dev_data->dispatch_table.CmdProcessCommandsNVX) { @@ -4132,7 +4346,7 @@ VKAPI_ATTR void VKAPI_CALL CmdReserveSpaceForCommandsNVX(VkCommandBuffer command bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); skip_call |= ValidateObject(commandBuffer, commandBuffer, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); lock.unlock(); layer_data *dev_data = GetLayerDataPtr(get_dispatch_key(commandBuffer), layer_data_map); if (!skip_call && dev_data->dispatch_table.CmdReserveSpaceForCommandsNVX) { @@ -4146,7 +4360,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateIndirectCommandsLayoutNVX(VkDevice device, VkIndirectCommandsLayoutNVX *pIndirectCommandsLayout) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4163,7 +4378,8 @@ VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNVX(VkDevice device, VkI const VkAllocationCallbacks *pAllocator) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (!skip_call) { layer_data *dev_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); @@ -4177,7 +4393,8 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateObjectTableNVX(VkDevice device, const VkObj const VkAllocationCallbacks *pAllocator, VkObjectTableNVX *pObjectTable) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4194,7 +4411,8 @@ VKAPI_ATTR void VKAPI_CALL DestroyObjectTableNVX(VkDevice device, VkObjectTableN const VkAllocationCallbacks *pAllocator) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (!skip_call) { layer_data *dev_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map); @@ -4209,7 +4427,8 @@ VKAPI_ATTR VkResult VKAPI_CALL RegisterObjectsNVX(VkDevice device, VkObjectTable const uint32_t *pObjectIndices) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4227,7 +4446,8 @@ VKAPI_ATTR VkResult VKAPI_CALL UnregisterObjectsNVX(VkDevice device, VkObjectTab const VkObjectEntryTypeNVX *pObjectEntryTypes, const uint32_t *pObjectIndices) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4247,7 +4467,7 @@ VKAPI_ATTR void VKAPI_CALL GetPhysicalDeviceGeneratedCommandsPropertiesNVX(VkPhy { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (skip) { get_dispatch_table(ot_instance_table_map, physicalDevice) @@ -4262,7 +4482,7 @@ VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(VkPhysicalDevice physicalDevice { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (skip) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4280,7 +4500,7 @@ VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(VkPhysicalDevice physicalDe { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (skip) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4297,7 +4517,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(VkPhysicalDevice physica { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (skip) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4321,7 +4541,7 @@ VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysic { std::unique_lock<std::mutex> lock(global_lock); skip |= ValidateObject(physicalDevice, physicalDevice, VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT, false, - VALIDATION_ERROR_UNDEFINED); + VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED); } if (skip) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4337,7 +4557,8 @@ VKAPI_ATTR VkResult VKAPI_CALL DisplayPowerControlEXT(VkDevice device, VkDisplay const VkDisplayPowerInfoEXT *pDisplayPowerInfo) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4354,7 +4575,8 @@ VKAPI_ATTR VkResult VKAPI_CALL RegisterDeviceEventEXT(VkDevice device, const VkD const VkAllocationCallbacks *pAllocator, VkFence *pFence) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4376,7 +4598,8 @@ VKAPI_ATTR VkResult VKAPI_CALL RegisterDisplayEventEXT(VkDevice device, VkDispla const VkAllocationCallbacks *pAllocator, VkFence *pFence) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; @@ -4397,7 +4620,8 @@ VKAPI_ATTR VkResult VKAPI_CALL GetSwapchainCounterEXT(VkDevice device, VkSwapcha VkSurfaceCounterFlagBitsEXT counter, uint64_t *pCounterValue) { bool skip_call = VK_FALSE; std::unique_lock<std::mutex> lock(global_lock); - skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED); + skip_call |= ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, false, VALIDATION_ERROR_UNDEFINED, + VALIDATION_ERROR_UNDEFINED); lock.unlock(); if (skip_call) { return VK_ERROR_VALIDATION_FAILED_EXT; diff --git a/layers/vk_validation_error_database.txt b/layers/vk_validation_error_database.txt index 96a1544d..cc4aefc9 100644 --- a/layers/vk_validation_error_database.txt +++ b/layers/vk_validation_error_database.txt @@ -78,14 +78,14 @@ VALIDATION_ERROR_00072~^~Y~^~None~^~vkResetCommandPool~^~For more information re VALIDATION_ERROR_00073~^~Y~^~None~^~vkResetCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandPoolResetFlagBits)~^~implicit VALIDATION_ERROR_00074~^~Y~^~None~^~vkResetCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'commandPool must be a valid VkCommandPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandPoolResetFlagBits)~^~implicit VALIDATION_ERROR_00075~^~N~^~Unknown~^~vkResetCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'flags must be a valid combination of VkCommandPoolResetFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandPoolResetFlagBits)~^~implicit, TBD in parameter validation layer. -VALIDATION_ERROR_00076~^~N~^~Unknown~^~vkResetCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'commandPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandPoolResetFlagBits)~^~implicit +VALIDATION_ERROR_00076~^~Y~^~Unknown~^~vkResetCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'commandPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandPoolResetFlagBits)~^~implicit VALIDATION_ERROR_00077~^~Y~^~None~^~vkDestroyCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'All VkCommandBuffer objects allocated from commandPool must not be pending execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyCommandPool)~^~ VALIDATION_ERROR_00078~^~Y~^~Unknown~^~vkDestroyCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'If VkAllocationCallbacks were provided when commandPool was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyCommandPool)~^~ VALIDATION_ERROR_00079~^~Y~^~Unknown~^~vkDestroyCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'If no VkAllocationCallbacks were provided when commandPool was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyCommandPool)~^~ VALIDATION_ERROR_00080~^~Y~^~None~^~vkDestroyCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyCommandPool)~^~implicit VALIDATION_ERROR_00081~^~Y~^~None~^~vkDestroyCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'If commandPool is not VK_NULL_HANDLE, commandPool must be a valid VkCommandPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyCommandPool)~^~implicit VALIDATION_ERROR_00082~^~N~^~Unknown~^~vkDestroyCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyCommandPool)~^~implicit -VALIDATION_ERROR_00083~^~N~^~Unknown~^~vkDestroyCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'If commandPool is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyCommandPool)~^~implicit +VALIDATION_ERROR_00083~^~Y~^~Unknown~^~vkDestroyCommandPool~^~For more information refer to Vulkan Spec Section '5.1. Command Pools' which states 'If commandPool is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyCommandPool)~^~implicit VALIDATION_ERROR_00084~^~Y~^~None~^~vkAllocateCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAllocateCommandBuffers)~^~implicit VALIDATION_ERROR_00085~^~N~^~Unknown~^~vkAllocateCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'pAllocateInfo must be a pointer to a valid VkCommandBufferAllocateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAllocateCommandBuffers)~^~implicit VALIDATION_ERROR_00086~^~N~^~Unknown~^~vkAllocateCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'pCommandBuffers must be a pointer to an array of pAllocateInfo::commandBufferCount VkCommandBuffer handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAllocateCommandBuffers)~^~implicit @@ -103,7 +103,7 @@ VALIDATION_ERROR_00097~^~Y~^~Unknown~^~vkFreeCommandBuffers~^~For more informati VALIDATION_ERROR_00098~^~Y~^~None~^~vkFreeCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeCommandBuffers)~^~implicit VALIDATION_ERROR_00099~^~Y~^~None~^~vkFreeCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'commandPool must be a valid VkCommandPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeCommandBuffers)~^~implicit VALIDATION_ERROR_00100~^~N~^~Unknown~^~vkFreeCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'commandBufferCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeCommandBuffers)~^~implicit -VALIDATION_ERROR_00101~^~N~^~Unknown~^~vkFreeCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'commandPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeCommandBuffers)~^~implicit +VALIDATION_ERROR_00101~^~Y~^~Unknown~^~vkFreeCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'commandPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeCommandBuffers)~^~implicit VALIDATION_ERROR_00102~^~Y~^~Unknown~^~vkFreeCommandBuffers~^~For more information refer to Vulkan Spec Section '5.2. Command Buffer Allocation and Management' which states 'Each element of pCommandBuffers that is a valid handle must have been created, allocated, or retrieved from commandPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeCommandBuffers)~^~implicit VALIDATION_ERROR_00103~^~Y~^~Unknown~^~vkBeginCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'commandBuffer must not be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBeginCommandBuffer)~^~ VALIDATION_ERROR_00104~^~Y~^~Unknown~^~vkBeginCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'commandBuffer must not currently be pending execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBeginCommandBuffer)~^~ @@ -123,7 +123,7 @@ VALIDATION_ERROR_00117~^~N~^~Unknown~^~vkBeginCommandBuffer~^~For more informati VALIDATION_ERROR_00118~^~N~^~Unknown~^~vkBeginCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'If the pipeline statistics queries feature is not enabled, pipelineStatistics must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandBufferInheritanceInfo)~^~ VALIDATION_ERROR_00119~^~N~^~Unknown~^~vkBeginCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'sType must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandBufferInheritanceInfo)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_00120~^~N~^~Unknown~^~vkBeginCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandBufferInheritanceInfo)~^~implicit, TBD in parameter validation layer. -VALIDATION_ERROR_00121~^~N~^~Unknown~^~vkBeginCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'Both of framebuffer, and renderPass that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandBufferInheritanceInfo)~^~implicit +VALIDATION_ERROR_00121~^~Y~^~Unknown~^~vkBeginCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'Both of framebuffer, and renderPass that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCommandBufferInheritanceInfo)~^~implicit VALIDATION_ERROR_00122~^~N~^~Unknown~^~vkEndCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkEndCommandBuffer)~^~ VALIDATION_ERROR_00123~^~Y~^~Unknown~^~vkEndCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'If commandBuffer is a primary command buffer, there must not be an active render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkEndCommandBuffer)~^~ VALIDATION_ERROR_00124~^~Y~^~Unknown~^~vkEndCommandBuffer~^~For more information refer to Vulkan Spec Section '5.3. Command Buffer Recording' which states 'All queries made active during the recording of commandBuffer must have been made inactive' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkEndCommandBuffer)~^~ @@ -133,7 +133,7 @@ VALIDATION_ERROR_00127~^~N~^~Unknown~^~vkQueueSubmit~^~For more information refe VALIDATION_ERROR_00128~^~Y~^~None~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueSubmit)~^~implicit VALIDATION_ERROR_00129~^~N~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'If submitCount is not 0, pSubmits must be a pointer to an array of submitCount valid VkSubmitInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueSubmit)~^~implicit VALIDATION_ERROR_00130~^~Y~^~None~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueSubmit)~^~implicit -VALIDATION_ERROR_00131~^~N~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'Both of fence, and queue that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueSubmit)~^~implicit +VALIDATION_ERROR_00131~^~Y~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'Both of fence, and queue that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueSubmit)~^~implicit VALIDATION_ERROR_00132~^~N~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'Any given element of the pSignalSemaphores member of any element of pSubmits must be unsignaled when the semaphore signal operation it defines is executed on the device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueSubmit)~^~ VALIDATION_ERROR_00133~^~Y~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'Any given element of pCommandBuffers must either have been recorded with the VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT, or not currently be executing on the device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubmitInfo)~^~ VALIDATION_ERROR_00134~^~N~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'Any given element of pCommandBuffers must be in the executable state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubmitInfo)~^~ @@ -153,7 +153,7 @@ VALIDATION_ERROR_00147~^~N~^~Unknown~^~vkQueueSubmit~^~For more information refe VALIDATION_ERROR_00148~^~N~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'Each element of pWaitDstStageMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubmitInfo)~^~implicit VALIDATION_ERROR_00149~^~Y~^~None~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'If commandBufferCount is not 0, pCommandBuffers must be a pointer to an array of commandBufferCount valid VkCommandBuffer handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubmitInfo)~^~implicit VALIDATION_ERROR_00150~^~Y~^~None~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'If signalSemaphoreCount is not 0, pSignalSemaphores must be a pointer to an array of signalSemaphoreCount valid VkSemaphore handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubmitInfo)~^~implicit -VALIDATION_ERROR_00151~^~N~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'Each of the elements of pCommandBuffers, the elements of pSignalSemaphores, and the elements of pWaitSemaphores that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubmitInfo)~^~implicit +VALIDATION_ERROR_00151~^~Y~^~Unknown~^~vkQueueSubmit~^~For more information refer to Vulkan Spec Section '5.4. Command Buffer Submission' which states 'Each of the elements of pCommandBuffers, the elements of pSignalSemaphores, and the elements of pWaitSemaphores that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubmitInfo)~^~implicit VALIDATION_ERROR_00152~^~N~^~Unknown~^~vkCmdExecuteCommands~^~For more information refer to Vulkan Spec Section '5.6. Secondary Command Buffer Execution' which states 'commandBuffer must have been allocated with a level of VK_COMMAND_BUFFER_LEVEL_PRIMARY' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdExecuteCommands)~^~ VALIDATION_ERROR_00153~^~Y~^~Unknown~^~vkCmdExecuteCommands~^~For more information refer to Vulkan Spec Section '5.6. Secondary Command Buffer Execution' which states 'Any given element of pCommandBuffers must have been allocated with a level of VK_COMMAND_BUFFER_LEVEL_SECONDARY' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdExecuteCommands)~^~ VALIDATION_ERROR_00154~^~Y~^~Unknown~^~vkCmdExecuteCommands~^~For more information refer to Vulkan Spec Section '5.6. Secondary Command Buffer Execution' which states 'Any given element of pCommandBuffers must not be already pending execution in commandBuffer, or appear twice in pCommandBuffers, unless it was recorded with the VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT flag' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdExecuteCommands)~^~ @@ -167,7 +167,7 @@ VALIDATION_ERROR_00161~^~N~^~Unknown~^~vkCmdExecuteCommands~^~For more informati VALIDATION_ERROR_00162~^~N~^~Unknown~^~vkCmdExecuteCommands~^~For more information refer to Vulkan Spec Section '5.6. Secondary Command Buffer Execution' which states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdExecuteCommands)~^~implicit VALIDATION_ERROR_00163~^~Y~^~Unknown~^~vkCmdExecuteCommands~^~For more information refer to Vulkan Spec Section '5.6. Secondary Command Buffer Execution' which states 'commandBuffer must be a primary VkCommandBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdExecuteCommands)~^~implicit VALIDATION_ERROR_00164~^~N~^~Unknown~^~vkCmdExecuteCommands~^~For more information refer to Vulkan Spec Section '5.6. Secondary Command Buffer Execution' which states 'commandBufferCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdExecuteCommands)~^~implicit -VALIDATION_ERROR_00165~^~N~^~Unknown~^~vkCmdExecuteCommands~^~For more information refer to Vulkan Spec Section '5.6. Secondary Command Buffer Execution' which states 'Both of commandBuffer, and the elements of pCommandBuffers must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdExecuteCommands)~^~implicit +VALIDATION_ERROR_00165~^~Y~^~Unknown~^~vkCmdExecuteCommands~^~For more information refer to Vulkan Spec Section '5.6. Secondary Command Buffer Execution' which states 'Both of commandBuffer, and the elements of pCommandBuffers must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdExecuteCommands)~^~implicit VALIDATION_ERROR_00166~^~Y~^~None~^~vkCreateFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateFence)~^~implicit VALIDATION_ERROR_00167~^~N~^~Unknown~^~vkCreateFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'pCreateInfo must be a pointer to a valid VkFenceCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateFence)~^~implicit VALIDATION_ERROR_00168~^~N~^~Unknown~^~vkCreateFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateFence)~^~implicit @@ -181,17 +181,17 @@ VALIDATION_ERROR_00175~^~Y~^~Unknown~^~vkDestroyFence~^~For more information ref VALIDATION_ERROR_00176~^~Y~^~None~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~implicit VALIDATION_ERROR_00177~^~Y~^~None~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~implicit VALIDATION_ERROR_00178~^~N~^~Unknown~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~implicit -VALIDATION_ERROR_00179~^~N~^~Unknown~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If fence is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~implicit +VALIDATION_ERROR_00179~^~Y~^~Unknown~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If fence is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~implicit VALIDATION_ERROR_00180~^~Y~^~None~^~vkGetFenceStatus~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetFenceStatus)~^~implicit VALIDATION_ERROR_00181~^~Y~^~None~^~vkGetFenceStatus~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetFenceStatus)~^~implicit -VALIDATION_ERROR_00182~^~N~^~Unknown~^~vkGetFenceStatus~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'fence must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetFenceStatus)~^~implicit +VALIDATION_ERROR_00182~^~Y~^~Unknown~^~vkGetFenceStatus~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'fence must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetFenceStatus)~^~implicit VALIDATION_ERROR_00183~^~Y~^~Unknown~^~vkResetFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'Any given element of pFences must not currently be associated with any queue command that has not yet completed execution on that queue' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetFences)~^~ VALIDATION_ERROR_00184~^~Y~^~None~^~vkResetFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetFences)~^~implicit -VALIDATION_ERROR_00185~^~N~^~Unknown~^~vkResetFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'pFences must be a pointer to an array of fenceCount valid VkFence handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetFences)~^~implicit +VALIDATION_ERROR_00185~^~Y~^~Unknown~^~vkResetFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'pFences must be a pointer to an array of fenceCount valid VkFence handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetFences)~^~implicit VALIDATION_ERROR_00186~^~N~^~Unknown~^~vkResetFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'fenceCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetFences)~^~implicit VALIDATION_ERROR_00187~^~Y~^~None~^~vkResetFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'Each element of pFences must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetFences)~^~implicit VALIDATION_ERROR_00188~^~Y~^~None~^~vkWaitForFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkWaitForFences)~^~implicit -VALIDATION_ERROR_00189~^~N~^~Unknown~^~vkWaitForFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'pFences must be a pointer to an array of fenceCount valid VkFence handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkWaitForFences)~^~implicit +VALIDATION_ERROR_00189~^~Y~^~Unknown~^~vkWaitForFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'pFences must be a pointer to an array of fenceCount valid VkFence handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkWaitForFences)~^~implicit VALIDATION_ERROR_00190~^~N~^~Unknown~^~vkWaitForFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'fenceCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkWaitForFences)~^~implicit VALIDATION_ERROR_00191~^~Y~^~None~^~vkWaitForFences~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'Each element of pFences must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkWaitForFences)~^~implicit VALIDATION_ERROR_00192~^~Y~^~None~^~vkCreateSemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateSemaphore)~^~implicit @@ -207,7 +207,7 @@ VALIDATION_ERROR_00201~^~Y~^~Unknown~^~vkDestroySemaphore~^~For more information VALIDATION_ERROR_00202~^~Y~^~None~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~implicit VALIDATION_ERROR_00203~^~Y~^~None~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'If semaphore is not VK_NULL_HANDLE, semaphore must be a valid VkSemaphore handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~implicit VALIDATION_ERROR_00204~^~N~^~Unknown~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~implicit -VALIDATION_ERROR_00205~^~N~^~Unknown~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'If semaphore is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~implicit +VALIDATION_ERROR_00205~^~Y~^~Unknown~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'If semaphore is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~implicit VALIDATION_ERROR_00206~^~Y~^~None~^~vkCreateEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateEvent)~^~implicit VALIDATION_ERROR_00207~^~N~^~Unknown~^~vkCreateEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'pCreateInfo must be a pointer to a valid VkEventCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateEvent)~^~implicit VALIDATION_ERROR_00208~^~N~^~Unknown~^~vkCreateEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateEvent)~^~implicit @@ -221,17 +221,17 @@ VALIDATION_ERROR_00215~^~Y~^~Unknown~^~vkDestroyEvent~^~For more information ref VALIDATION_ERROR_00216~^~Y~^~None~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~implicit VALIDATION_ERROR_00217~^~Y~^~None~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If event is not VK_NULL_HANDLE, event must be a valid VkEvent handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~implicit VALIDATION_ERROR_00218~^~N~^~Unknown~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~implicit -VALIDATION_ERROR_00219~^~N~^~Unknown~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If event is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~implicit +VALIDATION_ERROR_00219~^~Y~^~Unknown~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If event is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~implicit VALIDATION_ERROR_00220~^~Y~^~None~^~vkGetEventStatus~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetEventStatus)~^~implicit VALIDATION_ERROR_00221~^~Y~^~None~^~vkGetEventStatus~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must be a valid VkEvent handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetEventStatus)~^~implicit -VALIDATION_ERROR_00222~^~N~^~Unknown~^~vkGetEventStatus~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetEventStatus)~^~implicit +VALIDATION_ERROR_00222~^~Y~^~Unknown~^~vkGetEventStatus~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetEventStatus)~^~implicit VALIDATION_ERROR_00223~^~Y~^~None~^~vkSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkSetEvent)~^~implicit VALIDATION_ERROR_00224~^~Y~^~None~^~vkSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must be a valid VkEvent handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkSetEvent)~^~implicit -VALIDATION_ERROR_00225~^~N~^~Unknown~^~vkSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkSetEvent)~^~implicit +VALIDATION_ERROR_00225~^~Y~^~Unknown~^~vkSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkSetEvent)~^~implicit VALIDATION_ERROR_00226~^~N~^~Unknown~^~vkResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must not be waited on by a vkCmdWaitEvents command that is currently executing' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetEvent)~^~ VALIDATION_ERROR_00227~^~Y~^~None~^~vkResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetEvent)~^~implicit VALIDATION_ERROR_00228~^~Y~^~None~^~vkResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must be a valid VkEvent handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetEvent)~^~implicit -VALIDATION_ERROR_00229~^~N~^~Unknown~^~vkResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetEvent)~^~implicit +VALIDATION_ERROR_00229~^~Y~^~Unknown~^~vkResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'event must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetEvent)~^~implicit VALIDATION_ERROR_00230~^~Y~^~StageMaskGsTsEnabled~^~vkCmdSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If the geometry shaders feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetEvent)~^~ VALIDATION_ERROR_00231~^~Y~^~StageMaskGsTsEnabled~^~vkCmdSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If the tessellation shaders feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetEvent)~^~ VALIDATION_ERROR_00232~^~Y~^~None~^~vkCmdSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetEvent)~^~implicit @@ -241,7 +241,7 @@ VALIDATION_ERROR_00235~^~N~^~Unknown~^~vkCmdSetEvent~^~For more information refe VALIDATION_ERROR_00236~^~N~^~Unknown~^~vkCmdSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetEvent)~^~implicit VALIDATION_ERROR_00237~^~N~^~Unknown~^~vkCmdSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetEvent)~^~implicit VALIDATION_ERROR_00238~^~Y~^~Unknown~^~vkCmdSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetEvent)~^~implicit -VALIDATION_ERROR_00239~^~N~^~Unknown~^~vkCmdSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'Both of commandBuffer, and event must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetEvent)~^~implicit +VALIDATION_ERROR_00239~^~Y~^~Unknown~^~vkCmdSetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'Both of commandBuffer, and event must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdSetEvent)~^~implicit VALIDATION_ERROR_00240~^~Y~^~Unknown~^~vkCmdResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If the geometry shaders feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetEvent)~^~ VALIDATION_ERROR_00241~^~Y~^~Unknown~^~vkCmdResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If the tessellation shaders feature is not enabled, stageMask must not contain VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetEvent)~^~ VALIDATION_ERROR_00242~^~N~^~Unknown~^~vkCmdResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'When this command executes, event must not be waited on by a vkCmdWaitEvents command that is currently executing' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetEvent)~^~ @@ -252,7 +252,7 @@ VALIDATION_ERROR_00246~^~N~^~Unknown~^~vkCmdResetEvent~^~For more information re VALIDATION_ERROR_00247~^~N~^~Unknown~^~vkCmdResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetEvent)~^~implicit VALIDATION_ERROR_00248~^~N~^~Unknown~^~vkCmdResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetEvent)~^~implicit VALIDATION_ERROR_00249~^~Y~^~Unknown~^~vkCmdResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetEvent)~^~implicit -VALIDATION_ERROR_00250~^~N~^~Unknown~^~vkCmdResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'Both of commandBuffer, and event must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetEvent)~^~implicit +VALIDATION_ERROR_00250~^~Y~^~Unknown~^~vkCmdResetEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'Both of commandBuffer, and event must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetEvent)~^~implicit VALIDATION_ERROR_00252~^~Y~^~None~^~vkCmdWaitEvents~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWaitEvents)~^~implicit VALIDATION_ERROR_00253~^~Y~^~None~^~vkCmdWaitEvents~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'pEvents must be a pointer to an array of eventCount valid VkEvent handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWaitEvents)~^~implicit VALIDATION_ERROR_00254~^~Y~^~Unknown~^~vkCmdWaitEvents~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'srcStageMask must be a valid combination of VkPipelineStageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWaitEvents)~^~implicit @@ -265,7 +265,7 @@ VALIDATION_ERROR_00260~^~Y~^~None~^~vkCmdWaitEvents~^~For more information refer VALIDATION_ERROR_00261~^~N~^~Unknown~^~vkCmdWaitEvents~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWaitEvents)~^~implicit VALIDATION_ERROR_00262~^~N~^~Unknown~^~vkCmdWaitEvents~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWaitEvents)~^~implicit VALIDATION_ERROR_00263~^~N~^~Unknown~^~vkCmdWaitEvents~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'eventCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWaitEvents)~^~implicit -VALIDATION_ERROR_00264~^~N~^~Unknown~^~vkCmdWaitEvents~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'Both of commandBuffer, and the elements of pEvents must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWaitEvents)~^~implicit +VALIDATION_ERROR_00264~^~Y~^~Unknown~^~vkCmdWaitEvents~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'Both of commandBuffer, and the elements of pEvents must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWaitEvents)~^~implicit VALIDATION_ERROR_00265~^~Y~^~Unknown~^~vkCmdPipelineBarrier~^~For more information refer to Vulkan Spec Section '6.5. Pipeline Barriers' which states 'If the geometry shaders feature is not enabled, srcStageMask must not contain VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDependencyFlagBits)~^~ VALIDATION_ERROR_00266~^~Y~^~Unknown~^~vkCmdPipelineBarrier~^~For more information refer to Vulkan Spec Section '6.5. Pipeline Barriers' which states 'If the geometry shaders feature is not enabled, dstStageMask must not contain VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDependencyFlagBits)~^~ VALIDATION_ERROR_00267~^~Y~^~Unknown~^~vkCmdPipelineBarrier~^~For more information refer to Vulkan Spec Section '6.5. Pipeline Barriers' which states 'If the tessellation shaders feature is not enabled, srcStageMask must not contain VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDependencyFlagBits)~^~ @@ -387,7 +387,7 @@ VALIDATION_ERROR_00395~^~Y~^~Unknown~^~vkDestroyRenderPass~^~For more informatio VALIDATION_ERROR_00396~^~Y~^~None~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~implicit VALIDATION_ERROR_00397~^~Y~^~None~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'If renderPass is not VK_NULL_HANDLE, renderPass must be a valid VkRenderPass handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~implicit VALIDATION_ERROR_00398~^~N~^~Unknown~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~implicit -VALIDATION_ERROR_00399~^~N~^~Unknown~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'If renderPass is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~implicit +VALIDATION_ERROR_00399~^~Y~^~Unknown~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'If renderPass is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~implicit VALIDATION_ERROR_00400~^~Y~^~None~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateFramebuffer)~^~implicit VALIDATION_ERROR_00401~^~N~^~Unknown~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'pCreateInfo must be a pointer to a valid VkFramebufferCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateFramebuffer)~^~implicit VALIDATION_ERROR_00402~^~N~^~Unknown~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateFramebuffer)~^~implicit @@ -409,14 +409,14 @@ VALIDATION_ERROR_00417~^~N~^~Unknown~^~vkCreateFramebuffer~^~For more informatio VALIDATION_ERROR_00418~^~N~^~Unknown~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFramebufferCreateInfo)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_00419~^~Y~^~None~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'renderPass must be a valid VkRenderPass handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFramebufferCreateInfo)~^~implicit VALIDATION_ERROR_00420~^~Y~^~None~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'If attachmentCount is not 0, pAttachments must be a pointer to an array of attachmentCount valid VkImageView handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFramebufferCreateInfo)~^~implicit -VALIDATION_ERROR_00421~^~N~^~Unknown~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'Both of renderPass, and the elements of pAttachments that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFramebufferCreateInfo)~^~implicit +VALIDATION_ERROR_00421~^~Y~^~Unknown~^~vkCreateFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'Both of renderPass, and the elements of pAttachments that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFramebufferCreateInfo)~^~implicit VALIDATION_ERROR_00422~^~Y~^~FramebufferInUseDestroyedSignaled~^~vkDestroyFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'All submitted commands that refer to framebuffer must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFramebuffer)~^~ VALIDATION_ERROR_00423~^~Y~^~Unknown~^~vkDestroyFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'If VkAllocationCallbacks were provided when framebuffer was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFramebuffer)~^~ VALIDATION_ERROR_00424~^~Y~^~Unknown~^~vkDestroyFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'If no VkAllocationCallbacks were provided when framebuffer was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFramebuffer)~^~ VALIDATION_ERROR_00425~^~Y~^~None~^~vkDestroyFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFramebuffer)~^~implicit VALIDATION_ERROR_00426~^~Y~^~None~^~vkDestroyFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'If framebuffer is not VK_NULL_HANDLE, framebuffer must be a valid VkFramebuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFramebuffer)~^~implicit VALIDATION_ERROR_00427~^~N~^~Unknown~^~vkDestroyFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFramebuffer)~^~implicit -VALIDATION_ERROR_00428~^~N~^~Unknown~^~vkDestroyFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'If framebuffer is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFramebuffer)~^~implicit +VALIDATION_ERROR_00428~^~Y~^~Unknown~^~vkDestroyFramebuffer~^~For more information refer to Vulkan Spec Section '7.3. Framebuffers' which states 'If framebuffer is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFramebuffer)~^~implicit VALIDATION_ERROR_00429~^~N~^~Unknown~^~vkCmdBeginRenderPass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubpassContents)~^~ VALIDATION_ERROR_00430~^~N~^~Unknown~^~vkCmdBeginRenderPass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubpassContents)~^~ VALIDATION_ERROR_00431~^~N~^~Unknown~^~vkCmdBeginRenderPass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'If any of the initialLayout or finalLayout member of the VkAttachmentDescription structures or the layout member of the VkAttachmentReference structures specified when creating the render pass specified in the renderPass member of pRenderPassBegin is VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL then the corresponding attachment image subresource of the framebuffer specified in the framebuffer member of pRenderPassBegin must have been created with VK_IMAGE_USAGE_SAMPLED_BIT or VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubpassContents)~^~ @@ -436,11 +436,11 @@ VALIDATION_ERROR_00444~^~N~^~Unknown~^~vkCmdBeginRenderPass~^~For more informati VALIDATION_ERROR_00445~^~Y~^~None~^~vkCmdBeginRenderPass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'renderPass must be a valid VkRenderPass handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkRenderPassBeginInfo)~^~implicit VALIDATION_ERROR_00446~^~Y~^~None~^~vkCmdBeginRenderPass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'framebuffer must be a valid VkFramebuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkRenderPassBeginInfo)~^~implicit VALIDATION_ERROR_00447~^~N~^~Unknown~^~vkCmdBeginRenderPass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'If clearValueCount is not 0, pClearValues must be a pointer to an array of clearValueCount valid VkClearValue unions' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkRenderPassBeginInfo)~^~ -VALIDATION_ERROR_00448~^~N~^~Unknown~^~vkCmdBeginRenderPass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'Both of framebuffer, and renderPass must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkRenderPassBeginInfo)~^~implicit +VALIDATION_ERROR_00448~^~Y~^~Unknown~^~vkCmdBeginRenderPass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'Both of framebuffer, and renderPass must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkRenderPassBeginInfo)~^~implicit VALIDATION_ERROR_00449~^~Y~^~None~^~vkGetRenderAreaGranularity~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRenderAreaGranularity)~^~implicit VALIDATION_ERROR_00450~^~Y~^~None~^~vkGetRenderAreaGranularity~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'renderPass must be a valid VkRenderPass handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRenderAreaGranularity)~^~implicit VALIDATION_ERROR_00451~^~N~^~Unknown~^~vkGetRenderAreaGranularity~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'pGranularity must be a pointer to a VkExtent2D structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRenderAreaGranularity)~^~implicit -VALIDATION_ERROR_00452~^~N~^~Unknown~^~vkGetRenderAreaGranularity~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'renderPass must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRenderAreaGranularity)~^~implicit +VALIDATION_ERROR_00452~^~Y~^~Unknown~^~vkGetRenderAreaGranularity~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'renderPass must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetRenderAreaGranularity)~^~implicit VALIDATION_ERROR_00453~^~Y~^~Unknown~^~vkCmdNextSubpass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'The current subpass index must be less than the number of subpasses in the render pass minus one' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdNextSubpass)~^~ VALIDATION_ERROR_00454~^~Y~^~None~^~vkCmdNextSubpass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdNextSubpass)~^~implicit VALIDATION_ERROR_00455~^~N~^~Unknown~^~vkCmdNextSubpass~^~For more information refer to Vulkan Spec Section '7.4. Render Pass Commands' which states 'contents must be a valid VkSubpassContents value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdNextSubpass)~^~implicit @@ -472,7 +472,7 @@ VALIDATION_ERROR_00480~^~Y~^~Unknown~^~vkDestroyShaderModule~^~For more informat VALIDATION_ERROR_00481~^~Y~^~None~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~implicit VALIDATION_ERROR_00482~^~Y~^~None~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'If shaderModule is not VK_NULL_HANDLE, shaderModule must be a valid VkShaderModule handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~implicit VALIDATION_ERROR_00483~^~N~^~Unknown~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~implicit -VALIDATION_ERROR_00484~^~N~^~Unknown~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'If shaderModule is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~implicit +VALIDATION_ERROR_00484~^~Y~^~Unknown~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'If shaderModule is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~implicit VALIDATION_ERROR_00485~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If the flags member of any given element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and the basePipelineIndex member of that same element is not -1, basePipelineIndex must be less than the index into pCreateInfos that corresponds to that element' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~ VALIDATION_ERROR_00486~^~Y~^~None~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_00487~^~Y~^~None~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~implicit @@ -480,7 +480,7 @@ VALIDATION_ERROR_00488~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more infor VALIDATION_ERROR_00489~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~implicit VALIDATION_ERROR_00490~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'pPipelines must be a pointer to an array of createInfoCount VkPipeline handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~implicit VALIDATION_ERROR_00491~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'createInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~implicit, TBD in parameter validation layer. -VALIDATION_ERROR_00492~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~implicit +VALIDATION_ERROR_00492~^~Y~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateComputePipelines)~^~implicit VALIDATION_ERROR_00493~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkComputePipelineCreateInfo)~^~ VALIDATION_ERROR_00494~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, it must be a valid index into the calling commands pCreateInfos parameter' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkComputePipelineCreateInfo)~^~ VALIDATION_ERROR_00495~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkComputePipelineCreateInfo)~^~ @@ -494,7 +494,7 @@ VALIDATION_ERROR_00502~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more infor VALIDATION_ERROR_00503~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'flags must be a valid combination of VkPipelineCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkComputePipelineCreateInfo)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_00504~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'stage must be a valid VkPipelineShaderStageCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkComputePipelineCreateInfo)~^~implicit VALIDATION_ERROR_00505~^~Y~^~None~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'layout must be a valid VkPipelineLayout handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkComputePipelineCreateInfo)~^~implicit, TBD in parameter validation layer. -VALIDATION_ERROR_00506~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'Both of basePipelineHandle, and layout that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkComputePipelineCreateInfo)~^~implicit +VALIDATION_ERROR_00506~^~Y~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'Both of basePipelineHandle, and layout that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkComputePipelineCreateInfo)~^~implicit VALIDATION_ERROR_00507~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If the geometry shaders feature is not enabled, stage must not be VK_SHADER_STAGE_GEOMETRY_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkShaderStageFlagBits)~^~ VALIDATION_ERROR_00508~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'If the tessellation shaders feature is not enabled, stage must not be VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT or VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkShaderStageFlagBits)~^~ VALIDATION_ERROR_00509~^~N~^~Unknown~^~vkCreateComputePipelines~^~For more information refer to Vulkan Spec Section '9.1. Compute Pipelines' which states 'stage must not be VK_SHADER_STAGE_ALL_GRAPHICS, or VK_SHADER_STAGE_ALL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkShaderStageFlagBits)~^~ @@ -513,7 +513,7 @@ VALIDATION_ERROR_00521~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more info VALIDATION_ERROR_00522~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~implicit VALIDATION_ERROR_00523~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'pPipelines must be a pointer to an array of createInfoCount VkPipeline handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~implicit VALIDATION_ERROR_00524~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'createInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~implicit -VALIDATION_ERROR_00525~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~implicit +VALIDATION_ERROR_00525~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateGraphicsPipelines)~^~implicit VALIDATION_ERROR_00526~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~ VALIDATION_ERROR_00527~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, it must be a valid index into the calling commands pCreateInfos parameter' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~ VALIDATION_ERROR_00528~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~ @@ -537,7 +537,7 @@ VALIDATION_ERROR_00545~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more info VALIDATION_ERROR_00546~^~Y~^~None~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'layout must be a valid VkPipelineLayout handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~implicit VALIDATION_ERROR_00547~^~Y~^~None~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'renderPass must be a valid VkRenderPass handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~implicit VALIDATION_ERROR_00548~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'stageCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~implicit -VALIDATION_ERROR_00549~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'Each of basePipelineHandle, layout, and renderPass that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~implicit +VALIDATION_ERROR_00549~^~Y~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'Each of basePipelineHandle, layout, and renderPass that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCreateFlagBits)~^~implicit VALIDATION_ERROR_00550~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'sType must be VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineDynamicStateCreateInfo)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_00551~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineDynamicStateCreateInfo)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_00552~^~N~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineDynamicStateCreateInfo)~^~implicit, TBD in parameter validation layer. @@ -549,7 +549,7 @@ VALIDATION_ERROR_00557~^~Y~^~Unknown~^~vkDestroyPipeline~^~For more information VALIDATION_ERROR_00558~^~Y~^~None~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~implicit VALIDATION_ERROR_00559~^~Y~^~None~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'If pipeline is not VK_NULL_HANDLE, pipeline must be a valid VkPipeline handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~implicit VALIDATION_ERROR_00560~^~N~^~Unknown~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~implicit -VALIDATION_ERROR_00561~^~N~^~Unknown~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'If pipeline is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~implicit +VALIDATION_ERROR_00561~^~Y~^~Unknown~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'If pipeline is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~implicit VALIDATION_ERROR_00562~^~Y~^~None~^~vkCreatePipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreatePipelineCache)~^~implicit VALIDATION_ERROR_00563~^~N~^~Unknown~^~vkCreatePipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'pCreateInfo must be a pointer to a valid VkPipelineCacheCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreatePipelineCache)~^~implicit VALIDATION_ERROR_00564~^~N~^~Unknown~^~vkCreatePipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreatePipelineCache)~^~implicit @@ -562,21 +562,21 @@ VALIDATION_ERROR_00570~^~N~^~Unknown~^~vkCreatePipelineCache~^~For more informat VALIDATION_ERROR_00571~^~N~^~Unknown~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'dstCache must not appear in the list of source caches' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~ VALIDATION_ERROR_00572~^~Y~^~None~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~implicit VALIDATION_ERROR_00573~^~Y~^~None~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'dstCache must be a valid VkPipelineCache handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~implicit -VALIDATION_ERROR_00574~^~N~^~Unknown~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'pSrcCaches must be a pointer to an array of srcCacheCount valid VkPipelineCache handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~implicit +VALIDATION_ERROR_00574~^~Y~^~Unknown~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'pSrcCaches must be a pointer to an array of srcCacheCount valid VkPipelineCache handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~implicit VALIDATION_ERROR_00575~^~N~^~Unknown~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'srcCacheCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~implicit -VALIDATION_ERROR_00576~^~N~^~Unknown~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'dstCache must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~implicit +VALIDATION_ERROR_00576~^~Y~^~Unknown~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'dstCache must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~implicit VALIDATION_ERROR_00577~^~Y~^~None~^~vkMergePipelineCaches~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'Each element of pSrcCaches must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMergePipelineCaches)~^~implicit VALIDATION_ERROR_00578~^~Y~^~None~^~vkGetPipelineCacheData~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCacheHeaderVersion)~^~implicit VALIDATION_ERROR_00579~^~Y~^~None~^~vkGetPipelineCacheData~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'pipelineCache must be a valid VkPipelineCache handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCacheHeaderVersion)~^~implicit VALIDATION_ERROR_00580~^~N~^~Unknown~^~vkGetPipelineCacheData~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'pDataSize must be a pointer to a size_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCacheHeaderVersion)~^~implicit VALIDATION_ERROR_00581~^~N~^~Unknown~^~vkGetPipelineCacheData~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'If the value referenced by pDataSize is not 0, and pData is not NULL, pData must be a pointer to an array of pDataSize bytes' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCacheHeaderVersion)~^~implicit -VALIDATION_ERROR_00582~^~N~^~Unknown~^~vkGetPipelineCacheData~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'pipelineCache must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCacheHeaderVersion)~^~implicit +VALIDATION_ERROR_00582~^~Y~^~Unknown~^~vkGetPipelineCacheData~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'pipelineCache must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineCacheHeaderVersion)~^~implicit VALIDATION_ERROR_00583~^~Y~^~Unknown~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'If VkAllocationCallbacks were provided when pipelineCache was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineCache)~^~ VALIDATION_ERROR_00584~^~Y~^~Unknown~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'If no VkAllocationCallbacks were provided when pipelineCache was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineCache)~^~ VALIDATION_ERROR_00585~^~Y~^~None~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineCache)~^~implicit VALIDATION_ERROR_00586~^~Y~^~None~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineCache)~^~implicit VALIDATION_ERROR_00587~^~N~^~Unknown~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineCache)~^~implicit -VALIDATION_ERROR_00588~^~N~^~Unknown~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineCache)~^~implicit +VALIDATION_ERROR_00588~^~Y~^~Unknown~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.6. Pipeline Cache' which states 'If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineCache)~^~implicit VALIDATION_ERROR_00589~^~N~^~Unknown~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.7. Specialization Constants' which states 'The offset member of any given element of pMapEntries must be less than dataSize' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSpecializationInfo)~^~ VALIDATION_ERROR_00590~^~Y~^~Unknown~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.7. Specialization Constants' which states 'For any given element of pMapEntries, size must be less than or equal to dataSize minus offset' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSpecializationInfo)~^~ VALIDATION_ERROR_00591~^~N~^~Unknown~^~vkDestroyPipelineCache~^~For more information refer to Vulkan Spec Section '9.7. Specialization Constants' which states 'If mapEntryCount is not 0, pMapEntries must be a pointer to an array of mapEntryCount valid VkSpecializationMapEntry structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSpecializationInfo)~^~ @@ -592,7 +592,7 @@ VALIDATION_ERROR_00600~^~Y~^~Unknown~^~vkCmdBindPipeline~^~For more information VALIDATION_ERROR_00601~^~Y~^~PipelineNotBound,InvalidPipeline~^~vkCmdBindPipeline~^~For more information refer to Vulkan Spec Section '9.8. Pipeline Binding' which states 'pipeline must be a valid VkPipeline handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineBindPoint)~^~implicit VALIDATION_ERROR_00602~^~N~^~Unknown~^~vkCmdBindPipeline~^~For more information refer to Vulkan Spec Section '9.8. Pipeline Binding' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineBindPoint)~^~implicit VALIDATION_ERROR_00603~^~N~^~Unknown~^~vkCmdBindPipeline~^~For more information refer to Vulkan Spec Section '9.8. Pipeline Binding' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineBindPoint)~^~implicit -VALIDATION_ERROR_00604~^~N~^~Unknown~^~vkCmdBindPipeline~^~For more information refer to Vulkan Spec Section '9.8. Pipeline Binding' which states 'Both of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineBindPoint)~^~implicit +VALIDATION_ERROR_00604~^~Y~^~Unknown~^~vkCmdBindPipeline~^~For more information refer to Vulkan Spec Section '9.8. Pipeline Binding' which states 'Both of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineBindPoint)~^~implicit VALIDATION_ERROR_00605~^~N~^~Unknown~^~vkCmdBindPipeline~^~For more information refer to Vulkan Spec Section '10.1. Host Memory' which states 'pfnAllocation must be a pointer to a valid user-defined PFN_vkAllocationFunction' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkAllocationCallbacks)~^~ VALIDATION_ERROR_00606~^~N~^~Unknown~^~vkCmdBindPipeline~^~For more information refer to Vulkan Spec Section '10.1. Host Memory' which states 'pfnReallocation must be a pointer to a valid user-defined PFN_vkReallocationFunction' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkAllocationCallbacks)~^~ VALIDATION_ERROR_00607~^~N~^~Unknown~^~vkCmdBindPipeline~^~For more information refer to Vulkan Spec Section '10.1. Host Memory' which states 'pfnFree must be a pointer to a valid user-defined PFN_vkFreeFunction' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkAllocationCallbacks)~^~ @@ -612,7 +612,7 @@ VALIDATION_ERROR_00620~^~Y~^~None~^~vkFreeMemory~^~For more information refer to VALIDATION_ERROR_00621~^~Y~^~None~^~vkFreeMemory~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeMemory)~^~implicit VALIDATION_ERROR_00622~^~Y~^~VertexBufferInvalid~^~vkFreeMemory~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'If memory is not VK_NULL_HANDLE, memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeMemory)~^~implicit VALIDATION_ERROR_00623~^~N~^~Unknown~^~vkFreeMemory~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeMemory)~^~implicit -VALIDATION_ERROR_00624~^~N~^~Unknown~^~vkFreeMemory~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'If memory is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeMemory)~^~implicit +VALIDATION_ERROR_00624~^~Y~^~Unknown~^~vkFreeMemory~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'If memory is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeMemory)~^~implicit VALIDATION_ERROR_00625~^~N~^~Unknown~^~vkMapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memory must not currently be mapped' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMapMemory)~^~ VALIDATION_ERROR_00626~^~N~^~Unknown~^~vkMapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'offset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMapMemory)~^~ VALIDATION_ERROR_00627~^~N~^~Unknown~^~vkMapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'If size is not equal to VK_WHOLE_SIZE, size must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMapMemory)~^~ @@ -622,7 +622,7 @@ VALIDATION_ERROR_00630~^~Y~^~None~^~vkMapMemory~^~For more information refer to VALIDATION_ERROR_00631~^~Y~^~None~^~vkMapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMapMemory)~^~implicit VALIDATION_ERROR_00632~^~N~^~Unknown~^~vkMapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMapMemory)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_00633~^~N~^~Unknown~^~vkMapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'ppData must be a pointer to a pointer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMapMemory)~^~implicit -VALIDATION_ERROR_00634~^~N~^~Unknown~^~vkMapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMapMemory)~^~implicit +VALIDATION_ERROR_00634~^~Y~^~Unknown~^~vkMapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkMapMemory)~^~implicit VALIDATION_ERROR_00635~^~Y~^~None~^~vkFlushMappedMemoryRanges~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFlushMappedMemoryRanges)~^~implicit VALIDATION_ERROR_00636~^~N~^~Unknown~^~vkFlushMappedMemoryRanges~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'pMemoryRanges must be a pointer to an array of memoryRangeCount valid VkMappedMemoryRange structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFlushMappedMemoryRanges)~^~implicit VALIDATION_ERROR_00637~^~N~^~Unknown~^~vkFlushMappedMemoryRanges~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memoryRangeCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFlushMappedMemoryRanges)~^~implicit @@ -640,12 +640,12 @@ VALIDATION_ERROR_00648~^~Y~^~None~^~vkInvalidateMappedMemoryRanges~^~For more in VALIDATION_ERROR_00649~^~Y~^~Unknown~^~vkUnmapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memory must currently be mapped' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkUnmapMemory)~^~ VALIDATION_ERROR_00650~^~Y~^~None~^~vkUnmapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkUnmapMemory)~^~implicit VALIDATION_ERROR_00651~^~Y~^~None~^~vkUnmapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkUnmapMemory)~^~implicit -VALIDATION_ERROR_00652~^~N~^~Unknown~^~vkUnmapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkUnmapMemory)~^~implicit +VALIDATION_ERROR_00652~^~Y~^~Unknown~^~vkUnmapMemory~^~For more information refer to Vulkan Spec Section '10.2.1. Host Access to Device Memory Objects' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkUnmapMemory)~^~implicit VALIDATION_ERROR_00653~^~N~^~Unknown~^~vkGetDeviceMemoryCommitment~^~For more information refer to Vulkan Spec Section '10.2.2. Lazily Allocated Memory' which states 'memory must have been created with a memory type that reports VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetDeviceMemoryCommitment)~^~ VALIDATION_ERROR_00654~^~Y~^~None~^~vkGetDeviceMemoryCommitment~^~For more information refer to Vulkan Spec Section '10.2.2. Lazily Allocated Memory' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetDeviceMemoryCommitment)~^~implicit VALIDATION_ERROR_00655~^~Y~^~None~^~vkGetDeviceMemoryCommitment~^~For more information refer to Vulkan Spec Section '10.2.2. Lazily Allocated Memory' which states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetDeviceMemoryCommitment)~^~implicit VALIDATION_ERROR_00656~^~N~^~Unknown~^~vkGetDeviceMemoryCommitment~^~For more information refer to Vulkan Spec Section '10.2.2. Lazily Allocated Memory' which states 'pCommittedMemoryInBytes must be a pointer to a VkDeviceSize value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetDeviceMemoryCommitment)~^~implicit -VALIDATION_ERROR_00657~^~N~^~Unknown~^~vkGetDeviceMemoryCommitment~^~For more information refer to Vulkan Spec Section '10.2.2. Lazily Allocated Memory' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetDeviceMemoryCommitment)~^~implicit +VALIDATION_ERROR_00657~^~Y~^~Unknown~^~vkGetDeviceMemoryCommitment~^~For more information refer to Vulkan Spec Section '10.2.2. Lazily Allocated Memory' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetDeviceMemoryCommitment)~^~implicit VALIDATION_ERROR_00658~^~N~^~None~^~vkCreateBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If the flags member of pCreateInfo includes VK_BUFFER_CREATE_SPARSE_BINDING_BIT, creating this VkBuffer must not cause the total required sparse memory for all currently valid sparse resources on the device to exceed VkPhysicalDeviceLimits::sparseAddressSpaceSize' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateBuffer)~^~ VALIDATION_ERROR_00659~^~Y~^~None~^~vkCreateBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateBuffer)~^~implicit VALIDATION_ERROR_00660~^~N~^~None~^~vkCreateBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'pCreateInfo must be a pointer to a valid VkBufferCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateBuffer)~^~implicit @@ -670,7 +670,7 @@ VALIDATION_ERROR_00678~^~Y~^~Unknown~^~vkDestroyBuffer~^~For more information re VALIDATION_ERROR_00679~^~Y~^~None~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~implicit VALIDATION_ERROR_00680~^~Y~^~VertexBufferInvalid~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If buffer is not VK_NULL_HANDLE, buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~implicit VALIDATION_ERROR_00681~^~N~^~Unknown~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~implicit -VALIDATION_ERROR_00682~^~N~^~Unknown~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If buffer is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~implicit +VALIDATION_ERROR_00682~^~Y~^~Unknown~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If buffer is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~implicit VALIDATION_ERROR_00683~^~Y~^~None~^~vkCreateBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateBufferView)~^~implicit VALIDATION_ERROR_00684~^~N~^~Unknown~^~vkCreateBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'pCreateInfo must be a pointer to a valid VkBufferViewCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateBufferView)~^~implicit VALIDATION_ERROR_00685~^~N~^~Unknown~^~vkCreateBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateBufferView)~^~implicit @@ -695,7 +695,7 @@ VALIDATION_ERROR_00703~^~Y~^~Unknown~^~vkDestroyBufferView~^~For more informatio VALIDATION_ERROR_00704~^~Y~^~None~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~implicit VALIDATION_ERROR_00705~^~Y~^~None~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If bufferView is not VK_NULL_HANDLE, bufferView must be a valid VkBufferView handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~implicit VALIDATION_ERROR_00706~^~N~^~Unknown~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~implicit -VALIDATION_ERROR_00707~^~N~^~Unknown~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If bufferView is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~implicit +VALIDATION_ERROR_00707~^~Y~^~Unknown~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If bufferView is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~implicit VALIDATION_ERROR_00708~^~N~^~Unknown~^~vkCreateImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If the flags member of pCreateInfo includes VK_IMAGE_CREATE_SPARSE_BINDING_BIT, creating this VkImage must not cause the total required sparse memory for all currently valid sparse resources on the device to exceed VkPhysicalDeviceLimits::sparseAddressSpaceSize' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateImage)~^~ VALIDATION_ERROR_00709~^~Y~^~None~^~vkCreateImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateImage)~^~implicit VALIDATION_ERROR_00710~^~N~^~Unknown~^~vkCreateImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'pCreateInfo must be a pointer to a valid VkImageCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateImage)~^~implicit @@ -726,7 +726,7 @@ VALIDATION_ERROR_00734~^~Y~^~None~^~vkGetImageSubresourceLayout~^~For more infor VALIDATION_ERROR_00735~^~Y~^~None~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSubresourceLayout)~^~implicit VALIDATION_ERROR_00736~^~N~^~Unknown~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'pSubresource must be a pointer to a valid VkImageSubresource structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSubresourceLayout)~^~implicit VALIDATION_ERROR_00737~^~N~^~Unknown~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'pLayout must be a pointer to a VkSubresourceLayout structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSubresourceLayout)~^~implicit -VALIDATION_ERROR_00738~^~N~^~Unknown~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSubresourceLayout)~^~implicit +VALIDATION_ERROR_00738~^~Y~^~Unknown~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSubresourceLayout)~^~implicit VALIDATION_ERROR_00739~^~Y~^~ExerciseGetImageSubresourceLayout~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'mipLevel must be less than the mipLevels specified in VkImageCreateInfo when the image was created' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageSubresource)~^~ VALIDATION_ERROR_00740~^~Y~^~ExerciseGetImageSubresourceLayout~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'arrayLayer must be less than the arrayLayers specified in VkImageCreateInfo when the image was created' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageSubresource)~^~ VALIDATION_ERROR_00741~^~Y~^~InvalidImageViewAspect~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'aspectMask must be a valid combination of VkImageAspectFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageSubresource)~^~implicit, Multi-purposing this enum for various invalid aspect usage. There is some "must" language in spec at VkImageAspectFlagBits definition that we need specific enums for. Also need more tests for these cases. @@ -737,7 +737,7 @@ VALIDATION_ERROR_00745~^~Y~^~Unknown~^~vkDestroyImage~^~For more information ref VALIDATION_ERROR_00746~^~Y~^~None~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~implicit VALIDATION_ERROR_00747~^~Y~^~None~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If image is not VK_NULL_HANDLE, image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~implicit VALIDATION_ERROR_00748~^~N~^~Unknown~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~implicit -VALIDATION_ERROR_00749~^~N~^~Unknown~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If image is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~implicit +VALIDATION_ERROR_00749~^~Y~^~Unknown~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If image is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~implicit VALIDATION_ERROR_00750~^~Y~^~None~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateImageView)~^~implicit VALIDATION_ERROR_00751~^~N~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'pCreateInfo must be a pointer to a valid VkImageViewCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateImageView)~^~implicit VALIDATION_ERROR_00752~^~N~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateImageView)~^~implicit @@ -770,15 +770,15 @@ VALIDATION_ERROR_00778~^~Y~^~Unknown~^~vkDestroyImageView~^~For more information VALIDATION_ERROR_00779~^~Y~^~None~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~implicit VALIDATION_ERROR_00780~^~Y~^~None~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If imageView is not VK_NULL_HANDLE, imageView must be a valid VkImageView handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~implicit VALIDATION_ERROR_00781~^~N~^~Unknown~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~implicit -VALIDATION_ERROR_00782~^~N~^~Unknown~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If imageView is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~implicit +VALIDATION_ERROR_00782~^~Y~^~Unknown~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If imageView is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~implicit VALIDATION_ERROR_00783~^~Y~^~None~^~vkGetBufferMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetBufferMemoryRequirements)~^~implicit VALIDATION_ERROR_00784~^~Y~^~None~^~vkGetBufferMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetBufferMemoryRequirements)~^~implicit VALIDATION_ERROR_00785~^~N~^~Unknown~^~vkGetBufferMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'pMemoryRequirements must be a pointer to a VkMemoryRequirements structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetBufferMemoryRequirements)~^~implicit -VALIDATION_ERROR_00786~^~N~^~Unknown~^~vkGetBufferMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'buffer must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetBufferMemoryRequirements)~^~implicit +VALIDATION_ERROR_00786~^~Y~^~Unknown~^~vkGetBufferMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'buffer must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetBufferMemoryRequirements)~^~implicit VALIDATION_ERROR_00787~^~Y~^~None~^~vkGetImageMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageMemoryRequirements)~^~implicit VALIDATION_ERROR_00788~^~Y~^~CreateUnknownObject~^~vkGetImageMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageMemoryRequirements)~^~implicit VALIDATION_ERROR_00789~^~N~^~Unknown~^~vkGetImageMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'pMemoryRequirements must be a pointer to a VkMemoryRequirements structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageMemoryRequirements)~^~implicit -VALIDATION_ERROR_00790~^~N~^~Unknown~^~vkGetImageMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageMemoryRequirements)~^~implicit +VALIDATION_ERROR_00790~^~Y~^~Unknown~^~vkGetImageMemoryRequirements~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageMemoryRequirements)~^~implicit VALIDATION_ERROR_00791~^~Y~^~BindInvalidMemory~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'buffer must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~ VALIDATION_ERROR_00792~^~Y~^~BindInvalidMemory~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'buffer must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~ VALIDATION_ERROR_00793~^~Y~^~BindInvalidMemory~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~ @@ -789,8 +789,8 @@ VALIDATION_ERROR_00797~^~Y~^~BindInvalidMemory~^~vkBindBufferMemory~^~For more i VALIDATION_ERROR_00798~^~Y~^~None~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~implicit VALIDATION_ERROR_00799~^~Y~^~VertexBufferInvalid~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~implicit VALIDATION_ERROR_00800~^~Y~^~BindInvalidMemory~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~implicit -VALIDATION_ERROR_00801~^~N~^~Unknown~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'buffer must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~implicit -VALIDATION_ERROR_00802~^~N~^~Unknown~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~implicit +VALIDATION_ERROR_00801~^~Y~^~Unknown~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'buffer must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~implicit +VALIDATION_ERROR_00802~^~Y~^~Unknown~^~vkBindBufferMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindBufferMemory)~^~implicit VALIDATION_ERROR_00803~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'image must not already be backed by a memory object' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~ VALIDATION_ERROR_00804~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'image must not have been created with any sparse memory binding flags' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~ VALIDATION_ERROR_00805~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'memoryOffset must be less than the size of memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~ @@ -798,8 +798,8 @@ VALIDATION_ERROR_00806~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~For more in VALIDATION_ERROR_00807~^~Y~^~None~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~implicit VALIDATION_ERROR_00808~^~Y~^~BindMemoryToDestroyedObject~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~implicit VALIDATION_ERROR_00809~^~Y~^~BindInvalidMemory~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'memory must be a valid VkDeviceMemory handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~implicit -VALIDATION_ERROR_00810~^~N~^~Unknown~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~implicit -VALIDATION_ERROR_00811~^~N~^~Unknown~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~implicit +VALIDATION_ERROR_00810~^~Y~^~Unknown~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~implicit +VALIDATION_ERROR_00811~^~Y~^~Unknown~^~vkBindImageMemory~^~For more information refer to Vulkan Spec Section '11.6. Resource Memory Association' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkBindImageMemory)~^~implicit VALIDATION_ERROR_00812~^~Y~^~None~^~vkCreateSampler~^~For more information refer to Vulkan Spec Section '12. Samplers' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateSampler)~^~implicit VALIDATION_ERROR_00813~^~N~^~Unknown~^~vkCreateSampler~^~For more information refer to Vulkan Spec Section '12. Samplers' which states 'pCreateInfo must be a pointer to a valid VkSamplerCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateSampler)~^~implicit VALIDATION_ERROR_00814~^~N~^~Unknown~^~vkCreateSampler~^~For more information refer to Vulkan Spec Section '12. Samplers' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateSampler)~^~implicit @@ -831,7 +831,7 @@ VALIDATION_ERROR_00839~^~Y~^~Unknown~^~vkDestroySampler~^~For more information r VALIDATION_ERROR_00840~^~Y~^~None~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '12. Samplers' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~implicit VALIDATION_ERROR_00841~^~Y~^~None~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '12. Samplers' which states 'If sampler is not VK_NULL_HANDLE, sampler must be a valid VkSampler handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~implicit VALIDATION_ERROR_00842~^~N~^~Unknown~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '12. Samplers' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~implicit -VALIDATION_ERROR_00843~^~N~^~Unknown~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '12. Samplers' which states 'If sampler is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~implicit +VALIDATION_ERROR_00843~^~Y~^~Unknown~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '12. Samplers' which states 'If sampler is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~implicit VALIDATION_ERROR_00844~^~Y~^~None~^~vkCreateDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateDescriptorSetLayout)~^~implicit VALIDATION_ERROR_00845~^~N~^~Unknown~^~vkCreateDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'pCreateInfo must be a pointer to a valid VkDescriptorSetLayoutCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateDescriptorSetLayout)~^~implicit VALIDATION_ERROR_00846~^~N~^~Unknown~^~vkCreateDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateDescriptorSetLayout)~^~implicit @@ -848,7 +848,7 @@ VALIDATION_ERROR_00856~^~Y~^~Unknown~^~vkDestroyDescriptorSetLayout~^~For more i VALIDATION_ERROR_00857~^~Y~^~None~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~implicit VALIDATION_ERROR_00858~^~Y~^~None~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If descriptorSetLayout is not VK_NULL_HANDLE, descriptorSetLayout must be a valid VkDescriptorSetLayout handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~implicit VALIDATION_ERROR_00859~^~N~^~Unknown~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~implicit -VALIDATION_ERROR_00860~^~N~^~Unknown~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If descriptorSetLayout is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~implicit +VALIDATION_ERROR_00860~^~Y~^~Unknown~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If descriptorSetLayout is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~implicit VALIDATION_ERROR_00861~^~Y~^~None~^~vkCreatePipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreatePipelineLayout)~^~implicit VALIDATION_ERROR_00862~^~N~^~Unknown~^~vkCreatePipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'pCreateInfo must be a pointer to a valid VkPipelineLayoutCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreatePipelineLayout)~^~implicit VALIDATION_ERROR_00863~^~N~^~Unknown~^~vkCreatePipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreatePipelineLayout)~^~implicit @@ -876,7 +876,7 @@ VALIDATION_ERROR_00884~^~Y~^~Unknown~^~vkDestroyPipelineLayout~^~For more inform VALIDATION_ERROR_00885~^~Y~^~None~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~implicit VALIDATION_ERROR_00886~^~Y~^~None~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If pipelineLayout is not VK_NULL_HANDLE, pipelineLayout must be a valid VkPipelineLayout handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~implicit VALIDATION_ERROR_00887~^~N~^~Unknown~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~implicit -VALIDATION_ERROR_00888~^~N~^~Unknown~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If pipelineLayout is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~implicit +VALIDATION_ERROR_00888~^~Y~^~Unknown~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If pipelineLayout is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~implicit VALIDATION_ERROR_00889~^~Y~^~None~^~vkCreateDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateDescriptorPool)~^~implicit VALIDATION_ERROR_00890~^~N~^~Unknown~^~vkCreateDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'pCreateInfo must be a pointer to a valid VkDescriptorPoolCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateDescriptorPool)~^~implicit VALIDATION_ERROR_00891~^~N~^~Unknown~^~vkCreateDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateDescriptorPool)~^~implicit @@ -895,7 +895,7 @@ VALIDATION_ERROR_00903~^~Y~^~Unknown~^~vkDestroyDescriptorPool~^~For more inform VALIDATION_ERROR_00904~^~Y~^~None~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~implicit VALIDATION_ERROR_00905~^~Y~^~None~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If descriptorPool is not VK_NULL_HANDLE, descriptorPool must be a valid VkDescriptorPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~implicit VALIDATION_ERROR_00906~^~N~^~Unknown~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~implicit -VALIDATION_ERROR_00907~^~N~^~Unknown~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If descriptorPool is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~implicit +VALIDATION_ERROR_00907~^~Y~^~Unknown~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If descriptorPool is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~implicit VALIDATION_ERROR_00908~^~Y~^~None~^~vkAllocateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAllocateDescriptorSets)~^~implicit VALIDATION_ERROR_00909~^~N~^~Unknown~^~vkAllocateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'pAllocateInfo must be a pointer to a valid VkDescriptorSetAllocateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAllocateDescriptorSets)~^~implicit VALIDATION_ERROR_00910~^~N~^~Unknown~^~vkAllocateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'pDescriptorSets must be a pointer to an array of pAllocateInfo::descriptorSetCount VkDescriptorSet handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAllocateDescriptorSets)~^~implicit @@ -906,7 +906,7 @@ VALIDATION_ERROR_00914~^~N~^~Unknown~^~vkAllocateDescriptorSets~^~For more infor VALIDATION_ERROR_00915~^~Y~^~None~^~vkAllocateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorPool must be a valid VkDescriptorPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorSetAllocateInfo)~^~implicit VALIDATION_ERROR_00916~^~Y~^~None~^~vkAllocateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'pSetLayouts must be a pointer to an array of descriptorSetCount valid VkDescriptorSetLayout handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorSetAllocateInfo)~^~implicit VALIDATION_ERROR_00917~^~N~^~Unknown~^~vkAllocateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorSetCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorSetAllocateInfo)~^~implicit -VALIDATION_ERROR_00918~^~N~^~Unknown~^~vkAllocateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'Both of descriptorPool, and the elements of pSetLayouts must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorSetAllocateInfo)~^~implicit +VALIDATION_ERROR_00918~^~Y~^~Unknown~^~vkAllocateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'Both of descriptorPool, and the elements of pSetLayouts must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorSetAllocateInfo)~^~implicit VALIDATION_ERROR_00919~^~Y~^~Unknown~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'All submitted commands that refer to any element of pDescriptorSets must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~ VALIDATION_ERROR_00920~^~Y~^~Unknown~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'pDescriptorSets must be a pointer to an array of descriptorSetCount VkDescriptorSet handles, each element of which must either be a valid handle or VK_NULL_HANDLE' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~ VALIDATION_ERROR_00921~^~N~^~Unknown~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'Each valid handle in pDescriptorSets must have been allocated from descriptorPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~ @@ -914,13 +914,13 @@ VALIDATION_ERROR_00922~^~Y~^~FreeDescriptorFromOneShotPool~^~vkFreeDescriptorSet VALIDATION_ERROR_00923~^~Y~^~None~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~implicit VALIDATION_ERROR_00924~^~Y~^~None~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorPool must be a valid VkDescriptorPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~implicit VALIDATION_ERROR_00925~^~N~^~Unknown~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorSetCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~implicit -VALIDATION_ERROR_00926~^~N~^~Unknown~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~implicit +VALIDATION_ERROR_00926~^~Y~^~Unknown~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~implicit VALIDATION_ERROR_00927~^~Y~^~Unknown~^~vkFreeDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'Each element of pDescriptorSets that is a valid handle must have been created, allocated, or retrieved from descriptorPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkFreeDescriptorSets)~^~implicit VALIDATION_ERROR_00928~^~N~^~Unknown~^~vkResetDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'All uses of descriptorPool (via any allocated descriptor sets) must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetDescriptorPool)~^~ VALIDATION_ERROR_00929~^~Y~^~None~^~vkResetDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetDescriptorPool)~^~implicit VALIDATION_ERROR_00930~^~Y~^~InvalidDescriptorPool~^~vkResetDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorPool must be a valid VkDescriptorPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetDescriptorPool)~^~implicit VALIDATION_ERROR_00931~^~N~^~Unknown~^~vkResetDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetDescriptorPool)~^~implicit, TBD in parameter validation layer. -VALIDATION_ERROR_00932~^~N~^~Unknown~^~vkResetDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetDescriptorPool)~^~implicit +VALIDATION_ERROR_00932~^~Y~^~Unknown~^~vkResetDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkResetDescriptorPool)~^~implicit VALIDATION_ERROR_00933~^~Y~^~None~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkUpdateDescriptorSets)~^~implicit VALIDATION_ERROR_00934~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'If descriptorWriteCount is not 0, pDescriptorWrites must be a pointer to an array of descriptorWriteCount valid VkWriteDescriptorSet structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkUpdateDescriptorSets)~^~implicit VALIDATION_ERROR_00935~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'If descriptorCopyCount is not 0, pDescriptorCopies must be a pointer to an array of descriptorCopyCount valid VkCopyDescriptorSet structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkUpdateDescriptorSets)~^~implicit @@ -946,12 +946,12 @@ VALIDATION_ERROR_00954~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more informa VALIDATION_ERROR_00955~^~Y~^~None~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'dstSet must be a valid VkDescriptorSet handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkWriteDescriptorSet)~^~implicit VALIDATION_ERROR_00956~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'descriptorType must be a valid VkDescriptorType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkWriteDescriptorSet)~^~implicit VALIDATION_ERROR_00957~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'descriptorCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkWriteDescriptorSet)~^~implicit -VALIDATION_ERROR_00958~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'Both of dstSet, and the elements of pTexelBufferView that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkWriteDescriptorSet)~^~implicit +VALIDATION_ERROR_00958~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'Both of dstSet, and the elements of pTexelBufferView that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkWriteDescriptorSet)~^~implicit VALIDATION_ERROR_00959~^~Y~^~DSBufferInfoErrors~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'offset must be less than the size of buffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorBufferInfo)~^~ VALIDATION_ERROR_00960~^~Y~^~DSBufferInfoErrors~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'If range is not equal to VK_WHOLE_SIZE, range must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorBufferInfo)~^~ VALIDATION_ERROR_00961~^~Y~^~DSBufferInfoErrors~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'If range is not equal to VK_WHOLE_SIZE, range must be less than or equal to the size of buffer minus offset' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorBufferInfo)~^~ VALIDATION_ERROR_00962~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorBufferInfo)~^~implicit -VALIDATION_ERROR_00963~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'Both of imageView, and sampler that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorImageInfo)~^~implicit +VALIDATION_ERROR_00963~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'Both of imageView, and sampler that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorImageInfo)~^~implicit VALIDATION_ERROR_00964~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'srcBinding must be a valid binding within srcSet' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCopyDescriptorSet)~^~ VALIDATION_ERROR_00965~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'The sum of srcArrayElement and descriptorCount must be less than or equal to the number of array elements in the descriptor set binding specified by srcBinding, and all applicable consecutive bindings, as described by [descriptorsets-updates-consecutive]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCopyDescriptorSet)~^~ VALIDATION_ERROR_00966~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'dstBinding must be a valid binding within dstSet' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCopyDescriptorSet)~^~ @@ -961,7 +961,7 @@ VALIDATION_ERROR_00969~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more informa VALIDATION_ERROR_00970~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCopyDescriptorSet)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_00971~^~Y~^~None~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'srcSet must be a valid VkDescriptorSet handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCopyDescriptorSet)~^~implicit VALIDATION_ERROR_00972~^~Y~^~None~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'dstSet must be a valid VkDescriptorSet handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCopyDescriptorSet)~^~implicit -VALIDATION_ERROR_00973~^~N~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'Both of dstSet, and srcSet must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCopyDescriptorSet)~^~implicit +VALIDATION_ERROR_00973~^~Y~^~Unknown~^~vkUpdateDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.4. Descriptor Set Updates' which states 'Both of dstSet, and srcSet must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkCopyDescriptorSet)~^~implicit VALIDATION_ERROR_00974~^~Y~^~Unknown~^~vkCmdBindDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.5. Descriptor Set Binding' which states 'Any given element of pDescriptorSets must have been allocated with a VkDescriptorSetLayout that matches (is the same as, or defined identically to) the VkDescriptorSetLayout at set n in layout, where n is the sum of firstSet and the index into pDescriptorSets' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindDescriptorSets)~^~ VALIDATION_ERROR_00975~^~Y~^~Unknown~^~vkCmdBindDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.5. Descriptor Set Binding' which states 'dynamicOffsetCount must be equal to the total number of dynamic descriptors in pDescriptorSets' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindDescriptorSets)~^~ VALIDATION_ERROR_00976~^~N~^~Unknown~^~vkCmdBindDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.5. Descriptor Set Binding' which states 'The sum of firstSet and descriptorSetCount must be less than or equal to VkPipelineLayoutCreateInfo::setLayoutCount provided when layout was created' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindDescriptorSets)~^~ @@ -975,7 +975,7 @@ VALIDATION_ERROR_00983~^~N~^~Unknown~^~vkCmdBindDescriptorSets~^~For more inform VALIDATION_ERROR_00984~^~N~^~Unknown~^~vkCmdBindDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.5. Descriptor Set Binding' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindDescriptorSets)~^~implicit VALIDATION_ERROR_00985~^~N~^~Unknown~^~vkCmdBindDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.5. Descriptor Set Binding' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindDescriptorSets)~^~implicit VALIDATION_ERROR_00986~^~N~^~Unknown~^~vkCmdBindDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.5. Descriptor Set Binding' which states 'descriptorSetCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindDescriptorSets)~^~implicit -VALIDATION_ERROR_00987~^~N~^~Unknown~^~vkCmdBindDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.5. Descriptor Set Binding' which states 'Each of commandBuffer, layout, and the elements of pDescriptorSets must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindDescriptorSets)~^~implicit +VALIDATION_ERROR_00987~^~Y~^~Unknown~^~vkCmdBindDescriptorSets~^~For more information refer to Vulkan Spec Section '13.2.5. Descriptor Set Binding' which states 'Each of commandBuffer, layout, and the elements of pDescriptorSets must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindDescriptorSets)~^~implicit VALIDATION_ERROR_00988~^~Y~^~Unknown~^~vkCmdPushConstants~^~For more information refer to Vulkan Spec Section '13.2.6. Push Constant Updates' which states 'stageFlags must match exactly the shader stages used in layout for the range specified by offset and size' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdPushConstants)~^~ VALIDATION_ERROR_00989~^~Y~^~Unknown~^~vkCmdPushConstants~^~For more information refer to Vulkan Spec Section '13.2.6. Push Constant Updates' which states 'offset must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdPushConstants)~^~ VALIDATION_ERROR_00990~^~Y~^~Unknown~^~vkCmdPushConstants~^~For more information refer to Vulkan Spec Section '13.2.6. Push Constant Updates' which states 'size must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdPushConstants)~^~ @@ -989,7 +989,7 @@ VALIDATION_ERROR_00997~^~N~^~Unknown~^~vkCmdPushConstants~^~For more information VALIDATION_ERROR_00998~^~N~^~Unknown~^~vkCmdPushConstants~^~For more information refer to Vulkan Spec Section '13.2.6. Push Constant Updates' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdPushConstants)~^~implicit VALIDATION_ERROR_00999~^~N~^~Unknown~^~vkCmdPushConstants~^~For more information refer to Vulkan Spec Section '13.2.6. Push Constant Updates' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdPushConstants)~^~implicit VALIDATION_ERROR_01000~^~Y~^~Unknown~^~vkCmdPushConstants~^~For more information refer to Vulkan Spec Section '13.2.6. Push Constant Updates' which states 'size must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdPushConstants)~^~implicit -VALIDATION_ERROR_01001~^~N~^~Unknown~^~vkCmdPushConstants~^~For more information refer to Vulkan Spec Section '13.2.6. Push Constant Updates' which states 'Both of commandBuffer, and layout must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdPushConstants)~^~implicit +VALIDATION_ERROR_01001~^~Y~^~Unknown~^~vkCmdPushConstants~^~For more information refer to Vulkan Spec Section '13.2.6. Push Constant Updates' which states 'Both of commandBuffer, and layout must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdPushConstants)~^~implicit VALIDATION_ERROR_01002~^~Y~^~None~^~vkCreateQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateQueryPool)~^~implicit VALIDATION_ERROR_01003~^~N~^~Unknown~^~vkCreateQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'pCreateInfo must be a pointer to a valid VkQueryPoolCreateInfo structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateQueryPool)~^~implicit VALIDATION_ERROR_01004~^~N~^~Unknown~^~vkCreateQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCreateQueryPool)~^~implicit @@ -1006,7 +1006,7 @@ VALIDATION_ERROR_01014~^~Y~^~Unknown~^~vkDestroyQueryPool~^~For more information VALIDATION_ERROR_01015~^~Y~^~None~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~implicit VALIDATION_ERROR_01016~^~Y~^~None~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If queryPool is not VK_NULL_HANDLE, queryPool must be a valid VkQueryPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~implicit VALIDATION_ERROR_01017~^~N~^~Unknown~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If pAllocator is not NULL, pAllocator must be a pointer to a valid VkAllocationCallbacks structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~implicit -VALIDATION_ERROR_01018~^~N~^~Unknown~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If queryPool is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~implicit +VALIDATION_ERROR_01018~^~Y~^~Unknown~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If queryPool is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~implicit VALIDATION_ERROR_01019~^~N~^~Unknown~^~vkCmdResetQueryPool~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'firstQuery must be less than the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetQueryPool)~^~ VALIDATION_ERROR_01020~^~N~^~Unknown~^~vkCmdResetQueryPool~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The sum of firstQuery and queryCount must be less than or equal to the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetQueryPool)~^~ VALIDATION_ERROR_01021~^~Y~^~None~^~vkCmdResetQueryPool~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetQueryPool)~^~implicit @@ -1014,7 +1014,7 @@ VALIDATION_ERROR_01022~^~Y~^~None~^~vkCmdResetQueryPool~^~For more information r VALIDATION_ERROR_01023~^~N~^~Unknown~^~vkCmdResetQueryPool~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetQueryPool)~^~implicit VALIDATION_ERROR_01024~^~N~^~Unknown~^~vkCmdResetQueryPool~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetQueryPool)~^~implicit VALIDATION_ERROR_01025~^~Y~^~Unknown~^~vkCmdResetQueryPool~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetQueryPool)~^~implicit -VALIDATION_ERROR_01026~^~N~^~Unknown~^~vkCmdResetQueryPool~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetQueryPool)~^~implicit +VALIDATION_ERROR_01026~^~Y~^~Unknown~^~vkCmdResetQueryPool~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResetQueryPool)~^~implicit VALIDATION_ERROR_01027~^~N~^~Unknown~^~vkCmdBeginQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The query identified by queryPool and query must currently not be active' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryControlFlagBits)~^~ VALIDATION_ERROR_01028~^~N~^~Unknown~^~vkCmdBeginQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The query identified by queryPool and query must be unavailable' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryControlFlagBits)~^~ VALIDATION_ERROR_01029~^~N~^~Unknown~^~vkCmdBeginQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'If the precise occlusion queries feature is not enabled, or the queryType used to create queryPool was not VK_QUERY_TYPE_OCCLUSION, flags must not contain VK_QUERY_CONTROL_PRECISE_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryControlFlagBits)~^~ @@ -1028,14 +1028,14 @@ VALIDATION_ERROR_01036~^~Y~^~None~^~vkCmdBeginQuery~^~For more information refer VALIDATION_ERROR_01037~^~N~^~Unknown~^~vkCmdBeginQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'flags must be a valid combination of VkQueryControlFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryControlFlagBits)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01038~^~N~^~Unknown~^~vkCmdBeginQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryControlFlagBits)~^~implicit VALIDATION_ERROR_01039~^~N~^~Unknown~^~vkCmdBeginQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryControlFlagBits)~^~implicit -VALIDATION_ERROR_01040~^~N~^~Unknown~^~vkCmdBeginQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryControlFlagBits)~^~implicit +VALIDATION_ERROR_01040~^~Y~^~Unknown~^~vkCmdBeginQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryControlFlagBits)~^~implicit VALIDATION_ERROR_01041~^~Y~^~Unknown~^~vkCmdEndQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The query identified by queryPool and query must currently be active' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdEndQuery)~^~ VALIDATION_ERROR_01042~^~N~^~Unknown~^~vkCmdEndQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'query must be less than the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdEndQuery)~^~ VALIDATION_ERROR_01043~^~Y~^~None~^~vkCmdEndQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdEndQuery)~^~implicit VALIDATION_ERROR_01044~^~Y~^~None~^~vkCmdEndQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'queryPool must be a valid VkQueryPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdEndQuery)~^~implicit VALIDATION_ERROR_01045~^~N~^~Unknown~^~vkCmdEndQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdEndQuery)~^~implicit VALIDATION_ERROR_01046~^~N~^~Unknown~^~vkCmdEndQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdEndQuery)~^~implicit -VALIDATION_ERROR_01047~^~N~^~Unknown~^~vkCmdEndQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdEndQuery)~^~implicit +VALIDATION_ERROR_01047~^~Y~^~Unknown~^~vkCmdEndQuery~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdEndQuery)~^~implicit VALIDATION_ERROR_01048~^~N~^~Unknown~^~vkGetQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'firstQuery must be less than the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryResultFlagBits)~^~ VALIDATION_ERROR_01049~^~N~^~Unknown~^~vkGetQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'If VK_QUERY_RESULT_64_BIT is not set in flags then pData and stride must be multiples of 4' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryResultFlagBits)~^~ VALIDATION_ERROR_01050~^~N~^~Unknown~^~vkGetQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'If VK_QUERY_RESULT_64_BIT is set in flags then pData and stride must be multiples of 8' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryResultFlagBits)~^~ @@ -1047,7 +1047,7 @@ VALIDATION_ERROR_01055~^~Y~^~None~^~vkGetQueryPoolResults~^~For more information VALIDATION_ERROR_01056~^~N~^~Unknown~^~vkGetQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'pData must be a pointer to an array of dataSize bytes' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryResultFlagBits)~^~implicit VALIDATION_ERROR_01057~^~N~^~Unknown~^~vkGetQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'flags must be a valid combination of VkQueryResultFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryResultFlagBits)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01058~^~N~^~Unknown~^~vkGetQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'dataSize must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryResultFlagBits)~^~implicit -VALIDATION_ERROR_01059~^~N~^~Unknown~^~vkGetQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'queryPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryResultFlagBits)~^~implicit +VALIDATION_ERROR_01059~^~Y~^~Unknown~^~vkGetQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'queryPool must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryResultFlagBits)~^~implicit VALIDATION_ERROR_01060~^~N~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'dstOffset must be less than the size of dstBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyQueryPoolResults)~^~ VALIDATION_ERROR_01061~^~N~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'firstQuery must be less than the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyQueryPoolResults)~^~ VALIDATION_ERROR_01062~^~N~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The sum of firstQuery and queryCount must be less than or equal to the number of queries in queryPool' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyQueryPoolResults)~^~ @@ -1063,7 +1063,7 @@ VALIDATION_ERROR_01071~^~N~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more info VALIDATION_ERROR_01072~^~N~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyQueryPoolResults)~^~implicit VALIDATION_ERROR_01073~^~N~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyQueryPoolResults)~^~implicit VALIDATION_ERROR_01074~^~Y~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyQueryPoolResults)~^~implicit -VALIDATION_ERROR_01075~^~N~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'Each of commandBuffer, dstBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyQueryPoolResults)~^~implicit +VALIDATION_ERROR_01075~^~Y~^~Unknown~^~vkCmdCopyQueryPoolResults~^~For more information refer to Vulkan Spec Section '16.2. Query Operation' which states 'Each of commandBuffer, dstBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyQueryPoolResults)~^~implicit VALIDATION_ERROR_01076~^~N~^~Unknown~^~vkCmdWriteTimestamp~^~For more information refer to Vulkan Spec Section '16.5. Timestamp Queries' which states 'The query identified by queryPool and query must be unavailable' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWriteTimestamp)~^~ VALIDATION_ERROR_01077~^~N~^~Unknown~^~vkCmdWriteTimestamp~^~For more information refer to Vulkan Spec Section '16.5. Timestamp Queries' which states 'The command pools queue family must support a non-zero timestampValidBits' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWriteTimestamp)~^~ VALIDATION_ERROR_01078~^~Y~^~None~^~vkCmdWriteTimestamp~^~For more information refer to Vulkan Spec Section '16.5. Timestamp Queries' which states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWriteTimestamp)~^~implicit @@ -1071,7 +1071,7 @@ VALIDATION_ERROR_01079~^~N~^~Unknown~^~vkCmdWriteTimestamp~^~For more informatio VALIDATION_ERROR_01080~^~Y~^~None~^~vkCmdWriteTimestamp~^~For more information refer to Vulkan Spec Section '16.5. Timestamp Queries' which states 'queryPool must be a valid VkQueryPool handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWriteTimestamp)~^~implicit VALIDATION_ERROR_01081~^~N~^~Unknown~^~vkCmdWriteTimestamp~^~For more information refer to Vulkan Spec Section '16.5. Timestamp Queries' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWriteTimestamp)~^~implicit VALIDATION_ERROR_01082~^~N~^~Unknown~^~vkCmdWriteTimestamp~^~For more information refer to Vulkan Spec Section '16.5. Timestamp Queries' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWriteTimestamp)~^~implicit -VALIDATION_ERROR_01083~^~N~^~Unknown~^~vkCmdWriteTimestamp~^~For more information refer to Vulkan Spec Section '16.5. Timestamp Queries' which states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWriteTimestamp)~^~implicit +VALIDATION_ERROR_01083~^~Y~^~Unknown~^~vkCmdWriteTimestamp~^~For more information refer to Vulkan Spec Section '16.5. Timestamp Queries' which states 'Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdWriteTimestamp)~^~implicit VALIDATION_ERROR_01084~^~Y~^~Unknown~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'image must have been created with VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~ VALIDATION_ERROR_01085~^~Y~^~InvalidImageLayout~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'imageLayout must specify the layout of the image subresource ranges of image specified in pRanges at the time this command is executed on a VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~ VALIDATION_ERROR_01086~^~Y~^~InvalidImageLayout~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'imageLayout must be either of VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or VK_IMAGE_LAYOUT_GENERAL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~ @@ -1086,7 +1086,7 @@ VALIDATION_ERROR_01094~^~N~^~Unknown~^~vkCmdClearColorImage~^~For more informati VALIDATION_ERROR_01095~^~N~^~Unknown~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~implicit VALIDATION_ERROR_01096~^~Y~^~Unknown~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~implicit VALIDATION_ERROR_01097~^~N~^~Unknown~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'rangeCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~implicit -VALIDATION_ERROR_01098~^~N~^~Unknown~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'Both of commandBuffer, and image must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~implicit +VALIDATION_ERROR_01098~^~Y~^~Unknown~^~vkCmdClearColorImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'Both of commandBuffer, and image must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearColorImage)~^~implicit VALIDATION_ERROR_01099~^~N~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'image must have been created with VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~ VALIDATION_ERROR_01100~^~Y~^~InvalidImageLayout~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'imageLayout must specify the layout of the image subresource ranges of image specified in pRanges at the time this command is executed on a VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~ VALIDATION_ERROR_01101~^~Y~^~InvalidImageLayout~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'imageLayout must be either of VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or VK_IMAGE_LAYOUT_GENERAL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~ @@ -1101,7 +1101,7 @@ VALIDATION_ERROR_01109~^~N~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more in VALIDATION_ERROR_01110~^~N~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~implicit VALIDATION_ERROR_01111~^~Y~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~implicit VALIDATION_ERROR_01112~^~N~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'rangeCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~implicit -VALIDATION_ERROR_01113~^~N~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'Both of commandBuffer, and image must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~implicit +VALIDATION_ERROR_01113~^~Y~^~Unknown~^~vkCmdClearDepthStencilImage~^~For more information refer to Vulkan Spec Section '17.1. Clearing Images Outside A Render Pass Instance' which states 'Both of commandBuffer, and image must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearDepthStencilImage)~^~implicit VALIDATION_ERROR_01114~^~Y~^~MissingClearAttachment~^~vkCmdClearAttachments~^~For more information refer to Vulkan Spec Section '17.2. Clearing Images Inside A Render Pass Instance' which states 'If the aspectMask member of any given element of pAttachments contains VK_IMAGE_ASPECT_COLOR_BIT, the colorAttachment member of those elements must refer to a valid color attachment in the current subpass' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearAttachments)~^~ VALIDATION_ERROR_01115~^~Y~^~CmdClearAttachmentTests~^~vkCmdClearAttachments~^~For more information refer to Vulkan Spec Section '17.2. Clearing Images Inside A Render Pass Instance' which states 'The rectangular region specified by a given element of pRects must be contained within the render area of the current render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearAttachments)~^~ VALIDATION_ERROR_01116~^~Y~^~CmdClearAttachmentTests~^~vkCmdClearAttachments~^~For more information refer to Vulkan Spec Section '17.2. Clearing Images Inside A Render Pass Instance' which states 'The layers specified by a given element of pRects must be contained within every attachment that pAttachments refers to' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdClearAttachments)~^~ @@ -1131,7 +1131,7 @@ VALIDATION_ERROR_01139~^~Y~^~None~^~vkCmdFillBuffer~^~For more information refer VALIDATION_ERROR_01140~^~N~^~Unknown~^~vkCmdFillBuffer~^~For more information refer to Vulkan Spec Section '17.4. Filling Buffers' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdFillBuffer)~^~implicit VALIDATION_ERROR_01141~^~N~^~Unknown~^~vkCmdFillBuffer~^~For more information refer to Vulkan Spec Section '17.4. Filling Buffers' which states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdFillBuffer)~^~implicit VALIDATION_ERROR_01142~^~Y~^~Unknown~^~vkCmdFillBuffer~^~For more information refer to Vulkan Spec Section '17.4. Filling Buffers' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdFillBuffer)~^~implicit -VALIDATION_ERROR_01143~^~N~^~Unknown~^~vkCmdFillBuffer~^~For more information refer to Vulkan Spec Section '17.4. Filling Buffers' which states 'Both of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdFillBuffer)~^~implicit +VALIDATION_ERROR_01143~^~Y~^~Unknown~^~vkCmdFillBuffer~^~For more information refer to Vulkan Spec Section '17.4. Filling Buffers' which states 'Both of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdFillBuffer)~^~implicit VALIDATION_ERROR_01144~^~N~^~Unknown~^~vkCmdUpdateBuffer~^~For more information refer to Vulkan Spec Section '17.5. Updating Buffers' which states 'dstOffset must be less than the size of dstBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdUpdateBuffer)~^~ VALIDATION_ERROR_01145~^~N~^~Unknown~^~vkCmdUpdateBuffer~^~For more information refer to Vulkan Spec Section '17.5. Updating Buffers' which states 'dataSize must be less than or equal to the size of dstBuffer minus dstOffset' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdUpdateBuffer)~^~ VALIDATION_ERROR_01146~^~Y~^~None~^~vkCmdUpdateBuffer~^~For more information refer to Vulkan Spec Section '17.5. Updating Buffers' which states 'dstBuffer must have been created with VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdUpdateBuffer)~^~ @@ -1145,7 +1145,7 @@ VALIDATION_ERROR_01153~^~N~^~Unknown~^~vkCmdUpdateBuffer~^~For more information VALIDATION_ERROR_01154~^~N~^~Unknown~^~vkCmdUpdateBuffer~^~For more information refer to Vulkan Spec Section '17.5. Updating Buffers' which states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdUpdateBuffer)~^~implicit VALIDATION_ERROR_01155~^~Y~^~Unknown~^~vkCmdUpdateBuffer~^~For more information refer to Vulkan Spec Section '17.5. Updating Buffers' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdUpdateBuffer)~^~implicit VALIDATION_ERROR_01156~^~N~^~Unknown~^~vkCmdUpdateBuffer~^~For more information refer to Vulkan Spec Section '17.5. Updating Buffers' which states 'dataSize must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdUpdateBuffer)~^~implicit -VALIDATION_ERROR_01157~^~N~^~Unknown~^~vkCmdUpdateBuffer~^~For more information refer to Vulkan Spec Section '17.5. Updating Buffers' which states 'Both of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdUpdateBuffer)~^~implicit +VALIDATION_ERROR_01157~^~Y~^~Unknown~^~vkCmdUpdateBuffer~^~For more information refer to Vulkan Spec Section '17.5. Updating Buffers' which states 'Both of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdUpdateBuffer)~^~implicit VALIDATION_ERROR_01158~^~N~^~Unknown~^~vkCmdCopyBuffer~^~For more information refer to Vulkan Spec Section '18.2. Copying Data Between Buffers' which states 'The size member of a given element of pRegions must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBuffer)~^~ VALIDATION_ERROR_01159~^~N~^~Unknown~^~vkCmdCopyBuffer~^~For more information refer to Vulkan Spec Section '18.2. Copying Data Between Buffers' which states 'The srcOffset member of a given element of pRegions must be less than the size of srcBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBuffer)~^~ VALIDATION_ERROR_01160~^~N~^~Unknown~^~vkCmdCopyBuffer~^~For more information refer to Vulkan Spec Section '18.2. Copying Data Between Buffers' which states 'The dstOffset member of a given element of pRegions must be less than the size of dstBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBuffer)~^~ @@ -1162,7 +1162,7 @@ VALIDATION_ERROR_01170~^~N~^~Unknown~^~vkCmdCopyBuffer~^~For more information re VALIDATION_ERROR_01171~^~N~^~Unknown~^~vkCmdCopyBuffer~^~For more information refer to Vulkan Spec Section '18.2. Copying Data Between Buffers' which states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBuffer)~^~implicit VALIDATION_ERROR_01172~^~Y~^~Unknown~^~vkCmdCopyBuffer~^~For more information refer to Vulkan Spec Section '18.2. Copying Data Between Buffers' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBuffer)~^~implicit VALIDATION_ERROR_01173~^~N~^~Unknown~^~vkCmdCopyBuffer~^~For more information refer to Vulkan Spec Section '18.2. Copying Data Between Buffers' which states 'regionCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBuffer)~^~implicit -VALIDATION_ERROR_01174~^~N~^~Unknown~^~vkCmdCopyBuffer~^~For more information refer to Vulkan Spec Section '18.2. Copying Data Between Buffers' which states 'Each of commandBuffer, dstBuffer, and srcBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBuffer)~^~implicit +VALIDATION_ERROR_01174~^~Y~^~Unknown~^~vkCmdCopyBuffer~^~For more information refer to Vulkan Spec Section '18.2. Copying Data Between Buffers' which states 'Each of commandBuffer, dstBuffer, and srcBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBuffer)~^~implicit VALIDATION_ERROR_01175~^~Y~^~CopyImageSrcSizeExceeded~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'The source region specified by a given element of pRegions must be a region that is contained within srcImage' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~ VALIDATION_ERROR_01176~^~Y~^~CopyImageDstSizeExceeded~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'The destination region specified by a given element of pRegions must be a region that is contained within dstImage' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~ VALIDATION_ERROR_01177~^~Y~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'The union of all source regions, and the union of all destination regions, specified by the elements of pRegions, must not overlap in memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~ @@ -1184,7 +1184,7 @@ VALIDATION_ERROR_01192~^~N~^~Unknown~^~vkCmdCopyImage~^~For more information ref VALIDATION_ERROR_01193~^~N~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~implicit VALIDATION_ERROR_01194~^~Y~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~implicit VALIDATION_ERROR_01195~^~N~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'regionCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~implicit -VALIDATION_ERROR_01196~^~N~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'Each of commandBuffer, dstImage, and srcImage must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~implicit +VALIDATION_ERROR_01196~^~Y~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'Each of commandBuffer, dstImage, and srcImage must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImage)~^~implicit VALIDATION_ERROR_01197~^~Y~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'The aspectMask member of srcSubresource and dstSubresource must match' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCopy)~^~ VALIDATION_ERROR_01198~^~Y~^~CopyImageLayerCountMismatch~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'The number of slices of the extent (for 3D) or layers of the srcSubresource (for non-3D) must match the number of slices of the extent (for 3D) or layers of the dstSubresource (for non-3D)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCopy)~^~ VALIDATION_ERROR_01199~^~Y~^~Unknown~^~vkCmdCopyImage~^~For more information refer to Vulkan Spec Section '18.3. Copying Data Between Images' which states 'If either of the calling commands srcImage or dstImage parameters are of VkImageType VK_IMAGE_TYPE_3D, the baseArrayLayer and layerCount members of the corresponding subresource must be 0 and 1, respectively' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageCopy)~^~ @@ -1232,7 +1232,7 @@ VALIDATION_ERROR_01240~^~Y~^~ImageBufferCopyTests~^~vkCmdCopyBufferToImage~^~For VALIDATION_ERROR_01241~^~Y~^~None~^~vkCmdCopyBufferToImage~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBufferToImage)~^~implicit VALIDATION_ERROR_01242~^~Y~^~Unknown~^~vkCmdCopyBufferToImage~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBufferToImage)~^~implicit VALIDATION_ERROR_01243~^~N~^~Unknown~^~vkCmdCopyBufferToImage~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'regionCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBufferToImage)~^~implicit -VALIDATION_ERROR_01244~^~N~^~Unknown~^~vkCmdCopyBufferToImage~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'Each of commandBuffer, dstImage, and srcBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBufferToImage)~^~implicit +VALIDATION_ERROR_01244~^~Y~^~Unknown~^~vkCmdCopyBufferToImage~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'Each of commandBuffer, dstImage, and srcBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyBufferToImage)~^~implicit VALIDATION_ERROR_01245~^~Y~^~ImageBufferCopyTests~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'The image region specified by a given element of pRegions must be a region that is contained within srcImage' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~ VALIDATION_ERROR_01246~^~Y~^~ImageBufferCopyTests~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'The buffer region specified by a given element of pRegions must be a region that is contained within dstBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~ VALIDATION_ERROR_01247~^~N~^~Unknown~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'The union of all source regions, and the union of all destination regions, specified by the elements of pRegions, must not overlap in memory' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~ @@ -1250,7 +1250,7 @@ VALIDATION_ERROR_01258~^~Y~^~ImageBufferCopyTests~^~vkCmdCopyImageToBuffer~^~For VALIDATION_ERROR_01259~^~Y~^~None~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~implicit VALIDATION_ERROR_01260~^~Y~^~Unknown~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~implicit VALIDATION_ERROR_01261~^~N~^~Unknown~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'regionCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~implicit -VALIDATION_ERROR_01262~^~N~^~Unknown~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'Each of commandBuffer, dstBuffer, and srcImage must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~implicit +VALIDATION_ERROR_01262~^~Y~^~Unknown~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'Each of commandBuffer, dstBuffer, and srcImage must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdCopyImageToBuffer)~^~implicit VALIDATION_ERROR_01263~^~Y~^~MiscImageLayerTests~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'If the the calling commands VkImage parameters format is not a depth/stencil format, then bufferOffset must be a multiple of the formats element size' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBufferImageCopy)~^~ VALIDATION_ERROR_01264~^~Y~^~MiscImageLayerTests~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'bufferOffset must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBufferImageCopy)~^~ VALIDATION_ERROR_01265~^~Y~^~MiscImageLayerTests~^~vkCmdCopyImageToBuffer~^~For more information refer to Vulkan Spec Section '18.4. Copying Data Between Buffers and Images' which states 'bufferRowLength must be 0, or greater than or equal to the width member of imageExtent' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBufferImageCopy)~^~ @@ -1287,7 +1287,7 @@ VALIDATION_ERROR_01298~^~N~^~Unknown~^~vkCmdBlitImage~^~For more information ref VALIDATION_ERROR_01299~^~N~^~Unknown~^~vkCmdBlitImage~^~For more information refer to Vulkan Spec Section '18.5. Image Copies with Scaling' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBlitImage)~^~implicit VALIDATION_ERROR_01300~^~Y~^~Unknown~^~vkCmdBlitImage~^~For more information refer to Vulkan Spec Section '18.5. Image Copies with Scaling' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBlitImage)~^~implicit VALIDATION_ERROR_01301~^~N~^~Unknown~^~vkCmdBlitImage~^~For more information refer to Vulkan Spec Section '18.5. Image Copies with Scaling' which states 'regionCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBlitImage)~^~implicit -VALIDATION_ERROR_01302~^~N~^~Unknown~^~vkCmdBlitImage~^~For more information refer to Vulkan Spec Section '18.5. Image Copies with Scaling' which states 'Each of commandBuffer, dstImage, and srcImage must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBlitImage)~^~implicit +VALIDATION_ERROR_01302~^~Y~^~Unknown~^~vkCmdBlitImage~^~For more information refer to Vulkan Spec Section '18.5. Image Copies with Scaling' which states 'Each of commandBuffer, dstImage, and srcImage must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBlitImage)~^~implicit VALIDATION_ERROR_01303~^~Y~^~Unknown~^~vkCmdBlitImage~^~For more information refer to Vulkan Spec Section '18.5. Image Copies with Scaling' which states 'The aspectMask member of srcSubresource and dstSubresource must match' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageBlit)~^~ VALIDATION_ERROR_01304~^~Y~^~Unknown~^~vkCmdBlitImage~^~For more information refer to Vulkan Spec Section '18.5. Image Copies with Scaling' which states 'The layerCount member of srcSubresource and dstSubresource must match' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageBlit)~^~ VALIDATION_ERROR_01305~^~N~^~Unknown~^~vkCmdBlitImage~^~For more information refer to Vulkan Spec Section '18.5. Image Copies with Scaling' which states 'If either of the calling commands srcImage or dstImage parameters are of VkImageType VK_IMAGE_TYPE_3D, the baseArrayLayer and layerCount members of both srcSubresource and dstSubresource must be 0 and 1, respectively' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageBlit)~^~ @@ -1322,7 +1322,7 @@ VALIDATION_ERROR_01333~^~N~^~Unknown~^~vkCmdResolveImage~^~For more information VALIDATION_ERROR_01334~^~N~^~Unknown~^~vkCmdResolveImage~^~For more information refer to Vulkan Spec Section '18.6. Resolving Multisample Images' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResolveImage)~^~implicit VALIDATION_ERROR_01335~^~Y~^~Unknown~^~vkCmdResolveImage~^~For more information refer to Vulkan Spec Section '18.6. Resolving Multisample Images' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResolveImage)~^~implicit VALIDATION_ERROR_01336~^~N~^~Unknown~^~vkCmdResolveImage~^~For more information refer to Vulkan Spec Section '18.6. Resolving Multisample Images' which states 'regionCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResolveImage)~^~implicit -VALIDATION_ERROR_01337~^~N~^~Unknown~^~vkCmdResolveImage~^~For more information refer to Vulkan Spec Section '18.6. Resolving Multisample Images' which states 'Each of commandBuffer, dstImage, and srcImage must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResolveImage)~^~implicit +VALIDATION_ERROR_01337~^~Y~^~Unknown~^~vkCmdResolveImage~^~For more information refer to Vulkan Spec Section '18.6. Resolving Multisample Images' which states 'Each of commandBuffer, dstImage, and srcImage must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdResolveImage)~^~implicit VALIDATION_ERROR_01338~^~Y~^~Unknown~^~vkCmdResolveImage~^~For more information refer to Vulkan Spec Section '18.6. Resolving Multisample Images' which states 'The aspectMask member of srcSubresource and dstSubresource must only contain VK_IMAGE_ASPECT_COLOR_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageResolve)~^~ VALIDATION_ERROR_01339~^~Y~^~Unknown~^~vkCmdResolveImage~^~For more information refer to Vulkan Spec Section '18.6. Resolving Multisample Images' which states 'The layerCount member of srcSubresource and dstSubresource must match' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageResolve)~^~ VALIDATION_ERROR_01340~^~N~^~Unknown~^~vkCmdResolveImage~^~For more information refer to Vulkan Spec Section '18.6. Resolving Multisample Images' which states 'If either of the calling commands srcImage or dstImage parameters are of VkImageType VK_IMAGE_TYPE_3D, the baseArrayLayer and layerCount members of both srcSubresource and dstSubresource must be 0 and 1, respectively' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageResolve)~^~ @@ -1343,7 +1343,7 @@ VALIDATION_ERROR_01354~^~Y~^~None~^~vkCmdBindIndexBuffer~^~For more information VALIDATION_ERROR_01355~^~N~^~Unknown~^~vkCmdBindIndexBuffer~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'indexType must be a valid VkIndexType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkIndexType)~^~implicit VALIDATION_ERROR_01356~^~N~^~Unknown~^~vkCmdBindIndexBuffer~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkIndexType)~^~implicit VALIDATION_ERROR_01357~^~N~^~Unknown~^~vkCmdBindIndexBuffer~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkIndexType)~^~implicit -VALIDATION_ERROR_01358~^~N~^~Unknown~^~vkCmdBindIndexBuffer~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkIndexType)~^~implicit +VALIDATION_ERROR_01358~^~Y~^~Unknown~^~vkCmdBindIndexBuffer~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkIndexType)~^~implicit VALIDATION_ERROR_01359~^~N~^~Unknown~^~vkCmdDraw~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'For each set n that is statically used by the VkPipeline currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS, a descriptor set must have been bound to n at VK_PIPELINE_BIND_POINT_GRAPHICS, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline, as described in [descriptorsets-compatibility]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDraw)~^~ VALIDATION_ERROR_01360~^~N~^~Unknown~^~vkCmdDraw~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'For each push constant that is statically used by the VkPipeline currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS, a push constant value must have been set for VK_PIPELINE_BIND_POINT_GRAPHICS, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline, as described in [descriptorsets-compatibility]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDraw)~^~ VALIDATION_ERROR_01361~^~N~^~Unknown~^~vkCmdDraw~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Descriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid if they are statically used by the currently bound VkPipeline object, specified via vkCmdBindPipeline' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDraw)~^~ @@ -1367,7 +1367,7 @@ VALIDATION_ERROR_01378~^~Y~^~None~^~vkCmdDrawIndirect~^~For more information ref VALIDATION_ERROR_01379~^~N~^~Unknown~^~vkCmdDrawIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirect)~^~implicit VALIDATION_ERROR_01380~^~N~^~Unknown~^~vkCmdDrawIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirect)~^~implicit VALIDATION_ERROR_01381~^~Y~^~Unknown~^~vkCmdDrawIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'This command must only be called inside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirect)~^~implicit -VALIDATION_ERROR_01382~^~N~^~Unknown~^~vkCmdDrawIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirect)~^~implicit +VALIDATION_ERROR_01382~^~Y~^~Unknown~^~vkCmdDrawIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirect)~^~implicit VALIDATION_ERROR_01383~^~N~^~Unknown~^~vkCmdDrawIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'For a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in [fxvertex-input]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDrawIndirectCommand)~^~ VALIDATION_ERROR_01384~^~N~^~Unknown~^~vkCmdDrawIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'If the drawIndirectFirstInstance feature is not enabled, firstInstance must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDrawIndirectCommand)~^~ VALIDATION_ERROR_01385~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'offset must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirect)~^~ @@ -1379,7 +1379,7 @@ VALIDATION_ERROR_01390~^~Y~^~None~^~vkCmdDrawIndexedIndirect~^~For more informat VALIDATION_ERROR_01391~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirect)~^~implicit VALIDATION_ERROR_01392~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirect)~^~implicit VALIDATION_ERROR_01393~^~Y~^~Unknown~^~vkCmdDrawIndexedIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'This command must only be called inside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirect)~^~implicit -VALIDATION_ERROR_01394~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirect)~^~implicit +VALIDATION_ERROR_01394~^~Y~^~Unknown~^~vkCmdDrawIndexedIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirect)~^~implicit VALIDATION_ERROR_01395~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'For a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in [fxvertex-input]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDrawIndexedIndirectCommand)~^~ VALIDATION_ERROR_01396~^~N~^~Unknown~^~vkCmdDrawIndexedIndirect~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states '(indexSize * (firstIndex + indexCount) + offset) must be less than or equal to the size of the currently bound index buffer, with indexSize being based on the type specified by indexType, where the index buffer, indexType, and offset are specified via vkCmdBindIndexBuffer' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDrawIndexedIndirectCommand)~^~ VALIDATION_ERROR_01397~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '20.2. Vertex Input Description' which states 'vertexBindingDescriptionCount must be less than or equal to VkPhysicalDeviceLimits::maxVertexInputBindings' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineVertexInputStateCreateInfo)~^~ @@ -1410,7 +1410,7 @@ VALIDATION_ERROR_01421~^~N~^~Unknown~^~vkCmdBindVertexBuffers~^~For more informa VALIDATION_ERROR_01422~^~N~^~Unknown~^~vkCmdBindVertexBuffers~^~For more information refer to Vulkan Spec Section '20.2. Vertex Input Description' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindVertexBuffers)~^~implicit VALIDATION_ERROR_01423~^~N~^~Unknown~^~vkCmdBindVertexBuffers~^~For more information refer to Vulkan Spec Section '20.2. Vertex Input Description' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindVertexBuffers)~^~implicit VALIDATION_ERROR_01424~^~N~^~Unknown~^~vkCmdBindVertexBuffers~^~For more information refer to Vulkan Spec Section '20.2. Vertex Input Description' which states 'bindingCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindVertexBuffers)~^~implicit -VALIDATION_ERROR_01425~^~N~^~Unknown~^~vkCmdBindVertexBuffers~^~For more information refer to Vulkan Spec Section '20.2. Vertex Input Description' which states 'Both of commandBuffer, and the elements of pBuffers must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindVertexBuffers)~^~implicit +VALIDATION_ERROR_01425~^~Y~^~Unknown~^~vkCmdBindVertexBuffers~^~For more information refer to Vulkan Spec Section '20.2. Vertex Input Description' which states 'Both of commandBuffer, and the elements of pBuffers must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdBindVertexBuffers)~^~implicit VALIDATION_ERROR_01426~^~Y~^~Unknown~^~vkCmdBindVertexBuffers~^~For more information refer to Vulkan Spec Section '21.7. Tessellation Pipeline State' which states 'patchControlPoints must be greater than zero and less than or equal to VkPhysicalDeviceLimits::maxTessellationPatchSize' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineTessellationStateCreateInfo)~^~ VALIDATION_ERROR_01427~^~N~^~Unknown~^~vkCmdBindVertexBuffers~^~For more information refer to Vulkan Spec Section '21.7. Tessellation Pipeline State' which states 'sType must be VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineTessellationStateCreateInfo)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01428~^~N~^~Unknown~^~vkCmdBindVertexBuffers~^~For more information refer to Vulkan Spec Section '21.7. Tessellation Pipeline State' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineTessellationStateCreateInfo)~^~implicit, TBD in parameter validation layer. @@ -1550,7 +1550,7 @@ VALIDATION_ERROR_01566~^~Y~^~None~^~vkCmdDispatchIndirect~^~For more information VALIDATION_ERROR_01567~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatchIndirect)~^~implicit VALIDATION_ERROR_01568~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'The VkCommandPool that commandBuffer was allocated from must support compute operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatchIndirect)~^~implicit VALIDATION_ERROR_01569~^~Y~^~Unknown~^~vkCmdDispatchIndirect~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'This command must only be called outside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatchIndirect)~^~implicit -VALIDATION_ERROR_01570~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatchIndirect)~^~implicit +VALIDATION_ERROR_01570~^~Y~^~Unknown~^~vkCmdDispatchIndirect~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDispatchIndirect)~^~implicit VALIDATION_ERROR_01571~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'x must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[0]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDispatchIndirectCommand)~^~ VALIDATION_ERROR_01572~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'y must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[1]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDispatchIndirectCommand)~^~ VALIDATION_ERROR_01573~^~N~^~Unknown~^~vkCmdDispatchIndirect~^~For more information refer to Vulkan Spec Section '27. Dispatching Commands' which states 'z must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[2]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDispatchIndirectCommand)~^~ @@ -1568,7 +1568,7 @@ VALIDATION_ERROR_01610~^~Y~^~None~^~vkGetImageSparseMemoryRequirements~^~For mor VALIDATION_ERROR_01611~^~Y~^~None~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.5. Sparse Resource Memory Requirements' which states 'image must be a valid VkImage handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSparseMemoryRequirements)~^~implicit VALIDATION_ERROR_01612~^~N~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.5. Sparse Resource Memory Requirements' which states 'pSparseMemoryRequirementCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSparseMemoryRequirements)~^~implicit VALIDATION_ERROR_01613~^~N~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.5. Sparse Resource Memory Requirements' which states 'If the value referenced by pSparseMemoryRequirementCount is not 0, and pSparseMemoryRequirements is not NULL, pSparseMemoryRequirements must be a pointer to an array of pSparseMemoryRequirementCount VkSparseImageMemoryRequirements structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSparseMemoryRequirements)~^~implicit -VALIDATION_ERROR_01614~^~N~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.5. Sparse Resource Memory Requirements' which states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSparseMemoryRequirements)~^~implicit +VALIDATION_ERROR_01614~^~Y~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.5. Sparse Resource Memory Requirements' which states 'image must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetImageSparseMemoryRequirements)~^~implicit VALIDATION_ERROR_01615~^~N~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If memory is not VK_NULL_HANDLE, memory and memoryOffset must match the memory requirements of the resource, as described in section [resources-association]' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSparseMemoryBindFlagBits)~^~ VALIDATION_ERROR_01616~^~N~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If memory is not VK_NULL_HANDLE, memory must not have been created with a memory type that reports VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT bit set' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSparseMemoryBindFlagBits)~^~ VALIDATION_ERROR_01617~^~N~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'size must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSparseMemoryBindFlagBits)~^~ @@ -1602,19 +1602,19 @@ VALIDATION_ERROR_01644~^~N~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For VALIDATION_ERROR_01645~^~N~^~Unknown~^~vkGetImageSparseMemoryRequirements~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'flags must be a valid combination of VkSparseMemoryBindFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSparseImageMemoryBind)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01646~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If fence is not VK_NULL_HANDLE, fence must be unsignaled' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~ VALIDATION_ERROR_01647~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If fence is not VK_NULL_HANDLE, fence must not be associated with any other queue command that has not yet completed execution on that queue' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~ -VALIDATION_ERROR_01648~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~implicit +VALIDATION_ERROR_01648~^~Y~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~implicit VALIDATION_ERROR_01649~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If bindInfoCount is not 0, pBindInfo must be a pointer to an array of bindInfoCount valid VkBindSparseInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~implicit -VALIDATION_ERROR_01650~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~implicit +VALIDATION_ERROR_01650~^~Y~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~implicit VALIDATION_ERROR_01651~^~Y~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'The queue must support sparse binding operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~implicit -VALIDATION_ERROR_01652~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'Both of fence, and queue that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~implicit +VALIDATION_ERROR_01652~^~Y~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'Both of fence, and queue that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueueBindSparse)~^~implicit VALIDATION_ERROR_01653~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'sType must be VK_STRUCTURE_TYPE_BIND_SPARSE_INFO' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01654~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit, TBD in parameter validation layer. -VALIDATION_ERROR_01655~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If waitSemaphoreCount is not 0, pWaitSemaphores must be a pointer to an array of waitSemaphoreCount valid VkSemaphore handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit +VALIDATION_ERROR_01655~^~Y~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If waitSemaphoreCount is not 0, pWaitSemaphores must be a pointer to an array of waitSemaphoreCount valid VkSemaphore handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit VALIDATION_ERROR_01656~^~Y~^~None~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If bufferBindCount is not 0, pBufferBinds must be a pointer to an array of bufferBindCount valid VkSparseBufferMemoryBindInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit VALIDATION_ERROR_01657~^~Y~^~None~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If imageOpaqueBindCount is not 0, pImageOpaqueBinds must be a pointer to an array of imageOpaqueBindCount valid VkSparseImageOpaqueMemoryBindInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit VALIDATION_ERROR_01658~^~Y~^~None~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If imageBindCount is not 0, pImageBinds must be a pointer to an array of imageBindCount valid VkSparseImageMemoryBindInfo structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit -VALIDATION_ERROR_01659~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If signalSemaphoreCount is not 0, pSignalSemaphores must be a pointer to an array of signalSemaphoreCount valid VkSemaphore handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit -VALIDATION_ERROR_01660~^~N~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'Both of the elements of pSignalSemaphores, and the elements of pWaitSemaphores that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit +VALIDATION_ERROR_01659~^~Y~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'If signalSemaphoreCount is not 0, pSignalSemaphores must be a pointer to an array of signalSemaphoreCount valid VkSemaphore handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit +VALIDATION_ERROR_01660~^~Y~^~Unknown~^~vkQueueBindSparse~^~For more information refer to Vulkan Spec Section '29.7.6. Binding Resource Memory' which states 'Both of the elements of pSignalSemaphores, and the elements of pWaitSemaphores that are valid handles must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBindSparseInfo)~^~implicit VALIDATION_ERROR_01665~^~N~^~Unknown~^~vkEnumerateInstanceLayerProperties~^~For more information refer to Vulkan Spec Section '31.1. Layers' which states 'pPropertyCount must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkEnumerateInstanceLayerProperties)~^~implicit VALIDATION_ERROR_01666~^~N~^~Unknown~^~vkEnumerateInstanceLayerProperties~^~For more information refer to Vulkan Spec Section '31.1. Layers' which states 'If the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a pointer to an array of pPropertyCount VkLayerProperties structures' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkEnumerateInstanceLayerProperties)~^~implicit VALIDATION_ERROR_01667~^~N~^~Unknown~^~vkEnumerateDeviceLayerProperties~^~For more information refer to Vulkan Spec Section '31.1.1. Device Layer Deprecation' which states 'physicalDevice must be a valid VkPhysicalDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkEnumerateDeviceLayerProperties)~^~implicit @@ -1674,7 +1674,7 @@ VALIDATION_ERROR_01726~^~Y~^~None~^~vkGetMemoryWin32HandleNV~^~For more informat VALIDATION_ERROR_01727~^~N~^~Unknown~^~vkGetMemoryWin32HandleNV~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'handleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetMemoryWin32HandleNV)~^~implicit VALIDATION_ERROR_01728~^~N~^~Unknown~^~vkGetMemoryWin32HandleNV~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'handleType must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetMemoryWin32HandleNV)~^~implicit VALIDATION_ERROR_01729~^~N~^~Unknown~^~vkGetMemoryWin32HandleNV~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'pHandle must be a pointer to a HANDLE value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetMemoryWin32HandleNV)~^~implicit -VALIDATION_ERROR_01730~^~N~^~Unknown~^~vkGetMemoryWin32HandleNV~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetMemoryWin32HandleNV)~^~implicit +VALIDATION_ERROR_01730~^~Y~^~Unknown~^~vkGetMemoryWin32HandleNV~^~For more information refer to Vulkan Spec Section '10.2. Device Memory' which states 'memory must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetMemoryWin32HandleNV)~^~implicit VALIDATION_ERROR_01731~^~N~^~Unknown~^~vkCreateBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If dedicatedAllocation is VK_TRUE, VkBufferCreateInfo::flags must not include VK_BUFFER_CREATE_SPARSE_BINDING_BIT, VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDedicatedAllocationBufferCreateInfoNV)~^~ VALIDATION_ERROR_01732~^~N~^~Unknown~^~vkCreateBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'sType must be VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDedicatedAllocationBufferCreateInfoNV)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01733~^~N~^~Unknown~^~vkCreateBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDedicatedAllocationBufferCreateInfoNV)~^~implicit, TBD in parameter validation layer. @@ -1716,11 +1716,11 @@ VALIDATION_ERROR_01769~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more info VALIDATION_ERROR_01770~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'If the drawIndirectFirstInstance feature is not enabled, all the firstInstance members of the VkDrawIndirectCommand structures accessed by this command must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~ VALIDATION_ERROR_01771~^~Y~^~None~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit VALIDATION_ERROR_01772~^~Y~^~None~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit -VALIDATION_ERROR_01773~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'countBuffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit -VALIDATION_ERROR_01774~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit +VALIDATION_ERROR_01773~^~Y~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'countBuffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit +VALIDATION_ERROR_01774~^~Y~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit VALIDATION_ERROR_01775~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit VALIDATION_ERROR_01776~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'This command must only be called inside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit -VALIDATION_ERROR_01777~^~N~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Each of buffer, commandBuffer, and countBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit +VALIDATION_ERROR_01777~^~Y~^~Unknown~^~vkCmdDrawIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Each of buffer, commandBuffer, and countBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndirectCountAMD)~^~implicit VALIDATION_ERROR_01778~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'offset must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~ VALIDATION_ERROR_01779~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'countBufferOffset must be a multiple of 4' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~ VALIDATION_ERROR_01780~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawIndirectCommand)' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~ @@ -1728,11 +1728,11 @@ VALIDATION_ERROR_01781~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For mo VALIDATION_ERROR_01782~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'If the drawIndirectFirstInstance feature is not enabled, all the firstInstance members of the VkDrawIndexedIndirectCommand structures accessed by this command must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~ VALIDATION_ERROR_01783~^~Y~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be a valid VkCommandBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit VALIDATION_ERROR_01784~^~Y~^~None~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit -VALIDATION_ERROR_01785~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'countBuffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit -VALIDATION_ERROR_01786~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit +VALIDATION_ERROR_01785~^~Y~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'countBuffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit +VALIDATION_ERROR_01786~^~Y~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'commandBuffer must be in the recording state' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit VALIDATION_ERROR_01787~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'The VkCommandPool that commandBuffer was allocated from must support graphics operations' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit VALIDATION_ERROR_01788~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'This command must only be called inside of a render pass instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit -VALIDATION_ERROR_01789~^~N~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Each of buffer, commandBuffer, and countBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit +VALIDATION_ERROR_01789~^~Y~^~Unknown~^~vkCmdDrawIndexedIndirectCountAMD~^~For more information refer to Vulkan Spec Section '19.2. Programmable Primitive Shading' which states 'Each of buffer, commandBuffer, and countBuffer must have been created, allocated, or retrieved from the same VkDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkCmdDrawIndexedIndirectCountAMD)~^~implicit VALIDATION_ERROR_01790~^~Y~^~Unknown~^~vkCmdSetViewport~^~For more information refer to Vulkan Spec Section '23.5. Controlling the Viewport' which states 'If the VK_AMD_negative_viewport_height extension is enabled, height can also be negative.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkViewport)~^~ VALIDATION_ERROR_01791~^~N~^~Unknown~^~vkCmdSetViewport~^~For more information refer to Vulkan Spec Section '24.2. Rasterization Order' which states 'sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineRasterizationStateRasterizationOrderAMD)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01792~^~N~^~Unknown~^~vkCmdSetViewport~^~For more information refer to Vulkan Spec Section '24.2. Rasterization Order' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineRasterizationStateRasterizationOrderAMD)~^~implicit, TBD in parameter validation layer. @@ -1828,7 +1828,7 @@ VALIDATION_ERROR_01882~^~N~^~Unknown~^~vkCreateDisplayPlaneSurfaceKHR~^~For more VALIDATION_ERROR_01883~^~N~^~Unknown~^~vkCreateDisplayPlaneSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.3.3. Display Surfaces' which states 'sType must be VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplaySurfaceCreateInfoKHR)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01884~^~N~^~Unknown~^~vkCreateDisplayPlaneSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.3.3. Display Surfaces' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplaySurfaceCreateInfoKHR)~^~implicit, TBD in parameter validation layer. VALIDATION_ERROR_01885~^~N~^~Unknown~^~vkCreateDisplayPlaneSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.3.3. Display Surfaces' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplaySurfaceCreateInfoKHR)~^~implicit, TBD in parameter validation layer. -VALIDATION_ERROR_01886~^~N~^~Unknown~^~vkCreateDisplayPlaneSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.3.3. Display Surfaces' which states 'displayMode must be a valid VkDisplayModeKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplaySurfaceCreateInfoKHR)~^~implicit +VALIDATION_ERROR_01886~^~Y~^~Unknown~^~vkCreateDisplayPlaneSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.3.3. Display Surfaces' which states 'displayMode must be a valid VkDisplayModeKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplaySurfaceCreateInfoKHR)~^~implicit VALIDATION_ERROR_01887~^~N~^~Unknown~^~vkCreateDisplayPlaneSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.3.3. Display Surfaces' which states 'transform must be a valid VkSurfaceTransformFlagBitsKHR value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplaySurfaceCreateInfoKHR)~^~implicit VALIDATION_ERROR_01888~^~N~^~Unknown~^~vkCreateDisplayPlaneSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.3.3. Display Surfaces' which states 'alphaMode must be a valid VkDisplayPlaneAlphaFlagBitsKHR value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDisplaySurfaceCreateInfoKHR)~^~implicit VALIDATION_ERROR_01889~^~Y~^~Unknown~^~vkGetPhysicalDeviceSurfaceSupportKHR~^~For more information refer to Vulkan Spec Section '30.4. Querying for WSI Support' which states 'queueFamilyIndex must be less than pQueueFamilyPropertyCount returned by vkGetPhysicalDeviceQueueFamilyProperties for the given physicalDevice' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkGetPhysicalDeviceSurfaceSupportKHR)~^~ @@ -1901,8 +1901,8 @@ VALIDATION_ERROR_01955~^~Y~^~None~^~vkAcquireNextImageKHR~^~For more information VALIDATION_ERROR_01956~^~Y~^~None~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If semaphore is not VK_NULL_HANDLE, semaphore must be a valid VkSemaphore handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~implicit VALIDATION_ERROR_01957~^~Y~^~None~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If fence is not VK_NULL_HANDLE, fence must be a valid VkFence handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~implicit VALIDATION_ERROR_01958~^~N~^~Unknown~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'pImageIndex must be a pointer to a uint32_t value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~implicit -VALIDATION_ERROR_01959~^~N~^~Unknown~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If semaphore is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~implicit -VALIDATION_ERROR_01960~^~N~^~Unknown~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If fence is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~implicit +VALIDATION_ERROR_01959~^~Y~^~Unknown~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If semaphore is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~implicit +VALIDATION_ERROR_01960~^~Y~^~Unknown~^~vkAcquireNextImageKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If fence is a valid handle, it must have been created, allocated, or retrieved from device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkAcquireNextImageKHR)~^~implicit VALIDATION_ERROR_01961~^~Y~^~Unknown~^~vkQueuePresentKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'Any given element of pSwapchains member of pPresentInfo must be a swapchain that is created for a surface for which presentation is supported from queue as determined using a call to vkGetPhysicalDeviceSurfaceSupportKHR' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueuePresentKHR)~^~ VALIDATION_ERROR_01962~^~Y~^~None~^~vkQueuePresentKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'queue must be a valid VkQueue handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueuePresentKHR)~^~implicit VALIDATION_ERROR_01963~^~N~^~Unknown~^~vkQueuePresentKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'pPresentInfo must be a pointer to a valid VkPresentInfoKHR structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkQueuePresentKHR)~^~implicit |
