Commit Graph

167 Commits

Author SHA1 Message Date
David Anderson
4b55758fd2 Remove PreferenceAccess. (bug 1280822 part 3, r=milan) 2016-06-26 23:33:18 -07:00
Wes Kocher
1587b12aa9 Backed out 4 changesets (bug 1280822) for leaking nsTArray_base
Backed out changeset b9a0567cd7c1 (bug 1280822)
Backed out changeset 93d483583ffa (bug 1280822)
Backed out changeset 91715d8e468f (bug 1280822)
Backed out changeset 3db77f57cef4 (bug 1280822)
2016-06-24 14:43:41 -07:00
David Anderson
75b68d7a82 Remove PreferenceAccess. (bug 1280822 part 3, r=milan)
--HG--
extra : rebase_source : 0326ce94bd482d07fef664a26b2fa0b75706a0e5
2016-06-24 16:16:34 -07:00
Jonathan Watt
53c34f0b69 Bug 1279628, part 1 - Add the CoreGraphics check from gfxASurface::CheckSurfaceSize to Factory::CheckSurfaceSize. r=mstange 2016-06-10 13:32:01 +01:00
Phil Ringnalda
1cce1f61f8 Back out 2 changesets (bug 1279628) for reftest bustage
CLOSED TREE

Backed out changeset 07e4432bd6b3 (bug 1279628)
Backed out changeset 416fa9aeec55 (bug 1279628)
2016-06-11 00:44:51 -07:00
Jonathan Watt
8b002c52bd Bug 1279628, part 1 - Add the CoreGraphics check from gfxASurface::CheckSurfaceSize to Factory::CheckSurfaceSize. r=mstange
--HG--
extra : rebase_source : 46aba14e2b2e6997672ac690c73def2391df0c4f
2016-06-09 15:31:24 +01:00
Jeff Muizelaar
1b2a06e879 Bug 1113828: Returning null is an expected property of this function and gfxPlatform::CreateDrawTargetForData() uses this. Removing this message prevents us from printing a bunch of messages during the normal usage of a debug build. r=bschouten 2016-05-19 10:10:55 -04:00
JerryShih
f54115ac72 Bug 1256572 - setup custom deallocator for SourceSurfaceRawData. r=bas 2016-05-10 20:44:00 +02:00
Chris Peterson
d95cf073f8 Bug 1266292 - Remove unnecessary compiler checks for MSVS 2010 in gfx/2d/. r=bas 2016-04-18 22:48:31 -07:00
Lee Salzman
16d757c28e Bug 1259810 - check that D2D1 device creation succeeds and otherwise fall to software backend. r=bas.schouten 2016-03-28 12:53:42 -04:00
Lee Salzman
7f2b998fc6 Bug 1257939 - initialize BGRX alpha channel to opaque when clearing and ignore uninitialized alpha in texture clients. r=mchang 2016-03-18 16:58:55 -04:00
Bas Schouten
259d24796a Bug 1247775 - Part 3: Remove Moz2D code to support Direct2D 1.0. r=dvander
MozReview-Commit-ID: KBZSqIdx0OC
2016-02-13 14:33:28 +01:00
Carsten "Tomcat" Book
fdcf299e32 Backed out changeset 8e13ba75bccf (bug 1247775) 2016-02-12 08:49:28 +01:00
Bas Schouten
54dad93d74 Bug 1247775 - Part 3: Remove Moz2D code to support Direct2D 1.0. r=dvander
MozReview-Commit-ID: KBZSqIdx0OC

