From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 102681] OpenGL applications not vsyncing correctly when the window size doesn't perfectly match the screen Date: Tue, 12 Sep 2017 16:28:11 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0863444085==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [IPv6:2610:10:20:722:a800:ff:fe98:4b55]) by gabe.freedesktop.org (Postfix) with ESMTP id A0C306E6B3 for ; Tue, 12 Sep 2017 16:28:11 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0863444085== Content-Type: multipart/alternative; boundary="15052336910.5Da03aFaA.14012"; charset="UTF-8" --15052336910.5Da03aFaA.14012 Date: Tue, 12 Sep 2017 16:28:11 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D102681 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@lists.freedesktop.org Reporter: bugs.freedesktop@haasn.xyz QA Contact: dri-devel@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 eventua= lly 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 c= ould not identify a difference, so I'm not sure if it's a regression or just a p= lain 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 =E2=80=9Cnor= mal=E2=80=9D: e.g. [ +0.000304] DMAR: DRHD: handling fault status reg 2 [ +0.000102] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001aa0= 00 [fault reason 06] PTE Read access is not set [ +0.000170] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001af0= 00 [fault reason 06] PTE Read access is not set [ +0.000169] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001b50= 00 [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` modu= le settings are all left default. P.s. I also noticed a strange issue where starting mpv in fullscreen and th= en dragging the window to be slightly bigger causes it to start miscalculating= the texture stride and dumping garbage data onto the screen. Unfortunately, I c= an't take a screenshot. I'm not sure if this is related, or a separated issue, b= ut it may provide a hint. --=20 You are receiving this mail because: You are the assignee for the bug.= --15052336910.5Da03aFaA.14012 Date: Tue, 12 Sep 2017 16:28:11 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated
Bug ID 102681
Summary OpenGL applications not vsyncing correctly when the window si= ze 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@lists.freedesktop.org
Reporter bugs.freedesktop@haasn.xyz
QA Contact dri-devel@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 eventua=
lly
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 http=
s://0x0.st/7AL.mkv`.

I've tested a couple of mesa versions ranging from 17.0 to git master and c=
ould
not identify a difference, so I'm not sure if it's a regression or just a p=
lain
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 =E2=80=9Cnor=
mal=E2=80=9D:

e.g.
[  +0.000304] DMAR: DRHD: handling fault status reg 2
[  +0.000102] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001aa0=
00
[fault reason 06] PTE Read access is not set
[  +0.000170] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001af0=
00
[fault reason 06] PTE Read access is not set
[  +0.000169] DMAR: [DMA Read] Request device [04:00.0] fault addr f4001b50=
00
[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` modu=
le
settings are all left default.

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


You are receiving this mail because:
  • You are the assignee for the bug.
= --15052336910.5Da03aFaA.14012-- --===============0863444085== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============0863444085==--