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

174 Коммитов

Автор SHA1 Сообщение Дата
Bas Schouten 0bdd67bdd0 Bug 1176363 - Part 1: Stop using DrawTargets off the main thread. r=mattwoodrow 2015-07-27 15:47:29 +00:00
Lee Salzman 97d3a0fc71 Bug 1180246 - Part 1 - remove dependencies on gfxD2DSurface. r=bas
--HG--
extra : rebase_source : 199520a80f8d904f2034fa39d9640d271078a6ac
2015-07-02 08:02:51 -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 3d198b14d2 Bug 1176570 - Make sure all shared texture handles are opened correctly before attempting to use them. r=jrmuizel 2015-06-26 14:07:57 -07:00
Mason Chang af9e236e6e Bug 1176446 - TextureClientD3D11 should take into account the layer backend when allocating a surface. r=bas 2015-06-25 08:07:42 -07:00
Matt Woodrow 5925a945d1 Bug 1173983 - Use R8 textures for d3d11 alpha textures since it appears to be better supported. r=Bas 2015-06-15 12:30:34 -04:00
Andrew Comminos 1013161996 Bug 1167356 - Handle return value of DataSourceSurface::Map wherever possible. r=Bas
--HG--
extra : rebase_source : fe4fcb9c3a89e2573e6fde423ed8d96f31e00f14
2015-06-11 13:06:23 -04:00
Ryan VanderMeulen e4040f9e04 Bug 1170143 - Fix Windows bustage to reopen a CLOSED TREE. 2015-06-05 11:31:16 -04:00
Nicolas Silva e845d9219c Bug 1170143 - Add some error checks around the creation of dxgi ycbcr video frames. r=Bas 2015-06-05 16:19:11 +02: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
Thibaud Backenstrass 5e604392a5 Bug 1158122 - Remove some occurences of nsIntRect in gfx/layers/. r=nical 2015-05-07 11:07:35 +02:00
Ethan Lin b6a9cb595a Bug 1053563 - Use a static create function to replace InitWith for TextureClient. r=nical 2015-04-29 19:34:00 +02:00
Bas Schouten 7f7ef584ca Bug 1143806: Tolerate timeouts occurring if a device driver is in the process of resetting. r=jrmuizel 2015-04-24 17:09:42 +02:00
Nicolas Silva 5ea6c11e06 Bug 1146912 - Finish replacing TextureHost::GetTextureSource by BindTextureSource. r=sotaro 2015-03-27 11:16:34 +01:00
Nicolas Silva da6cace77d Bug 1147894 - Only use non-null compositors with TextureHost::SetCompositor. r=sotaro 2015-03-27 11:16:18 +01:00
Matt Woodrow 439798a572 Bug 1146315 - Part 2: Release D3D11 YUV textures on the main thread. r=nical
--HG--
extra : rebase_source : 6d8d17dd02bb63a8ea0adcd94de891aad369d6dc
2015-03-26 13:05:25 +13:00
Matt Woodrow abe801b442 Bug 1145585 - Hold a ref to the right texture. r=jmuizelaar
--HG--
extra : rebase_source : e000ff00ef1a25e040572a21775cfbf0efb32485
2015-03-26 12:57:03 +13:00
Matt Woodrow 28fe00ec0c Bug 1145513 - Upload YCbCr image data on the client side when using d3d9 layers. r=nical
--HG--
extra : rebase_source : be290c542566bc5650b45bfc2f892c8edf5fd14a
2015-03-23 15:13:56 +13: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
Nicolas Silva 4609707f8e Bug 1142143 don't early return in TextureClientD3D11::Unlock if readback fails. r=jrmuizel 2015-03-11 18:35:35 +01:00
Milan Sreckovic 76dd5cd892 Bug 1140113 - Catch direct (and some indirect) callers of CreateDrawTarget* and deal with failure. r=mstange 2015-03-09 15:48:20 -04:00
Bas Schouten 4e7d60703f Bug 1131370: Try to ignore transient errors and increase D3D11 timeout as well. r=milan 2015-03-03 14:28:50 +01:00
Bas Schouten 42d9427fd6 Bug 1131370: Give content side more time to finish its copy. r=jrmuizel 2015-02-22 22:52:47 +00:00
Matt Woodrow 5ea802bd9a Bug 1128170 - Use UniquePtr for TextureClient KeepAlive objects to make sure we don't leak them. r=jrmuizel 2015-02-18 13:35:30 +13:00
Matt Woodrow 01eb91c854 Bug 1127925 - Lazily open shared handles in DXGITextureHostD3D11 to avoid holding references to textures that might not be used. r=jrmuizel 2015-02-13 14:23:43 +13:00
Jeff Muizelaar cba312728d Bug 1124847. Fix apostrophe typos. 2015-01-30 00:12:01 -05: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
Milan Sreckovic 5c1754eb7a 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 4983028737 Bug 1119854: Crash when AcquireSync takes more than 10 seconds. r=jrmuizel 2015-01-10 04:50:02 +01:00
Ryan VanderMeulen 20d7991ef8 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
Ethan Lin 945540c527 Bug 1042696 - Set allocator to TextureClient from constructor. r=nical 2014-12-22 03:49:00 -05:00
Milan Sreckovic 8445ba0749 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
Bas Schouten 0618d254cc Bug 1088414: Use a single synchronization texture for D3D11. r=jrmuizel
This patch adds a cross platform 'sync object' that is used to synchronize the drawing of individual textures. For the D3D11 implementation all textures that are written to will have one pixel copied into the D3D11 sync texture while holding its lock. The compositor will then, before composition acquire and release sync once, this should ensure all drawing on the content side has completed.
2014-12-13 01:50:47 +00:00
Wes Kocher c38e376cd3 Backed out changeset 2cd43e5ae2c1 (bug 1088414) for breaking non-Windows builds on a CLOSED TREE 2014-12-12 18:11:59 -08:00
Bas Schouten b339c72f57 Bug 1088414: Use a single synchronization texture for D3D11. r=jrmuizel
This patch adds a cross platform 'sync object' that is used to synchronize the drawing of individual textures. For the D3D11 implementation all textures that are written to will have one pixel copied into the D3D11 sync texture while holding its lock. The compositor will then, before composition acquire and release sync once, this should ensure all drawing on the content side has completed.
2014-12-13 01:50:47 +00:00
Nicolas Silva 01dc7cd769 Bug 1086670 - Add more gfxCriticalError logging in the D2D backend. r=jrmuizel 2014-11-26 21:05:01 +01:00
Benoit Girard d5c0f44e8b Bug 1101650 - Fix mClearOnBind logic. r=jmuizel 2014-11-19 15:29:23 -05:00
Milan Sreckovic d19b0d26a2 Bug 1074952 - Part 6. Fully qualify the appropriate logs in the logging macros, otherwise we can't call these from other namespaces. An example in non-gfx/2d where it would not have worked without this change. r=botond 2014-11-18 10:51:39 -05:00
Benoit Girard f654866a36 Bug 1087530 - Retain container's intermediate surfaces for up to one frame. r=jmuizelaar 2014-11-03 17:27:32 -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
jdashg 9b7291ca7a Bug 1066280 - Remove SurfaceStream. - r=kamidphish,mattwoodrow 2014-10-07 21:15:39 -07:00
Nicolas Silva f26be8e3fa Bug 1077307 - Merge NewTextureSource and TextureSource. r=sotaro 2014-10-07 15:58:59 +02:00
Nicolas Silva 1d3f0255c9 Bug 1061713 - Don't crash release builds if a D3D TextureClient is unlocked without being locked. r=Bas 2014-09-29 11:24:54 +02:00
Nicolas Silva a318a426b4 Bug 1070018 - Log HRESULT error codes as hexadecimal values rather than signed integers. r=Bas 2014-09-23 11:35:39 -04:00
Bas Schouten 8e86fc0d5c Bug 1068613 - Addendum: Fix bustage in ASAN builds. r=bustage on a CLOSED TREE 2014-09-18 00:25:23 +02:00
Nicolas Silva fbfe674e91 Bug 1068613 - Part 3: Log failures in D2D, D2D 1.1 and the D3D11 TextureClient. r=bas 2014-09-17 23:23:09 +02:00
Nicolas Silva 2d36152b7a Bug 1061699 - Only crash debug builds if BorrowDrawTarget is called on an unlocked TextureClient. r=Bas 2014-09-16 14:32:24 +02:00
Bas Schouten 8e9803a615 Bug 1066138: Disable using TextureClientD3D11 for A8 surfaces and fix various TextureClientD3D11 A8 bugs. r=jrmuizel 2014-09-14 23:51:31 +02:00
Matt Woodrow b1adcf8934 Bug 1046550 - Part 3: Use Direct2D 1.1 when preffed on. r=bas 2014-09-14 23:51:27 +02:00
Jeff Gilbert 638c79d7ac Bug 1052234 - Allow RGBA-order D3D11 TextureHosts. - r=bas 2014-08-30 16:27:32 -07:00
Nicolas Silva a10d917743 Bug 1047765 - Pass the proper allocation flags in TextureClient::CreateSimilar. r=Bas 2014-08-06 14:40:07 +02:00
Bas Schouten 6624d1aefe Bug 947781 - Part 2: Add the ability to readback texture data to TextureClient. r=nical 2014-07-30 15:38:46 +02:00
Ed Morley 46d9238c0a Backed out changeset c4ecea1452e9 (bug 947781) 2014-07-30 14:54:08 +01:00
Bas Schouten 7dae46766a Bug 947781 - Part 2: Add the ability to readback texture data to TextureClient. r=nical 2014-07-30 15:38:46 +02:00
Nicolas Silva 37027d1278 Bug 1043929 - Ensure that a locked TextureHost can give access to a valid TextureSource for some of the texture types. r=Bas 2014-07-28 14:58:38 +02:00
Nicolas Silva afef7c0a5e Bug 1042052 - Add TextureClient::CreateSimilar and have component alpha buffer be of the same type. r=sotaro 2014-07-25 11:24:46 +02:00
Nicolas Silva 75420bc281 Bug 1015718 - Don't crash creating a TextureHost if there is no device or if deserialization failed. fixing test failure on a CLOSED TREE 2014-07-23 20:17:15 +02:00
Nicolas Silva cc62acd996 Bug 1015718 - Keep the client-side D3D11 texture alive longer so that its destruction does not race with its deserialization. r=bas 2014-07-22 17:49:05 +02:00
Matt Woodrow 024807715d Bug 1015718 - Deserialize the DXGI handle when constructing the TextureHost rather than when locking it. r=nical 2014-07-16 18:05:58 +12:00
Bas Schouten 2ad53f526f Bug 1035227: Upload partial surfaces when an upload region is specified. r=nical 2014-07-09 16:21:11 +02:00
Nicolas Silva cb680575fd Bug 1035101 - Don't fail when a shared D3D11 texture doesn't have a mutex. r=mattwoodrow 2014-07-09 11:59:45 +02:00
Nicolas Silva 325e361792 Bug 1019000 - Ensure that successfully write-locked D3D TextureClients provide a valid DrawTarget. r=mattwoodrow 2014-07-04 10:26:14 +02:00
Jeff Gilbert f3d7974f16 Bug 1000640 - Use new StreamTextureClient/Host with OMTC. - r=mattwoodrow 2014-06-18 17:04:06 -07:00
Bas Schouten 482211a863 Bug 1019909: Properly initialize white buffer to white. r=nical 2014-06-18 00:55:31 +02:00
Nicolas Silva 81fe3788ce Bug 1023350 - Rename TextureClient::GetAsDrawTarget into TextureClient::BorrowDrawTarget and fix TextureClientX11. r=bjacob 2014-06-11 14:57:58 -04:00
Wes Kocher 40ac0457aa Backed out changeset 3a764e34c366 (bug 1000640) 2014-06-04 18:27:22 -07:00
Jeff Gilbert 4dfc0e7e48 Bug 1000640 - Use new StreamTextureClient/Host with OMTC. - r=mattwoodrow 2014-06-04 15:20:26 -07:00
Benoit Jacob 3b123f8333 Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00
Benoit Jacob dd9a0850b3 Bug 987311 - 2/6 - Make TextureFlags a typed enum, auto regex changes - r=nical
find gfx/layers -type f | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)TEXTURE_\(USE_NEAREST_FILTER\|NEEDS_Y_FLIP\|DISALLOW_BIGIMAGE\|ALLOW_REPEAT\|NEW_TILE\|COMPONENT_ALPHA\|RB_SWAPPED\|FRONT\|ON_WHITE\|ON_BLACK\|TILE\|RECYCLE\|COPY_PREVIOUS\|DEALLOCATE_CLIENT\|IMMUTABLE\|IMMEDIATE_UPLOAD\|DOUBLE_BUFFERED\|ALLOC_FALLBACK\)\($\|[^A-Za-z0-9_]\)/\1TextureFlags::\2\3/g'
find gfx/layers -type f | xargs sed -i 's/TEXTURE_FLAGS_DEFAULT/TextureFlags::DEFAULT/g'
2014-04-25 22:34:05 -04:00
Blair McBride 24b74a2af7 Backed out 9 changesets (bug 987311, bug 989027, bug 989144). r=sheriff
Backed out changeset 046c061d91c2 (bug 989144)
Backed out changeset 3f1b41adeaef (bug 987311)
Backed out changeset 8d5a171564bd (bug 987311)
Backed out changeset dcc0d016de7a (bug 987311)
Backed out changeset 27f338fbc835 (bug 989027)
Backed out changeset 4a67f5144ea4 (bug 989027)
Backed out changeset 62ba0a377450 (bug 987311)
Backed out changeset 6a2542a5c865 (bug 987311)
Backed out changeset 1dfd9a457f34 (bug 987311)
2014-04-27 19:45:08 +12:00
Benoit Jacob 49dd7d0c3f Bug 987311 - 3/6 - Make TextureFlags a typed enum, final manual changes - r=nical 2014-04-25 22:34:05 -04:00
Benoit Jacob 45875b18ee Bug 987311 - 2/6 - Make TextureFlags a typed enum, auto regex changes - r=nical 2014-04-25 22:34:05 -04:00
Jonathan Watt 200e95e9eb Bug 996901 - Remove lots of gfxASurface.h and gfxImageSurface.h includes and forward declarations that are no longer needed. r=mattwoodrow 2014-04-16 01:41:40 +01:00
Nicolas Silva 2f082d5876 Bug 990871 - Move TextureClientDrawTarget into TextureClient. r=mattwoodrow 2014-04-10 10:14:28 +02:00
Nicolas Silva fed1ef0995 Bug 993360 - Don't crash when a region is passed to DataTextureSourceD3D*::Update. r=mattwoodrow 2014-04-08 15:17:26 +02:00
Nicolas Silva aa8364e918 Bug 993360 - Don't try to lock a texture if it failed to allocate. r=mattwoodrow 2014-04-08 14:50:41 +02:00
Nicolas Silva be16634444 Bug 993360 - Always use DXGI_FORMAT_B8G8R8A8_UNORM with d3d11 OMTC. r=mattwoodrow 2014-04-08 14:50:36 +02:00
Matt Woodrow 4c66e0a0a9 Bug 904890 - Part 5: Add a d3d9 texture host for DXGI surfaces. r=nical 2014-04-07 15:23:06 +12:00
Matt Woodrow 7e5407928d Bug 904890 - Part 2: Don't crash if our d3d11 texture doesn't have a mutex. r=Bas 2014-04-07 15:09:22 +12:00
Matt Woodrow 29d8737832 Bug 991028 - Remove AutoOpenSurface. r=nical 2014-04-07 13:32:48 +12:00
Phil Ringnalda c213611c51 Backed out 4 changesets (bug 991028) for nonunified bustage
CLOSED TREE

