Skip to content

False positive VUID-VkDeviceMemoryImageCopyKHR-addressRange-13122 for buffer created with INDEX|TRANSFER_SRC #13040

Description

@Cyphall

Environment:

  • OS: Windows 11
  • GPU and driver version: RTX 5080 616.56
  • Commit: 142444e
  • Options enabled: Core + GPUAV

Describe the Issue

Same issue as #12907 but with vkCmdCopyMemoryToImageKHR this time:

vkCmdCopyMemoryToImageKHR(): pCopyMemoryInfo->pRegions[0].addressRange.address (0x19e50000) belongs to VkBuffer 0x310000000031[Texture staging buffer], which was created with VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT, but address flags (VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR) do not contain VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR or VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR.
The Vulkan spec states: If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing addressRange, was created with VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, addressFlags must include VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR or VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR (https://docs.vulkan.org/spec/latest/chapters/copies.html#VUID-VkDeviceMemoryImageCopyKHR-addressRange-13122)

Probably also happens with other commands that were not added to the list of VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR patches last time.
In general, all commands taking VkAddressCommandFlagsKHR are affected and should be added to the list.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

GPU-AVGPU Assisted Validation

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions