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

1690 Коммитов

Автор SHA1 Сообщение Дата
Andi-Bogdan Postelnicu b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Doug Thayer 3604605cfc Bug 1478704 - Compute shader adjustments for mask separately r=jrmuizel,mstange
When masking as a secondary effect to RENDER_TARGET, mFBOTextureTarget
will have a target of GL_TEXTURE_2D, leading us to not use sampler2DRect
and friends for the mask. This fixes that, and also assures our coord
adjustments are based on the mask texture's dimensions.

MozReview-Commit-ID: JSDfDJuLNSa

--HG--
extra : rebase_source : 77010ae331f4d004e9b716e6063334d98529bf5f
2018-07-27 09:56:34 -07:00
Doug Thayer a6b91271e5 Bug 1478704 - Use GL_TEXTURE_RECTANGLE_ARB for client storage r=jrmuizel
Now that the shader problems are fixed it's a simple switch.

MozReview-Commit-ID: 6MJlEVITwii

--HG--
extra : rebase_source : cb33bd45196eca26476c52c2c50e51f03f6129f8
2018-07-26 16:55:55 -07:00
Doug Thayer 2df99d5c56 Bug 1478704 - Fully generalize shader generation to rect textures r=jrmuizel
I'm not sure if there was a reason for not fully generalizing the
sampler2DRect and texture2DRect stuff throughout the shader
generalization file. It seemed the simplest thing was to fully
replace it - even if in some cases it doesn't make sense it's
more consistent, and it definitely fixes the trouble we were having
with switching to GL_TEXTURE_RECTANGLE_ARB for client storage.

MozReview-Commit-ID: 7243OjQdakN

--HG--
extra : rebase_source : 756741bbff4c56edec64cc6dd367328974b83b35
2018-07-26 16:54:48 -07:00
Andreea Pavel 3746d597a1 Backed out 3 changesets (bug 1478704) on request by dthayer for breaking video
Backed out changeset c57be31d3c06 (bug 1478704)
Backed out changeset c77acf366e1c (bug 1478704)
Backed out changeset 3329c8f5582a (bug 1478704)
2018-07-28 01:23:16 +03:00
Doug Thayer 030dbb65b5 Bug 1478704 - Compute shader adjustments for mask separately r=jrmuizel,mstange
When masking as a secondary effect to RENDER_TARGET, mFBOTextureTarget
will have a target of GL_TEXTURE_2D, leading us to not use sampler2DRect
and friends for the mask. This fixes that, and also assures our coord
adjustments are based on the mask texture's dimensions.

MozReview-Commit-ID: JSDfDJuLNSa

--HG--
extra : rebase_source : c779b18789196c9352a862a17f4a1e8d799805ec
2018-07-27 09:56:34 -07:00
Doug Thayer dcac2af944 Bug 1478704 - Use GL_TEXTURE_RECTANGLE_ARB for client storage r=jrmuizel
Now that the shader problems are fixed it's a simple switch.

MozReview-Commit-ID: 6MJlEVITwii

--HG--
extra : rebase_source : 7c91165633d5bc4fb07135781774998b0e1f1cf0
2018-07-26 16:55:55 -07:00
Doug Thayer f2242da77b Bug 1478704 - Fully generalize shader generation to rect textures r=jrmuizel
I'm not sure if there was a reason for not fully generalizing the
sampler2DRect and texture2DRect stuff throughout the shader
generalization file. It seemed the simplest thing was to fully
replace it - even if in some cases it doesn't make sense it's
more consistent, and it definitely fixes the trouble we were having
with switching to GL_TEXTURE_RECTANGLE_ARB for client storage.

MozReview-Commit-ID: 7243OjQdakN

--HG--
extra : rebase_source : d1b9f51f45d0cb875c82f3de5b2ea917e0385077
2018-07-26 16:54:48 -07:00
Doug Thayer 9b62998d60 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : b9abb9b9b13132cd560d1ca9677183790b2d06e2
2018-06-22 11:10:41 -07:00
Doug Thayer cd54f8c184 Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 4f05832f51dae6db98773dcad03cb008a80eca6c
2018-05-05 15:46:26 -07:00
Doug Thayer e42c2737b7 Bug 1265824 - implement CreateDataTextureSourceAroundYCbCr() and CreateDataTextureSourceAround() for CompositorOGL r=mattwoodrow
This patch will use DirectMapTextureSource to wrap the DataSourceSurface data for gpu access.
That could improve the texture uploading performance.

MozReview-Commit-ID: CGPFcCsR1RY

