Created attachment 101384 [details] Screenshot demonstrating the issue After upgrading to latest DDX master + new kernel, I get occasional corruption in FF address bar. Corruption occurs quite reproducably and is shown in the attached screenshot. It is not always present, but when present, it is "persistent" (e.g. click to highlight/select URL text -> disappears, then unhighlight -> it's back). I haven't seen any other corruption or similar issues anywhere else, yet. -- Window manager: WindowMaker 0.95.5-2 -- chipset: 00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10) -- system architecture: i686 / 32bit -- xf86-video-intel: GIT head/master 6b32cf3a3c908bd29496fcf5d190fd0f8c657ae6 -- xserver: X.Org X Server 1.15.1-1 from latest Debian testing -- mesa: 10.1.4-1 from Debian testing -- libpixman: 0.32.4-1 -- libdrm version: 2.4.54-1 -- kernel version: 3.14.8 (vanilla+grsec) -- Linux distribution: current Debian Testing -- Machine or mobo model: Asus P5KPL-CM -- Display connector: VGA
Ahh, seems that this has regressed as well: http://tnsp.org/~ccr/intel-gfx/box-shadow/ .. couldn't find if I had reported any bz ticket for that, tho.
Drat, had seen it on pnv, then forgot about it as I was chasing another bug. Thanks for the reminder. Actually, the shadow is probably the same bug...
If I remember correctly, they were issues with the IO buffer reuse...
Using the box-shadow test, I believe the bug was introduced by commit 322e51a3a552d89e5e5ecbb82a9243f134c8d36f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue Jun 17 13:47:32 2014 +0100 sna: Relax PREFER_GPU so that we don't needless create small GPU bo
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index b6f4b85..eba892e 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -3497,7 +3497,7 @@ sna_drawable_use_bo(DrawablePtr drawable, unsigned flags, const BoxRec *box, } if ((flags & FORCE_GPU) == 0 && priv->gpu_bo == NULL && sna_pixmap_choose_tiling(pixmap, DEFAULT_TILING) == I915_TILING_NONE) { DBG(("%s: no gpu bo and linear, discard PREFER_GPU\n", __FUNCTION__)); - flags &= ~PREFER_GPU; + //flags &= ~PREFER_GPU; } if ((flags & (PREFER_GPU | IGNORE_CPU)) == IGNORE_CPU) { Doesn't answer the question of what broke though...
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index b6f4b85..53d26cd 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -3812,6 +3812,9 @@ cpu_fail: if (priv->cpu_bo->pitch >= 4096) goto move_to_gpu; + if ((flags & IGNORE_CPU) == 0 && priv->cpu_bo->snoop) + goto move_to_gpu; + if (!sna->kgem.can_blt_cpu) goto move_to_gpu; } I have a sneaky suspicion that I am papering over a hw bug.
commit b3d3c0e8e75a963262e4dc463fef60d7e9f1f01a Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Jun 20 20:01:23 2014 +0100 sna: Avoid blending with the render engine on snoopable bo This seems slightly weird, as there is nothing to indicate that this would generate incorrect results only for snoopable bo. But no many of flushes make my pnv box happy, so adjust the placement logic to move the blending operation away from the snoopable target. This is sensible for reasons of avoiding snoops from the render pipeline anyway. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80253 Reported-and-tested-by: Matti Hämäläinen <ccr@tnsp.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
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.