gecko/gfx/src
Jeff Muizelaar 8a2b69cc87 Bug 845874. Switch to Y-X banded regions. r=roc
Previously our region code was just a simple y,x sorted list of
non-intersecting rectangles. This can cause us to have simple regions
represented in a complex unoptimizable way.

Switching to pixman regions gives us a canonical region implementation.

There are some cases when this can cause performance regressions.

For example, with the old region code we end up with this region:
http://people.mozilla.org/~jmuizelaar/region-pre.html
which is represented like this:
http://people.mozilla.org/~jmuizelaar/region-post.html
with the new code.

We call SimplifyOutward(4) on this. With old regions we can't simplify it so we
end up taking the bounds and get 1 rect. With the new regions we have only 3
rects to start and so we do nothing. The difference between 3 rects and 1 rect
cause D2D to do a PushLayer() instead of a ClipRect() and that seems to be the
causes for the regression.

--HG--
extra : rebase_source : 65e0d29d67b51a3780448eaecfde33dbcb6b99b1
2013-11-18 13:01:54 -05:00
..
AppUnits.h Bug 919355 - Part 2: Don't #include nsDeviceContext.h in Units.h; r=roc 2013-09-23 07:55:35 -04:00
gfxCore.h
gfxCrashReporterUtils.cpp Bug 918923 - Part 2: Switch to #including nsString.h in code using the internal strings API; r=bsmedberg 2013-09-23 13:25:00 -04:00
gfxCrashReporterUtils.h
Makefile.in Bug 900980 - Part a: Move unconditional assignments to EXPORT_LIBRARY to moz.build; rs=gps 2013-10-03 09:11:13 +02:00
moz.build Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps 2013-11-19 11:50:54 +09:00
nsBoundingMetrics.h
nsColor.cpp Bug 918923 - Part 2: Switch to #including nsString.h in code using the internal strings API; r=bsmedberg 2013-09-23 13:25:00 -04:00
nsColor.h Bug 928053 - Remove some prtypes.h inclusions from gfx/; rs=bsmedberg 2013-10-18 20:34:58 -04:00
nsColorNameList.h
nsColorNames.h
nsCoord.h
nsDeviceContext.cpp Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel 2013-09-24 16:45:13 -04:00
nsDeviceContext.h Bug 919355 - Part 1: Don't #include nsDeviceContext.h in nsPresContext.h; r=roc 2013-09-23 07:52:25 -04:00
nsFont.cpp Bug 913264 - add none value to font-variant-ligatures. r=dbaron 2013-11-19 13:30:25 +09:00
nsFont.h Bug 913264 - add none value to font-variant-ligatures. r=dbaron 2013-11-19 13:30:25 +09:00
nsFontMetrics.cpp Bug 921753 - Part 4: Move DrawMode outside of gfxFont.h so that we won't need to #include that header everywhere DrawMode is needed; r=roc 2013-10-01 17:02:16 -04:00
nsFontMetrics.h BUg 910160. IWYU for gfx/src. r=roc 2013-09-02 10:21:01 +12:00
nsGfxCIID.h
nsIFontEnumerator.idl
nsIScriptableRegion.idl
nsITheme.h Bug 532828 - Don't invalidate the whole window on window activation/deactivation. r=roc 2013-09-27 17:24:32 +02:00
nsMargin.h
nsPoint.h Bug 895905 - Document that ns[Int]Point stores coordinates in app units. r=tn 2013-08-08 15:56:09 -04:00
nsRect.cpp Bug 923249 - Remove some prtypes use in gfx/; r=roc 2013-10-20 09:25:20 +02:00
nsRect.h Bug 913603 - Re-inline SaturatingUnionEdges and remove the unused SaturatingInflate - r=mats 2013-09-17 17:53:37 -04:00
nsRegion.cpp Bug 845874. Switch to Y-X banded regions. r=roc 2013-11-18 13:01:54 -05:00
nsRegion.h Bug 845874. Switch to Y-X banded regions. r=roc 2013-11-18 13:01:54 -05:00
nsRenderingContext.cpp BUg 910160. IWYU for gfx/src. r=roc 2013-09-02 10:21:01 +12:00
nsRenderingContext.h Bug 932096 - Add a GetDrawTarget method to nsRenderingContext to aid in Moz2D conversion. r=Bas 2013-10-29 08:14:40 +00:00
nsScriptableRegion.cpp BUg 910160. IWYU for gfx/src. r=roc 2013-09-02 10:21:01 +12:00
nsScriptableRegion.h
nsSize.h Bug 919225 - Move the gfxIntSize typedef to nsSize.h to allow limiting the amount of useless #including that it forces - r=jrmuizel 2013-09-24 16:45:13 -04:00
nsThebesFontEnumerator.cpp Bug 918923 - Part 2: Switch to #including nsString.h in code using the internal strings API; r=bsmedberg 2013-09-23 13:25:00 -04:00
nsThebesFontEnumerator.h BUg 910160. IWYU for gfx/src. r=roc 2013-09-02 10:21:01 +12:00
nsThebesGfxFactory.cpp BUg 910160. IWYU for gfx/src. r=roc 2013-09-02 10:21:01 +12:00
nsThemeConstants.h
nsTransform2D.cpp
nsTransform2D.h
X11Util.cpp BUg 910160. IWYU for gfx/src. r=roc 2013-09-02 10:21:01 +12:00
X11Util.h BUg 910160. IWYU for gfx/src. r=roc 2013-09-02 10:21:01 +12:00