Skip to content

--sync for Capture #1043

Open
Open
@andrew-lunarg

Description

@andrew-lunarg

An option for capture:

    GFXRECON_SYNC

...which does at capture time what --sync does at replay: "Synchronize after each queue submission with vkQueueWaitIdle."

This would let us capture a more correct trace from apps which issue a sequence of command with the potential to delete or reset resources still in-flight on the GPU. An app could work fine on its own and at capture but then fail or fail to validate at replay because replay issues the commands faster than the original app did and thus wins (or loses) a race against the GPU.

Rather than fixing this at replay, doing it at capture lets us have a conservatively good trace that the app couldn't have made on its own. Once we have an app that's known to need --sync to replay safely, going back and recapturing with GFXRECON_SYNC is less error-prone and more automatic than shipping the instruction to use --sync around with the binary trace file.

We probably want to record the wait idle into the capture, which is equivalent to forcing --sync on replay.

We might want to do a vkDeviceWaitIdle to account for multiple threads bashing on different queues in a potential future multithreaded replay.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2A high-priority code maintenance issue or a functional problem that is recoverable or not a crash.captureIssue with captureenhancementNew feature or requestgood first issueGood for newcomers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions