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

322 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt 084c9b6f4c Allocate TextureReadLock at TextureClient creation and drop file handles immediately after. (bug 1416726, r=aosmond)
This changes the lifecycle and API for TextureReadLock to fix file descriptor exhaustion
crashes. These changes are partially superficial and mostly align the API of TextureReadLocks
with their actual usage.

The changes are:

1. Create the TextureReadLock in the TextureClient constructor so it's available before IPC creation
    a. This is superficial as EnableReadLock was always called before IPC creation
2. Send the ReadLockDescriptor in the PTextureConstructor message and close the file handle
3. Receive the ReadLockDescriptor in TextureHost and close the file handle
4. Send a boolean flag in layer transactions if the texture is read locked instead of a descriptor
5. Use a boolean flag in TextureHost to determine if the ReadLock must be unlocked instead of a nullptr

I believe that we can remove the InitReadLocks code from LayerTransaction as that was added to
prevent file descriptor limits in IPDL messages and is no longer needed with this change. But
that is a non-essential change and this patch is already big enough.

MozReview-Commit-ID: DzHujrOQejH

--HG--
extra : rebase_source : 3bdd7c9bc8edfdc386faad8a9e59ad7dc18ed91d
2018-03-12 08:10:13 -05:00
Andrew Osmond 34935cb2ff Bug 1388020. r=nical 2018-02-07 09:33:12 -05:00
Andrew Osmond 5a683f0a80 Backed out changeset d078b56f0fa6 (bug 1388020) for OS X crashtest failures. r=backout 2018-02-06 22:18:29 -05:00
Andrew Osmond 210a94af4d Bug 1388020. r=nical 2018-02-06 20:14:17 -05:00
sotaro a8b71fcd72 Bug 1415763 - Fix DXGIYCbCrTextureData as to deliver YUVColorSpace r=mattwoodrow 2017-11-10 18:15:54 +09:00
Jamie Nicol 21b5b6db95 Bug 1092294 - Use SurfaceTextures for painted content on android (preffed off). r=nical,snorp
Add a new TextureClientData type, AndroidNativeWindowTextureData,
backed by a SurfaceTexture in single-buffer mode. It uses the
NativeWindow API, which provides producer-side access to the buffer.
This provides a DrawTarget which can be used to paint directly in to
the SurfaceTexture, which can then be composited using a SurfaceTextureHost.

Due to API restrictions it is not possible to read from a NativeWindow
while the corresponding SurfaceTexture has ownership of the
buffer. TiledContentClient now handles that by painting the additional
region that it cannot copy from the front buffer, if required.

MozReview-Commit-ID: 1NZq6MQqwFq

--HG--
extra : rebase_source : 9d1db721d4892f3df033d43127489a85421e8863
2017-10-28 11:59:58 +01:00
Daniel Holbert 126bd9e1a4 Bug 1412427 part 8: (automated patch) Switch a bunch of C++ files in gfx to use our standard mode lines. r=jrmuizel
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: 77D61xpSmIl

--HG--
extra : rebase_source : c6162fa3cf539a07177a19838324bf368faa162b
2017-10-27 16:10:06 -07:00
Daniel Holbert 3b352c7239 Bug 1412427 part 6: Remove stray "//" prefix before first line of MPL boilerplate comment, in some gfx source files. r=jrmuizel
This patch was automatically generated. I found the files to be fixed in this
patch with the following command:
grep -r "//  \* This Source Code" gfx

...and then I modified each of these files with the following script
(where $1 is the filename to be modified):
####
old="//  \* This Source Code Form is subject to the terms of the Mozilla Public"
new=" \* This Source Code Form is subject to the terms of the Mozilla Public"
sed -i s%"^$old"%"$new"% $1
####

MozReview-Commit-ID: Ihx0EAOkT2g

--HG--
extra : rebase_source : 4dc97f234495e3ec1f4904e91d43d00fd3810626
2017-10-27 15:55:38 -07:00
Jean-Yves Avenard 3cd54027fe Bug 1215089 - P7: Add support for 10/12 bits YUV surface with basic compositor. r=mattwoodrow
MozReview-Commit-ID: Ej4MbvHnSk9

--HG--
extra : rebase_source : c88e8641ce343917b4f433b515aefe653b23eaa6
2017-09-29 16:37:56 +02:00
Sebastian Hengst 2da2f1cc48 Backed out changeset 248c73a2c3b1 (bug 1215089) 2017-10-04 16:25:46 +02:00
Jean-Yves Avenard 9a3a9f486e Bug 1215089 - P6: Add support for 10/12 bits YUV surface with basic compositor. r=mattwoodrow
MozReview-Commit-ID: Ej4MbvHnSk9

--HG--
extra : rebase_source : 69b342e18829816ca3cdd91a3f01252ae2a1ac94
2017-09-29 16:37:56 +02:00
Jeff Gilbert e8ed9905f9 Bug 1322746 - Expose DXGI HANDLEs for GPU_VIDEO. - r=mattwoodrow
MozReview-Commit-ID: Aea0xGesaQi
2017-09-02 21:52:10 -07:00
David Anderson dbe6ce6a3f Bug 1385101 Part 2 Hold TextureClients alive during async painting. r=mattwoodrow,mchang 2017-08-05 11:54:11 -07:00
JerryShih 061742e951 Bug 1357299 - P11: Update layers, dxva and vr module to use SyncObjectChild. v3. r=mattwoodrow,dvander
MozReview-Commit-ID: 4HTPz0YcYHq
2017-08-07 18:15:24 +08:00
JerryShih 50bd333891 Bug 1357299 - P9: Do the refactoring for SyncObject. v2. r=mattwoodrow,dvander
The MLGDeviceD3D11, CompositorD3D11 and TextureClient use the same synchronization mechanism.
Create the new SyncObjectClient/Host types for reusing code.

Add SyncObject.cpp/h and create two new data types: SyncObjectClient and SyncObjectHost.
The SyncObjectClient is used for the TextureClient synchronization at client side.
The SyncObjectHost is used for the TextureHost synchronization in renderers such
as MLGDeviceD3D11 and CompositorD3D11.

MozReview-Commit-ID: 3l56WK1aZ15
2017-08-07 18:15:23 +08:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
sotaro e39bdc681a Bug 1356944 - Fix external image id allocation of WebRenderTextureHost r=nical 2017-04-20 10:24:13 +09:00
Bas Schouten ea81eec72e Bug 1340398 - Part 1: Allow SyncObject usage for different devices. r=mattwoodrow
MozReview-Commit-ID: GkEpe4BY9Tl
2017-03-07 20:55:19 +00:00
Wes Kocher af86144916 Backed out 3 changesets (bug 1340398) for static build bustage a=backout
Backed out changeset 7d0a9bb0a642 (bug 1340398)
Backed out changeset a8af64e23154 (bug 1340398)
Backed out changeset 588942cf8807 (bug 1340398)

MozReview-Commit-ID: BZveA35jLBL

--HG--
extra : rebase_source : 4e182afdb98d0422e82f184f5bfc332f27438f0a
2017-03-07 13:39:49 -08:00
Bas Schouten f0cdc6f6ee Bug 1340398 - Part 1: Allow SyncObject usage for different devices. r=mattwoodrow
MozReview-Commit-ID: GkEpe4BY9Tl
2017-03-07 20:55:19 +00:00
Matt Woodrow ef5a44cc58 Bug 1340117 - Batch ReadLock intializer into a separate IDPL message to avoid hitting the file descriptor limit. r=dvander 2017-02-27 16:12:12 +13:00
Matt Woodrow 56e9020406 Bug 1328797 - Part 1: Don't use a sync transaction for RemoveTexture. r=nical
--HG--
extra : rebase_source : d2b18119af34eefa5fd675f4617c8cda13fbd74f
2017-02-16 11:28:24 +13:00
Kevin Chen 7098a27b99 Bug 1300699 - (Part 2) Add a gtest to verify the behavior of applying incompatible compositor to a TextureHost. r=jerry 2017-02-14 00:51:00 +08:00
Matt Woodrow f3042f09fd Bug 1325227 - Part 9: Implement a blocking TextureReadLock using CrossProcessSemaphore. r=nical 2017-02-14 21:10:36 +13:00
Matt Woodrow 27322ef527 Bug 1325227 - Part 5: Hold the read lock while the TextureClient is locked. r=nical 2017-02-04 23:19:22 +13:00
Matt Woodrow dca1c8803c Bug 1325227 - Part 4: Split out the parts of TextureReadLock that are specific to the 'non-blocking' usage needed by tiling/texture pools. r=nical 2017-02-04 23:19:11 +13:00
vincentliu 2e57639630 Bug 1322741 - Make sure ID3D11Device is up-to-date in SyncObjectD3D11. r=dvander
---
 gfx/layers/client/ClientLayerManager.cpp |  3 ++-
 gfx/layers/client/TextureClient.h        |  1 +
 gfx/layers/d3d11/TextureD3D11.cpp        | 11 +++++++++++
 gfx/layers/d3d11/TextureD3D11.h          |  2 ++
 4 files changed, 16 insertions(+), 1 deletion(-)
2017-01-18 10:12:42 +08:00
Matt Woodrow 6dad1a961a Bug 1300676 - Part 3 - Implement readback for GPU videos. r=dvander,nical 2016-11-04 13:28:28 +13:00
Matt Woodrow 5ab6ff0b97 Bug 1313281 - Part 6: Remove FenceHandle. r=sotaro 2016-10-27 21:02:12 +13:00
Matt Woodrow 6250728c9c Bug 1313281 - Part 5: Remove NeedsFenceHandle. r=sotaro 2016-10-27 21:02:12 +13:00
Matt Woodrow 56b15734eb Bug 1313281 - Part 4: Remove Fence parameter from TextureData::Lock. r=sotaro 2016-10-27 21:02:09 +13:00
Matt Woodrow cd3c3b3268 Bug 1313281 - Part 3: Remove Fence from TimedTexture. r=sotaro 2016-10-27 21:00:20 +13:00
Matt Woodrow bda6eacad9 Bug 1313281 - Part 1: Remove AsyncTransactionTracker. r=sotaro 2016-10-27 20:59:23 +13:00
Matt Woodrow 4d0b10822d Bug 1308363 - Remove GONK specific code from gfx/. r=jrmuizel,sotaro 2016-10-27 13:17:10 +13:00
Sotaro Ikeda 1d3ceeff04 Bug 1306521 - Handle VP9 colorspace BT.709 on BasicCompositor r=nical,jwwang,jya,jrmuizel 2016-10-11 19:46:28 -07:00
Matt Woodrow 11cd1c4662 Bug 1292923 - Don't upload to textures during creation on Intel cards as it frequently crashes. r=dvander 2016-10-06 14:32:55 +02:00
Carsten "Tomcat" Book 7822855f50 Backed out changeset 3855dd4690ab (bug 1292923) for conflicts with m-c
--HG--
extra : rebase_source : 158207ae257965fbdffe51934d5c540188175859
2016-10-06 15:18:20 +02:00
Matt Woodrow d59abae49f Bug 1292923 - Don't upload to textures during creation on Intel cards as it frequently crashes. r=dvander 2016-09-28 13:28:47 +13:00
Matt Woodrow 2980c56cf9 Backout d35d695f921d for causing compile failures. 2016-10-06 19:13:30 +13:00
Matt Woodrow 0dfc4f3bfa Bug 1292923 - Don't upload to textures during creation on Intel cards as it frequently crashes. r=dvander
--HG--
extra : rebase_source : 403e604c6496b95e6f8e2f9320e918d4cdafe0f8
2016-09-28 13:28:47 +13:00
Alexandre Lissy 07037f896b Bug 1305655 - Decouple Gonk TextureForwarder and CompositableForwarder (followup bug 1281456) r=nical
MozReview-Commit-ID: 1sUiqnFEPdx
2016-09-28 07:04:13 +02:00
Matt Woodrow 55f506db9f Bug 1281456 - Decouple TextureForwarder and CompositableForwarder. r=gw280 2016-09-27 16:22:20 +13:00
Matt Woodrow 7cc797bd49 Bug 1303897 - Part 3: Remove unnecessary param to InitIPDLActor. r=nical 2016-09-23 09:43:47 +12:00
David Anderson 2255e55899 Remove the ChildActor helper class. (bug 1303426 part 3, r=nical)
--HG--
extra : rebase_source : 1b0219df4a61caedd210dd82def132accf3d3ad9
2016-09-21 22:40:20 -07:00
George Wright b04020febc Bug 1293908 - Specify the LayersBackend to be used when creating Textures r=nical 2016-08-26 20:30:58 -04:00
Ryan VanderMeulen 1130d9b73e Backed out changeset 9b4c4fd433a9 (bug 1293908) for blowing up Linux64 tests. 2016-08-21 21:30:11 -04:00