Open dustin-lunarg opened 5 years ago
Is the plan to also support surface composition? Especially on Android, I see games and apps increasingly using multiple surfaces (such as user interface) that overlap and leave it to SurfaceFlinger to compose them on top of each other. The capabilities for composition (display controller, OS compositor, etc.) may vary between platforms, and hopefully gfxreconstruct would be able to reconstruct the replay to work independently of them, so that eg you could trace on Android and replay correctly on desktop.
The intent of this issue was to make Linux replay more flexible with respect to surface creation. We now support Xcb, Xlib, Wayland surface creation. By default, replay will always create surfaces as Xcb surfaces, with the --wsi
option allowing the user to select a different WSI surface type. Eventually, we would like replay to automatically create surfaces based on the captured surface creation call. So if the capture file included a vkCreateXlibSurfaceKHR call, replay would automatically create an Xlib surface, instead of the current behavior where it will create an Xcb surface unless the uses specifies --wsi xlib
to force creation of an Xlib surface.
Support for composition would be a separate issue. I'm assuming that it would be hard to automatically determine when surfaces need to be composited, so would require some user input to enable composition.
Linux replay currently converts all surface creation calls to either Xcb or Wayland surface creation calls. The tool should support creating multiple surface types during replay.
If a capture file contains both Xcb and Wayland surfaces, and the replay tool was built with support for both Xcb and Wayland surfaces, it should create both Wayland and Xcb surfaces instead of converting all surfaces to either Xcb surfaces or Wayland surfaces. It should only convert a surface if it was not built with support for that surface type.