Skip to content

Imageless Swapchain Vulkan Validation Error #3855

Description

@LPGhatguy

Description
On all wgpu programs that create a swapchain, I receive this Vulkan validation layer on my machine:

Validation Error: [ VUID-VkRenderPassBeginInfo-framebuffer-04627 ] Object 0: handle = 0x3a6cbb0000000025, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x45125641 | vkCmdBeginRenderPass: Image view #0 created from an image with usage set as (VK_IMAGE_USAGE_TRANSFER_SRC_BIT|VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) but using VkImageViewUsageCreateInfo the inherited usage is the subset (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) and the image info #0 used to create the framebuffer had usage set as (VK_IMAGE_USAGE_TRANSFER_SRC_BIT|VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT). The Vulkan spec states: If framebuffer was created with a VkFramebufferCreateInfo::flags value that included VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView with an inherited usage equal to the usage member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebuffer (https://vulkan.lunarg.com/doc/view/1.3.250.0/windows/1.3-extensions/vkspec.html#VUID-VkRenderPassBeginInfo-framebuffer-04627)

On some wgpu applications I have, this error is logged every frame. I think that's because I'm recreating the image view every frame, but I haven't looked into it.

Repro steps
Run the hello-triangle example from wgpu with Vulkan validation layers enabled.

Platform

  • Windows 10 22H2
  • Nvidia Driver 535.98
  • Vulkan SDK 1.3.250.0
  • Nvidia RTX 3070

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions