Commit Graph

125 Commits

Author SHA1 Message Date
Olivier Brunel
21691a9961 Bug 1194631 - Make firefox build with --disable-logging. r=jrmuizel 2015-09-22 17:39:12 +02:00
Milan Sreckovic
d6c194e9db 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
77d4a117ab Bug 1004489 - propagate Cairo font AA settings to Skia font. r=gw280 2015-09-02 14:12:32 -04:00
David Anderson
1955f19c17 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
a29151dc87 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
92a8124fef 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
43cddcfc0d 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
3c715f85db 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
Eric Rahm
24f5eb45e4 Bug 1162748 - Remove instances of #ifdef PR_LOGGING in graphics. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-08 14:37:01 -07:00
Nicolas Silva
d9ba24fb00 Bug 1155626 - Don't assume that Factory::GetD2D1Device returns a non-null device and add some gfxCriticalLog. r=Bas 2015-04-22 12:02:01 +02:00
David Anderson
eea61cd9aa Implement GetMaxTextureSize in the basic compositor. (bug 1135883, r=mattwoodrow) 2015-02-24 13:39:01 -08:00
Chris Double
a6c89c0c0c Bug 1129718 - Fix build error when using enable-debug and disable-logging - r=Bas 2015-02-05 16:25:38 +13:00
Milan Sreckovic
1cc73fcc8c Bug 1088833 - A bit of a clean up of warnings, and catch bad draw target in the d3d11 canvas case. r=bschouten 2015-01-20 12:47:29 -05:00
Bas Schouten
f420686826 Bug 1118328 - Part 1: Expose DoesBackendSupportDataDrawTarget function to test backend capabilities. r=jrmuizel 2015-01-07 22:58:20 +01:00
Wes Kocher
54559b276e Backout 0d091f3311b4 (bug 1118328) for build bustage on a CLOSED TREE 2015-01-07 16:54:14 -08:00
Bas Schouten
ad4c59fcdf Bug 1107718: Properly deal with a D3D11 device reset. r=nical 2015-01-08 00:10:49 +00:00
Bas Schouten
6e0b9e5a8e Bug 1118328 - Part 1: Expose DoesBackendSupportDataDrawTarget function to test backend capabilities. r=jrmuizel 2015-01-07 22:58:20 +01:00
Ryan VanderMeulen
b0594284a9 Bug 1114577 - GFX cleanups now that Windows SDK 8.1 is the minimum supported version. r=jmuizelaar, r=glandium 2015-01-07 11:32:07 -05:00
Milan Sreckovic
ce1206013b Bug 1101685 - Optionally assert in loggers, default to true on gfxCriticalError. Clean up the calls where large texture sizes were triggering the asserts in tests. r=nical 2014-12-17 17:54:04 -05:00
Carsten "Tomcat" Book
5fcc79867a Backed out changeset 8b751f12a3ad (bug 1101685) for windows 7 debug crashtest/reftest crashes 2014-12-17 12:56:04 +01:00
Milan Sreckovic
9346512b14 Bug 1101685 - Optionally assert in loggers, default to true on gfxCriticalError. Clean up the calls where large texture sizes were triggering the asserts in tests. r=nical 2014-12-16 13:22:26 -05:00
Neil Rashbrook
13f3912cf3 Bug 1101130 Followup to add a missing #ifdef r=Bas 2014-11-23 23:53:00 +00:00
Nicolas Silva
186e6edf58 Bug 1086670 - Add some gfxCriticalError logs around DrawTarget creation. r=Bas 2014-11-20 15:48:07 +01:00
Bas Schouten
ba60e77bb7 Bug 1101130: Make Direct2D 1.1 clean up its resources on shutdown. r=jrmuizel 2014-11-20 00:16:48 +00:00
Milan Sreckovic
62ec6dafbe Bug 1074952 - Part 3. Redo the const values and optimize for the case where we decide runtime not to log messages. Move the decision about newline to OutputMessage. Make [GFX#] the default automatic prefix. r=bschouten 2014-10-24 13:54:26 -04:00
Milan Sreckovic
d1c2fd155d Bug 1074952 - Part 1. Expose the level of logging as a preference. r=bschouten 2014-10-24 13:54:20 -04:00
Markus Stange
701787ca89 Bug 1055622 - Add support for specifying the font smoothing background color to Moz2D. r=Bas, r=jrmuizel 2014-10-24 18:32:23 +02:00
Nicholas Nethercote
599a6bf20b Bug 1083624 - Fix assertion failure in Factory::GetDirect3D10Device(). r=bas. 2014-10-16 19:02:51 -07:00
Nicolas Silva
44040dc63e Bug 1068613 - Part 1: Add gfxCriticalError() log to Moz2D. r=bas 2014-09-17 23:23:02 +02:00
Matt Woodrow
52e7803826 Bug 1046550 - Part 2: Allow creating D2D 1.1 DrawTargets for D3D11 textures. r=bas 2014-09-14 23:51:27 +02:00
Bas Schouten
553e50164a Bug 1066811: Add a SupportsD2D1() method to the Moz2D factory. r=jrmuizel 2014-09-14 23:51:26 +02:00
Michael Wu
9dd656a6fc Bug 1063733 - Optimize DataSourceSurface allocation, r=bas,seth 2014-09-10 17:54:16 -04:00
Robert O'Callahan
15e72d01af Bug 1063754. Cache result of Factory::HasSSE2(). r=bas 2014-09-06 16:16:06 +12:00
Milan Sreckovic
e5735c90c6 Bug 1033310: Handle CreateDataSourceSurface* returning nullptr. f=nsilva, r=bschouten 2014-08-27 11:57:43 -04:00
zhoubcfan
9a5ded6621 Bug 891709 - Fix build bustage in gfx/2d/Factory.cpp when Skia is disabled. r=gw280 2014-05-03 04:13:00 -04:00
Benjamin Smedberg
e5acd99e60 Bug 768395 - Crash in CDevice::DriverInternalErrorCB because the d3d device is set to crash on error instead of merely returning error codes. Explicitly set the exception mode on device creation, and assert it every time we get it again. r=jrmuizel 2014-06-17 13:00:13 -04:00
Jonathan Watt
12ba8e81c5 Bug 1024983 - Stop addrefing and releasing excessively in the Moz2D code in functions that return a TemporaryRef. r=mstange 2014-06-13 17:09:23 +01:00
Bas Schouten
a622119019 Bug 992491: Add DrawTargetTiled for redirecting drawing to multiple tiles. r=mattwoodrow 2014-06-11 19:53:02 +00:00
Matt Woodrow
768318cdfa Bug 1003707 - Pass surfaces sizes in to CreateSourceSurfaceFromNativeSurface instead of trying to extract it from cairo. r=Bas 2014-05-08 11:23:44 +12:00
peter chang
b69d3d2733 Bug 970007 Fix incorrect colorformat when using CairoSurface, r=gal 2014-04-15 11:46:31 +08:00
James Willcox
4c6cd5c93e Bug 981621 - Don't crash if we fail to create SkiaGL backing texture r=gwright 2014-03-26 13:21:50 -05:00
Ed Morley
62b57ad7b4 Backed out changeset a0827d7c8a02 (bug 981621) 2014-03-26 15:14:57 +00:00
James Willcox
520238a12a Bug 981621 - Don't crash if we fail to create SkiaGL backing texture r=gwright 2014-03-26 09:10:12 -05:00
James Willcox
dbd7710a49 Bug 939276 - Use a single GLContext for all SkiaGL canvases r=jgilbert,vlad,gwright,bjacob 2014-03-05 15:49:37 -06:00
Botond Ballo
6b33f39591 Bug 958596 - Allow gfx/2d/Logging.h to be used outside of gfx/2d. r=Bas 2014-02-18 21:59:34 -05:00
Wes Kocher
efe2ecb071 Backed out changeset cf6a31bca4e0 (bug 939276) for webgl reftest crash 2014-02-20 15:23:52 -08:00
James Willcox
51a7c02955 Bug 939276 - Use a single GLContext for all SkiaGL canvases r=vlad,gwright,bjacob 2014-02-20 16:20:28 -06:00
Ali Akhtarzada
852c66144c Bug 974314 - Fix memleak in CreateDrawTargetForData when backend is skia. r=gal 2014-02-19 11:37:26 -05:00
Ehsan Akhgari
16c5a334d9 Backed out 2 changesets (bug 939276) because of build bustage
Backed out changeset 1cedc759f877 (bug 939276)
Backed out changeset 61cef3b533ba (bug 939276)
2014-02-14 18:48:05 -05:00
James Willcox
81769a9d59 Bug 939276 - Use a single GLContext for all SkiaGL canvases r=bjacob,gwright,dglastonbury 2014-02-14 15:55:58 -06:00