[Bug 103408] [bisected] frames dropped during video replay due to "add hardware_planes_only to list of affected planes"

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Oct 22 23:22:48 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=103408

            Bug ID: 103408
           Summary: [bisected] frames dropped during video replay due to
                    "add hardware_planes_only to list of affected planes"
           Product: DRI
           Version: DRI git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: DRM/AMDgpu
          Assignee: dri-devel at lists.freedesktop.org
          Reporter: jb5sgc1n.nya at 20mm.eu

After updating my kernel compiled from
https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-drm-next recently
I noticed that when displaying videos full screen (displayed as 3840x2160 @
23.9760 Hz) the replay would loose/drop frames every 10 to 20 seconds.

I bisected the latest commits to amd-staging-drm-next and I could identify one
singe commit that 100% reproduceably introduces this symptom:

247258874c90af2b639b6f0dddd839c97464dacb is the first bad commit
commit 247258874c90af2b639b6f0dddd839c97464dacb
Author: Shirish S <shirish.s at amd.com>
Date:   Wed Sep 27 15:15:38 2017 +0530

    drm/amd/display: add hardware_planes_only to list of affected planes

    For SoC's having software designed cursor plane,
    should be treated differently than hardware cursor planes.

    The DRM core initializes cursor plane by default with
    legacy_cursor_update set.

    Hence legacy_cursor_update can be use effectively
    to handle software cursor planes' update and atomicity
    functionalities.

    This patch uses this variable to decide in the atomic_check
    to whether add a requested plane to the list of affected planes or
    not, hence fixing the issue of co-existence of MPO, i.e,
    setting of available hardware planes like underlay and
    updation of cursor planes as well.

    Without this patch when underlay is set from user space,
    only blank screen with backlight is visible.

    Signed-off-by: Shirish S <shirish.s at amd.com>
    Reviewed-by: Harry Wentland <Harry.Wentland at amd.com>

When I revert just this commit from today's HEAD of amd-staging-drm-next, the
frame drops are gone.

How to reproduce:

- Use an HDMI connected 3840x2160 display, with Option "TearFree" "On" in your
Xorg config file amdgpu Device section. (Without "TearFree" "On", playing
videos is totally uglyfied by teared frames, so it would be hard to notice the
dropped frames.)

- Use "xrandr --output HDMI-A-0 --mode 3840x2160 --rate 23.976" to set your
display to the refresh rate of the video - I only tried videos recorded at
23.976, don't know whether the same effect happens with other frame rates.

- Use a player like "mpv" to full-screen(!) display a video that contains
scenes with smooth panning - in such scenes, the effect of dropping frames is
most pronounced. You will also see the "dropped frame" count emitted in the
status line of "mpv" increase.

Possible other causes I ruled out:

- Using different video-drivers with mpv - Xv, X11, opengl, all expose the same
symptom.

- Using hardware (vaapi) versus software decoding makes no difference.

- Using different parameters for mpv's "--video-sync=..." option makes no
difference - the drops occur in every mode

- Manually setting the GPU to e.g.
   cd /sys/class/drm/card0/device
   echo manual >power_dpm_force_performance_level
   echo 3 >pp_dpm_sclk
   echo 1 >pp_dpm_mclk 
  does not make a difference - the symptom occurs with and without this

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20171022/609e7f09/attachment-0001.html>


More information about the dri-devel mailing list