[Bug 49603] New: [regression] Fullscreen video no longer smooth with GPU in low power mode

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon May 7 13:11:36 PDT 2012


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

             Bug #: 49603
           Summary: [regression] Fullscreen video no longer smooth with
                    GPU in low power mode
    Classification: Unclassified
           Product: Mesa
           Version: 8.0
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/r600
        AssignedTo: dri-devel at lists.freedesktop.org
        ReportedBy: sa at whiz.se


With Mesa 8.0 I can watch fullscreen videos using Totem (and other players that
uses an OpenGL sink) with my GPU set to "low" power mode without problems. With
8.0.1 (and later) this is no longer possible. Every so often I get stalls and
what looks like dropped frames. It's a blink and you'll miss it kind of thing,
but over a longer period of time (such as watching a movie) it's quite
noticeable and annoying.

Setting the card to "mid" or higher works around this, but as it's a passive
card I would prefer to keep it running in low as much as possible.

Bisecting for this bug turns up the below commit, I have confirmed it by
reverting this change. 

(I'm not sure if adding the patch author to the cc list is considered good
practice or not?)

System environment:
-- system architecture: 32-bit
-- Linux distribution: Debian unstable
-- GPU: REDWOOD
-- Model: XFX Radeon HD 5670 1GB
-- Display connector: DVI
-- xf86-video-ati: 6.14.4
-- xserver: 1.12.1
-- mesa: 8.0.2
-- drm: 2.4.33
-- kernel: 3.3.4


106ea10d1b246aba1a0f4e171fd7d21268f3960f is the first bad commit
commit 106ea10d1b246aba1a0f4e171fd7d21268f3960f
Author: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
Date:   Tue Feb 14 12:06:20 2012 +0000

    r600g: Use a fake reloc to sleep for fences

    r300g is able to sleep until a fence completes rather than busywait because
    it creates a special buffer object and relocation that stays busy until the
    CS containing the fence is finished.

    Copy the idea into r600g, and use it to sleep if the user asked for an
    infinite wait, falling back to busywaiting if the user provided a timeout.

    Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    (cherry picked from commit 8cd03b933cf868ff867e2db4a0937005a02fd0e4)

    Conflicts:

        src/gallium/drivers/r600/r600_pipe.c

:040000 040000 390170e370f86ee323dce284906ed21693ed9d09
cccea412e6be4f3619422196231e02b375ab4772 M    src

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the dri-devel mailing list