--HG--
extra : rebase_source : 632fb5208a702f79fa5c648698f73bc9b0bf8992
2016-02-12 02:11:50 +01:00
Lee Salzman
579717eec1 Bug 1241163 - Replace DrawTarget::CreateSourceSurfaceFromNativeSurface(CAIRO_CONTEXT) with Factory::CreateSourceSurfaceForCairoSurface. r=jrmuizel 2016-01-20 13:31:44 -05:00
Mason Chang
2e3ff601d6 Bug 842894 - Support DirectWrite using the Skia backend. r=bas 2016-01-06 11:35:04 -08:00
Bob Owen
1fe62dee68 Bug 1156742 Part 24: Add new Recorded event to record font data. r=bas
We create and destroy ScaledFonts for every piece of text we write.
That causes a huge amount of duplicated data within the recording.
This splits out the recording of the font data itself from the ScaledFont.
The key generated to determine uniqueness could probably be fairly easily faked, but for our purposes that doesn't matter.
2016-01-05 10:08:58 +00:00
Bob Owen
74de9c73ae Bug 1156742 Part 21: Use GetDirect3D11Device instead of DrawTargetD2D::GetDWriteFactory to determine if DWrite fonts should be used. r=Bas
This method will allow for acceleration being disabled through prefs and blacklisting.
2016-01-05 10:08:58 +00:00
Bob Owen
b24d50e720 Bug 1156742 Part 20: Move Moz2D PreferenceAccess into its own header. r=bas
This is so we can add a new preference in Part 21, which has nothing to do with logging.
2016-01-05 10:08:58 +00:00
Bob Owen
9536340a3a Bug 1156742 Part 3: Add support for FontType::CAIRO to CreateScaledFontForTrueTypeData on Windows. r=bas
Parts of this change and related code get moved around in Part 24.
2016-01-05 10:08:56 +00:00
Milan Sreckovic
ac84b221c9 Bug 1235613 - Make gfxCriticalError/Note strings in gfx/ unique. r=jrmuizel
--HG--
extra : transplant_source : %8F%1DcB%3A%25%94%95G%EF%B4U%CE%B9%10%E1%A3%BC%E2%3D
2015-12-29 14:03:58 -05:00
Wes Kocher
a5249b6201 Backed out 25 changesets (bug 1156742) for build bustage in SkOSLibrary_win.cpp CLOSED TREE
Backed out changeset 31c0aadae8e7 (bug 1156742)
Backed out changeset f08df57ff700 (bug 1156742)
Backed out changeset 90c026d5dcb1 (bug 1156742)
Backed out changeset 8c6d14d80238 (bug 1156742)
Backed out changeset 72d86b0471c9 (bug 1156742)
Backed out changeset 363829accc09 (bug 1156742)
Backed out changeset 16360fe94d54 (bug 1156742)
Backed out changeset 5355c636a81a (bug 1156742)
Backed out changeset 18844d26b873 (bug 1156742)
Backed out changeset 99df86591613 (bug 1156742)
Backed out changeset 7ac1c7e15a11 (bug 1156742)
Backed out changeset de352000aae1 (bug 1156742)
Backed out changeset 4dd34ea230c6 (bug 1156742)
Backed out changeset 48c6ce65a5c2 (bug 1156742)
Backed out changeset dd52947f73c6 (bug 1156742)
Backed out changeset 5fe429ee880c (bug 1156742)
Backed out changeset dedca8fb19b0 (bug 1156742)
Backed out changeset d748b1354f92 (bug 1156742)
Backed out changeset 7f8e59588518 (bug 1156742)
Backed out changeset b90d302c57f6 (bug 1156742)
Backed out changeset 7a4da453572c (bug 1156742)
Backed out changeset a40eea914519 (bug 1156742)
Backed out changeset 99a8859afcdb (bug 1156742)
Backed out changeset 4934e88b2d7a (bug 1156742)
Backed out changeset 79733166f05e (bug 1156742) for build bustage in SkOSLibrary_win.cpp CLOSED TREE

