Skip to content

[replay] Vulkan dump resources command-buffer clones reuse mutated attachments #3258

Description

@MartynJacques-Arm

Describe the replay bug:
If an attachment is mutated by a prior-dumped draw and is used by the current draw, then the current draw being dumped reads those mutations, and its attachments are corrupted. For example

// original API calls
CmdBuf
 RenderPass
  DrawOne // blend
  DrawTwo // blend
 RenderPass
CmdBuf

becomes

// dump attachments of DrawOne
CmdBuf
 RenderPass
  DrawOne      <- dump attachments
 RenderPass
CmdBuf

// dump attachments of DrawTwo
CmdBuf
 RenderPass
  DrawOne
  DrawTwo      <- dump attachments
 RenderPass
CmdBuf

The execution of "dump attachments of DrawTwo" reads the results of the prior command buffer replay and blends into those results, instead of the original attachment state.

Activity

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

Metadata

Metadata

Assignees

Labels

P2A high-priority code maintenance issue or a functional problem that is recoverable or not a crash.bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions