Граф коммитов

151 Коммитов

Автор SHA1 Сообщение Дата
Matt Woodrow b6b2040427 Bug 1135935 - Part 4: Move IDirect3DTexture9 allocations and ownership into the TextureClient. r=jrmuizel
--HG--
extra : rebase_source : 3ef1a94532980c91b850d65047493b208b1b09ce
2015-08-11 10:15:34 -04:00
David Anderson 5953408ea9 Don't mix GPU adapters across processes. (bug 1183910 part 10, r=jmuizelaar) 2015-08-10 20:27:06 -07:00
Carsten "Tomcat" Book 26f2018b57 Backed out 2 changesets (bug 1183910) for bustage on a CLOSED TREE
Backed out changeset 9617a34de78f (bug 1183910)
Backed out changeset d8f79432c768 (bug 1183910)
2015-08-06 12:09:52 +02:00
David Anderson 4e15c1f1eb Don't mix GPU adapters across processes. (bug 1183910 part 10, r=jmuizelaar) 2015-08-06 02:42:04 -07:00
David Anderson a976b3be5c Don't create a D3D11 compositor device on content processes. (bug 1183910 part 8, r=bas,mattwoodrow) 2015-08-05 02:45:06 -07:00
David Anderson ac8c6304a9 Use the same graphics device parameters across processes. (bug 1183910 part 7, r=mattwoodrow) 2015-08-02 13:59:33 -07:00
David Anderson 9d8c16c3d7 Factor out D2D initialization checks. (bug 1183910 part 4, r=mattwoodrow) 2015-07-30 00:25:56 -07:00
David Anderson 1155aac2de Remove D3D11Status flag in favor of FeatureStatus. (bug 1183910 part 3, r=mattwoodrow) 2015-07-30 00:24:56 -07:00
David Anderson 4be0f86cb1 Add a pref to force TDRs for graphics testing. (bug 1183910 part 2, r=mattwoodrow) 2015-07-30 00:23:53 -07: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
Bas Schouten 1a51d15b0f Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
Ryan VanderMeulen e107ea6a37 Backed out changeset adbd8a7608e4 (bug 1176363) for mochitest-gl permacrashes. 2015-07-27 13:54:56 -04:00
Bas Schouten 0bdd67bdd0 Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
David Anderson ddaede9c8e Add compositor, layers, and rendering info to nsIGfxInfo. (bug 1179051 part 5, r=mattwoodrow) 2015-07-19 14:50:35 -07:00
Ryan VanderMeulen 734c9eb563 Backed out changesets 90446493d402 and c4f4027f9f3a (bug 1179051) for crashes. 2015-07-19 22:39:20 -04:00
David Anderson 28d2dc3e58 Add compositor, layers, and rendering info to nsIGfxInfo. (bug 1179051 part 5, r=mattwoodrow) 2015-07-19 14:50:35 -07:00
David Anderson 65475c97d0 Move compositor backend decisions into gfxPlatform. (bug 1179051 part 3, r=mattwoodrow)
--HG--
extra : rebase_source : 43cdb0e1b5d464f8d6a0cc7a0b2e36d1b34e8595
2015-07-16 15:18:05 -07:00
David Anderson 7885e309cd Break InitD3D11Devices up into smaller functions. (bug 1179051 part 2, r=bas) 2015-07-15 23:59:39 -07:00
David Anderson cc8850cffc Split gfxWindowsPlatform::UpdateRenderMode() into multiple functions. (bug 1179051 part 1, r=bas) 2015-07-15 23:59:04 -07:00
Lee Salzman dfce3fe4ef Bug 1170390 - Make gfxPlatform::CreateOffscreenSurface use explicit format rather than guess. r=jrmuizel 2015-07-06 21:21:47 -04:00
Lee Salzman 5291e3cfc7 Bug 1180246 - Part 3 - remove usage of cairo_d2d_device. r=bas
--HG--
extra : rebase_source : a9521859e5815a4c3ff200639a1c01fe20dbd0d3
2015-07-02 17:44:53 -04: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
Matt Woodrow 072df12846 Bug 1176506 - Don't test texture sharing on WARP devices since it never works and can be detected as a driver reset. r=Bas 2015-06-26 14:06:49 -07:00
Matt Woodrow 330af331a0 Bug 1175366 - Don't use DXVA if D3D11 texture sharing is broken. r=jrmuizel
--HG--
extra : rebase_source : dbfeb9aaa25ab1fbedbcae63f63886bb12d8bb9e
2015-06-17 21:09:16 -07:00
Matt Woodrow 648b0834c4 Bug 1153123 - Don't upload in the ImageBridge thread if A8 texture sharing is broken. r=Bas 2015-05-13 23:42:32 +12:00
Phil Ringnalda d8e6f914f4 Back out 75502ee740e0 (bug 1153123) for w-p-t bustage
CLOSED TREE
2015-05-15 20:37:24 -07:00
Matt Woodrow 4ca85adc7e Bug 1153123 - Don't upload in the ImageBridge thread if A8 texture sharing is broken. r=Bas 2015-05-13 23:42:32 +12:00
Bas Schouten e0869bb7e2 Bug 1162587 - Part 1: Ensure consistent reporting of device reset until reinitialization. r=jrmuizel 2015-05-08 23:12:32 +02:00
Andrea Marchesini ade2831035 Bug 1156632 - Remove unused forward class declarations - patch 6 - the rest of the tree, r=ehsan 2015-04-22 08:29:24 +02:00
David Anderson da020904ab Show APZ wheel support in about:support on Mac OS X. (bug 1155881, r=mstange)
--HG--
extra : rebase_source : 5fdf05418fd70e4a13f17afcf8ca8cc43c5d61d9
2015-04-19 16:12:14 -04:00
Chris Pearce ext:(%2C%20Matt%20Woodrow%20%3Cmwoodrow%40mozilla.com%3E) 3916a66ac9 Bug 875247 - Add support for DXVA2 via D3D11. r=cpearce,gps,padenot 2015-03-31 18:21:15 +13:00
Matt Woodrow a5a35423f7 Bug 1146315 - Part 1: Create D3D media device on the ImageBridge thread. r=nical
--HG--
extra : rebase_source : 29a7c9e7fb5ab2726cb9a3868b85a5c0292a38b4
2015-03-26 13:04:42 +13:00
David Anderson d96e85937b Add APZ info to about:support. (bug 1146727, r=jrmuizel)
--HG--
extra : rebase_source : 8758865fbde29af687fbe00fe64cc03fc8cb2cde
2015-03-24 15:04:44 -07:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Matt Woodrow 67c8f780b6 Bug 1138967 - Part 3: Add D3D11 YCbCr texture clients and upload on the client side. r=nical
--HG--
extra : rebase_source : 90d0afdc61332b36032c8ccbf28294f77dd48a8b
2015-03-19 10:17:13 +13:00
Bas Schouten 45eb4195cb Bug 1135408: Report device resets and their reasons through telemetry. r=vladan 2015-02-22 22:53:32 +00:00
Mason Chang fd8b6dead7 Bug 1127151. Part 2: Create a vsync source on windows. r=kats 2015-02-13 17:17:24 +08:00
Matt Woodrow 523dd220d2 Bug 1128765 - Add more more reporters to break down D3D9 texture usage. r=jrmuizel 2015-02-05 16:20:14 +13:00
Jeff Muizelaar c05b6e84f8 Bug 1128765 - Add memory reporter for D3D9 shared texture usage. r=mattwoodrow
--HG--
extra : rebase_source : 41a1bf52382ea1a8aff3360b35158c6836f2d129
2015-02-03 21:34:33 +13:00
Jeff Muizelaar f637b9c41a Bug 1124847. Track D3D11 shared texture usage in about:memory. r=bas
This will hopefully help us track down large amounts of write-combined
mappings that we see.

