On J1900 baytrail dri2 with Xorg 1.16 (xserver 1.16.4), recent git kernel/mesa. Since ddx commit 75d87762471e195dddd73056fc6a06e17db1c8b0 sna: Enable blitting with Y-tiled surfaces I get some minor corruption on fluxbox menus sometimes also on toolbar. Fonts in xterms are not affected. xorg log + screen attached
Created attachment 115268 [details] xorg log
Created attachment 115269 [details] screen shot
I hope commit 4fdd3a714d380afd3d6425aedbbf2ae20180638b Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Apr 22 14:08:17 2015 +0100 sna/gen6+: Discourage use of the BLT with Y-tiling Somewhere, somehow the first glyph character upload into the Y-tiled glyph cache is corrupt since commit 75d87762471e195dddd73056fc6a06e17db1c8b0 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Fri Apr 17 10:29:28 2015 +0100 sna: Enable blitting with Y-tiled surfaces I have not spotted whether it is a missing magic bit or a bad GTT path, but ideally we don't want to switch to BLT along that path anyway (since we are in the middle of rendering with the other engine). Reported-by: Andy Furniss <adf.lists@gmail.com> References: https://bugs.freedesktop.org/show_bug.cgi?id=90138 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> sweeps it back under the carpet.
(In reply to Chris Wilson from comment #3) > I hope > > commit 4fdd3a714d380afd3d6425aedbbf2ae20180638b > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Wed Apr 22 14:08:17 2015 +0100 > > sna/gen6+: Discourage use of the BLT with Y-tiling > > Somewhere, somehow the first glyph character upload into the Y-tiled > glyph cache is corrupt since > > commit 75d87762471e195dddd73056fc6a06e17db1c8b0 > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Fri Apr 17 10:29:28 2015 +0100 > > sna: Enable blitting with Y-tiled surfaces > > I have not spotted whether it is a missing magic bit or a bad GTT path, > but ideally we don't want to switch to BLT along that path anyway (since > we are in the middle of rendering with the other engine). > > Reported-by: Andy Furniss <adf.lists@gmail.com> > References: https://bugs.freedesktop.org/show_bug.cgi?id=90138 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > > sweeps it back under the carpet. I am still getting the corruption with this.
That's kind of a relief, since I knew I hadn't fixed it :) A useful test will be: diff --git a/src/sna/kgem.c b/src/sna/kgem.c index 76e6913..110091d 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -84,7 +84,7 @@ search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags); #define DBG_NO_HANDLE_LUT 0 #define DBG_NO_WT 0 #define DBG_NO_WC_MMAP 0 -#define DBG_NO_BLT_Y 0 +#define DBG_NO_BLT_Y 1 #define DBG_NO_SCANOUT_Y 0 #define DBG_NO_DETILING 0 #define DBG_DUMP 0 that should filter out the use of the new magic bit.
(In reply to Chris Wilson from comment #5) > That's kind of a relief, since I knew I hadn't fixed it :) > > A useful test will be: > > diff --git a/src/sna/kgem.c b/src/sna/kgem.c > index 76e6913..110091d 100644 > --- a/src/sna/kgem.c > +++ b/src/sna/kgem.c > @@ -84,7 +84,7 @@ search_snoop_cache(struct kgem *kgem, unsigned int > num_pages, unsigned flags); > #define DBG_NO_HANDLE_LUT 0 > #define DBG_NO_WT 0 > #define DBG_NO_WC_MMAP 0 > -#define DBG_NO_BLT_Y 0 > +#define DBG_NO_BLT_Y 1 > #define DBG_NO_SCANOUT_Y 0 > #define DBG_NO_DETILING 0 > #define DBG_DUMP 0 > > that should filter out the use of the new magic bit. This one does fix it.
Ok, that more or less narrows it down to the magic bit setting.
commit 52bc0b119cab977b82cbbd96f689b7376b83d6f2 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Apr 22 19:45:16 2015 +0100 sna/gen6: Do not force a blt switch onto a Y-tiled surface Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> fixes the culprit for sending the glyph via the blitter when I wanted to use the render engine. commit 64e45993cf9d13b5900dc6b8afacffdfea14fa7f Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Wed Apr 22 20:15:38 2015 +0100 sna: Fix interpretation of SWCTRL Bspec says it is an override for the source format, irrespective of the tiling bit supplied in the command packet. So we need to apply the FLUSH+LRI more often. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> brings the magic bits into line with later bspec. But I can still reproduce the issue on byt if I force it use the blitter an Y. :| And finally, commit 09d8e5e1b3215c0e58c2ce44048458152c523270 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Apr 23 08:35:52 2015 +0100 sna/gen6+: Fix BLT src/dst tiling checks In a couple of the copy paths, src/dst parameters were reversed, inverting the direction of the tiling flags. Reported-by: Andy Furniss <adf.lists@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90138 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Confirm working OK for me with the latest changes
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.