Bug 80253 - [SNA G33/31] Font corruption in Firefox address bar
Summary: [SNA G33/31] Font corruption in Firefox address bar
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium minor
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-19 20:43 UTC by Matti Hämäläinen
Modified: 2014-06-20 19:07 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Screenshot demonstrating the issue (1.17 MB, image/png)
2014-06-19 20:43 UTC, Matti Hämäläinen
no flags Details

Description Matti Hämäläinen 2014-06-19 20:43:16 UTC
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
Comment 1 Matti Hämäläinen 2014-06-19 20:51:58 UTC
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.
Comment 2 Chris Wilson 2014-06-19 20:52:48 UTC
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...
Comment 3 Chris Wilson 2014-06-19 20:53:15 UTC
If I remember correctly, they were issues with the IO buffer reuse...
Comment 4 Chris Wilson 2014-06-20 16:17:23 UTC
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
Comment 5 Chris Wilson 2014-06-20 16:27:09 UTC
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...
Comment 6 Chris Wilson 2014-06-20 18:10:00 UTC
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.
Comment 7 Chris Wilson 2014-06-20 19:07:53 UTC
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.