mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
6da588e57d
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
53 lines
1.1 KiB
Makefile
53 lines
1.1 KiB
Makefile
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
|
|
OSDIR = os2
|
|
else
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
|
|
OSDIR = win
|
|
else
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
|
OSDIR = mac
|
|
else
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),android)
|
|
OSDIR = android
|
|
else
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
|
|
OSDIR = gonk
|
|
else
|
|
OSDIR = unix
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
VPATH := $(srcdir) $(srcdir)/$(OSDIR)
|
|
|
|
|
|
LOCAL_INCLUDES = -I$(srcdir)
|
|
|
|
LOCAL_INCLUDES += -I$(topsrcdir)/dom/base \
|
|
-I$(topsrcdir)/dom/ipc \
|
|
-I$(topsrcdir)/content/base/src \
|
|
-I$(topsrcdir)/content/events/src \
|
|
-I$(topsrcdir)/netwerk/base/src \
|
|
-I$(topsrcdir)/netwerk/protocol/http
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
|
|
LOCAL_INCLUDES += -I$(srcdir)/win
|
|
endif
|
|
|
|
ifdef MOZ_ENABLE_DBUS
|
|
OS_INCLUDES += $(TK_CFLAGS) $(MOZ_DBUS_CFLAGS)
|
|
endif
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
ifneq (,$(filter qt gtk2 gtk3, $(MOZ_WIDGET_TOOLKIT)))
|
|
CXXFLAGS += $(TK_CFLAGS) $(MOZ_DBUS_GLIB_CFLAGS)
|
|
endif
|