[Bug 102681] OpenGL applications not vsyncing correctly when the window size doesn't perfectly match the screen

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Sep 12 16:28:11 UTC 2017


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

            Bug ID: 102681
           Summary: OpenGL applications not vsyncing correctly when the
                    window size doesn't perfectly match the screen
           Product: Mesa
           Version: 17.2
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/radeonsi
          Assignee: dri-devel at lists.freedesktop.org
          Reporter: bugs.freedesktop at haasn.xyz
        QA Contact: dri-devel at lists.freedesktop.org

I'm not exactly sure how to debug this; but basically, when I run OpenGL
applications in windowed mode (i.e. not stretched over the entire rect), I get
misaligned vsync (horizontal tearing). It still syncs to the monitor rate - it
just misses the actual vblank by quite a bit.

The horizontal tear location depends on the size and position of the window.
For small enough window sizes, the issue becomes les pronounced and eventually
goes away completely. I can reproduce it in at least two applications - mpv (my
primary testing method) and glxgears (although it's more difficult to spot in
glxgears due to the less ideal motion). The easiest way for me to reproduce it
is by just running `mpv --no-config https://0x0.st/7AL.mkv`.

I've tested a couple of mesa versions ranging from 17.0 to git master and could
not identify a difference, so I'm not sure if it's a regression or just a plain
bug. I'm also not sure if it's an issue in mesa or in the GPU driver. I did
notice a lot of dmesg spam after startup, but that seems to be “normal”:

e.g.
[  +0.000304] DMAR: DRHD: handling fault status reg 2
[  +0.000102] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001aa000
[fault reason 06] PTE Read access is not set
[  +0.000170] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001af000
[fault reason 06] PTE Read access is not set
[  +0.000169] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001b5000
[fault reason 06] PTE Read access is not set
...
[  +0.068389] amdgpu: [powerplay] [AVFS] Something is broken. See log!
[  +0.002866] amdgpu: [powerplay] Can't find requested voltage id in
vdd_dep_on_sclk table!
[  +0.001712] amdgpu: [powerplay] VDDCI is larger than max VDDCI in VDDCI
Voltage Table!
[  +0.000152] amdgpu: [powerplay] VDDCI is larger than max VDDCI in VDDCI
Voltage Table!

I also noticed this error showing up relatively often (several times a day,
even while the machine is not in use):

[Sep12 17:58] DMAR: DRHD: handling fault status reg 40
[Sep12 17:59] DMAR: DRHD: handling fault status reg 40

Not sure if that's related to anything. The device I'm using is a Sapphire RX
560, the kernel version is 4.12.4. I have no ~/.drirc and the `amdgpu` module
settings are all left default.

P.s. I also noticed a strange issue where starting mpv in fullscreen and then
dragging the window to be slightly bigger causes it to start miscalculating the
texture stride and dumping garbage data onto the screen. Unfortunately, I can't
take a screenshot. I'm not sure if this is related, or a separated issue, but
it may provide a hint.

-- 
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/20170912/fdf1cfbb/attachment.html>


More information about the dri-devel mailing list