Bug 75620

Summary: [NVAA] nouveau: tearing regression
Product: xorg Reporter: Alexander Stein <alexanders83>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED NOTABUG QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
git bisect log none

Description Alexander Stein 2014-02-28 19:56:21 UTC
Created attachment 94915 [details]
git bisect log

I noticed mplayer showing some tearing starting from kernel version v3.10.7 which wasn't there in v3.8.
I could bisect it down to commit 1d7c71a3e2f77336df536855b0efd2dc5bdeb41b (drm/nouveau/disp: port vblank handling to event interface).
Unfortunately c7d73f6a8ad71f9d9f58c86981322c6e48093a4f introduced a NULL-pointer dereference regression. Luckily I found 526810adb93554e17bdb83023a01cfa8758960b2 which fixes that. Doing the bisect I had to cherry-pick that each time until I tried commit 1d7c71a. At this commit I additionally need to cherry-pick c8f28f8.
After adding those 2 commits I could run mplayer again and could clearly see the tearing effect.
My hardware:
02:00.0 VGA compatible controller: NVIDIA Corporation C77 [GeForce 8300] (rev a2) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device 82f2
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 20
        Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at f0000000 (64-bit, prefetchable) [size=128M]
        Region 3: Memory at fa000000 (64-bit, prefetchable) [size=32M]
        Region 5: I/O ports at ec00 [size=128]
        Expansion ROM at feae0000 [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Kernel driver in use: nouveau
        Kernel modules: nouveau
Comment 1 Alexander Stein 2014-03-26 22:05:34 UTC
This "regression" is related to vblanking.
I just had to enable GLXVBlank in xorg configuration.
It seems vblanking was enabled before that given change (unintentionally?).

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.