try: -b do -p win32,win64 -u all -t none

--HG--
extra : rebase_source : 612223046a34a0e7ba179fca4fef1d4c79e18ee8
2015-01-27 20:09:34 -05:00
Matt Woodrow 0df1801282 Bug 1112331 - Disable DXVA when using WARP. r=cpearce,Bas 2015-01-21 16:36:01 +13:00
John Daggett 6eb10cad82 Bug 1121793 - trim out unused FindFontFamily/FindFontEntry functions. r=m_kato 2015-01-15 13:22:32 +09:00
John Daggett 49d793eefc Bug 1118601 - trim out unused pref fonts list from platform objects. r=m_kato 2015-01-07 14:29:21 +09:00
Jeff Muizelaar 1db153eb6f Bug 1113291. Reenable DisplayLink blocking on Windows. r=bas
Bug 1107299 broke this blocking because it assumed that DoesD3D11DeviceWork()
only described whether texture sharing works. However we were also checking for
broken DisplayLink drivers in that function. This splits out that part and uses
it appropriately.

--HG--
extra : rebase_source : 895d2da6297a48d0a2cbef2d149c27471c788484
2014-12-22 00:41:57 -05:00
Jeff Muizelaar ad91c2690e Bug 1088414. Backout "Use a single synchronized texture for d3d11"
https://hg.mozilla.org/mozilla-central/rev/e2efedec2d60
2014-11-17 14:20:05 -05:00
Matt Woodrow 3a89ba9be0 Bug 1088414. Use a single synchronized texture for d3d11. r=bas,f=jrmuizel
Calling AcquireSync on textures created with
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX appears to be really slow, this really
bites us with the number of textures involved when tiling.

I've also tested using ID3D11Query to check when work is completed, this also
appears to be pretty slow.

This instead just uses a single texture with a keyedmutex, and makes sure we
draw to it last and lock it first. It's pretty hacky, but seems to work really
well so far.

--HG--
extra : rebase_source : bf5f56751f993e507fcd1e5c386fb1fc9a3f73af
2014-10-22 15:37:00 +13:00
Jonathan Watt 6b10bf2102 Bug 1093806 - Convert DCFromContext to DCFromDrawTarget. r=Bas 2014-11-10 21:41:40 +00:00
Benoit Jacob 0f37492ba9 Bug 1021265 - regard d3d11 as broken with displaylink on versions <= 8.6.1.36484, and fall back to basic layers - r=jrmuizel 2014-11-03 17:55:00 -05:00
Jeff Muizelaar e465ca9f83 Bug 1083071 - Disable D3D11 and D3D9 layers on broken drivers. r=bjacob
This will hopefully prevent black screen problems that people are seeing.
2014-10-23 00:15:22 -04:00
Ryan VanderMeulen 5dca9bcabc Backed out changeset 2b05d4e71d11 (bug 1083071) for Win7 mochitest-1 leaks. 2014-10-23 12:53:13 -04:00