Describe the replay bug:
When pausing replay on the first frame, the automatic pause triggers twice and needs to be manually unpaused twice.
Verify before submission:
Was trimming enabled? I've reproduced this with both trimmed and non-trimmed captures.
Was replayer renamed if necessary? Not tested.
Was --sync used if title is known to need forced synchronization? Not tested.
Build Environment:
Tested 5583aee63f68c4da0e0dd288db3c596c49056052 and cc728336535270a79d55b74d8547ce94d03743d0 (v1.0.4).
To Reproduce
Steps to reproduce the behavior:
Create a GFXR file. I've mainly used Khronos vulkan samples for this. The capture can be done with a manual --trigger or with --trigger-frames or as a full capture.
Run gfxrecon-replay with --pause or --pause-frame 1.
Note "Paused at frame 1" in the log
Press space once
Note "Paused at frame 1" appears a second time in the log
Press space again
The capture will play to completion
System environment:
GPU and driver version on which capture was taken: NVIDIA GeForce RTX 4070 Laptop GPU, driver version 537.34.0.0. Windows 10.
GPU and driver version on which capture file was replayed with issue: NVIDIA GeForce RTX 4070 Laptop GPU, driver version 537.34.0.0. Windows 10.
Additional information (optional):
is there a SHA for which replayer is known to replay correctly? Yes; ae9ce165a72ff4cceaecb4801bf87a4ae4395183 (right after #243 was merged) works properly. v1.0.4 and a recent development build do not work properly. I bisected this issue to c2b4bec49f1ad876bf970cc4d9af8d625d3096ff.
Is there an older trace that works? What SHA was used to build those capture DLLs? I haven't found one.
Does a newer capture work? I've tried recent captures and old captures and they both behave the same way.
Does the capture file replay correctly on a different GPU? I've also reproduced this on Android with a Samsung development device.
This does not happen when using --pause-frame 2 or other values. --pause-frame 0 never pauses. (I don't think #1195 is relevant here).
Both pauses are triggered by Application::PlaySingleFrame (and not by SetPaused; see #578); file_processor_->GetCurrentFrameNumber() returns 1 twice.
I did a bit more testing, and even a capture from v1.0.0 (21dc82d5ec98cad73d1cc55f20939f92c9f74f34) experiences this issue when replayed on c2b4bec49f1ad876bf970cc4d9af8d625d3096ff or newer.
Describe the replay bug: When pausing replay on the first frame, the automatic pause triggers twice and needs to be manually unpaused twice.
Verify before submission:
Build Environment: Tested 5583aee63f68c4da0e0dd288db3c596c49056052 and cc728336535270a79d55b74d8547ce94d03743d0 (v1.0.4).
To Reproduce Steps to reproduce the behavior:
--trigger
or with--trigger-frames
or as a full capture.--pause
or--pause-frame 1
.System environment:
Additional information (optional):
This does not happen when using
--pause-frame 2
or other values.--pause-frame 0
never pauses. (I don't think #1195 is relevant here).Both pauses are triggered by
Application::PlaySingleFrame
(and not bySetPaused
; see #578);file_processor_->GetCurrentFrameNumber()
returns 1 twice.