google / gapid

Graphics API Debugger
https://gapid.dev
Apache License 2.0
2.21k stars 328 forks source link

Serialize buffer contents on transfer from external queue. #3790

Closed bjoeris closed 4 years ago

bjoeris commented 4 years ago

This PR is work toward supporting external memory (https://github.com/bjoeris/gapid/tree/extern-mem).

When a VkBufferMemoryBarrier (in a vkCmdPipelineBarrier or vkCmdWaitEvents call) has srcQueueFamilyIndex = VK_QUEUE_FAMILY_EXTERNAL, this indicates that the buffer contents may have been changed by an external process. This PR saves the contents when tracing, and restores the contents when replaying.

Capture:

Replay: