Bug 105179

Summary: DiRT Rally: wrong frames appear during camera transition
Product: Mesa Reporter: Gregor Münch <gr.muench>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTOURBUG QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: mdiluzio
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: big fps drop at the time the bug appears

Description Gregor Münch 2018-02-20 21:52:36 UTC
Created attachment 137483 [details]
big fps drop at the time the bug appears

The issue can be watched in Benchmark mode. The camera changes multiple times from outside to inside of the car during the benchmark run. Between the transition from one view to another you see the start point of the track for a short time (<1sec). There is also a stall and the framerate is dropping from over 100fps to 40fps. 
The start point is probably frame one and gets for unknown reason displayed where it should be long gone from cards video memory.
Just to clarify:
In the moment of the transition, you see the frame of the track start point and not the car and the trees surrounding which it actually should show.

Normally I would fill this as a RadeonSI issue but from reading:
https://lists.freedesktop.org/archives/mesa-dev/2018-February/185134.html

"except I got a few ltc errors in DiRT
Rally. Unclear if it's related to this patch though. Could be a missing
flush somewhere."

..I think it is a general mesa issue, except Im wrong here.

OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI / DRM 3.21.0 / 4.14.0-2-drm-next-dc-git, LLVM 7.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.1.0-devel (git-a572ec2efe)
OpenGL core profile shading language version string: 4.50
Comment 1 Ilia Mirkin 2018-02-20 22:02:53 UTC
(In reply to Gregor Münch from comment #0)
> https://lists.freedesktop.org/archives/mesa-dev/2018-February/185134.html
> 
> "except I got a few ltc errors in DiRT
> Rally. Unclear if it's related to this patch though. Could be a missing
> flush somewhere."
> 
> ..I think it is a general mesa issue, except Im wrong here.

This is a nouveau-specific problem, in fact, Maxwell+ only. LTC = level-two cache. Something specific to NVIDIA hw (other GPUs have it too, but it's always different and controlled by the hw or driver directly - not something that's API-accessible, or even generic across drivers).

Also note that the errors only happened when I force-enabled bindless textures in DiRT Rally (via a config option), which is the feature that the patch was implementing. The "missing flush" is in reference to something missing inside of nouveau wrt texture management. There's ample evidence that there's something off somewhere in there.

In any case, those ills are in no way related to radeonsi or any other driver.
Comment 2 Gregor Münch 2018-02-20 22:16:10 UTC
(In reply to Ilia Mirkin from comment #1)
> In any case, those ills are in no way related to radeonsi or any other
> driver.

Thx for your explanation! Sorry for the noise, reassigning to radeon than.
Comment 3 Michel Dänzer 2018-02-21 10:13:35 UTC
Seeing the start point of the track intermittently happens with r600g as well, does it really not happen with other drivers? I've been assuming it's a game issue, it's hard to imagine how a Mesa bug could cause that.

For the FPS drops, something like GALLIUM_HUD=.dfps,.drequested-VRAM+mapped-VRAM+VRAM-usage+VRAM-vis-usage,.drequested-GTT+mapped-GTT+GTT-usage,cpu+temperature+GPU-load,.dnum-bytes-moved,.dbuffer-wait-time,.dnum-compilations+num-shaders-created might show what they're related to. My guess would be shader compiles.
Comment 4 Gregor Münch 2018-02-21 22:33:15 UTC
Have to confirm its really a game bug.
GTX 780:
https://youtu.be/jXk3jUuJJ8w?t=144

R9 390:
https://youtu.be/zht3LtKXUGY?t=83

Will open another bug for the stuttering. Looks smooth on nvidia and the r9 390, so its either a SI issue or something with my own configuration.
Comment 5 Marc Di Luzio 2018-02-23 10:02:34 UTC
Cheers for the CC, I'll get this tracked internally.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.