--HG--
extra : rebase_source : fd0e5076357d8893e9283930fc4d6fb944a3f1de
2018-05-02 18:31:08 -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
Doug Thayer f1353d2962 Bug 1265824 - Add a new texture source type "DirectMapTextureSource" r=mattwoodrow
The DirectMapTextureSource could let the compositor to read the buffer directly.
That could get rid of some memory copy operations during texture uploading.

MozReview-Commit-ID: CHhoR96P7VG

--HG--
extra : rebase_source : 65c167644096a1b72fe5dfbb55837842f41377bb
2018-05-02 18:20:10 -07:00
Doug Thayer ad1ca0fa4e Bug 1265824 - Remove the unsed member in GLTextureSource r=mattwoodrow
The "mExternallyOwned" is used for gralloc buffer. We don't use the gralloc buffer now.

MozReview-Commit-ID: 7Gurpa3kdp0

--HG--
extra : rebase_source : 5c0bf4facba5ed2cc8772df78bb702965e77a4ab
2018-05-02 18:19:54 -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 0c67ce8aa1 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : f357451ca18254be7474adf52f5088d0315c6d98
2018-06-22 11:10:41 -07:00
Doug Thayer ac1648320e Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 67f6fee8b89933561a48e6f7f531b6969893a574
2018-05-05 15:46:26 -07:00
Doug Thayer 75e14567bc Bug 1265824 - implement CreateDataTextureSourceAroundYCbCr() and CreateDataTextureSourceAround() for CompositorOGL r=mattwoodrow
This patch will use DirectMapTextureSource to wrap the DataSourceSurface data for gpu access.
That could improve the texture uploading performance.

MozReview-Commit-ID: CGPFcCsR1RY

--HG--
extra : rebase_source : efa31a061ed61509d60acd79e2db485312a28e0a
2018-05-02 18:31:08 -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
Doug Thayer 40c168f2fd Bug 1265824 - Add a new texture source type "DirectMapTextureSource" r=mattwoodrow
The DirectMapTextureSource could let the compositor to read the buffer directly.
That could get rid of some memory copy operations during texture uploading.

MozReview-Commit-ID: CHhoR96P7VG

--HG--
extra : rebase_source : 65c167644096a1b72fe5dfbb55837842f41377bb
2018-05-02 18:20:10 -07:00
Doug Thayer 14d6b57804 Bug 1265824 - Remove the unsed member in GLTextureSource r=mattwoodrow
The "mExternallyOwned" is used for gralloc buffer. We don't use the gralloc buffer now.

MozReview-Commit-ID: 7Gurpa3kdp0

--HG--
extra : rebase_source : 5c0bf4facba5ed2cc8772df78bb702965e77a4ab
2018-05-02 18:19:54 -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 aa98d8cbd6 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : 3f281360a5731e95ba345c92af8c550af9acf498
2018-06-22 11:10:41 -07:00
Doug Thayer eeeab69c1c Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 3624ad04aa01dac1cd38efb47764dc3a8fbd5fbd
2018-05-05 15:46:26 -07:00
Doug Thayer bac541366a Bug 1265824 - implement CreateDataTextureSourceAroundYCbCr() and CreateDataTextureSourceAround() for CompositorOGL r=mattwoodrow
This patch will use DirectMapTextureSource to wrap the DataSourceSurface data for gpu access.
That could improve the texture uploading performance.

MozReview-Commit-ID: CGPFcCsR1RY

--HG--
extra : rebase_source : 750cc82f0de01289ee261e8d338cd7ea39a2e4c5
2018-05-02 18:31:08 -07: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
Doug Thayer a1e4ac3550 Bug 1265824 - Add a new texture source type "DirectMapTextureSource" r=mattwoodrow
The DirectMapTextureSource could let the compositor to read the buffer directly.
That could get rid of some memory copy operations during texture uploading.

MozReview-Commit-ID: CHhoR96P7VG

--HG--
extra : rebase_source : fbca3bd3b8af29939626e697909cc67e9a5b34cc
2018-05-02 18:20:10 -07:00
Doug Thayer 8915d0bb01 Bug 1265824 - Remove the unsed member in GLTextureSource r=mattwoodrow
The "mExternallyOwned" is used for gralloc buffer. We don't use the gralloc buffer now.

MozReview-Commit-ID: 7Gurpa3kdp0

--HG--
extra : rebase_source : 00d74c0bc8e8e164571e05942768cf18d9cbce4d
2018-05-02 18:19:54 -07:00
Kearwood Gilbert 04e66eb0c1 Bug 1470348 - Enable gfxVRExternal for Android; r=kip
MozReview-Commit-ID: 4XMdLLoedIh

