Bug 94511

Summary: rv730 agp reproducable uvd gpu hangs in fullscreen
Product: Mesa Reporter: Roman Elshin <roman.elshin>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg
Xorg.log
dmesg ssh

Description Roman Elshin 2016-03-12 14:27:33 UTC
Created attachment 122250 [details]
dmesg

With some movies gpu hangs are quite reproducable while playing with "mpv hwdec=vdpau vo=vdpau" in fullscreen (1920x1200), in the same time "mpv hwdec=vdpau vo=opengl" work fine there.
For me it is quite easy to reproduce this with such encoded video:
ffmpeg -i big_buck_bunny_1080p_surround.avi -vf scale=1024:576 -c:v libx264 -preset medium -x264-params keyint_min=23 -c:a copy output_1024_576.mkv
Mostly it requires less then one minutes of playing in full screen for GPU hangs.
I suppose that problem is rv730 specific, as I can not reproduce it with rv740 (but it PCIe and work with CPU which is mutch faster).
Comment 1 Roman Elshin 2016-03-12 14:28:25 UTC
Created attachment 122251 [details]
Xorg.log
Comment 2 Roman Elshin 2016-03-12 14:53:13 UTC
Created attachment 122252 [details]
dmesg ssh
Comment 3 Christian König 2016-03-12 15:18:22 UTC
Most likely the name of the problem here is AGP.

We already tried a couple of different workarounds but it is quite hard to get fully stable with UVD.

Try to disable AGP with radeon.agpmode=-1 and see if that helps.
Comment 4 Roman Elshin 2016-03-12 16:22:32 UTC
No it does not change it, I think it more likely size alignments related issue. If I change monitors video mode to 1366x768 (16/9 same as video 1024/576) it works in fullscreen too. More clearly would be a 1920x1080, but I was unable to set cvt 1920 1080 60 mode (screen corruption).
Comment 5 Christian König 2016-03-12 16:50:10 UTC
Ok, well that's a bit strange.

Does "mpv vo=vdpau" works? E.g. VDPAU output, but with software decoding?
Comment 6 Roman Elshin 2016-03-12 17:05:59 UTC
Strange, but mpv --vo=vdpau works.
Comment 7 Roman Elshin 2016-03-12 19:42:48 UTC
with 1920x1080 it also hangs (hwdec=vdpau vo=vdpau).
Comment 8 Christian König 2016-03-13 10:48:51 UTC
A complete shoot in the dark, but please try to disable semaphores by just returning false from uvd_v2_2_semaphore_emit() in drivers/gpu/drm/radeon/uvd_v2_2.c.

Otherwise I'm running out of ideas what that could be.

The only other explanation I have is that the added load of UVD+displaying at a certain resolution is crashing the GFX block. But I have no idea why that should happen.
Comment 9 Roman Elshin 2016-03-13 11:51:26 UTC
bool uvd_v2_2_semaphore_emit(struct radeon_device *rdev,
                             struct radeon_ring *ring,
                             struct radeon_semaphore *semaphore,
                             bool emit_wait)
{
        return false;
}

Same things.
Comment 10 GitLab Migration User 2019-09-18 19:21:17 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/581.

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.