Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI freeze on Linux/vulkan replay #2083

Closed
kvark opened this issue Oct 28, 2020 · 4 comments
Closed

UI freeze on Linux/vulkan replay #2083

kvark opened this issue Oct 28, 2020 · 4 comments
Labels
Bug A crash, misbehaviour, or other problem Unresolved Waiting for a fix or implementation

Comments

@kvark
Copy link
Contributor

kvark commented Oct 28, 2020

Description

Capturing and replaying a relatively simple workload freezes the UI and makes it unusable.

Steps to reproduce

  • download and unpack wgpu-trace.zip
  • download and unpack wgpu.zip
  • cd wgpu/player
  • cargo build --features renderdoc - this may take a bit of time, requires Cargo + Rust. The artifact we are interested in is ../target/debug/play, and that's what we'll be running from renderdoc, passing the wgpu-trace path as a parameter.
  • launch the app from Renderdoc using the following settings:
    renderdoc-capture-settings

You'd need to change the paths to wgpu and wgpu-trace. It will finish quickly and produce a capture automatically.
Navigating to the draw call (EID 43, for example, and then to EID 9) would show the progress bar at the bottom, which never stops and freezes the UI:
renderdoc-progress-bar

The application stops responding and can only be killed after that.

Environment

  • RenderDoc version: 1.10
  • Operating System: Solus linux
  • Graphics API: Vulkan
@baldurk
Copy link
Owner

baldurk commented Oct 28, 2020

Can you share the capture itself that hangs? I can more easily look into that since it means I won't have to figure out how to set up cargo + rust. If not that's fine it might just be a little longer before I can repro this.

@baldurk baldurk added Bug A crash, misbehaviour, or other problem Unresolved Waiting for a fix or implementation labels Oct 28, 2020
@kvark
Copy link
Contributor Author

kvark commented Oct 28, 2020

Here we go: renderdoc-bug-capture.zip

@baldurk
Copy link
Owner

baldurk commented Oct 28, 2020

This seems like it may be the same as #1863 . I can replay the capture fine with latest mesa on my hardware, but looking at it I can see that your application still maps memory behind GPU render targets and there was a bug that meant renderdoc was still replaying mapped memory updates into that.

Please try again with that commit, if it still doesn't work let me know and I can investigate again. If it does still happen I'd particularly be interested to know if it still happens on your nvidia card, or on intel if you don't map memory with render targets bound.

@kvark
Copy link
Contributor Author

kvark commented Oct 28, 2020

I confirm your fix works. Thanks for the quick turnaround (and unblocking me)! 🥇

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug A crash, misbehaviour, or other problem Unresolved Waiting for a fix or implementation
Projects
None yet
Development

No branches or pull requests

2 participants