--HG--
extra : rebase_source : b71d5d73b832f1f16ae261463860b4f60b38c559
2018-07-10 17:41:58 -07:00
Chris Peterson 2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
sotaro 623f090649 Bug 1451183 - Make EGLLibrary destroyable r=jgilbert 2018-06-04 11:09:29 +09:00
Martin Stransky b887819c71 Bug 1464037 - Replace GL_PROVIDER_GLX by MOZ_X11 to build X11 dependent code, r=lsalzman
In order to have useful Wayland builds we need ability to switch
between GL backends run-time - to use EGL backend for Wayland and GLX backend for X11.

GL_PROVIDER_GLX is used exclusively for GLX GL backend, so let's replace GL_PROVIDER_GLX
build-time check by more general MOZ_X11 check which determines X11 dependent code
and it's valid for both X11 and Wayland builds.

MozReview-Commit-ID: HYobrHveoaP

--HG--
extra : rebase_source : 2d359355ee747f5898d27d8a28d66114f4135f5b
2018-05-24 14:06:31 +02:00
Markus Stange 0e34941ec1 Bug 1444432 - Add Compositor::GetWindowRenderTarget() and implement it for CompositorOGL. r=jrmuizel
MozReview-Commit-ID: d0vBM6g2pM

--HG--
extra : rebase_source : d16ad9a58c04c146cd4ef2d95d7eb2ec2cff1593
2018-03-28 14:44:17 -04:00
Markus Stange 072ffa8136 Bug 1444432 - Create Compositor::BlitRenderTarget and implement it for CompositorOGL. r=jrmuizel
MozReview-Commit-ID: Jz3bawvz1pv

--HG--
extra : rebase_source : 1b3e332aa2a312f6acc77b057bc466afc813990e
2018-04-12 15:28:26 -04:00
Markus Stange 0e1a4b9b8c Bug 1444432 - Create a Compositor abstraction called AsyncReadbackBuffer and implement it for CompositorOGL. r=jrmuizel
MozReview-Commit-ID: Jx1RFFoKypz

--HG--
extra : rebase_source : f7851e97ebc5d1cbc50896d3d02c028d26343f59
2018-03-28 15:46:38 -04:00
Markus Stange 7981f6dc01 Bug 1444432 - Add missing gfx:: qualifiers in TextureClientOGL.cpp. r=jrmuizel
MozReview-Commit-ID: BT33ief5qkt

--HG--
extra : rebase_source : 7709a9d125198880bf7765ef5a4d32ac6ca9e305
2018-04-13 00:13:41 -04:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Andrew Osmond 679c14a9c4 Bug 1388020. r=nical 2018-04-06 09:01:17 -04:00
Nicolas Silva 2f19628734 Bug 1440717 - Use RefPtr for CompositingRenderTargetOGL::mGL. r=Bas 2018-03-12 13:36:00 +01:00
Kartikaya Gupta b18710abb6 Bug 1442627 - Move static helpers from APZCTreeManager to APZUtils. r=botond
This also includes unified build fixes that were needed as a result of
the shuffling around.

MozReview-Commit-ID: 1AGG3DHnN1m

--HG--
extra : rebase_source : 7399cea6dff2bd91ab305dee22d93b32382cc0be
2018-03-06 10:25:39 -05:00
Botond Ballo 22b21d37e2 Bug 1425243 - Intersect the clip rect in CompositorOGL::DrawGeometry() with the mask bounds if there is a mask. r=mstange
MozReview-Commit-ID: DlGQOUxUPLm

--HG--
extra : rebase_source : e968a44c64e2b46b7aa76731fd86417b6fd300c9
2018-01-31 18:58:35 -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
Nicolas Silva 082991a7bc Bug 1404477 - Merge ResourceUpdateQueue and TransactionBuilder. r=kats 2018-01-29 14:33:39 +01:00
Kartikaya Gupta 8903b49768 Bug 1429951 - Propagate the non-premultiplied flag for textures to WR. r=sotaro
MozReview-Commit-ID: Vd5n5e7XuW

--HG--
extra : rebase_source : ebd563dd785d99a9623906554dfe8ccd507930b4
2018-01-17 12:55:40 -05:00
Milan Sreckovic e3960c6dce Bug 1429602: Rename BaseRect::IsZero to BaseRect::IsZeroArea. Also slip in some corrections to using BaseRect methods instead of direct member access. r=bas.schouten
MozReview-Commit-ID: H3ApaWesbKF

--HG--
extra : rebase_source : c4f73da113a604c14fbf0f1ef4c598d032d68792
2018-01-10 17:57:10 -05:00
Morris Tseng ae9a064d8e Bug 1374729 - Use correct format for MacIOSurface. r=nical
MozReview-Commit-ID: 43JBSi5mqT7
2018-01-09 14:12:02 +08:00
Milan Sreckovic 099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00