LunarG / vktrace

Vulkan vktrace / vkreplay
Other
6 stars 8 forks source link

vkreplay: can't replay a trace made at the same resolution as the monitor #3

Open johnzupin opened 6 years ago

johnzupin commented 6 years ago

My monitor is set at 1920x1080 and when I create a trace of a game at that resolution and try to replay it, I receive the error:

Errors: bad window size, aborting!
Errors: bad window size, aborting!

When I create a trace of a game below 1920x1080 resolution the replay works fine.

davidlunarg commented 6 years ago

Re-opening. This still does not work, although the bad window size error is no longer displayed. Instead get numerous errors from replay and the replay hangs.

erik-kz commented 6 years ago

The original motivation for adding that error was that with certain window managers, when vkreplay tries to set it's window size to the full size of the screen, the window manager will forcibly clamp it to a slightly smaller size (for example to avoid covering the clock / launcher bar, ect.). If this happens, the trace can't really be replayed as our surface is a different size than it was when the trace was taken.

I think most games use ICCCM to get a proper full screen window. It might be possible to have vkreplay query the size of the screen and do the same if it detects that the trace is using a surface of the same size.

Another alternative would be to use the OVERRIDE_REDIRECT flag when vkreplay's window is created, which would bypass the window manager completely. Maybe have this be a command line option?