--HG--
extra : amend_source : beeb6abbcc724b79ac166e828efa78dc4c5301da
2015-12-21 13:47:33 -08:00
Bob Owen
fb35888c83 Bug 1156742 Part 24: Add new Recorded event to record font data. r=bas
We create and destroy ScaledFonts for every piece of text we write.
That causes a huge amount of duplicated data within the recording.
This splits out the recording of the font data itself from the ScaledFont.
The key generated to determine uniqueness could probably be fairly easily faked, but for our purposes that doesn't matter.
2015-12-21 20:33:14 +00:00
Bob Owen
957b556822 Bug 1156742 Part 21: Use GetDirect3D11Device instead of DrawTargetD2D::GetDWriteFactory to determine if DWrite fonts should be used. r=Bas
This method will allow for acceleration being disabled through prefs and blacklisting.
2015-12-21 20:33:14 +00:00
Bob Owen
27ff57a6e6 Bug 1156742 Part 20: Move Moz2D PreferenceAccess into its own header. r=bas
This is so we can add a new preference in Part 21, which has nothing to do with logging.
2015-12-21 20:33:14 +00:00
Bob Owen
2ce74bca79 Bug 1156742 Part 3: Add support for FontType::CAIRO to CreateScaledFontForTrueTypeData on Windows. r=bas
Parts of this change and related code get moved around in Part 24.
2015-12-21 20:33:13 +00:00
Nicolas Silva
9bc4b1d4e6 Bug 1228952 - Move texture metadata out of the BufferTextureClient/Host's buffer. r=Sotaro 2015-12-16 19:50:58 +01:00
Morris Tseng
0d4ac3243e Bug 1215438 - Part 1: Add utility functions to support transferring ImageBitmap. r=roc
--HG--
extra : commitid : JdhYZUbeqRs
2015-12-18 14:52:16 +08:00
Lee Salzman
794a175c80 Bug 1228188 - ifdef around Skia GetMaxSurfaceSize usage. r=eihrul 2015-11-25 22:21:40 -05:00
Matt Woodrow
4946a3c907 Bug 1168263 - Add nsDisplayPerspective and build separate layers for perspective. r=roc 2015-11-26 22:32:36 +13:00
Jeff Gilbert
19d84fb0fe Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-24 20:15:29 -08:00
Phil Ringnalda
71a6f5da62 Back out changeset 2f614bcd9405 (bug 1221822) for test_conformance__extensions__ext-sRGB.html and test_webgl2_alpha_luminance.html failures 2015-11-23 21:55:59 -08:00
Jeff Gilbert
87397c265b Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-23 19:27:13 -08:00
Lee Salzman
d75fbddd08 Bug 1223740 - enforce max surface size for DrawTargetSkia. r=bas 2015-11-19 13:35:31 -05:00
Nicolas Silva
578a8ccc95 Bug 1224254 - Don't try to allocate unreasonably large textures. r=Bas 2015-11-18 16:59:11 +01:00
Nicholas Nethercote
c4f06efc4b Bug 1219476 (part 4) - Replace PRLogModuleInfo usage with LazyLogModule in gfx/. r=erahm.
--HG--
extra : rebase_source : 5cfe22112d606a50459212048fd69702afbb6d6d
2015-10-29 15:48:20 -07:00
Mason Chang
9e9747858c Backout bug 842894 for lack of skia documentation. r=me 2015-10-28 15:17:04 -07:00
Mason Chang
f9083bce99 Bug 842894 - Support DirectWrite using the Skia backend. r=bas 2015-10-28 14:54:54 -07:00
Ted Mielczarek
fc136257e3 bug 1170987 - Fix gfx/2d to build on iOS. r=jrmuizel 2015-10-28 14:10:24 -05:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd
583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Milan Sreckovic
07eeb05f0f Bug 1213007 - Part 1. Implementing gfxCrash. r=dvander 2015-10-14 08:24:00 +02:00
Olivier Brunel
11e774d18d Bug 1194631 - Make firefox build with --disable-logging. r=jrmuizel 2015-09-22 17:39:12 +02:00
Milan Sreckovic
d7bc700e96 Bug 1200021 - crash in mozilla::layers::ContentClientDoubleBuffered::FinalizeFrame(nsIntRegion const&): Diagnostics to get more data. r=bas 2015-09-19 11:19:07 +02:00
Lee Salzman
01cdb40ced Bug 1004489 - propagate Cairo font AA settings to Skia font. r=gw280 2015-09-02 14:12:32 -04:00
David Anderson
b18f329c76 Refactor graphics device initialization on Windows. (bug 1183910 part 1, r=mattwoodrow,bas)
This patch addresses a number of inconsistencies in the device initialization process, as well as simplifying it for future use. All device decisions are now explicitly made up-front during startup, rather than implicitly or on-demand. In addition a number of restrictions have been placed on when we can construct devices.

Full change list:
 (1) We no longer attempt to use D3D11 if acceleration is disabled or D3D9 is preferred. This is a departure from our previous behavior, where we would construct these devices but then not use them as a compositor backend.
 (2) D3D11 startup no longer creates a content device (this is reserved for D2D initialization).
 (3) D2D is only attempted if we managed to create a D3D11 compositor device. This is a departure from previous behavior where if D3D11 was not used for compositing, we could still create its machinery to use D2D as a content backend.
 (4) D2D 1.1 initialization is now directly responsible for creating a D3D11 content device.
 (5) D2D 1.0 and 1.1 logic have been disentangled for clarity.
 (6) UpdateRenderMode() has been split up, so we can update backend prefs out of band with device resets.
 (7) mUseGDIFonts and mUseDirectWrite have been removed as their state was confusing. Instead, D2D now depends on DWrite initialization succeeding. If later we fail to get a DWrite font list, we revert our decision to use Direct2D.
 (8) Device resets now clear a little more state, including the devices set in Moz2D Factory.
 (9) We no longer create a DWrite text analyzer as it was unused.
2015-07-28 16:52:54 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Nathan Froyd
974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Nathan Froyd
db188ea282 Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Nathan Froyd
c24f5f4e7c Bug 1116905 - part 3 - remove dependence on implicit conversion from T* to TemporaryRef<T>, gfx changes; r=jrmuizel 2015-04-30 15:20:30 -04:00