Commit graph

333 commits

Author SHA1 Message Date
Ryan Hunt
b3f614693b Bug 1478815 part 3 - Add a DualTextureClientLock for texture clients used for component alpha. r=nical
This commit adds a RAII class for the common operation of attempting
to lock one or two TextureClients and then maybe constructing a
DrawTargetDual from them.

MozReview-Commit-ID: ECQkDSgpyuL

--HG--
extra : rebase_source : 6debecb9d4ca33895daa78de3a52a1ed575706e1
extra : source : 082638a5c6432e0ca6ce377986d84ed130b32ad3
2018-08-01 12:46:35 -05:00
Brindusan Cristian
181d4f159b Backed out 10 changesets (bug 1478815) for reftest failures on /reftests/layers/forced-bg-color-outside-visible-region.html. CLOSED TREE
Backed out changeset 7ae4c893867a (bug 1478815)
Backed out changeset b865a866fe5a (bug 1478815)
Backed out changeset 405ad3518218 (bug 1478815)
Backed out changeset 64cb50b227e0 (bug 1478815)
Backed out changeset 392a724d5acd (bug 1478815)
Backed out changeset 01110727f2e9 (bug 1478815)
Backed out changeset 56d967e03ee2 (bug 1478815)
Backed out changeset 082638a5c643 (bug 1478815)
Backed out changeset 3dc47f17fa44 (bug 1478815)
Backed out changeset 699c954992f8 (bug 1478815)

--HG--
rename : gfx/2d/BufferEdgePad.cpp => gfx/layers/BufferEdgePad.cpp
rename : gfx/2d/BufferEdgePad.h => gfx/layers/BufferEdgePad.h
rename : gfx/2d/BufferUnrotate.cpp => gfx/layers/BufferUnrotate.cpp
rename : gfx/2d/BufferUnrotate.h => gfx/layers/BufferUnrotate.h
2018-08-07 20:57:27 +03:00
Ryan Hunt
a5f58a4250 Bug 1478815 part 3 - Add a DualTextureClientLock for texture clients used for component alpha. r=nical
This commit adds a RAII class for the common operation of attempting
to lock one or two TextureClients and then maybe constructing a
DrawTargetDual from them.

MozReview-Commit-ID: ECQkDSgpyuL

--HG--
extra : rebase_source : abad14bfee32ea2fd1626069f8229487d1f05015
2018-08-01 12:46:35 -05:00
Doug Thayer
68e5aaf03a Bug 1265824 - Remove CreateForYCbCrWithBufferSize r=mattwoodrow
This seems to be unused. Not sure if it's still left in here for
a reason or not.

MozReview-Commit-ID: 3wxaCDI7eCO

--HG--
extra : rebase_source : 25dda76dce892e580dbf31741e359d3a78f5742a
2018-07-22 20:22:12 -07:00
Doug Thayer
c0c56d6901 Bug 1265824 - Pass the texture direct mapping info to all texture creating functions r=mattwoodrow
The client side can't get the GL context in CompositorOGL. So, it can't know
the texture direct mapping capability directly. This patch adds the texture
direct mapping info in TextureFactoryIdentifier. Then, the client side could
get the info form the TextureFactoryIdentifier.

MozReview-Commit-ID: KEazDVg0p9Y

--HG--
extra : rebase_source : 09ce1065cd076a3a5dc276f93837d608443c60a1
2018-05-02 18:20:25 -07:00
Cosmin Sabou
fea686b1f6 Backed out 10 changesets (bug 1265824) for causing reftests failures on global-composite-operation.html. CLOSED TREE
Backed out changeset 391c8e7897df (bug 1265824)
Backed out changeset 27c7daabd1a3 (bug 1265824)
Backed out changeset 7c90215a2eca (bug 1265824)
Backed out changeset c141fb67cf9a (bug 1265824)
Backed out changeset 239ab9f9ef52 (bug 1265824)
Backed out changeset 39ae151b3d8c (bug 1265824)
Backed out changeset 71b23fbe1fec (bug 1265824)
Backed out changeset 295dd1a6a09f (bug 1265824)
Backed out changeset 6aecd088e02c (bug 1265824)
Backed out changeset bf9d73b214fc (bug 1265824)
2018-07-23 19:36:37 +03:00
Doug Thayer
cec969fba5 Bug 1265824 - Remove CreateForYCbCrWithBufferSize r=mattwoodrow
This seems to be unused. Not sure if it's still left in here for
a reason or not.

MozReview-Commit-ID: 3wxaCDI7eCO

--HG--
extra : rebase_source : 17c54842e57bcdb52254e65220dfc733356a5f37
2018-07-22 20:22:12 -07:00
Doug Thayer
1cfb8ec041 Bug 1265824 - Pass the texture direct mapping info to all texture creating functions r=mattwoodrow
The client side can't get the GL context in CompositorOGL. So, it can't know
the texture direct mapping capability directly. This patch adds the texture
direct mapping info in TextureFactoryIdentifier. Then, the client side could
get the info form the TextureFactoryIdentifier.

MozReview-Commit-ID: KEazDVg0p9Y

--HG--
extra : rebase_source : 425159494772431283138bbaa4574c6201a2bc59
2018-05-02 18:20:25 -07:00
Margareta Eliza Balazs
b1e7992b82 Backed out 8 changesets (bug 1265824) for bustage in /builds/worker/workspace/build/src/gfx/layers/opengl/CompositorOGL.cpp on a CLOSED TREE
Backed out changeset 1099d6f15f9f (bug 1265824)
Backed out changeset b5ba15b1a70f (bug 1265824)
Backed out changeset 51795de4adaf (bug 1265824)
Backed out changeset be68741ff4ce (bug 1265824)
Backed out changeset 4731dc56702d (bug 1265824)
Backed out changeset 984133e9614b (bug 1265824)
Backed out changeset efce316a4425 (bug 1265824)
Backed out changeset 367abce30668 (bug 1265824)
2018-07-19 09:33:28 +03:00
Doug Thayer
ddddc2b945 Bug 1265824 - Pass the texture direct mapping info to all texture creating functions r=mattwoodrow
The client side can't get the GL context in CompositorOGL. So, it can't know
the texture direct mapping capability directly. This patch adds the texture
direct mapping info in TextureFactoryIdentifier. Then, the client side could
get the info form the TextureFactoryIdentifier.

MozReview-Commit-ID: KEazDVg0p9Y

--HG--
extra : rebase_source : 1d7c0700d1f24236102de467efd84af093687ab5
2018-05-02 18:20:25 -07:00
sotaro
3acc79b45a Bug 1472951 - Remove ExternalImageId allocation for ImageClient r=nical 2018-07-06 21:25:33 +09:00
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