}
template <typename T1, typename T2>
-static void DestroyObject(T1 dispatchable_object, T2 object, VkDebugReportObjectTypeEXT object_type, const VkAllocationCallbacks *pAllocator) {
+static void DestroyObject(T1 dispatchable_object, T2 object, VkDebugReportObjectTypeEXT object_type,
+ const VkAllocationCallbacks *pAllocator, enum UNIQUE_VALIDATION_ERROR_CODE expected_custom_allocator_code,
+ enum UNIQUE_VALIDATION_ERROR_CODE expected_default_allocator_code) {
layer_data *device_data = get_my_data_ptr(get_dispatch_key(dispatchable_object), layer_data_map);
auto object_handle = handle_value(object);
device_data->num_objects[pNode->object_type], object_name[pNode->object_type]);
auto allocated_with_custom = (pNode->status & OBJSTATUS_CUSTOM_ALLOCATOR) ? true : false;
- if (custom_allocator ^ allocated_with_custom) {
+ if (allocated_with_custom && !custom_allocator && expected_custom_allocator_code != VALIDATION_ERROR_UNDEFINED) {
+ // This check only verifies that custom allocation callabacks were provided to both Create and Destroy calls,
+ // it cannot verify that these allocation callbacks are compatible with each other.
log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, object_type, object_handle, __LINE__,
- OBJTRACK_ALLOCATOR_MISMATCH, LayerName,
- "Custom allocator %sspecified while destroying %s obj 0x%" PRIxLEAST64 " but %sspecified at creation",
- (custom_allocator ? "" : "not "), object_name[object_type], object_handle,
- (allocated_with_custom ? "" : "not "));
+ expected_custom_allocator_code, LayerName,
+ "Custom allocator not specified while destroying %s obj 0x%" PRIxLEAST64 " but specified at creation. %s",
+ object_name[object_type], object_handle, validation_error_map[expected_custom_allocator_code]);
+ } else if (!allocated_with_custom && custom_allocator &&
+ expected_default_allocator_code != VALIDATION_ERROR_UNDEFINED) {
+ log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, object_type, object_handle, __LINE__,
+ expected_default_allocator_code, LayerName,
+ "Custom allocator specified while destroying %s obj 0x%" PRIxLEAST64 " but not specified at creation. %s",
+ object_name[object_type], object_handle, validation_error_map[expected_default_allocator_code]);
}
delete pNode;
template <typename T1, typename T2>
static bool ValidateObject(T1 dispatchable_object, T2 object, VkDebugReportObjectTypeEXT object_type, bool null_allowed,
- int error_code) {
+ enum UNIQUE_VALIDATION_ERROR_CODE error_code) {
if (null_allowed && (object == VK_NULL_HANDLE)) {
return false;
}
return false;
}
-static void DeviceReportUndestroyedObjects(VkDevice device, VkDebugReportObjectTypeEXT object_type) {
+static void DeviceReportUndestroyedObjects(VkDevice device, VkDebugReportObjectTypeEXT object_type,
+ enum UNIQUE_VALIDATION_ERROR_CODE error_code) {
layer_data *device_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map);
for (auto item = device_data->object_map[object_type].begin(); item != device_data->object_map[object_type].end();) {
OBJTRACK_NODE *object_info = item->second;
log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, object_info->object_type, object_info->handle, __LINE__,
- OBJTRACK_OBJECT_LEAK, LayerName,
- "OBJ ERROR : For device 0x%" PRIxLEAST64 ", %s object 0x%" PRIxLEAST64 " has not been destroyed.",
- reinterpret_cast<uint64_t>(device), object_name[object_type], object_info->handle);
+ error_code, LayerName,
+ "OBJ ERROR : For device 0x%" PRIxLEAST64 ", %s object 0x%" PRIxLEAST64 " has not been destroyed. %s",
+ reinterpret_cast<uint64_t>(device), object_name[object_type], object_info->handle,
+ validation_error_map[error_code]);
item = device_data->object_map[object_type].erase(item);
}
}
// 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);
- DestroyObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, pAllocator);
+ DestroyObject(instance, instance, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, pAllocator, VALIDATION_ERROR_00019,
+ VALIDATION_ERROR_00020);
// Report any remaining objects in LL
for (auto iit = instance_data->object_map[VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT].begin();
OBJTRACK_OBJECT_LEAK, LayerName, "OBJ ERROR : %s object 0x%" PRIxLEAST64 " has not been destroyed.",
string_VkDebugReportObjectTypeEXT(pNode->object_type), pNode->handle);
// Semaphore:
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, VALIDATION_ERROR_00018);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, VALIDATION_ERROR_00018);
// DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT);
}
instance_data->object_map[VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT].clear();
std::unique_lock<std::mutex> lock(global_lock);
ValidateObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, true, VALIDATION_ERROR_00052);
- DestroyObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, pAllocator);
+ DestroyObject(device, device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT, pAllocator, VALIDATION_ERROR_00050,
+ VALIDATION_ERROR_00051);
// Report any remaining objects associated with this VkDevice object in LL
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, VALIDATION_ERROR_00049);
// DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, VALIDATION_ERROR_00049);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, VALIDATION_ERROR_00049);
// DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT);
- DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT);
+ DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, VALIDATION_ERROR_00049);
// DeviceReportUndestroyedObjects(device, VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT);
// Clean up Queue's MemRef Linked Lists
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, pAllocator);
+ DestroyObject(device, fence, VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT, pAllocator, VALIDATION_ERROR_00174,
+ VALIDATION_ERROR_00175);
}
get_dispatch_table(ot_device_table_map, device)->DestroyFence(device, fence, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, semaphore, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, pAllocator);
+ DestroyObject(device, semaphore, VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT, pAllocator, VALIDATION_ERROR_00200,
+ VALIDATION_ERROR_00201);
}
get_dispatch_table(ot_device_table_map, device)->DestroySemaphore(device, semaphore, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, pAllocator);
+ DestroyObject(device, event, VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT, pAllocator, VALIDATION_ERROR_00214,
+ VALIDATION_ERROR_00215);
}
get_dispatch_table(ot_device_table_map, device)->DestroyEvent(device, event, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, pAllocator);
+ DestroyObject(device, queryPool, VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT, pAllocator, VALIDATION_ERROR_01013,
+ VALIDATION_ERROR_01014);
}
get_dispatch_table(ot_device_table_map, device)->DestroyQueryPool(device, queryPool, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, pAllocator);
+ DestroyObject(device, buffer, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT, pAllocator, VALIDATION_ERROR_00677,
+ VALIDATION_ERROR_00678);
}
get_dispatch_table(ot_device_table_map, device)->DestroyBuffer(device, buffer, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, bufferView, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, pAllocator);
+ DestroyObject(device, bufferView, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT, pAllocator, VALIDATION_ERROR_00702,
+ VALIDATION_ERROR_00703);
}
get_dispatch_table(ot_device_table_map, device)->DestroyBufferView(device, bufferView, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, pAllocator);
+ DestroyObject(device, image, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, pAllocator, VALIDATION_ERROR_00744,
+ VALIDATION_ERROR_00745);
}
get_dispatch_table(ot_device_table_map, device)->DestroyImage(device, image, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, imageView, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, pAllocator);
+ DestroyObject(device, imageView, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT, pAllocator, VALIDATION_ERROR_00777,
+ VALIDATION_ERROR_00778);
}
get_dispatch_table(ot_device_table_map, device)->DestroyImageView(device, imageView, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, shaderModule, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, pAllocator);
+ DestroyObject(device, shaderModule, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT, pAllocator, VALIDATION_ERROR_00479,
+ VALIDATION_ERROR_00480);
}
get_dispatch_table(ot_device_table_map, device)->DestroyShaderModule(device, shaderModule, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, pAllocator);
+ DestroyObject(device, pipelineCache, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT, pAllocator, VALIDATION_ERROR_00583,
+ VALIDATION_ERROR_00584);
}
get_dispatch_table(ot_device_table_map, device)->DestroyPipelineCache(device, pipelineCache, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, pipeline, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, pAllocator);
+ DestroyObject(device, pipeline, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT, pAllocator, VALIDATION_ERROR_00556,
+ VALIDATION_ERROR_00557);
}
get_dispatch_table(ot_device_table_map, device)->DestroyPipeline(device, pipeline, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, pipelineLayout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, pAllocator);
+ DestroyObject(device, pipelineLayout, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT, pAllocator, VALIDATION_ERROR_00883,
+ VALIDATION_ERROR_00884);
}
get_dispatch_table(ot_device_table_map, device)->DestroyPipelineLayout(device, pipelineLayout, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, sampler, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, pAllocator);
+ DestroyObject(device, sampler, VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT, pAllocator, VALIDATION_ERROR_00838,
+ VALIDATION_ERROR_00839);
}
get_dispatch_table(ot_device_table_map, device)->DestroySampler(device, sampler, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, descriptorSetLayout, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, pAllocator);
+ DestroyObject(device, descriptorSetLayout, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT, pAllocator,
+ VALIDATION_ERROR_00855, VALIDATION_ERROR_00856);
}
get_dispatch_table(ot_device_table_map, device)->DestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
}
OBJTRACK_NODE *pNode = (*itr).second;
auto del_itr = itr++;
if (pNode->parent_object == reinterpret_cast<uint64_t &>(descriptorPool)) {
- DestroyObject(device, (VkDescriptorSet)((*del_itr).first),
- VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, nullptr);
+ DestroyObject(device, (VkDescriptorSet)((*del_itr).first), VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, nullptr,
+ VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED);
}
}
lock.unlock();
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, framebuffer, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, pAllocator);
+ DestroyObject(device, framebuffer, VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT, pAllocator, VALIDATION_ERROR_00423,
+ VALIDATION_ERROR_00424);
}
get_dispatch_table(ot_device_table_map, device)->DestroyFramebuffer(device, framebuffer, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(device, renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, pAllocator);
+ DestroyObject(device, renderPass, VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT, pAllocator, VALIDATION_ERROR_00394,
+ VALIDATION_ERROR_00395);
}
get_dispatch_table(ot_device_table_map, device)->DestroyRenderPass(device, renderPass, pAllocator);
}
}
{
std::lock_guard<std::mutex> lock(global_lock);
- DestroyObject(instance, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, pAllocator);
+ DestroyObject(instance, surface, VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT, pAllocator, VALIDATION_ERROR_01845,
+ VALIDATION_ERROR_01846);
}
get_dispatch_table(ot_instance_table_map, instance)->DestroySurfaceKHR(instance, surface, pAllocator);
}
pInstanceTable->DestroyDebugReportCallbackEXT(instance, msgCallback, pAllocator);
layer_data *instance_data = get_my_data_ptr(get_dispatch_key(instance), layer_data_map);
layer_destroy_msg_callback(instance_data->report_data, msgCallback, pAllocator);
- DestroyObject(instance, msgCallback, VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT, pAllocator);
+ DestroyObject(instance, msgCallback, VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT, pAllocator, VALIDATION_ERROR_02049,
+ VALIDATION_ERROR_02050);
}
VKAPI_ATTR void VKAPI_CALL DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags,
get_dispatch_table(ot_device_table_map, device)->FreeMemory(device, memory, pAllocator);
lock.lock();
- DestroyObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, pAllocator);
+ DestroyObject(device, memory, VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT, pAllocator, VALIDATION_ERROR_UNDEFINED,
+ VALIDATION_ERROR_UNDEFINED);
}
}
}
for (uint32_t i = 0; i < commandBufferCount; i++) {
- DestroyObject(device, pCommandBuffers[i], VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, nullptr);
+ DestroyObject(device, pCommandBuffers[i], VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, nullptr,
+ VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED);
}
lock.unlock();
++itr;
}
}
- DestroyObject(device, swapchain, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, pAllocator);
+ DestroyObject(device, swapchain, VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT, pAllocator, VALIDATION_ERROR_01938,
+ VALIDATION_ERROR_01939);
lock.unlock();
get_dispatch_table(ot_device_table_map, device)->DestroySwapchainKHR(device, swapchain, pAllocator);
}
for (uint32_t i = 0; i < descriptorSetCount; i++) {
- DestroyObject(device, pDescriptorSets[i], VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, nullptr);
+ DestroyObject(device, pDescriptorSets[i], VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, nullptr,
+ VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED);
}
lock.unlock();
OBJTRACK_NODE *pNode = (*itr).second;
auto del_itr = itr++;
if (pNode->parent_object == reinterpret_cast<uint64_t &>(descriptorPool)) {
- DestroyObject(device, (VkDescriptorSet)((*del_itr).first),
- VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, nullptr);
+ DestroyObject(device, (VkDescriptorSet)((*del_itr).first), VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT, nullptr,
+ VALIDATION_ERROR_UNDEFINED, VALIDATION_ERROR_UNDEFINED);
}
}
- DestroyObject(device, descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, pAllocator);
+ DestroyObject(device, descriptorPool, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT, pAllocator, VALIDATION_ERROR_00902,
+ VALIDATION_ERROR_00903);
lock.unlock();
get_dispatch_table(ot_device_table_map, device)->DestroyDescriptorPool(device, descriptorPool, pAllocator);
}
if (pNode->parent_object == reinterpret_cast<uint64_t &>(commandPool)) {
skip_call |= ValidateCommandBuffer(device, commandPool, reinterpret_cast<VkCommandBuffer>((*del_itr).first));
DestroyObject(device, reinterpret_cast<VkCommandBuffer>((*del_itr).first),
- VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, nullptr);
+ VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT, nullptr, VALIDATION_ERROR_UNDEFINED,
+ VALIDATION_ERROR_UNDEFINED);
}
}
- DestroyObject(device, commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, pAllocator);
+ DestroyObject(device, commandPool, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT, pAllocator, VALIDATION_ERROR_00078,
+ VALIDATION_ERROR_00079);
lock.unlock();
get_dispatch_table(ot_device_table_map, device)->DestroyCommandPool(device, commandPool, pAllocator);
}
VALIDATION_ERROR_00015~^~N~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkApplicationInfo)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00016~^~U~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'If pApplicationName is not NULL, pApplicationName must be a null-terminated string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkApplicationInfo)~^~
VALIDATION_ERROR_00017~^~U~^~Unknown~^~vkCreateInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'If pEngineName is not NULL, pEngineName must be a null-terminated string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkApplicationInfo)~^~
-VALIDATION_ERROR_00018~^~U~^~Unknown~^~vkDestroyInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'All child objects created using instance must have been destroyed prior to destroying instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyInstance)~^~
-VALIDATION_ERROR_00019~^~U~^~Unknown~^~vkDestroyInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'If VkAllocationCallbacks were provided when instance was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyInstance)~^~
-VALIDATION_ERROR_00020~^~U~^~Unknown~^~vkDestroyInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'If no VkAllocationCallbacks were provided when instance was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyInstance)~^~
+VALIDATION_ERROR_00018~^~Y~^~Unknown~^~vkDestroyInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'All child objects created using instance must have been destroyed prior to destroying instance' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyInstance)~^~
+VALIDATION_ERROR_00019~^~Y~^~Unknown~^~vkDestroyInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'If VkAllocationCallbacks were provided when instance was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyInstance)~^~
+VALIDATION_ERROR_00020~^~Y~^~Unknown~^~vkDestroyInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'If no VkAllocationCallbacks were provided when instance was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyInstance)~^~
VALIDATION_ERROR_00021~^~Y~^~None~^~vkDestroyInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' which states 'If instance is not NULL, instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyInstance)~^~We have a check for this in object tracker but I believe it's bogus. This can't be validated in a layer. Validataion would have to occur in a loader.
VALIDATION_ERROR_00022~^~U~^~Unknown~^~vkDestroyInstance~^~For more information refer to Vulkan Spec Section '3.2. Instances' 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#vkDestroyInstance)~^~
VALIDATION_ERROR_00023~^~Y~^~None~^~vkEnumeratePhysicalDevices~^~For more information refer to Vulkan Spec Section '4.1. Physical Devices' which states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkEnumeratePhysicalDevices)~^~
VALIDATION_ERROR_00041~^~U~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'If enabledExtensionCount is not 0, ppEnabledExtensionNames must be a pointer to an array of enabledExtensionCount null-terminated strings' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~
VALIDATION_ERROR_00042~^~U~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'If pEnabledFeatures is not NULL, pEnabledFeatures must be a pointer to a valid VkPhysicalDeviceFeatures structure' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~
VALIDATION_ERROR_00043~^~U~^~Unknown~^~vkCreateDevice~^~For more information refer to Vulkan Spec Section '4.2.1. Device Creation' which states 'queueCreateInfoCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceCreateInfo)~^~
-VALIDATION_ERROR_00049~^~U~^~Unknown~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'All child objects created on device must have been destroyed prior to destroying device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)~^~
-VALIDATION_ERROR_00050~^~U~^~Unknown~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'If VkAllocationCallbacks were provided when device was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)~^~
-VALIDATION_ERROR_00051~^~U~^~Unknown~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'If no VkAllocationCallbacks were provided when device was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)~^~
+VALIDATION_ERROR_00049~^~Y~^~Unknown~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'All child objects created on device must have been destroyed prior to destroying device' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)~^~
+VALIDATION_ERROR_00050~^~Y~^~Unknown~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'If VkAllocationCallbacks were provided when device was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)~^~
+VALIDATION_ERROR_00051~^~Y~^~Unknown~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'If no VkAllocationCallbacks were provided when device was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)~^~
VALIDATION_ERROR_00052~^~Y~^~None~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.2.4. Device Destruction' which states 'If device is not NULL, device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDevice)~^~
VALIDATION_ERROR_00053~^~U~^~Unknown~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.2.4. Device 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#vkDestroyDevice)~^~
VALIDATION_ERROR_00054~^~U~^~Unknown~^~vkDestroyDevice~^~For more information refer to Vulkan Spec Section '4.3.2. Queue Creation' which states 'queueFamilyIndex must be less than pQueueFamilyPropertyCount returned by vkGetPhysicalDeviceQueueFamilyProperties' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDeviceQueueCreateInfo)~^~
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)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00076~^~U~^~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)~^~
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~^~U~^~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~^~U~^~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_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)~^~
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)~^~
VALIDATION_ERROR_00082~^~U~^~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)~^~
VALIDATION_ERROR_00171~^~N~^~Unknown~^~vkCreateFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFenceCreateFlagBits)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00172~^~N~^~Unknown~^~vkCreateFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'flags must be a valid combination of VkFenceCreateFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkFenceCreateFlagBits)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00173~^~U~^~Unknown~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'All queue submission commands that refer to fence must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~
-VALIDATION_ERROR_00174~^~U~^~Unknown~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If VkAllocationCallbacks were provided when fence was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~
-VALIDATION_ERROR_00175~^~U~^~Unknown~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If no VkAllocationCallbacks were provided when fence was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~
+VALIDATION_ERROR_00174~^~Y~^~Unknown~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If VkAllocationCallbacks were provided when fence was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~
+VALIDATION_ERROR_00175~^~Y~^~Unknown~^~vkDestroyFence~^~For more information refer to Vulkan Spec Section '6.2. Fences' which states 'If no VkAllocationCallbacks were provided when fence was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyFence)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00178~^~U~^~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)~^~
VALIDATION_ERROR_00197~^~N~^~Unknown~^~vkCreateSemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSemaphoreCreateInfo)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00198~^~N~^~Unknown~^~vkCreateSemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSemaphoreCreateInfo)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00199~^~Y~^~InUseDestroyedSignaled~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'All submitted batches that refer to semaphore must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~
-VALIDATION_ERROR_00200~^~U~^~Unknown~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'If VkAllocationCallbacks were provided when semaphore was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~
-VALIDATION_ERROR_00201~^~U~^~Unknown~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'If no VkAllocationCallbacks were provided when semaphore was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~
+VALIDATION_ERROR_00200~^~Y~^~Unknown~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'If VkAllocationCallbacks were provided when semaphore was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~
+VALIDATION_ERROR_00201~^~Y~^~Unknown~^~vkDestroySemaphore~^~For more information refer to Vulkan Spec Section '6.3. Semaphores' which states 'If no VkAllocationCallbacks were provided when semaphore was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySemaphore)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00204~^~U~^~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)~^~
VALIDATION_ERROR_00211~^~N~^~Unknown~^~vkCreateEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkEventCreateInfo)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00212~^~N~^~Unknown~^~vkCreateEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkEventCreateInfo)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00213~^~Y~^~InUseDestroyedSignaled~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'All submitted commands that refer to event must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~
-VALIDATION_ERROR_00214~^~U~^~Unknown~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If VkAllocationCallbacks were provided when event was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~
-VALIDATION_ERROR_00215~^~U~^~Unknown~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If no VkAllocationCallbacks were provided when event was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~
+VALIDATION_ERROR_00214~^~Y~^~Unknown~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If VkAllocationCallbacks were provided when event was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~
+VALIDATION_ERROR_00215~^~Y~^~Unknown~^~vkDestroyEvent~^~For more information refer to Vulkan Spec Section '6.4. Events' which states 'If no VkAllocationCallbacks were provided when event was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyEvent)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00218~^~U~^~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)~^~
VALIDATION_ERROR_00381~^~U~^~Unknown~^~vkCreateRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'dstAccessMask must be a valid combination of VkAccessFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubpassDependency)~^~
VALIDATION_ERROR_00382~^~U~^~Unknown~^~vkCreateRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'dependencyFlags must be a valid combination of VkDependencyFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSubpassDependency)~^~
VALIDATION_ERROR_00393~^~Y~^~RenderPassInUseDestroyedSignaled~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'All submitted commands that refer to renderPass must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~
-VALIDATION_ERROR_00394~^~U~^~Unknown~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'If VkAllocationCallbacks were provided when renderPass was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~
-VALIDATION_ERROR_00395~^~U~^~Unknown~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'If no VkAllocationCallbacks were provided when renderPass was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~
+VALIDATION_ERROR_00394~^~Y~^~Unknown~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'If VkAllocationCallbacks were provided when renderPass was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~
+VALIDATION_ERROR_00395~^~Y~^~Unknown~^~vkDestroyRenderPass~^~For more information refer to Vulkan Spec Section '7.1. Render Pass Creation' which states 'If no VkAllocationCallbacks were provided when renderPass was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyRenderPass)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00398~^~U~^~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)~^~
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#renderpass-noattachments)~^~
VALIDATION_ERROR_00421~^~U~^~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#renderpass-noattachments)~^~
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~^~U~^~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~^~U~^~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_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)~^~
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)~^~
VALIDATION_ERROR_00427~^~U~^~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)~^~
VALIDATION_ERROR_00476~^~N~^~Unknown~^~vkCreateShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'pNext must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkShaderModuleCreateInfo)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00477~^~N~^~Unknown~^~vkCreateShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkShaderModuleCreateInfo)~^~TBD in parameter validation layer.
VALIDATION_ERROR_00478~^~U~^~Unknown~^~vkCreateShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'pCode must be a pointer to an array of $codeSize /over 4$ uint32_t values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkShaderModuleCreateInfo)~^~
-VALIDATION_ERROR_00479~^~U~^~Unknown~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'If VkAllocationCallbacks were provided when shaderModule was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~
-VALIDATION_ERROR_00480~^~U~^~Unknown~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'If no VkAllocationCallbacks were provided when shaderModule was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~
+VALIDATION_ERROR_00479~^~Y~^~Unknown~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'If VkAllocationCallbacks were provided when shaderModule was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~
+VALIDATION_ERROR_00480~^~Y~^~Unknown~^~vkDestroyShaderModule~^~For more information refer to Vulkan Spec Section '8.1. Shader Modules' which states 'If no VkAllocationCallbacks were provided when shaderModule was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyShaderModule)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00483~^~U~^~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)~^~
VALIDATION_ERROR_00553~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'pDynamicStates must be a pointer to an array of dynamicStateCount valid VkDynamicState values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineDynamicStateCreateInfo)~^~
VALIDATION_ERROR_00554~^~U~^~Unknown~^~vkCreateGraphicsPipelines~^~For more information refer to Vulkan Spec Section '9.2. Graphics Pipelines' which states 'dynamicStateCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPipelineDynamicStateCreateInfo)~^~
VALIDATION_ERROR_00555~^~Y~^~PipelineInUseDestroyedSignaled~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'All submitted commands that refer to pipeline must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~
-VALIDATION_ERROR_00556~^~U~^~Unknown~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'If VkAllocationCallbacks were provided when pipeline was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~
-VALIDATION_ERROR_00557~^~U~^~Unknown~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'If no VkAllocationCallbacks were provided when pipeline was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~
+VALIDATION_ERROR_00556~^~Y~^~Unknown~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'If VkAllocationCallbacks were provided when pipeline was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~
+VALIDATION_ERROR_00557~^~Y~^~Unknown~^~vkDestroyPipeline~^~For more information refer to Vulkan Spec Section '9.3. Pipeline destruction' which states 'If no VkAllocationCallbacks were provided when pipeline was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipeline)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00560~^~U~^~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)~^~
VALIDATION_ERROR_00580~^~U~^~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)~^~
VALIDATION_ERROR_00581~^~U~^~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)~^~
VALIDATION_ERROR_00582~^~U~^~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)~^~
-VALIDATION_ERROR_00583~^~U~^~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~^~U~^~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_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)~^~
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)~^~
VALIDATION_ERROR_00587~^~U~^~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)~^~
VALIDATION_ERROR_00674~^~N~^~None~^~vkCreateBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'usage must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBufferCreateFlagBits)~^~
VALIDATION_ERROR_00675~^~N~^~None~^~vkCreateBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'sharingMode must be a valid VkSharingMode value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBufferCreateFlagBits)~^~
VALIDATION_ERROR_00676~^~U~^~Unknown~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'All submitted commands that refer to buffer, either directly or via a VkBufferView, must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~
-VALIDATION_ERROR_00677~^~U~^~Unknown~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If VkAllocationCallbacks were provided when buffer was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~
-VALIDATION_ERROR_00678~^~U~^~Unknown~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If no VkAllocationCallbacks were provided when buffer was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~
+VALIDATION_ERROR_00677~^~Y~^~Unknown~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If VkAllocationCallbacks were provided when buffer was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~
+VALIDATION_ERROR_00678~^~Y~^~Unknown~^~vkDestroyBuffer~^~For more information refer to Vulkan Spec Section '11.1. Buffers' which states 'If no VkAllocationCallbacks were provided when buffer was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBuffer)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00681~^~U~^~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)~^~
VALIDATION_ERROR_00699~^~Y~^~None~^~vkCreateBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'buffer must be a valid VkBuffer handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBufferViewCreateInfo)~^~
VALIDATION_ERROR_00700~^~U~^~Unknown~^~vkCreateBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'format must be a valid VkFormat value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkBufferViewCreateInfo)~^~
VALIDATION_ERROR_00701~^~Y~^~BufferViewInUseDestroyedSignaled~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'All submitted commands that refer to bufferView must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~
-VALIDATION_ERROR_00702~^~U~^~Unknown~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If VkAllocationCallbacks were provided when bufferView was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~
-VALIDATION_ERROR_00703~^~U~^~Unknown~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If no VkAllocationCallbacks were provided when bufferView was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~
+VALIDATION_ERROR_00702~^~Y~^~Unknown~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If VkAllocationCallbacks were provided when bufferView was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~
+VALIDATION_ERROR_00703~^~Y~^~Unknown~^~vkDestroyBufferView~^~For more information refer to Vulkan Spec Section '11.2. Buffer Views' which states 'If no VkAllocationCallbacks were provided when bufferView was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyBufferView)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00706~^~U~^~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)~^~
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)~^~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.
VALIDATION_ERROR_00742~^~U~^~Unknown~^~vkGetImageSubresourceLayout~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'aspectMask must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkImageSubresource)~^~
VALIDATION_ERROR_00743~^~Y~^~FramebufferImageInUseDestroyedSignaled~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~
-VALIDATION_ERROR_00744~^~U~^~Unknown~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If VkAllocationCallbacks were provided when image was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~
-VALIDATION_ERROR_00745~^~U~^~Unknown~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If no VkAllocationCallbacks were provided when image was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~
+VALIDATION_ERROR_00744~^~Y~^~Unknown~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If VkAllocationCallbacks were provided when image was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~
+VALIDATION_ERROR_00745~^~Y~^~Unknown~^~vkDestroyImage~^~For more information refer to Vulkan Spec Section '11.3. Images' which states 'If no VkAllocationCallbacks were provided when image was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImage)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00748~^~U~^~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)~^~
VALIDATION_ERROR_00774~^~U~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'b must be a valid VkComponentSwizzle value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#resources-image-views-identity-mappings)~^~
VALIDATION_ERROR_00775~^~U~^~Unknown~^~vkCreateImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'a must be a valid VkComponentSwizzle value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#resources-image-views-identity-mappings)~^~
VALIDATION_ERROR_00776~^~Y~^~ImageViewInUseDestroyedSignaled~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'All submitted commands that refer to imageView must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~
-VALIDATION_ERROR_00777~^~U~^~Unknown~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If VkAllocationCallbacks were provided when imageView was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~
-VALIDATION_ERROR_00778~^~U~^~Unknown~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If no VkAllocationCallbacks were provided when imageView was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~
+VALIDATION_ERROR_00777~^~Y~^~Unknown~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If VkAllocationCallbacks were provided when imageView was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~
+VALIDATION_ERROR_00778~^~Y~^~Unknown~^~vkDestroyImageView~^~For more information refer to Vulkan Spec Section '11.5. Image Views' which states 'If no VkAllocationCallbacks were provided when imageView was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyImageView)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00781~^~U~^~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)~^~
VALIDATION_ERROR_00835~^~U~^~Unknown~^~vkCreateSampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' which states 'addressModeV must be a valid VkSamplerAddressMode value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSamplerAddressMode)~^~
VALIDATION_ERROR_00836~^~U~^~Unknown~^~vkCreateSampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' which states 'addressModeW must be a valid VkSamplerAddressMode value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSamplerAddressMode)~^~
VALIDATION_ERROR_00837~^~Y~^~SamplerInUseDestroyedSignaled~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' which states 'All submitted commands that refer to sampler must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~
-VALIDATION_ERROR_00838~^~U~^~Unknown~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' which states 'If VkAllocationCallbacks were provided when sampler was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~
-VALIDATION_ERROR_00839~^~U~^~Unknown~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' which states 'If no VkAllocationCallbacks were provided when sampler was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~
+VALIDATION_ERROR_00838~^~Y~^~Unknown~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' which states 'If VkAllocationCallbacks were provided when sampler was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~
+VALIDATION_ERROR_00839~^~Y~^~Unknown~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' which states 'If no VkAllocationCallbacks were provided when sampler was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~
VALIDATION_ERROR_00840~^~Y~^~None~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySampler)~^~
VALIDATION_ERROR_00841~^~Y~^~None~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' 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)~^~
VALIDATION_ERROR_00842~^~U~^~Unknown~^~vkDestroySampler~^~For more information refer to Vulkan Spec Section '11.8. Memory Aliasing' 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)~^~
VALIDATION_ERROR_00852~^~Y~^~None~^~vkCreateDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If descriptorType is VK_DESCRIPTOR_TYPE_SAMPLER or VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, and descriptorCount is not 0 and pImmutableSamplers is not NULL, pImmutableSamplers must be a pointer to an array of descriptorCount valid VkSampler handles' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorSetLayoutBinding)~^~
VALIDATION_ERROR_00853~^~U~^~Unknown~^~vkCreateDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If descriptorCount is not 0, stageFlags must be a valid combination of VkShaderStageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorSetLayoutBinding)~^~
VALIDATION_ERROR_00854~^~U~^~Unknown~^~vkCreateDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'descriptorType must be a valid VkDescriptorType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorSetLayoutBinding)~^~
-VALIDATION_ERROR_00855~^~U~^~Unknown~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If VkAllocationCallbacks were provided when descriptorSetLayout was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~
-VALIDATION_ERROR_00856~^~U~^~Unknown~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If no VkAllocationCallbacks were provided when descriptorSetLayout was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~
+VALIDATION_ERROR_00855~^~Y~^~Unknown~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If VkAllocationCallbacks were provided when descriptorSetLayout was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~
+VALIDATION_ERROR_00856~^~Y~^~Unknown~^~vkDestroyDescriptorSetLayout~^~For more information refer to Vulkan Spec Section '13.2.1. Descriptor Set Layout' which states 'If no VkAllocationCallbacks were provided when descriptorSetLayout was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorSetLayout)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00859~^~U~^~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)~^~
VALIDATION_ERROR_00880~^~Y~^~InvalidPushConstants~^~vkCreatePipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'size must be less than or equal to VkPhysicalDeviceLimits::maxPushConstantsSize minus offset' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPushConstantRange)~^~
VALIDATION_ERROR_00881~^~U~^~Unknown~^~vkCreatePipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'stageFlags must be a valid combination of VkShaderStageFlagBits values' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPushConstantRange)~^~
VALIDATION_ERROR_00882~^~U~^~Unknown~^~vkCreatePipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'stageFlags must not be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkPushConstantRange)~^~
-VALIDATION_ERROR_00883~^~U~^~Unknown~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If VkAllocationCallbacks were provided when pipelineLayout was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~
-VALIDATION_ERROR_00884~^~U~^~Unknown~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If no VkAllocationCallbacks were provided when pipelineLayout was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~
+VALIDATION_ERROR_00883~^~Y~^~Unknown~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If VkAllocationCallbacks were provided when pipelineLayout was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~
+VALIDATION_ERROR_00884~^~Y~^~Unknown~^~vkDestroyPipelineLayout~^~For more information refer to Vulkan Spec Section '13.2.2. Pipeline Layouts' which states 'If no VkAllocationCallbacks were provided when pipelineLayout was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyPipelineLayout)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00887~^~U~^~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)~^~
VALIDATION_ERROR_00899~^~U~^~Unknown~^~vkCreateDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'descriptorCount must be greater than 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorPoolSize)~^~
VALIDATION_ERROR_00900~^~U~^~Unknown~^~vkCreateDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'type must be a valid VkDescriptorType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkDescriptorPoolSize)~^~
VALIDATION_ERROR_00901~^~Y~^~None~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'All submitted commands that refer to descriptorPool (via any allocated descriptor sets) must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~
-VALIDATION_ERROR_00902~^~U~^~Unknown~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If VkAllocationCallbacks were provided when descriptorPool was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~
-VALIDATION_ERROR_00903~^~U~^~Unknown~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If no VkAllocationCallbacks were provided when descriptorPool was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~
+VALIDATION_ERROR_00902~^~Y~^~Unknown~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If VkAllocationCallbacks were provided when descriptorPool was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~
+VALIDATION_ERROR_00903~^~Y~^~Unknown~^~vkDestroyDescriptorPool~^~For more information refer to Vulkan Spec Section '13.2.3. Allocation of Descriptor Sets' which states 'If no VkAllocationCallbacks were provided when descriptorPool was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDescriptorPool)~^~
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)~^~
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)~^~
VALIDATION_ERROR_00906~^~U~^~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)~^~
VALIDATION_ERROR_01010~^~N~^~Unknown~^~vkCreateQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryType)~^~TBD in parameter validation layer.
VALIDATION_ERROR_01011~^~U~^~Unknown~^~vkCreateQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'queryType must be a valid VkQueryType value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkQueryType)~^~
VALIDATION_ERROR_01012~^~Y~^~QueryPoolInUseDestroyedSignaled~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'All submitted commands that refer to queryPool must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~
-VALIDATION_ERROR_01013~^~U~^~Unknown~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If VkAllocationCallbacks were provided when queryPool was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~
-VALIDATION_ERROR_01014~^~U~^~Unknown~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If no VkAllocationCallbacks were provided when queryPool was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~
+VALIDATION_ERROR_01013~^~Y~^~Unknown~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If VkAllocationCallbacks were provided when queryPool was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~
+VALIDATION_ERROR_01014~^~Y~^~Unknown~^~vkDestroyQueryPool~^~For more information refer to Vulkan Spec Section '16.1. Query Pools' which states 'If no VkAllocationCallbacks were provided when queryPool was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyQueryPool)~^~
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)~^~
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)~^~
VALIDATION_ERROR_01017~^~U~^~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)~^~
VALIDATION_ERROR_01842~^~N~^~Unknown~^~vkCreateXlibSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.6. Xlib Platform' which states 'flags must be 0' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkXlibSurfaceCreateInfoKHR)~^~TBD in parameter validation layer.
VALIDATION_ERROR_01843~^~U~^~Unknown~^~vkCreateXlibSurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.6. Xlib Platform' which states 'dpy must point to a valid Xlib Display.' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkXlibSurfaceCreateInfoKHR)~^~
VALIDATION_ERROR_01844~^~U~^~Unknown~^~vkDestroySurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.7. Platform-Independent Information' which states 'All VkSwapchainKHR objects created for surface must have been destroyed prior to destroying surface' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySurfaceKHR)~^~
-VALIDATION_ERROR_01845~^~U~^~Unknown~^~vkDestroySurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.7. Platform-Independent Information' which states 'If VkAllocationCallbacks were provided when surface was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySurfaceKHR)~^~
-VALIDATION_ERROR_01846~^~U~^~Unknown~^~vkDestroySurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.7. Platform-Independent Information' which states 'If no VkAllocationCallbacks were provided when surface was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySurfaceKHR)~^~
+VALIDATION_ERROR_01845~^~Y~^~Unknown~^~vkDestroySurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.7. Platform-Independent Information' which states 'If VkAllocationCallbacks were provided when surface was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySurfaceKHR)~^~
+VALIDATION_ERROR_01846~^~Y~^~Unknown~^~vkDestroySurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.7. Platform-Independent Information' which states 'If no VkAllocationCallbacks were provided when surface was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySurfaceKHR)~^~
VALIDATION_ERROR_01847~^~Y~^~None~^~vkDestroySurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.7. Platform-Independent Information' which states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySurfaceKHR)~^~
VALIDATION_ERROR_01848~^~Y~^~None~^~vkDestroySurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.7. Platform-Independent Information' which states 'If surface is not VK_NULL_HANDLE, surface must be a valid VkSurfaceKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySurfaceKHR)~^~
VALIDATION_ERROR_01849~^~U~^~Unknown~^~vkDestroySurfaceKHR~^~For more information refer to Vulkan Spec Section '30.2.7. Platform-Independent Information' 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#vkDestroySurfaceKHR)~^~
VALIDATION_ERROR_01935~^~Y~^~None~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If oldSwapchain is not VK_NULL_HANDLE, oldSwapchain must be a valid VkSwapchainKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCreateInfoKHR)~^~This error applies to both vkCreateSwapchainKHR and vkCreateSharedSwapchainsKHR.
VALIDATION_ERROR_01936~^~U~^~Unknown~^~vkCreateSwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If oldSwapchain is a valid handle, it must have been created, allocated, or retrieved from surface' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#VkSwapchainCreateInfoKHR)~^~
VALIDATION_ERROR_01937~^~U~^~Unknown~^~vkDestroySwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'All uses of presentable images acquired from swapchain must have completed execution' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySwapchainKHR)~^~
-VALIDATION_ERROR_01938~^~U~^~Unknown~^~vkDestroySwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If VkAllocationCallbacks were provided when swapchain was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySwapchainKHR)~^~
-VALIDATION_ERROR_01939~^~U~^~Unknown~^~vkDestroySwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If no VkAllocationCallbacks were provided when swapchain was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySwapchainKHR)~^~
+VALIDATION_ERROR_01938~^~Y~^~Unknown~^~vkDestroySwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If VkAllocationCallbacks were provided when swapchain was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySwapchainKHR)~^~
+VALIDATION_ERROR_01939~^~Y~^~Unknown~^~vkDestroySwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If no VkAllocationCallbacks were provided when swapchain was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySwapchainKHR)~^~
VALIDATION_ERROR_01940~^~U~^~Unknown~^~vkDestroySwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'device must be a valid VkDevice handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySwapchainKHR)~^~
VALIDATION_ERROR_01941~^~U~^~Unknown~^~vkDestroySwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' which states 'If swapchain is not VK_NULL_HANDLE, swapchain must be a valid VkSwapchainKHR handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroySwapchainKHR)~^~
VALIDATION_ERROR_01942~^~U~^~Unknown~^~vkDestroySwapchainKHR~^~For more information refer to Vulkan Spec Section '30.6. WSI Swapchain' 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#vkDestroySwapchainKHR)~^~
VALIDATION_ERROR_02046~^~U~^~Unknown~^~vkDebugReportMessageEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'objectType must be a valid VkDebugReportObjectTypeEXT value' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDebugReportMessageEXT)~^~
VALIDATION_ERROR_02047~^~U~^~Unknown~^~vkDebugReportMessageEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'pLayerPrefix must be a null-terminated string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDebugReportMessageEXT)~^~
VALIDATION_ERROR_02048~^~U~^~Unknown~^~vkDebugReportMessageEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'pMessage must be a null-terminated string' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDebugReportMessageEXT)~^~
-VALIDATION_ERROR_02049~^~U~^~Unknown~^~vkDestroyDebugReportCallbackEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'If VkAllocationCallbacks were provided when instance was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDebugReportCallbackEXT)~^~
-VALIDATION_ERROR_02050~^~U~^~Unknown~^~vkDestroyDebugReportCallbackEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'If no VkAllocationCallbacks were provided when instance was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDebugReportCallbackEXT)~^~
+VALIDATION_ERROR_02049~^~Y~^~Unknown~^~vkDestroyDebugReportCallbackEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'If VkAllocationCallbacks were provided when instance was created, a compatible set of callbacks must be provided here' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDebugReportCallbackEXT)~^~
+VALIDATION_ERROR_02050~^~Y~^~Unknown~^~vkDestroyDebugReportCallbackEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'If no VkAllocationCallbacks were provided when instance was created, pAllocator must be NULL' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDebugReportCallbackEXT)~^~
VALIDATION_ERROR_02051~^~U~^~Unknown~^~vkDestroyDebugReportCallbackEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'instance must be a valid VkInstance handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDebugReportCallbackEXT)~^~
VALIDATION_ERROR_02052~^~U~^~Unknown~^~vkDestroyDebugReportCallbackEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' which states 'callback must be a valid VkDebugReportCallbackEXT handle' (https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#vkDestroyDebugReportCallbackEXT)~^~
VALIDATION_ERROR_02053~^~U~^~Unknown~^~vkDestroyDebugReportCallbackEXT~^~For more information refer to Vulkan Spec Section '33.2. Debug Report Callbacks' 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#vkDestroyDebugReportCallbackEXT)~^~