LunarG / gfxreconstruct

Graphics API Capture and Replay Tools for Reconstructing Graphics Application Behavior
https://vulkan.lunarg.com/doc/sdk/latest/linux/capture_tools.html
MIT License
416 stars 123 forks source link

[openxr] Improve API re-entrance handling #1723

Open MarkY-LunarG opened 2 months ago

MarkY-LunarG commented 2 months ago

OpenXR runtimes can generate Vulkan/D3D API commands to perform work required in the API. This could include compositing images, However, when capturing OpenXR and graphics API commands, we do not want to mix Vulkan/D3D commands the application is generating with those generated by the OpenXR runtime. Because of this, we stop recording API commands when calling down to the OpenXR runtime, and start again once it returns.

However, this can be inaccurate and produce incomplete results:

Investigate improving the re-entrance handling with these possible scenarios in mind.

MarkY-LunarG commented 2 months ago

We could limit threads that we record on. I.e. first commands we receive Vulkan commands from we record until we hit create openxr?