From f7170df91537e02c4e24f6d11bcce9b5630217e8 Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Tue, 20 Mar 2018 13:44:19 -0600 Subject: header: Update to version 1.1.71 of the Vulkan hdr - updated vulkan_core.h - updated vulkan-android.h - updated vk.xml - updated validusage.json - updated layer json files - updated vulkan.hpp - updated vuid_mapping.py - marked 27 VUIDs as complete Change-Id: Ia5abee76e5346b3a1b769664033d91403946f7a9 --- scripts/validusage.json | 1116 ++++++++++++++++++++++++++++++++++++++++++----- scripts/vk.xml | 92 +++- scripts/vuid_mapping.py | 26 ++ 3 files changed, 1109 insertions(+), 125 deletions(-) (limited to 'scripts') diff --git a/scripts/validusage.json b/scripts/validusage.json index 18139bbd..7b1d8015 100644 --- a/scripts/validusage.json +++ b/scripts/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.1.70", - "comment": "from git branch: github-master commit: ab08f0951ef1ad9b84db93f971e113c1d9d55609", - "date": "2018-03-07 11:53:25Z" + "api version": "1.1.71", + "comment": "from git branch: github-master commit: e958791a01a51b816b4eb2c9e3777877b8d93bd2", + "date": "2018-03-17 11:09:58Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -355,6 +355,12 @@ "text": " If the pNext chain includes a VkPhysicalDeviceFeatures2 structure, then pEnabledFeatures must be NULL" } ], + "(VK_AMD_negative_viewport_height)+(VK_VERSION_1_1)": [ + { + "vuid": "VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-01840", + "text": " ppEnabledExtensionNames must not contain VK_AMD_negative_viewport_height" + } + ], "(VK_AMD_negative_viewport_height)+!(VK_VERSION_1_1)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [ { "vuid": "VUID-VkDeviceCreateInfo-ppEnabledExtensionNames-00374", @@ -472,6 +478,10 @@ "vuid": "VUID-vkGetDeviceQueue-queueIndex-00385", "text": " queueIndex must be less than the number of queues created for the specified queue family index when device was created, via the queueCount member of the VkDeviceQueueCreateInfo structure" }, + { + "vuid": "VUID-vkGetDeviceQueue-flags-01841", + "text": " VkDeviceQueueCreateInfo::flags must have been set to zero when device was created" + }, { "vuid": "VUID-vkGetDeviceQueue-device-parameter", "text": " device must be a valid VkDevice handle" @@ -500,6 +510,14 @@ }, "VkDeviceQueueInfo2": { "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-VkDeviceQueueInfo2-queueFamilyIndex-01842", + "text": " queueFamilyIndex must be one of the queue family indices specified when device was created, via the VkDeviceQueueCreateInfo structure" + }, + { + "vuid": "VUID-VkDeviceQueueInfo2-queueIndex-01843", + "text": " queueIndex must be less than the number of queues created for the specified queue family index and VkDeviceQueueCreateFlags member flags equal to this flags value when device was created, via the queueCount member of the VkDeviceQueueCreateInfo structure" + }, { "vuid": "VUID-VkDeviceQueueInfo2-sType-sType", "text": " sType must be VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2" @@ -829,6 +847,12 @@ "text": " commandBuffer must be a valid VkCommandBuffer handle" } ], + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkEndCommandBuffer-commandBuffer-01815", + "text": " If commandBuffer is a secondary command buffer, there must not be an outstanding vkCmdBeginUtilsLabelEXT command recorded to commandBuffer that has not previously been ended by a call to vkCmdEndDebugUtilsLabelEXT." + } + ], "(VK_EXT_debug_marker)": [ { "vuid": "VUID-vkEndCommandBuffer-commandBuffer-00062", @@ -1054,6 +1078,22 @@ }, "VkProtectedSubmitInfo": { "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-VkProtectedSubmitInfo-protectedSubmit-01816", + "text": " If the protected memory feature is not enabled, protectedSubmit must not be VK_TRUE." + }, + { + "vuid": "VUID-VkProtectedSubmitInfo-protectedSubmit-01817", + "text": " If protectedSubmit is VK_TRUE, then each element of the pCommandBuffers array must be a protected command buffer." + }, + { + "vuid": "VUID-VkProtectedSubmitInfo-protectedSubmit-01818", + "text": " If protectedSubmit is VK_FALSE, then each element of the pCommandBuffers array must be an unprotected command buffer." + }, + { + "vuid": "VUID-VkProtectedSubmitInfo-pNext-01819", + "text": " If the VkSubmitInfo::pNext chain does not include a VkProtectedSubmitInfo structure, then each element of the command buffer of the pCommandBuffers array must be an unprotected command buffer." + }, { "vuid": "VUID-VkProtectedSubmitInfo-sType-sType", "text": " sType must be VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO" @@ -1210,6 +1250,16 @@ "vuid": "VUID-vkCmdExecuteCommands-commonparent", "text": " Both of commandBuffer, and the elements of pCommandBuffers must have been created, allocated, or retrieved from the same VkDevice" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdExecuteCommands-commandBuffer-01820", + "text": " If commandBuffer is a protected command buffer, then each element of pCommandBuffers must be a protected command buffer." + }, + { + "vuid": "VUID-vkCmdExecuteCommands-commandBuffer-01821", + "text": " If commandBuffer is an unprotected command buffer, then each element of pCommandBuffers must be an unprotected command buffer." + } ] }, "VkDeviceGroupCommandBufferBeginInfo": { @@ -2746,11 +2796,11 @@ }, { "vuid": "VUID-VkImageMemoryBarrier-image-01672", - "text": " If image has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include either at least one of VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, and VK_IMAGE_ASPECT_PLANE_2_BIT_KHR; or must include VK_IMAGE_ASPECT_COLOR_BIT" + "text": " If image has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include either at least one of VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, and VK_IMAGE_ASPECT_PLANE_2_BIT; or must include VK_IMAGE_ASPECT_COLOR_BIT" }, { "vuid": "VUID-VkImageMemoryBarrier-image-01673", - "text": " If image has a multi-planar format with only two planes, then the aspectMask member of subresourceRange must not include VK_IMAGE_ASPECT_PLANE_2_BIT_KHR" + "text": " If image has a multi-planar format with only two planes, then the aspectMask member of subresourceRange must not include VK_IMAGE_ASPECT_PLANE_2_BIT" } ], "(VK_VERSION_1_1,VK_KHR_maintenance2)": [ @@ -2981,15 +3031,15 @@ "VkInputAttachmentAspectReference": { "(VK_VERSION_1_1,VK_KHR_maintenance2)": [ { - "vuid": "VUID-VkInputAttachmentAspectReferenceKHR-pCreateInfo-01568", - "text": " There must be an input attachment at pCreateInfo::pSubpasses[subpass].pInputAttachments[inputAttachment]." + "vuid": "VUID-VkInputAttachmentAspectReference-pCreateInfo-01568", + "text": " There must be an input attachment at pCreateInfo::pSubpasses[subpass].pInputAttachments[inputAttachmentIndex]." }, { - "vuid": "VUID-VkInputAttachmentAspectReferenceKHR-None-01569", + "vuid": "VUID-VkInputAttachmentAspectReference-None-01569", "text": " The specified input attachment must have more than one aspect mask." }, { - "vuid": "VUID-VkInputAttachmentAspectReferenceKHR-aspectMask-01570", + "vuid": "VUID-VkInputAttachmentAspectReference-aspectMask-01570", "text": " aspectMask must be a subset of the aspect masks in the specified input attachment." }, { @@ -4839,22 +4889,10 @@ ] }, "VkMemoryAllocateInfo": { - "core": [ + "!(VK_ANDROID_external_memory_android_hardware_buffer)": [ { "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-00638", "text": " allocationSize must be greater than 0" - }, - { - "vuid": "VUID-VkMemoryAllocateInfo-sType-sType", - "text": " sType must be VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO" - }, - { - "vuid": "VUID-VkMemoryAllocateInfo-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDedicatedAllocationMemoryAllocateInfoNV, VkExportMemoryAllocateInfo, VkExportMemoryAllocateInfoNV, VkExportMemoryWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoNV, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkImportMemoryWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoNV, VkMemoryAllocateFlagsInfo, or VkMemoryDedicatedAllocateInfo" - }, - { - "vuid": "VUID-VkMemoryAllocateInfo-sType-unique", - "text": " Each sType member in the pNext chain must be unique" } ], "(VK_KHR_external_memory)+(VK_KHR_dedicated_allocation,VK_NV_dedicated_allocation)": [ @@ -4913,6 +4951,12 @@ "text": " If the parameters define an import operation and the external handle type is VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, allocationSize must match the size specified when creating the Direct3D 12 heap from which the external handle was extracted." } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-01872", + "text": " If the protected memory feature is not enabled, the VkMemoryAllocateInfo::memoryTypeIndex must not indicate a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT." + } + ], "(VK_EXT_external_memory_host)": [ { "vuid": "VUID-VkMemoryAllocateInfo-memoryTypeIndex-01744", @@ -4922,6 +4966,34 @@ "vuid": "VUID-VkMemoryAllocateInfo-allocationSize-01745", "text": " If the parameters define an import operation and the external handle is a host pointer, allocationSize must be an integer multiple of VkPhysicalDeviceExternalMemoryHostPropertiesEXT::minImportedHostPointerAlignment" } + ], + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkMemoryAllocateInfo-None-01873", + "text": " If the parameters define an import operation and the external handle type is VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BIT_ANDROID:" + }, + { + "vuid": "VUID-VkMemoryAllocateInfo-pNext-01874", + "text": " If the parameters do not define an import operation, and the pNext chain contains an instance of VkExportMemoryAllocateInfo with VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID included in its handleTypes member, and the pNext contains an instance of VkMemoryDedicatedAllocateInfo with image not equal to VK_NULL_HANDLE, then allocationSize must be 0, otherwise allocationSize must be greater than 0." + }, + { + "vuid": "VUID-VkMemoryAllocateInfo-pNext-01875", + "text": " If the parameters define an import operation, the external handle is an Android hardware buffer, and the pNext chain includes an instance of VkMemoryDedicatedAllocateInfo with image that is not VK_NULL_HANDLE:" + } + ], + "core": [ + { + "vuid": "VUID-VkMemoryAllocateInfo-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO" + }, + { + "vuid": "VUID-VkMemoryAllocateInfo-pNext-pNext", + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDedicatedAllocationMemoryAllocateInfoNV, VkExportMemoryAllocateInfo, VkExportMemoryAllocateInfoNV, VkExportMemoryWin32HandleInfoKHR, VkExportMemoryWin32HandleInfoNV, VkImportAndroidHardwareBufferInfoANDROID, VkImportMemoryFdInfoKHR, VkImportMemoryHostPointerInfoEXT, VkImportMemoryWin32HandleInfoKHR, VkImportMemoryWin32HandleInfoNV, VkMemoryAllocateFlagsInfo, or VkMemoryDedicatedAllocateInfo" + }, + { + "vuid": "VUID-VkMemoryAllocateInfo-sType-unique", + "text": " Each sType member in the pNext chain must be unique" + } ] }, "VkMemoryDedicatedAllocateInfo": { @@ -4967,20 +5039,30 @@ "text": " Both of buffer, and image that are valid handles must have been created, allocated, or retrieved from the same VkDevice" } ], - "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_win32,VK_KHR_external_memory_fd)": [ + "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_win32)": [ + { + "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-image-01876", + "text": " If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the external handle was created by the Vulkan API, then the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory." + }, + { + "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01877", + "text": " If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT, VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, or VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the external handle was created by the Vulkan API, then the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory." + } + ], + "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_external_memory_fd)": [ { - "vuid": "VUID-VkMemoryDedicatedAllocateInfo-image-01437", - "text": " If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation, the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory." + "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-image-01878", + "text": " If image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory." }, { - "vuid": "VUID-VkMemoryDedicatedAllocateInfo-buffer-01438", - "text": " If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation, the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory." + "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-buffer-01879", + "text": " If buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation with handle type VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory." } ], "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)+(VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkMemoryDedicatedAllocateInfoKHR-image-01797", - "text": " If image is not VK_NULL_HANDLE, image must not have been created with VK_IMAGE_CREATE_DISJOINT_BIT_KHR set in VkImageCreateInfo::flags" + "vuid": "VUID-VkMemoryDedicatedAllocateInfo-image-01797", + "text": " If image is not VK_NULL_HANDLE, image must not have been created with VK_IMAGE_CREATE_DISJOINT_BIT set in VkImageCreateInfo::flags" } ] }, @@ -5386,6 +5468,90 @@ } ] }, + "VkImportAndroidHardwareBufferInfoANDROID": { + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01880", + "text": " If buffer is not NULL, Android hardware buffers must be supported for import, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties." + }, + { + "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01881", + "text": " If buffer is not NULL, it must be a valid Android hardware buffer object with format and usage compatible with Vulkan as described by VkExternalMemoryHandleTypeFlagBits." + }, + { + "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID" + }, + { + "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-parameter", + "text": " buffer must be a valid pointer to a AHardwareBuffer value" + } + ] + }, + "vkGetMemoryAndroidHardwareBufferANDROID": { + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-vkGetMemoryAndroidHardwareBufferANDROID-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkGetMemoryAndroidHardwareBufferANDROID-pInfo-parameter", + "text": " pInfo must be a valid pointer to a valid VkMemoryGetAndroidHardwareBufferInfoANDROID structure" + }, + { + "vuid": "VUID-vkGetMemoryAndroidHardwareBufferANDROID-pBuffer-parameter", + "text": " pBuffer must be a valid pointer to a valid pointer to a AHardwareBuffer value" + } + ] + }, + "VkMemoryGetAndroidHardwareBufferInfoANDROID": { + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-handleTypes-01882", + "text": " VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must have been included in VkExportMemoryAllocateInfoKHR::handleTypes when memory was created." + }, + { + "vuid": "VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-01883", + "text": " If the pNext chain of the VkMemoryAllocateInfo used to allocate memory included a VkMemoryDedicatedAllocateInfo with non-NULL image member, then that image must already be bound to memory." + } + ] + }, + "vkGetAndroidHardwareBufferPropertiesANDROID": { + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-01884", + "text": " buffer must be a valid Android hardware buffer object with at least one of the AHARDWAREBUFFER_USAGE_GPU_* usage flags." + }, + { + "vuid": "VUID-vkGetAndroidHardwareBufferPropertiesANDROID-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-parameter", + "text": " buffer must be a valid pointer to a valid AHardwareBuffer value" + }, + { + "vuid": "VUID-vkGetAndroidHardwareBufferPropertiesANDROID-pProperties-parameter", + "text": " pProperties must be a valid pointer to a VkAndroidHardwareBufferPropertiesANDROID structure" + } + ] + }, + "VkAndroidHardwareBufferFormatPropertiesANDROID": { + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID" + }, + { + "vuid": "VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-pNext-pNext", + "text": " pNext must be NULL" + } + ] + }, "VkExportMemoryAllocateInfoNV": { "(VK_NV_external_memory)": [ { @@ -5817,6 +5983,16 @@ "text": " If the pNext chain contains an instance of VkExternalMemoryBufferCreateInfo, its handleTypes member must only contain bits that are also in VkExternalBufferProperties::externalMemoryProperties.pname:compatibleHandleTypes, as returned by vkGetPhysicalDeviceExternalBufferProperties with pExternalBufferInfo\\->handleType equal to any one of the handle types specified in VkExternalMemoryBufferCreateInfo::handleTypes" } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-VkBufferCreateInfo-flags-01887", + "text": " If the protected memory feature is not enabled, flags must not contain VK_BUFFER_CREATE_PROTECTED_BIT" + }, + { + "vuid": "VUID-VkBufferCreateInfo-None-01888", + "text": " If any of the bits VK_BUFFER_CREATE_SPARSE_BINDING_BIT, VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT, or VK_BUFFER_CREATE_SPARSE_ALIASED_BIT are set, VK_BUFFER_CREATE_PROTECTED_BIT must not also be set" + } + ], "(VK_NV_dedicated_allocation)": [ { "vuid": "VUID-VkBufferCreateInfo-pNext-01571", @@ -6021,11 +6197,27 @@ ] }, "VkImageCreateInfo": { - "core": [ + "!(VK_ANDROID_external_memory_android_hardware_buffer)": [ { "vuid": "VUID-VkImageCreateInfo-format-00940", "text": " The combination of format, imageType, tiling, usage, and flags must be supported, as indicated by a VK_SUCCESS return value from vkGetPhysicalDeviceImageFormatProperties invoked with the same values passed to the corresponding parameters." + } + ], + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkImageCreateInfo-pNext-01889", + "text": " If the pNext chain doesn’t contain an instance of VkExternalFormatANDROID, or if format is not VK_FORMAT_UNDEFINED, the combination of format, imageType, tiling, usage, and flags must be supported, as indicated by a VK_SUCCESS return value from vkGetPhysicalDeviceImageFormatProperties invoked with the same values passed to the corresponding parameters." }, + { + "vuid": "VUID-VkImageCreateInfo-pNext-01892", + "text": " If the pNext chain includes a VkExternalMemoryImageCreateInfo structure whose handleTypes member includes VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID:" + }, + { + "vuid": "VUID-VkImageCreateInfo-pNext-01893", + "text": " If the pNext chain includes a VkExternalFormatANDROID structure whose externalFormat member is not 0:" + } + ], + "core": [ { "vuid": "VUID-VkImageCreateInfo-sharingMode-00941", "text": " If sharingMode is VK_SHARING_MODE_CONCURRENT, pQueueFamilyIndices must be a valid pointer to an array of queueFamilyIndexCount uint32_t values" @@ -6220,7 +6412,7 @@ }, { "vuid": "VUID-VkImageCreateInfo-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDedicatedAllocationImageCreateInfoNV, VkExternalMemoryImageCreateInfo, VkExternalMemoryImageCreateInfoNV, VkImageFormatListCreateInfoKHR, or VkImageSwapchainCreateInfoKHR" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDedicatedAllocationImageCreateInfoNV, VkExternalFormatANDROID, VkExternalMemoryImageCreateInfo, VkExternalMemoryImageCreateInfoNV, VkImageFormatListCreateInfoKHR, or VkImageSwapchainCreateInfoKHR" }, { "vuid": "VUID-VkImageCreateInfo-sType-unique", @@ -6281,6 +6473,16 @@ "text": " If flags contains VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, imageType must be VK_IMAGE_TYPE_3D" } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-VkImageCreateInfo-flags-01890", + "text": " If the protected memory feature is not enabled, flags must not contain VK_IMAGE_CREATE_PROTECTED_BIT." + }, + { + "vuid": "VUID-VkImageCreateInfo-None-01891", + "text": " If any of the bits VK_IMAGE_CREATE_SPARSE_BINDING_BIT, VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, or VK_IMAGE_CREATE_SPARSE_ALIASED_BIT are set, VK_IMAGE_CREATE_PROTECTED_BIT must not also be set." + } + ], "(VK_VERSION_1_1,VK_KHR_external_memory)+(VK_NV_external_memory)": [ { "vuid": "VUID-VkImageCreateInfo-pNext-00988", @@ -6398,6 +6600,22 @@ } ] }, + "VkExternalFormatANDROID": { + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkExternalFormatANDROID-externalFormat-01894", + "text": " externalFormat must be 0 or a value returned in the externalFormat member of VkAndroidHardwareBufferFormatPropertiesANDROID by an earlier call to vkGetAndroidHardwareBufferPropertiesANDROID" + }, + { + "vuid": "VUID-VkExternalFormatANDROID-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID" + }, + { + "vuid": "VUID-VkExternalFormatANDROID-pNext-pNext", + "text": " pNext must be NULL" + } + ] + }, "VkImageSwapchainCreateInfoKHR": { "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_KHR_swapchain)": [ { @@ -6490,6 +6708,12 @@ "vuid": "VUID-vkGetImageSubresourceLayout-format-01582", "text": " If the format of image is a <<features-formats-requiring-sampler-ycbcr-conversion,multi-planar format>> with three planes, the aspectMask member of pSubresource must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or VK_IMAGE_ASPECT_PLANE_2_BIT" } + ], + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-vkGetImageSubresourceLayout-image-01895", + "text": " If image was created with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID external memory handle type, then image must be bound to memory." + } ] }, "VkImageSubresource": { @@ -6748,12 +6972,18 @@ "vuid": "VUID-VkImageViewCreateInfo-image-01019", "text": " If image was not created with the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag, format must be identical to the format used to create image" } + ], + "(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkImageViewCreateInfo-image-01896", + "text": " If image has an <<memory-external-android-hardware-buffer-external-formats,external format>>:" + } ] }, "VkImageViewUsageCreateInfo": { "(VK_VERSION_1_1,VK_KHR_maintenance2)": [ { - "vuid": "VUID-VkImageViewUsageCreateInfoKHR-usage-01587", + "vuid": "VUID-VkImageViewUsageCreateInfo-usage-01587", "text": " usage must not include any set bits that were not set in the usage member of the VkImageCreateInfo structure used to create the image this image view is created from." }, { @@ -6796,7 +7026,7 @@ "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { "vuid": "VUID-VkImageSubresourceRange-aspectMask-01670", - "text": " If aspectMask includes VK_IMAGE_ASPECT_COLOR_BIT, then it must not include any of VK_IMAGE_ASPECT_PLANE_0_BIT_KHR, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR, or VK_IMAGE_ASPECT_PLANE_2_BIT_KHR" + "text": " If aspectMask includes VK_IMAGE_ASPECT_COLOR_BIT, then it must not include any of VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" } ] }, @@ -6943,18 +7173,24 @@ "VkImageMemoryRequirementsInfo2": { "(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkImageMemoryRequirementsInfo2KHR-image-01589", + "vuid": "VUID-VkImageMemoryRequirementsInfo2-image-01589", "text": " If image was created with a multi-planar format and the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure" }, { - "vuid": "VUID-VkImageMemoryRequirementsInfo2KHR-image-01590", + "vuid": "VUID-VkImageMemoryRequirementsInfo2-image-01590", "text": " If image was not created with the VK_IMAGE_CREATE_DISJOINT_BIT flag, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure" }, { - "vuid": "VUID-VkImageMemoryRequirementsInfo2KHR-image-01591", + "vuid": "VUID-VkImageMemoryRequirementsInfo2-image-01591", "text": " If image was created with a single-plane format, there must not be a VkImagePlaneMemoryRequirementsInfo in the pNext chain of the VkImageMemoryRequirementsInfo2 structure" } ], + "(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkImageMemoryRequirementsInfo2KHR-image-01897", + "text": " If image was created with the VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID external memory handle type, then image must be bound to memory." + } + ], "(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)": [ { "vuid": "VUID-VkImageMemoryRequirementsInfo2-sType-sType", @@ -6973,7 +7209,7 @@ "VkImagePlaneMemoryRequirementsInfo": { "(VK_VERSION_1_1,VK_KHR_get_memory_requirements2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkImagePlaneMemoryRequirementsInfoKHR-planeAspect-01592", + "vuid": "VUID-VkImagePlaneMemoryRequirementsInfo-planeAspect-01592", "text": " planeAspect must be an aspect that exists in the format; that is, for a two-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT, and for a three-plane image planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT or VK_IMAGE_ASPECT_PLANE_2_BIT" }, { @@ -7072,11 +7308,21 @@ "(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [ { "vuid": "VUID-vkBindBufferMemory-buffer-01444", - "text": " If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer" + "text": " If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for buffer), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer" }, { "vuid": "VUID-vkBindBufferMemory-memory-01508", - "text": " If the VkmemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfoKHR in its pNext chain, and VkMemoryDedicatedAllocateInfoKHR::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfoKHR::buffer and memoryOffset must be zero." + "text": " If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfo::buffer, and memoryOffset must be zero." + } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkBindBufferMemory-None-01898", + "text": " If buffer was created with the VK_BUFFER_CREATE_PROTECTED_BIT bit set, the buffer must be bound to a memory object allocated with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT" + }, + { + "vuid": "VUID-vkBindBufferMemory-None-01899", + "text": " If buffer was created with the VK_BUFFER_CREATE_PROTECTED_BIT bit not set, the buffer must not be bound to a memory object created with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT" } ], "(VK_NV_dedicated_allocation)": [ @@ -7111,39 +7357,39 @@ "VkBindBufferMemoryInfo": { "(VK_VERSION_1_1,VK_KHR_bind_memory2)": [ { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01593", + "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01593", "text": " buffer must not already be backed by a memory object" }, { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01594", + "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01594", "text": " buffer must not have been created with any sparse memory binding flags" }, { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01595", + "vuid": "VUID-VkBindBufferMemoryInfo-memoryOffset-01595", "text": " memoryOffset must be less than the size of memory" }, { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01596", + "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01596", "text": " If buffer was created with the VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT or VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minTexelBufferOffsetAlignment" }, { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01597", + "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01597", "text": " If buffer was created with the VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minUniformBufferOffsetAlignment" }, { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01598", + "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01598", "text": " If buffer was created with the VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, memoryOffset must be a multiple of VkPhysicalDeviceLimits::minStorageBufferOffsetAlignment" }, { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-memory-01599", + "vuid": "VUID-VkBindBufferMemoryInfo-memory-01599", "text": " memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer" }, { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-memoryOffset-01600", + "vuid": "VUID-VkBindBufferMemoryInfo-memoryOffset-01600", "text": " memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer" }, { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-size-01601", + "vuid": "VUID-VkBindBufferMemoryInfo-size-01601", "text": " The size member of the VkMemoryRequirements structure returned from a call to vkGetBufferMemoryRequirements with buffer must be less than or equal to the size of memory minus memoryOffset" }, { @@ -7169,25 +7415,29 @@ ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [ { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01602", - "text": " If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer and memoryOffset must be zero" + "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01602", + "text": " If buffer requires a dedicated allocation(as reported by vkGetBufferMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for buffer), memory must have been created with VkMemoryDedicatedAllocateInfo::buffer equal to buffer and memoryOffset must be zero" + }, + { + "vuid": "VUID-VkBindBufferMemoryInfoKHR-memory-01900", + "text": " If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::buffer was not VK_NULL_HANDLE, then buffer must equal VkMemoryDedicatedAllocateInfo::buffer and memoryOffset must be zero." } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)": [ { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01603", + "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01603", "text": " If buffer was created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::buffer equal to buffer and memoryOffset must be zero" } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [ { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-buffer-01604", + "vuid": "VUID-VkBindBufferMemoryInfo-buffer-01604", "text": " If buffer was not created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image" } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [ { - "vuid": "VUID-VkBindBufferMemoryInfoKHR-pNext-01605", + "vuid": "VUID-VkBindBufferMemoryInfo-pNext-01605", "text": " If the pNext chain includes VkBindBufferMemoryDeviceGroupInfo, all instances of memory specified by VkBindBufferMemoryDeviceGroupInfo::pDeviceIndices must have been allocated" } ] @@ -7195,11 +7445,11 @@ "VkBindBufferMemoryDeviceGroupInfo": { "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [ { - "vuid": "VUID-VkBindBufferMemoryDeviceGroupInfoKHR-deviceIndexCount-01606", + "vuid": "VUID-VkBindBufferMemoryDeviceGroupInfo-deviceIndexCount-01606", "text": " deviceIndexCount must either be zero or equal to the number of physical devices in the logical device" }, { - "vuid": "VUID-VkBindBufferMemoryDeviceGroupInfoKHR-pDeviceIndices-01607", + "vuid": "VUID-VkBindBufferMemoryDeviceGroupInfo-pDeviceIndices-01607", "text": " All elements of pDeviceIndices must be valid device indices" }, { @@ -7276,7 +7526,17 @@ }, { "vuid": "VUID-vkBindImageMemory-memory-01509", - "text": " If the VkmemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfoKHR in its pNext chain, and VkMemoryDedicatedAllocateInfoKHR::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfoKHR::image and memoryOffset must be zero." + "text": " If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfo::image and memoryOffset must be zero." + } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkBindImageMemory-None-01901", + "text": " If image was created with the VK_IMAGE_CREATE_PROTECTED_BIT bit set, the image must be bound to a memory object allocated with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT" + }, + { + "vuid": "VUID-vkBindImageMemory-None-01902", + "text": " If image was created with the VK_IMAGE_CREATE_PROTECTED_BIT bit not set, the image must not be bound to a memory object created with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT" } ], "(VK_NV_dedicated_allocation)": [ @@ -7311,15 +7571,15 @@ "VkBindImageMemoryInfo": { "(VK_VERSION_1_1,VK_KHR_bind_memory2)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01609", + "vuid": "VUID-VkBindImageMemoryInfo-image-01609", "text": " image must not already be backed by a memory object" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01610", + "vuid": "VUID-VkBindImageMemoryInfo-image-01610", "text": " image must not have been created with any sparse memory binding flags" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-memoryOffset-01611", + "vuid": "VUID-VkBindImageMemoryInfo-memoryOffset-01611", "text": " memoryOffset must be less than the size of memory" }, { @@ -7345,99 +7605,105 @@ ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-memory-01612", + "vuid": "VUID-VkBindImageMemoryInfo-memory-01612", "text": " memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-memoryOffset-01613", + "vuid": "VUID-VkBindImageMemoryInfo-memoryOffset-01613", "text": " memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with image" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-memory-01614", + "vuid": "VUID-VkBindImageMemoryInfo-memory-01614", "text": " The difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements with the same image" } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01615", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01615", "text": " If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01616", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01616", "text": " If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01617", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01617", "text": " If the pNext chain does not include an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01618", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01618", "text": " If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, image must have been created with the VK_IMAGE_CREATE_DISJOINT_BIT bit set." }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01619", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01619", "text": " If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2’s pNext chain" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01620", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01620", "text": " If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2’s pNext chain" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01621", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01621", "text": " If the pNext chain includes an instance of the VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to vkGetImageMemoryRequirements2 with the same image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure attached to the VkImageMemoryRequirementsInfo2’s pNext chain" } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01622", + "vuid": "VUID-VkBindImageMemoryInfo-image-01622", "text": " If image requires a dedicated allocation (as reported by vkGetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to image and memoryOffset must be zero" + }, + { + "vuid": "VUID-VkBindImageMemoryInfoKHR-memory-01903", + "text": " If the VkMemoryAllocateInfo provided when memory was allocated included an instance of VkMemoryDedicatedAllocateInfo in its pNext chain, and VkMemoryDedicatedAllocateInfo::image was not VK_NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfo::image and memoryOffset must be zero." } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01623", + "vuid": "VUID-VkBindImageMemoryInfo-image-01623", "text": " If image was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to image and memoryOffset must be zero" } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_NV_dedicated_allocation)+!(VK_VERSION_1_1,VK_KHR_dedicated_allocation)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01624", + "vuid": "VUID-VkBindImageMemoryInfo-image-01624", "text": " If image was not created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE, memory must not have been allocated dedicated for a specific buffer or image" } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_device_group)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-memory-01625", + "vuid": "VUID-VkBindImageMemoryInfo-memory-01625", "text": " memory must be a valid VkDeviceMemory handle" } ], "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01626", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01626", "text": " If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all instances of memory specified by VkBindImageMemoryDeviceGroupInfo::pDeviceIndices must have been allocated" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01627", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01627", "text": " If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, and VkBindImageMemoryDeviceGroupInfo::splitInstanceBindRegionCount is not zero, then image must have been created with the VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT bit set" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01628", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01628", "text": " If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions must be valid rectangles contained within the dimensions of image" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01629", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01629", "text": " If the pNext chain includes VkBindImageMemoryDeviceGroupInfo, the union of the areas of all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions that correspond to the same instance of image must cover the entire image." - }, + } + ], + "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)+(VK_KHR_swapchain)": [ { - "vuid": "VUID-VkBindImageMemoryInfoKHR-image-01630", + "vuid": "VUID-VkBindImageMemoryInfo-image-01630", "text": " If image was created with a valid swapchain handle in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain must include a valid instance of VkBindImageMemorySwapchainInfoKHR" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01631", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01631", "text": " If the pNext chain includes an instance of VkBindImageMemorySwapchainInfoKHR, memory must be VK_NULL_HANDLE" }, { - "vuid": "VUID-VkBindImageMemoryInfoKHR-pNext-01632", + "vuid": "VUID-VkBindImageMemoryInfo-pNext-01632", "text": " If the pNext chain does not include an instance of VkBindImageMemorySwapchainInfoKHR, memory must be a valid VkDeviceMemory handle" } ] @@ -7445,39 +7711,39 @@ "VkBindImageMemoryDeviceGroupInfo": { "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [ { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01633", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01633", "text": " At least one of deviceIndexCount and splitInstanceBindRegionCount must be zero." }, { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-deviceIndexCount-01634", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-deviceIndexCount-01634", "text": " deviceIndexCount must either be zero or equal to the number of physical devices in the logical device" }, { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-pDeviceIndices-01635", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-pDeviceIndices-01635", "text": " All elements of pDeviceIndices must be valid device indices." }, { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-splitInstanceBindRegionCount-01636", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-splitInstanceBindRegionCount-01636", "text": " splitInstanceBindRegionCount must either be zero or equal to the number of physical devices in the logical device squared" }, { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-pSplitInstanceBindRegions-01637", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-pSplitInstanceBindRegions-01637", "text": " Elements of pSplitInstanceBindRegions that correspond to the same instance of an image must not overlap." }, { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01638", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-offset-01638", "text": " The offset.x member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block width (VkSparseImageFormatProperties::imageGranularity.width) of all non-metadata aspects of the image" }, { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-offset-01639", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-offset-01639", "text": " The offset.y member of any element of pSplitInstanceBindRegions must be a multiple of the sparse image block height (VkSparseImageFormatProperties::imageGranularity.height) of all non-metadata aspects of the image" }, { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01640", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-extent-01640", "text": " The extent.width member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block width of all non-metadata aspects of the image, or else extent.width + offset.x must equal the width of the image subresource" }, { - "vuid": "VUID-VkBindImageMemoryDeviceGroupInfoKHR-extent-01641", + "vuid": "VUID-VkBindImageMemoryDeviceGroupInfo-extent-01641", "text": " The extent.height member of any element of pSplitInstanceBindRegions must either be a multiple of the sparse image block height of all non-metadata aspects of the image, or else extent.height
offset.y must equal the width of the image subresource" }, { @@ -7517,11 +7783,11 @@ "VkBindImagePlaneMemoryInfo": { "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkBindImagePlaneMemoryInfoKHR-planeAspect-01642", + "vuid": "VUID-VkBindImagePlaneMemoryInfo-planeAspect-01642", "text": " planeAspect must be a single valid plane aspect for the image format (that is, planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT for “_2PLANE” formats and planeAspect must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT for “_3PLANE” formats)" }, { - "vuid": "VUID-VkBindImagePlaneMemoryInfoKHR-None-01643", + "vuid": "VUID-VkBindImagePlaneMemoryInfo-None-01643", "text": " A single call to vkBindImageMemory2 must bind all or none of the planes of an image (i.e. bindings to all planes of an image must be made in a single vkBindImageMemory2 call), as separate bindings" }, { @@ -7743,7 +8009,7 @@ "vkCreateSamplerYcbcrConversion": { "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-vkCreateSamplerYcbcrConversionKHR-None-01648", + "vuid": "VUID-vkCreateSamplerYcbcrConversion-None-01648", "text": " The <<features-features-sampler-YCbCr-conversion, sampler Y’CBCR conversion feature>> must be enabled" }, { @@ -7765,41 +8031,49 @@ ] }, "VkSamplerYcbcrConversionCreateInfo": { - "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ + "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [ { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01649", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-format-01649", "text": " format must not be VK_FORMAT_UNDEFINED" - }, + } + ], + "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01904", + "text": " If an external format conversion is being created, format must be VK_FORMAT_UNDEFINED, otherwise it must not be VK_FORMAT_UNDEFINED." + } + ], + "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01650", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-format-01650", "text": " format must support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT or VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT" }, { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01651", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01651", "text": " If the format does not support VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_COSITED_EVEN" }, { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-xChromaOffset-01652", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01652", "text": " If the format does not support VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT, xChromaOffset and yChromaOffset must not be VK_CHROMA_LOCATION_MIDPOINT" }, { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-format-01653", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-format-01653", "text": " format must represent unsigned normalized values (i.e. the format must be a UNORM format)" }, { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-None-01654", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-None-01654", "text": " If the format has a _422 or _420 suffix:" }, { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-ycbcrModel-01655", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-01655", "text": " If ycbcrModel is not VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then components.r, components.g, and components.b must correspond to channels of the format; that is, components.r, components.g, and components.b must not be VK_COMPONENT_SWIZZLE_ZERO or VK_COMPONENT_SWIZZLE_ONE, and must not correspond to a channel which contains zero or one as a consequence of <<textures-conversion-to-rgba,conversion to RGBA>>" }, { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-forceExplicitReconstruction-01656", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-forceExplicitReconstruction-01656", "text": " If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT, forceExplicitReconstruction must be FALSE" }, { - "vuid": "VUID-VkSamplerYcbcrConversionCreateInfoKHR-chromaFilter-01657", + "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-chromaFilter-01657", "text": " If the format does not support VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT, chromaFilter must be VK_FILTER_NEAREST" }, { @@ -7808,7 +8082,7 @@ }, { "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-pNext-pNext", - "text": " pNext must be NULL" + "text": " pNext must be NULL or a pointer to a valid instance of VkExternalFormatANDROID" }, { "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-format-parameter", @@ -8745,7 +9019,7 @@ "vkUpdateDescriptorSetWithTemplate": { "(VK_VERSION_1_1,VK_KHR_descriptor_update_template)": [ { - "vuid": "VUID-vkUpdateDescriptorSetWithTemplateKHR-pData-01685", + "vuid": "VUID-vkUpdateDescriptorSetWithTemplate-pData-01685", "text": " pData must be a valid pointer to a memory that contains one or more valid instances of VkDescriptorImageInfo, VkDescriptorBufferInfo, or VkBufferView in a layout defined by descriptorUpdateTemplate when it was created with vkCreateDescriptorUpdateTemplate" }, { @@ -9149,6 +9423,12 @@ "text": " Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice" } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdBeginQuery-commandBuffer-01885", + "text": " commandBuffer must not be a protected command buffer" + } + ], "(VK_VERSION_1_1,VK_KHR_multiview)": [ { "vuid": "VUID-vkCmdBeginQuery-None-00806", @@ -9195,6 +9475,12 @@ "text": " Both of commandBuffer, and queryPool must have been created, allocated, or retrieved from the same VkDevice" } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdEndQuery-commandBuffer-01886", + "text": " commandBuffer must not be a protected command buffer" + } + ], "(VK_VERSION_1_1,VK_KHR_multiview)": [ { "vuid": "VUID-vkCmdEndQuery-None-00811", @@ -9478,6 +9764,16 @@ "vuid": "VUID-vkCmdClearColorImage-imageLayout-01394", "text": " imageLayout must be VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, or VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdClearColorImage-commandBuffer-01805", + "text": " If commandBuffer is an unprotected command buffer, then image must not be a protected image" + }, + { + "vuid": "VUID-vkCmdClearColorImage-commandBuffer-01806", + "text": " If commandBuffer is a protected command buffer, then image must not be an unprotected image" + } ] }, "vkCmdClearDepthStencilImage": { @@ -9564,6 +9860,16 @@ "vuid": "VUID-vkCmdClearDepthStencilImage-commonparent", "text": " Both of commandBuffer, and image must have been created, allocated, or retrieved from the same VkDevice" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdClearDepthStencilImage-commandBuffer-01807", + "text": " If commandBuffer is an unprotected command buffer, then image must not be a protected image" + }, + { + "vuid": "VUID-vkCmdClearDepthStencilImage-commandBuffer-01808", + "text": " If commandBuffer is a protected command buffer, then image must not be an unprotected image" + } ] }, "vkCmdClearAttachments": { @@ -9642,6 +9948,16 @@ "vuid": "VUID-VkClearAttachment-aspectMask-requiredbitmask", "text": " aspectMask must not be 0" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-VkClearAttachment-commandBuffer-01809", + "text": " If commandBuffer is an unprotected command buffer, then the attachment to be cleared must not be a protected image." + }, + { + "vuid": "VUID-VkClearAttachment-commandBuffer-01810", + "text": " If commandBuffer is a protected command buffer, then the attachment to be cleared must not be an unprotected image." + } ] }, "VkClearDepthStencilValue": { @@ -9726,6 +10042,16 @@ "vuid": "VUID-vkCmdFillBuffer-commandBuffer-00030", "text": " The VkCommandPool that commandBuffer was allocated from must support graphics or compute operations" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdFillBuffer-commandBuffer-01811", + "text": " If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer" + }, + { + "vuid": "VUID-vkCmdFillBuffer-commandBuffer-01812", + "text": " If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer" + } ] }, "vkCmdUpdateBuffer": { @@ -9790,6 +10116,16 @@ "vuid": "VUID-vkCmdUpdateBuffer-commonparent", "text": " Both of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdUpdateBuffer-commandBuffer-01813", + "text": " If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer" + }, + { + "vuid": "VUID-vkCmdUpdateBuffer-commandBuffer-01814", + "text": " If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer" + } ] }, "vkCmdCopyBuffer": { @@ -9870,6 +10206,20 @@ "vuid": "VUID-vkCmdCopyBuffer-commonparent", "text": " Each of commandBuffer, dstBuffer, and srcBuffer must have been created, allocated, or retrieved from the same VkDevice" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdCopyBuffer-commandBuffer-01822", + "text": " If commandBuffer is an unprotected command buffer, then srcBuffer must not be a protected buffer" + }, + { + "vuid": "VUID-vkCmdCopyBuffer-commandBuffer-01823", + "text": " If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer" + }, + { + "vuid": "VUID-vkCmdCopyBuffer-commandBuffer-01824", + "text": " If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer" + } ] }, "vkCmdCopyImage": { @@ -10036,6 +10386,20 @@ "vuid": "VUID-vkCmdCopyImage-dstImageLayout-01395", "text": " dstImageLayout must be VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, or VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdCopyImage-commandBuffer-01825", + "text": " If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image" + }, + { + "vuid": "VUID-vkCmdCopyImage-commandBuffer-01826", + "text": " If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image" + }, + { + "vuid": "VUID-vkCmdCopyImage-commandBuffer-01827", + "text": " If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image" + } ] }, "VkImageCopy": { @@ -10374,6 +10738,20 @@ "vuid": "VUID-vkCmdCopyBufferToImage-dstImageLayout-01396", "text": " dstImageLayout must be VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_GENERAL, or VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-01828", + "text": " If commandBuffer is an unprotected command buffer, then srcBuffer must not be a protected buffer" + }, + { + "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-01829", + "text": " If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image" + }, + { + "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-01830", + "text": " If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image" + } ] }, "vkCmdCopyImageToBuffer": { @@ -10484,6 +10862,20 @@ "vuid": "VUID-vkCmdCopyImageToBuffer-srcImageLayout-01397", "text": " srcImageLayout must be VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL or VK_IMAGE_LAYOUT_GENERAL" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-01831", + "text": " If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image" + }, + { + "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-01832", + "text": " If commandBuffer is an unprotected command buffer, then dstBuffer must not be a protected buffer" + }, + { + "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-01833", + "text": " If commandBuffer is a protected command buffer, then dstBuffer must not be an unprotected buffer" + } ] }, "VkBufferImageCopy": { @@ -10800,9 +11192,23 @@ "vuid": "VUID-vkCmdBlitImage-filter-00237", "text": " If filter is VK_FILTER_CUBIC_IMG, srcImage must have a VkImageType of VK_IMAGE_TYPE_3D" } - ] - }, - "VkImageBlit": { + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdBlitImage-commandBuffer-01834", + "text": " If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image" + }, + { + "vuid": "VUID-vkCmdBlitImage-commandBuffer-01835", + "text": " If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image" + }, + { + "vuid": "VUID-vkCmdBlitImage-commandBuffer-01836", + "text": " If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image" + } + ] + }, + "VkImageBlit": { "core": [ { "vuid": "VUID-VkImageBlit-aspectMask-00238", @@ -11004,6 +11410,20 @@ "vuid": "VUID-vkCmdResolveImage-dstImageLayout-01401", "text": " dstImageLayout must be VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL or VK_IMAGE_LAYOUT_GENERAL" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdResolveImage-commandBuffer-01837", + "text": " If commandBuffer is an unprotected command buffer, then srcImage must not be a protected image" + }, + { + "vuid": "VUID-vkCmdResolveImage-commandBuffer-01838", + "text": " If commandBuffer is an unprotected command buffer, then dstImage must not be a protected image" + }, + { + "vuid": "VUID-vkCmdResolveImage-commandBuffer-01839", + "text": " If commandBuffer is a protected command buffer, then dstImage must not be an unprotected image" + } ] }, "VkImageResolve": { @@ -11293,6 +11713,20 @@ "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex." } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdDraw-commandBuffer-01850", + "text": " If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer." + }, + { + "vuid": "VUID-vkCmdDraw-commandBuffer-01851", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer." + }, + { + "vuid": "VUID-vkCmdDraw-commandBuffer-01852", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer." + } + ], "(VK_EXT_sample_locations)": [ { "vuid": "VUID-vkCmdDraw-sampleLocationsEnable-01512", @@ -11407,6 +11841,20 @@ "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex." } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdDrawIndexed-commandBuffer-01853", + "text": " If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndexed-commandBuffer-01854", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndexed-commandBuffer-01855", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer." + } + ], "(VK_EXT_sample_locations)": [ { "vuid": "VUID-vkCmdDrawIndexed-sampleLocationsEnable-01513", @@ -11557,6 +12005,20 @@ "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex." } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdDrawIndirect-commandBuffer-01856", + "text": " If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndirect-commandBuffer-01857", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndirect-commandBuffer-01858", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer." + } + ], "(VK_EXT_sample_locations)": [ { "vuid": "VUID-vkCmdDrawIndirect-sampleLocationsEnable-01514", @@ -11725,6 +12187,20 @@ "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex." } ], + "(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01859", + "text": " If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01860", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndirectCountAMD-commandBuffer-01861", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer." + } + ], "(VK_AMD_draw_indirect_count)+(VK_EXT_sample_locations)": [ { "vuid": "VUID-vkCmdDrawIndirectCountAMD-sampleLocationsEnable-01515", @@ -11875,6 +12351,20 @@ "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex." } ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-commandBuffer-01862", + "text": " If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-commandBuffer-01863", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-commandBuffer-01864", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer." + } + ], "(VK_EXT_sample_locations)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-sampleLocationsEnable-01516", @@ -12047,6 +12537,20 @@ "text": " If the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex." } ], + "(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01865", + "text": " If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01866", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer." + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-commandBuffer-01867", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage other than the framebuffer-space pipeline stages in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_GRAPHICS reads from or writes to any image or buffer, the image or buffer must not be a protected image or protected buffer." + } + ], "(VK_AMD_draw_indirect_count)+(VK_EXT_sample_locations)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-sampleLocationsEnable-01517", @@ -13324,6 +13828,20 @@ "vuid": "VUID-vkCmdDispatch-None-00400", "text": " Any VkImageView being sampled with VK_FILTER_CUBIC_IMG as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdDispatch-commandBuffer-01844", + "text": " If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_COMPUTE reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer." + }, + { + "vuid": "VUID-vkCmdDispatch-commandBuffer-01845", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer." + }, + { + "vuid": "VUID-vkCmdDispatch-commandBuffer-01846", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage other than the compute pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE reads from any image or buffer, the image or buffer must not be a protected image or protected buffer." + } ] }, "vkCmdDispatchIndirect": { @@ -13418,6 +13936,20 @@ "vuid": "VUID-vkCmdDispatchIndirect-None-00416", "text": " Any VkImageView being sampled with VK_FILTER_CUBIC_IMG as a result of this command must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY" } + ], + "(VK_VERSION_1_1)": [ + { + "vuid": "VUID-vkCmdDispatchIndirect-commandBuffer-01847", + "text": " If commandBuffer is an unprotected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_BIND_POINT_COMPUTE reads from or writes to any image or buffer, that image or buffer must not be a protected image or protected buffer." + }, + { + "vuid": "VUID-vkCmdDispatchIndirect-commandBuffer-01848", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE writes to any image or buffer, that image or buffer must not be an unprotected image or unprotected buffer." + }, + { + "vuid": "VUID-vkCmdDispatchIndirect-commandBuffer-01849", + "text": " If commandBuffer is a protected command buffer, and any pipeline stage other than the compute pipeline stage in the VkPipeline object currently bound to VK_PIPELINE_POINT_COMPUTE reads from any image or buffer, the image or buffer must not be a protected image or protected buffer." + } ] }, "VkDispatchIndirectCommand": { @@ -16125,7 +16657,7 @@ "vkAcquireNextImage2KHR": { "(VK_KHR_surface)+(VK_KHR_swapchain)+(VK_VERSION_1_1,VK_KHR_device_group)": [ { - "vuid": "VUID-vkAcquireNextImage2KHX-swapchain-01803", + "vuid": "VUID-vkAcquireNextImage2KHR-swapchain-01803", "text": " If the number of currently acquired images is greater than the difference between the number of images in the swapchain member of pAcquireInfo and the value of VkSurfaceCapabilitiesKHR::minImageCount as returned by a call to vkGetPhysicalDeviceSurfaceCapabilities2KHR with the surface used to create swapchain, the timeout member of pAcquireInfo must not be UINT64_MAX" }, { @@ -16153,7 +16685,7 @@ "text": " If semaphore is not VK_NULL_HANDLE it must be unsignaled" }, { - "vuid": "VUID-VkAcquireNextImageInfoKHX-semaphore-01781", + "vuid": "VUID-VkAcquireNextImageInfoKHR-semaphore-01781", "text": " If semaphore is not VK_NULL_HANDLE it must not have any uncompleted signal or wait operations pending" }, { @@ -16161,7 +16693,7 @@ "text": " If fence is not VK_NULL_HANDLE it must be unsignaled and must not be associated with any other queue command that has not yet completed execution on that queue" }, { - "vuid": "VUID-VkAcquireNextImageInfoKHX-semaphore-01782", + "vuid": "VUID-VkAcquireNextImageInfoKHR-semaphore-01782", "text": " semaphore and fence must not both be equal to VK_NULL_HANDLE" }, { @@ -16173,7 +16705,7 @@ "text": " deviceMask must not be zero" }, { - "vuid": "VUID-VkAcquireNextImageInfoKHX-semaphore-01804", + "vuid": "VUID-VkAcquireNextImageInfoKHR-semaphore-01804", "text": " semaphore and fence must not both be equal to VK_NULL_HANDLE." }, { @@ -16980,7 +17512,7 @@ }, { "vuid": "VUID-VkImageFormatProperties2-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkExternalImageFormatProperties, VkSamplerYcbcrConversionImageFormatProperties, or VkTextureLODGatherFormatPropertiesAMD" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAndroidHardwareBufferUsageANDROID, VkExternalImageFormatProperties, VkSamplerYcbcrConversionImageFormatProperties, or VkTextureLODGatherFormatPropertiesAMD" }, { "vuid": "VUID-VkImageFormatProperties2-sType-unique", @@ -17020,6 +17552,18 @@ } ] }, + "VkAndroidHardwareBufferUsageANDROID": { + "(VK_VERSION_1_1,VK_KHR_get_physical_device_properties2)+(VK_ANDROID_external_memory_android_hardware_buffer)": [ + { + "vuid": "VUID-VkAndroidHardwareBufferUsageANDROID-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID" + }, + { + "vuid": "VUID-VkAndroidHardwareBufferUsageANDROID-pNext-pNext", + "text": " pNext must be NULL" + } + ] + }, "vkGetPhysicalDeviceExternalBufferProperties": { "(VK_VERSION_1_1,VK_KHR_external_memory_capabilities)": [ { @@ -17164,6 +17708,350 @@ } ] }, + "vkSetDebugUtilsObjectNameEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkSetDebugUtilsObjectNameEXT-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkSetDebugUtilsObjectNameEXT-pNameInfo-parameter", + "text": " pNameInfo must be a valid pointer to a valid VkDebugUtilsObjectNameInfoEXT structure" + } + ] + }, + "VkDebugUtilsObjectNameInfoEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-objectType-01905", + "text": " objectType must not be VK_OBJECT_TYPE_UNKNOWN" + }, + { + "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01906", + "text": " objectHandle must not be VK_NULL_HANDLE" + }, + { + "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-objectHandle-01907", + "text": " objectHandle must be a Vulkan object of the type associated with objectType as defined in <<debugging-object-types>>." + }, + { + "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT" + }, + { + "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-objectType-parameter", + "text": " objectType must be a valid VkObjectType value" + }, + { + "vuid": "VUID-VkDebugUtilsObjectNameInfoEXT-pObjectName-parameter", + "text": " If pObjectName is not NULL, pObjectName must be a null-terminated UTF-8 string" + } + ] + }, + "vkSetDebugUtilsObjectTagEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkSetDebugUtilsObjectTagEXT-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkSetDebugUtilsObjectTagEXT-pTagInfo-parameter", + "text": " pTagInfo must be a valid pointer to a valid VkDebugUtilsObjectTagInfoEXT structure" + } + ] + }, + "VkDebugUtilsObjectTagInfoEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-objectType-01908", + "text": " objectType must not be VK_OBJECT_TYPE_UNKNOWN" + }, + { + "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01909", + "text": " objectHandle must not be VK_NULL_HANDLE" + }, + { + "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-objectHandle-01910", + "text": " objectHandle must be a Vulkan object of the type associated with objectType as defined in <<debugging-object-types>>." + }, + { + "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT" + }, + { + "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-objectType-parameter", + "text": " objectType must be a valid VkObjectType value" + }, + { + "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-pTag-parameter", + "text": " pTag must be a valid pointer to an array of tagSize bytes" + }, + { + "vuid": "VUID-VkDebugUtilsObjectTagInfoEXT-tagSize-arraylength", + "text": " tagSize must be greater than 0" + } + ] + }, + "vkQueueBeginDebugUtilsLabelEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkQueueBeginDebugUtilsLabelEXT-queue-parameter", + "text": " queue must be a valid VkQueue handle" + }, + { + "vuid": "VUID-vkQueueBeginDebugUtilsLabelEXT-pLabelInfo-parameter", + "text": " pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure" + } + ] + }, + "VkDebugUtilsLabelEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-VkDebugUtilsLabelEXT-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT" + }, + { + "vuid": "VUID-VkDebugUtilsLabelEXT-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkDebugUtilsLabelEXT-pLabelName-parameter", + "text": " pLabelName must be a null-terminated UTF-8 string" + } + ] + }, + "vkQueueEndDebugUtilsLabelEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkQueueEndDebugUtilsLabelEXT-None-01911", + "text": " There must be an outstanding vkQueueBeginDebugUtilsLabelEXT command prior to the vkQueueEndDebugUtilsLabelEXT on the queue" + }, + { + "vuid": "VUID-vkQueueEndDebugUtilsLabelEXT-queue-parameter", + "text": " queue must be a valid VkQueue handle" + } + ] + }, + "vkQueueInsertDebugUtilsLabelEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkQueueInsertDebugUtilsLabelEXT-queue-parameter", + "text": " queue must be a valid VkQueue handle" + }, + { + "vuid": "VUID-vkQueueInsertDebugUtilsLabelEXT-pLabelInfo-parameter", + "text": " pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure" + } + ] + }, + "vkCmdBeginDebugUtilsLabelEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-parameter", + "text": " commandBuffer must be a valid VkCommandBuffer handle" + }, + { + "vuid": "VUID-vkCmdBeginDebugUtilsLabelEXT-pLabelInfo-parameter", + "text": " pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure" + }, + { + "vuid": "VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-recording", + "text": " commandBuffer must be in the <<commandbuffers-lifecycle, recording state>>" + }, + { + "vuid": "VUID-vkCmdBeginDebugUtilsLabelEXT-commandBuffer-cmdpool", + "text": " The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations" + } + ] + }, + "vkCmdEndDebugUtilsLabelEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912", + "text": " There must be an outstanding vkCmdBeginDebugUtilsLabelEXT command prior to the vkCmdEndDebugUtilsLabelEXT on the queue that commandBuffer is submitted to" + }, + { + "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01913", + "text": " If commandBuffer is a secondary command buffer, there must be an outstanding vkCmdBeginDebugUtilsLabelEXT command recorded to commandBuffer that has not previously been ended by a call to vkCmdEndDebugUtilsLabelEXT." + }, + { + "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-parameter", + "text": " commandBuffer must be a valid VkCommandBuffer handle" + }, + { + "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-recording", + "text": " commandBuffer must be in the <<commandbuffers-lifecycle, recording state>>" + }, + { + "vuid": "VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-cmdpool", + "text": " The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations" + } + ] + }, + "vkCmdInsertDebugUtilsLabelEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-parameter", + "text": " commandBuffer must be a valid VkCommandBuffer handle" + }, + { + "vuid": "VUID-vkCmdInsertDebugUtilsLabelEXT-pLabelInfo-parameter", + "text": " pLabelInfo must be a valid pointer to a valid VkDebugUtilsLabelEXT structure" + }, + { + "vuid": "VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-recording", + "text": " commandBuffer must be in the <<commandbuffers-lifecycle, recording state>>" + }, + { + "vuid": "VUID-vkCmdInsertDebugUtilsLabelEXT-commandBuffer-cmdpool", + "text": " The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations" + } + ] + }, + "vkCreateDebugUtilsMessengerEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkCreateDebugUtilsMessengerEXT-instance-parameter", + "text": " instance must be a valid VkInstance handle" + }, + { + "vuid": "VUID-vkCreateDebugUtilsMessengerEXT-pCreateInfo-parameter", + "text": " pCreateInfo must be a valid pointer to a valid VkDebugUtilsMessengerCreateInfoEXT structure" + }, + { + "vuid": "VUID-vkCreateDebugUtilsMessengerEXT-pAllocator-parameter", + "text": " If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure" + }, + { + "vuid": "VUID-vkCreateDebugUtilsMessengerEXT-pMessenger-parameter", + "text": " pMessenger must be a valid pointer to a VkDebugUtilsMessengerEXT handle" + } + ] + }, + "VkDebugUtilsMessengerCreateInfoEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-01914", + "text": " pfnUserCallback must be a valid PFN_vkDebugUtilsMessengerCallbackEXT" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-flags-zerobitmask", + "text": " flags must be 0" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-parameter", + "text": " messageSeverity must be a valid combination of VkDebugUtilsMessageSeverityFlagBitsEXT values" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-messageSeverity-requiredbitmask", + "text": " messageSeverity must not be 0" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter", + "text": " messageType must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-requiredbitmask", + "text": " messageType must not be 0" + } + ] + }, + "VkDebugUtilsMessengerCallbackDataEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-flags-zerobitmask", + "text": " flags must be 0" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessageIdName-parameter", + "text": " If pMessageIdName is not NULL, pMessageIdName must be a null-terminated UTF-8 string" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter", + "text": " pMessage must be a null-terminated UTF-8 string" + }, + { + "vuid": "VUID-VkDebugUtilsMessengerCallbackDataEXT-objectCount-arraylength", + "text": " objectCount must be greater than 0" + } + ] + }, + "vkSubmitDebugUtilsMessageEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-instance-parameter", + "text": " instance must be a valid VkInstance handle" + }, + { + "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-messageSeverity-parameter", + "text": " messageSeverity must be a valid VkDebugUtilsMessageSeverityFlagBitsEXT value" + }, + { + "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-parameter", + "text": " messageTypes must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values" + }, + { + "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-requiredbitmask", + "text": " messageTypes must not be 0" + }, + { + "vuid": "VUID-vkSubmitDebugUtilsMessageEXT-pCallbackData-parameter", + "text": " pCallbackData must be a valid pointer to a valid VkDebugUtilsMessengerCallbackDataEXT structure" + } + ] + }, + "vkDestroyDebugUtilsMessengerEXT": { + "(VK_EXT_debug_utils)": [ + { + "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01915", + "text": " If VkAllocationCallbacks were provided when messenger was created, a compatible set of callbacks must be provided here" + }, + { + "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-messenger-01916", + "text": " If no VkAllocationCallbacks were provided when messenger was created, pAllocator must be NULL" + }, + { + "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-instance-parameter", + "text": " instance must be a valid VkInstance handle" + }, + { + "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parameter", + "text": " messenger must be a valid VkDebugUtilsMessengerEXT handle" + }, + { + "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-pAllocator-parameter", + "text": " If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure" + }, + { + "vuid": "VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parent", + "text": " messenger must have been created, allocated, or retrieved from instance" + } + ] + }, "vkDebugMarkerSetObjectNameEXT": { "(VK_EXT_debug_marker)": [ { diff --git a/scripts/vk.xml b/scripts/vk.xml index 3d7a35b5..36076d01 100644 --- a/scripts/vk.xml +++ b/scripts/vk.xml @@ -136,7 +136,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. // Vulkan 1.1 version number #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 70 +#define VK_HEADER_VERSION 71 #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; @@ -156,6 +156,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. struct ANativeWindow; + struct AHardwareBuffer; typedef uint32_t VkSampleMask; typedef uint32_t VkBool32; @@ -2929,6 +2930,44 @@ private version is maintained in the 1.0 branch of the member gitlab server. void* pNext uint32_t maxVertexAttribDivisormax value of vertex attribute divisor + + VkStructureType sType + const void* pNext + struct AHardwareBuffer* buffer + + + VkStructureType sType + void* pNext + uint64_t androidHardwareBufferUsage + + + VkStructureType sType + void* pNext + VkDeviceSize allocationSize + uint32_t memoryTypeBits + + + VkStructureType sType + const void* pNext + VkDeviceMemory memory + + + VkStructureType sType + void* pNext + VkFormat format + uint64_t externalFormat + VkFormatFeatureFlags formatFeatures + VkComponentMapping samplerYcbcrConversionComponents + VkSamplerYcbcrModelConversion suggestedYcbcrModel + VkSamplerYcbcrRange suggestedYcbcrRange + VkChromaLocation suggestedXChromaOffset + VkChromaLocation suggestedYChromaOffset + + + VkStructureType sType + void* pNext + uint64_t externalFormat + Vulkan enumerant (token) definitions @@ -5488,7 +5527,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. const VkAllocationCallbacks* pAllocator VkFence* pFence - + VkResult vkGetSwapchainCounterEXT VkDevice device VkSwapchainKHR swapchain @@ -5862,6 +5901,18 @@ private version is maintained in the 1.0 branch of the member gitlab server. VkDeviceSize dstOffset uint32_t marker + + VkResult vkGetAndroidHardwareBufferPropertiesANDROID + VkDevice device + const struct AHardwareBuffer* buffer + VkAndroidHardwareBufferPropertiesANDROID* pProperties + + + VkResult vkGetMemoryAndroidHardwareBufferANDROID + VkDevice device + const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo + struct AHardwareBuffer** pBuffer + @@ -7102,7 +7153,7 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + @@ -7287,12 +7338,10 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + - - - - + + @@ -7828,10 +7877,25 @@ private version is maintained in the 1.0 branch of the member gitlab server. - + - - + + + + + + + + + + + + + + + + + @@ -8455,5 +8519,11 @@ private version is maintained in the 1.0 branch of the member gitlab server. + + + + + + diff --git a/scripts/vuid_mapping.py b/scripts/vuid_mapping.py index 4848c8a4..47673964 100644 --- a/scripts/vuid_mapping.py +++ b/scripts/vuid_mapping.py @@ -601,6 +601,23 @@ func_struct_id_map = { 'vkSubmitDebugUtilsMessageEXT' : 545, 'VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' : 546, 'VkPipelineVertexInputDivisorStateCreateInfoEXT' : 547, +'VkExternalFormatANDROID' : 548, +'VkImportAndroidHardwareBufferInfoANDROID' : 549, +'VkMemoryGetAndroidHardwareBufferInfoANDROID' : 550, +'vkCmdEndDebugUtilsLabelEXT' : 551, +'vkDestroyDebugUtilsMessengerEXT' : 552, +'vkGetAndroidHardwareBufferPropertiesANDROID' : 553, +'vkQueueEndDebugUtilsLabelEXT' : 554, +'VkAndroidHardwareBufferUsageANDROID' : 555, +'VkAndroidHardwareBufferPropertiesANDROID' : 556, +'vkGetMemoryAndroidHardwareBufferANDROID' : 557, +'VkAndroidHardwareBufferFormatPropertiesANDROID' : 558, +'vkCmdBeginDebugUtilsLabelEXT' : 559, +'vkCmdInsertDebugUtilsLabelEXT' : 560, +'vkQueueBeginDebugUtilsLabelEXT' : 561, +'vkQueueInsertDebugUtilsLabelEXT' : 562, +'vkSetDebugUtilsObjectNameEXT' : 563, +'vkSetDebugUtilsObjectTagEXT' : 564, ### ADD New func/struct mappings above this line } # Mapping of params to unique IDs @@ -1129,6 +1146,15 @@ implicit_param_map = { 'messageTypes' : 521, 'vertexBindingDivisorCount' : 522, 'pVertexBindingDivisors' : 523, +'formatFeatures' : 524, +'suggestedYcbcrModel' : 525, +'suggestedYcbcrRange' : 526, +'suggestedXChromaOffset' : 527, +'suggestedYChromaOffset' : 528, +'pMessageIdName' : 529, +'pLabelInfo' : 530, +'messenger' : 531, +'pCallbackData' : 532, ### ADD New implicit param mappings above this line } -- cgit v1.2.3