Backed out changeset 147581a518c3 (bug 991028)
Backed out changeset e5bacc566e58 (bug 991028)
Backed out changeset 6dc852777a4d (bug 991028)
Backed out changeset 780bec5571b9 (bug 991028)
2014-04-06 21:21:38 -07:00
Matt Woodrow 178a48f9d2 Bug 991028 - Remove AutoOpenSurface. r=nical 2014-04-07 13:32:48 +12:00
Nicolas Silva 2ba3b44609 Bug 989904 - Remove deprecated d3d textures. r=mattwoodrow 2014-04-01 14:28:14 +08:00
Ryan VanderMeulen ad5d64b8b9 Backed out changesets 0b596070fe54 and ed6969e4fb6f (bug 957560) for causing bug 990027 on a CLOSED TREE. 2014-03-31 14:31:52 -04:00
Nicolas Silva 4e568f39b1 Bug 957560 - Fix new textures on windows (OMTC). r=mattwoodrow 2014-03-31 11:07:40 +08:00
Nicolas Silva 43cda78fba Bug 968807 - Add assertions in TextureClient. r=bjacob 2014-03-21 18:03:20 +01:00
Benoit Jacob 4aaf0bcadc Bug 971695 - 2/2 - make YCbCrImageDataSerializer check data size - r=nical 2014-02-20 16:04:13 -05:00
Nicolas Silva ee220cfb74 Bug 957560 - Fix some issues with CairoTextureClientD3D9 and DataTextureSourceD3D. r=Bas 2014-02-11 17:13:14 +01:00
Nicolas Silva 3779f046a4 Bug 967505 - Fix build bustage on a CLOSED TREE. 2014-02-10 11:50:43 +01:00
Nicolas Silva 9e9d5be4ae Bug 967505 - Fix a crash with the D2D debug layer. r=Bas 2014-02-10 11:21:11 +01:00
Nicolas Silva b02c28b821 Bug 952507 - Flush the back buffer after syncing with the front buffer in the buffered ContentClient. r=Bas 2014-02-04 21:35:22 +01:00
Nicolas Silva 69c3714770 Bug 964794 - Remove extra Lock and minimize DT creation/destruction in D3D11 TextureClient. r=Bas 2014-01-29 17:26:42 +01:00
Nicolas Silva 30b89fa3e5 Bug 952507 - Fix locking in double buffered ContentClient. r=nrc 2014-01-24 15:25:04 +01:00
Benoit Jacob aebf0bb92a Bug 959380 - 4/5 - Make gfxContentType a typed enum - r=jrmuizel
find . -type f | grep -v '\./obj' | grep -v '\.hg' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)GFX_CONTENT_\(COLOR\|ALPHA\|COLOR_ALPHA\|SENTINEL\)\($\|[^A-Za-z0-9_]\)/\1gfxContentType::\2\3/g'
2014-01-23 13:26:40 -05:00
Benoit Jacob e5ed95579b Bug 959380 - 2/5 - Make gfxImageFormat a typed enum - r=jrmuizel
find . -type f | grep -v \./obj | grep -v \.hg | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)gfxImageFormat\(ARGB32\|RGB24\|A8\|A1\|RGB16_565\|Unknown\)\($\|[^A-Za-z0-9_]\)/\1gfxImageFormat::\2\3/g'
2014-01-23 13:26:40 -05:00
Nicolas Silva 6e8ddf9ba0 Bug 957560 - Clear the newly allocated d3d TextureClient if the allocation flags says so. r=nrc 2014-01-20 14:52:12 +01:00
Benoit Jacob a1e7c32630 Bug 958375 - 4/9 - Make SurfaceFormat a typed enum - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Daniel Holbert 6347529106 Bug 957884: Add return statement to default case in SurfaceFormatToDXGIFormat(), to address build warning. r=nical 2014-01-09 06:26:20 -08:00
Nicolas Silva e8b4b086ed Bug 938591 - Use texture flags in DataTextureSource + D3D9/11 fixes. r=nrc 2014-01-07 17:20:11 +01:00