Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • mesa mesa
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,058
    • Issues 3,058
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1,004
    • Merge requests 1,004
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MesaMesa
  • mesamesa
  • Issues
  • #2965
Closed
Open
Issue created May 14, 2020 by Ani@AniLeo

mesa_glthread: Some games don't render or hang amdgpu driver on RPCS3 async render

Been testing this issue the whole day, this issue has just left me incredibly confused:

With mesa_glthread=true, some games will not render using RPCS3 async shader compiler mode (others will work just fine). All tested games render fine on sync shader compiler mode on all scenarios. With mesa_glthread=false the async (and sync) shader compiler mode works fine for all games.

Tested environments (RPCS3 Shader ASync mode):

  • amdgpu with a R9 280X GCN1 GPU: Driver hangs the whole OS and requires it to be rebooted, seems to happen during shader compilation, maybe related to yuzu-emu #1348 (closed) or #2967 (closed)?
mai 13 12:58:08 crystal kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=5017, emitted seq=5019
mai 13 12:58:08 crystal kernel: [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process rpcs3 pid 2879 thread rpcs3:cs0 pid 2933
  • amdgpu with a RX 470 Polaris10 GPU: The games render while displaying a black screen (can hear audio going fine).
  • iris with a HD 530: The games render while displaying a black screen (can hear audio going fine).

When trying apitrace on the scenarios where the entire OS doesn't hang the trace gets replayed back properly with stuff rendering normally, even though in real-time nothing displayed.

I've tried enabling MESA_DEBUG logging, but nothing is logged, KHR_DEBUG logging in-app doesn't show anything as well. I'm not sure what kind of information do you need for this one. I have found how to reproduce this with a non-commercial, homebrew game, so I'll include the steps for it:

    1. Get RPCS3 and install the software requirements listed on Quickstart
    1. Start RPCS3 with mesa_glthread=true ./rpcs3.AppImage
    1. Install the UFO Racer v3.4 homebrew game (drag and drop package to the emulator UI)
    1. On Settings -> GPU -> Shader Mode you can alternate between ASync and Sync modes
    1. Boot the game, the issue happens immediately and the game doesn't display on ASync mode

Please ask for further information / logs / traces, whatever is helpful, as I have no clue what else to provide in this case.

Edited May 14, 2020 by Ani
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking