Bug 49436 - [G33 SNA] Rendering corruptions in Firefox with CSS3 element transformations
Summary: [G33 SNA] Rendering corruptions in Firefox with CSS3 element transformations
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-03 09:37 UTC by Matti Hämäläinen
Modified: 2012-05-03 14:35 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Matti Hämäläinen 2012-05-03 09:37:20 UTC
Interesting rendering corruptions can occur when using CSS3 element transformations in Firefox. This can be demonstrated using FF10+ or later at least: http://tnsp.org/~ccr/intel-gfx/test.html

A screen capture video in Theora/OGV format: http://tnsp.org/~ccr/intel-gfx/sna-g33-css-trans.ogv

It would seem that Opera does not suffer from this same problem, but I think this is because it most likely(?) uses its own software rendering whereas FF relies on Cairo and through that on acceleration.

-- Window manager: WindowMaker 0.92 (also present with Compiz, so probably not
WM related)
-- 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 f4c34e9ab32f31669896b8f626195827a85af337
-- xserver: X.Org X Server 1.12.1 from Debian unstable
-- mesa: 8.0.2-2 from Debian unstable
-- libpixman: 0.25.2-1
-- libdrm version: 2.4.33-1
-- kernel version: 3.3.4 (vanilla from kernel.org)
-- Linux distribution: Debian Testing aka Wheezy
-- Machine or mobo model: Asus P5KPL-CM
-- Display connector: VGA
Comment 1 Chris Wilson 2012-05-03 09:41:44 UTC
Indeed, I've narrowed down the (last) bug to rendering to an element that is larger than can be natively handled by the GPU.
Comment 2 Chris Wilson 2012-05-03 11:49:08 UTC
To be even more precise, it is the handling of a trapezoid through a tiled mask that appears to be the source of the error. Closer...
Comment 3 Chris Wilson 2012-05-03 14:35:57 UTC
Oh that was fun.

All the commits leading up to

commit 61cac5c265279d45677262216a0ba56f548cd898
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 3 22:33:59 2012 +0100

    sna: Maintain a reference to the chain of proxies
    
    Rather than attempt to flatten the chain to the last link, we may need
    to hold a reference to the intermediate links in case of batch buffer
    submission.
    
    Fixes http://tnsp.org/~ccr/intel-gfx/test.html
    
    Reported-by: Matti Hamalainen <ccr@tnsp.org>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49436
    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.