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

2234 Коммитов

Автор SHA1 Сообщение Дата
sotaro 9437779a52 Bug 1648076 - Use AndroidSurfaceTexture related files only on Android r=jgilbert
No functional change. AndroidSurfaceTexture related files are used on all platforms. They are needed only on Android.

Differential Revision: https://phabricator.services.mozilla.com/D80869
2020-06-24 18:59:14 +00:00
Martin Stransky 2b91832e28 Bug 1645704 [Wayland] Rename WaylandDMABufSurface to DMABufSurface at gxf, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D79637
2020-06-21 13:59:17 +00:00
Imanol Fernandez cc77358c6f Bug 1646073 - Enable WebGL SwapChain pooling on Android. Use a separate SwapChain for WebVR. r=jgilbert
- Enable WebGL SwapChain pooling on Android. Creating and releasing Android Surfaces every frame causes a big performance hit due to AndroidSurface slow destructors bug.
- Add a separate SwapChain for WebVR. We are already using separate SwapChains for WebXR (WebGLFramebuffer::mOpaqueSwapChain) but not for WebVR (it uses the canvas backbuffer).

Differential Revision: https://phabricator.services.mozilla.com/D79840
2020-06-17 18:56:16 +00:00
Sylvestre Ledru 85c05f3a47 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D79795
2020-06-16 14:37:23 +00:00
Jeff Gilbert 82ef5d6cc1 Bug 1632249 - Check weakptr value before deref in gl::Texture/Renderbuffer. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D79626
2020-06-15 18:26:17 +00:00
Jeff Gilbert 4232c2c466 Bug 1632249 - Replace GLContextProvider::CreateOffscreen with GLContext::CreateOffscreenDefaultFb. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D79390
2020-06-15 18:26:12 +00:00
Jeff Gilbert 4d9dcd8e1d Bug 1632249 - Fix Bb failures. r=gw
> /builds/worker/checkouts/gecko/gfx/gl/SharedSurface.cpp:141:1: error: control reaches end of non-void function [-Werror=return-type]

Old compilers don't realize the switch being exhaustive means the
function always returns, which we workaround here.

Differential Revision: https://phabricator.services.mozilla.com/D78837
2020-06-15 18:26:05 +00:00
Jeff Gilbert a97c615de2 Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-15 18:25:55 +00:00
Dorel Luca 255f146f14 Backed out 7 changesets (bug 1632249) for Gtest perma chrash in [@ mozilla::BlockingResourceBase::CheckAcquire()]. CLOSED TREE
Backed out changeset 4ff99aab3ee8 (bug 1632249)
Backed out changeset d5b7fe789001 (bug 1632249)
Backed out changeset 64fbb616a0f3 (bug 1632249)
Backed out changeset 6f19f43e0a0b (bug 1632249)
Backed out changeset 073302d26c5e (bug 1632249)
Backed out changeset 7c94d37c446e (bug 1632249)
Backed out changeset 204b899f436d (bug 1632249)
2020-06-11 19:44:20 +03:00
Jeff Gilbert 15ac3e9445 Bug 1632249 - Fix Bb failures. r=gw
> /builds/worker/checkouts/gecko/gfx/gl/SharedSurface.cpp:141:1: error: control reaches end of non-void function [-Werror=return-type]

Old compilers don't realize the switch being exhaustive means the
function always returns, which we workaround here.

Differential Revision: https://phabricator.services.mozilla.com/D78837
2020-06-11 06:37:43 +00:00
Jeff Gilbert cf3c8fedea Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-11 06:37:35 +00:00
Mihai Alexandru Michis 59ad7ed333 Backed out 6 changesets (bug 1632249) for causing bustages in CanvasRenderingContext2D.cpp
CLOSED TREE

Backed out changeset c93972b05d4f (bug 1632249)
Backed out changeset 04f5127c85d5 (bug 1632249)
Backed out changeset b15d91e64a25 (bug 1632249)
Backed out changeset 71ad2ed8e9ba (bug 1632249)
Backed out changeset 6e9a89ead3a5 (bug 1632249)
Backed out changeset dd00e2da3a0f (bug 1632249)
2020-06-11 02:43:35 +03:00
Jeff Gilbert 85f3804e14 Bug 1632249 - Fix Bb failures. r=gw
> /builds/worker/checkouts/gecko/gfx/gl/SharedSurface.cpp:141:1: error: control reaches end of non-void function [-Werror=return-type]

Old compilers don't realize the switch being exhaustive means the
function always returns, which we workaround here.

Differential Revision: https://phabricator.services.mozilla.com/D78837
2020-06-10 22:21:17 +00:00
Jeff Gilbert 9b09e54345 Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-10 22:21:02 +00:00
Jamie Nicol 45d8be2493 Bug 1644678 - Don't set DEALLOCATE_CLIENT flag for SharedSurface_SurfaceTextures. r=sotaro
The flag is not required for SharedSurface_SurfaceTexture, as
GeckoSurfaceTexture is reference counted. When the GeckoSurface is
disposed on the client side it simply decrements the refcount of the
GeckoSurfaceTexture on the host side, which will remain alive until
the TextureHost's reference is also dropped.

Differential Revision: https://phabricator.services.mozilla.com/D79073
2020-06-10 14:03:55 +00:00
Dorel Luca 7289b66d6f Backed out 4 changesets (bug 1632249) for Build bustages and mda failures. CLOSED TREE
Backed out changeset cdaa8a4e9e36 (bug 1632249)
Backed out changeset 9ff26bcc580c (bug 1632249)
Backed out changeset 16d84439756f (bug 1632249)
Backed out changeset bbfe23c61add (bug 1632249)
2020-06-09 03:19:48 +03:00
Jeff Gilbert de6377896c Bug 1632249 - Support compositing out-of-process WebGL. r=handyman,lsalzman,nical,geckoview-reviewers,agi,imanol
* Majorly simplity CanvasRenderer
* Replace GLScreenBuffer with trivial GLSwapChain
* Use descriptor structs so that future SharedSurface changes aren't so painful
  to propagate
* Mortgage/strip out more OffscreenCanvas code for now

Differential Revision: https://phabricator.services.mozilla.com/D75055
2020-06-08 20:34:15 +00:00
Simon Giesecke ebbc7ae838 Bug 1642989 - Use RemoveLastElements instead of RemoveElementsAt where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D78049
2020-06-08 08:50:15 +00:00
Greg V 22c3a0e8d8 Bug 1620076 - Partial compositing (damage) with EGL_EXT_buffer_age in WebRender r=jgilbert
EGL with buffer-age requires the application to keep the front buffer
fully consistent. This means we have to draw the previous frame's
damage as well. (But we don't need to include it in the hint we're
sending to the system compositor via SwapBuffersWithDamage.)

Differential Revision: https://phabricator.services.mozilla.com/D61062
2020-05-22 18:15:13 +00:00
Aaron Klotz 51e92c23de Bug 1637452: Part 14 - Fix JNI includes in gfx; r=gfx-reviewers,jrmuizel
In this bug we're moving away from monolithic JNI headers to class-specific
headers so that we don't have to rebuild the world every time we make a change
to a JNI interface.

Differential Revision: https://phabricator.services.mozilla.com/D75377
2020-05-15 17:05:59 +00:00
Imanol Fernandez 572d9340f4 Bug 1638114 - Do not keep EGLSurfaceOverride references to destroyed Android Shared Surfaces. r=jgilbert,snorp,rbarker
In WebVR we destroy the mVRScreen after presentation is exited by calling WebGLContext::ClearVRFrame(). We found that when having multiple windows with active WebGL contexts in Firefox Reality, the WebGL context dies a lot, and you have to reload the page to recover from it. The problem is that when the GLScreenBuffer is destroyed the EGLContext still keeps a reference to the destroyed surface, set by gl->SetEGLSurfaceOverride(surface), which can break the future eglMakeCurrent calls.

Differential Revision: https://phabricator.services.mozilla.com/D75413
2020-05-14 22:50:02 +00:00
Simon Giesecke 2e6385ca34 Bug 1626570 - Improve handling of copying arrays in gfx/. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D73635
2020-05-05 12:55:27 +00:00
Stephen A Pohl ee3fa26401 Bug 1616404: Change macOS version detection to accommodate major versions between 10 and 255 as well as minor and bugfix versions between 0 and 255. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D73180
2020-05-04 21:11:09 +00:00
Dorel Luca 34f3c60771 Backed out changeset 06fadee788b3 (bug 1616404) for XPCShell failures on OSX in xpcshell/rs-blocklist/test_gfxBlacklist_OK.js. CLOSED TREE 2020-05-04 22:46:01 +03:00
Stephen A Pohl 056c89cd8c Bug 1616404: Change macOS version detection to accommodate major versions between 10 and 255 as well as minor and bugfix versions between 0 and 255. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D73180
2020-05-04 17:01:45 +00:00
sotaro 74fce68a04 Bug 1632096 - Forward WebRender gl(ANGLE) error message to gfx critical note r=gw
Differential Revision: https://phabricator.services.mozilla.com/D72123
2020-04-24 11:32:05 +00:00
Narcis Beleuzu 3eaaf8fd77 Backed out changeset d84032238d5f (bug 1632096) for bustages on GLContext.h . CLOSED TREE 2020-04-24 05:46:10 +03:00
sotaro 41ebbb733f Bug 1632096 - Forward WebRender gl(ANGLE) error message to gfx critical note r=gw
Differential Revision: https://phabricator.services.mozilla.com/D72123
2020-04-23 22:58:27 +00:00
Robert Mader cd16f095fa Bug 1632137 - Do not require GL compat profile for Webrender, r=jgilbert
This mirrors GLX behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D71993
2020-04-22 20:25:44 +00:00
Martin Stransky e3d81b0f91 Bug 1474281 - Make EGL-provider support OGL. r=jgilbert
In the past EGL only supported GLES, not OGL. This has not been true
for a very long time, so lets support OGL context creation in the EGL
backend.

This allows e.g. the Wayland backend to use OGL contexts, which brings
it on par with the X11/GLX backend.

Differential Revision: https://phabricator.services.mozilla.com/D48096
2020-04-21 05:43:35 +00:00
Botond Ballo 22d1a37a79 Bug 1627482 - Fix non-unified build errors in gfx/gl. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D69731

--HG--
extra : moz-landing-system : lando
2020-04-05 03:50:33 +00:00
Sylvestre Ledru 734f79b541 Bug 1624237 - Run misc-unused-using-decls - Remove useless declarations r=andi
$ ./mach static-analysis check --checks="-*, misc-unused-using-decls" --fix <path>

Differential Revision: https://phabricator.services.mozilla.com/D67811

--HG--
extra : moz-landing-system : lando
2020-03-23 13:15:33 +00:00
Martin Stransky 3e8ae1409e Bug 1619270 [Wayland] Check we're really on Wayland and not on headless, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D65489

--HG--
extra : moz-landing-system : lando
2020-03-05 10:20:48 +00:00
Simon Giesecke dce1e48caf Bug 1613985 - Use default for equivalent-to-default constructors/destructors in gfx. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D65288

--HG--
extra : moz-landing-system : lando
2020-03-04 15:39:20 +00:00
Sylvestre Ledru ca6530131a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan,kvark
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D63787

--HG--
extra : moz-landing-system : lando
2020-02-24 15:33:38 +00:00
Martin Stransky 905e0e97e8 Bug 1614568 [Wayland] Implement fence sync to dmabuf surfaces for WebGL rendering, r=jgilbert
Use ANDROID_native_fence_sync to synchronize WebGL renderin. It's similar to KHR_fence_sync
but it the fence can be exported to file descriptor and shared among processes so we can create
the fence by WebGL producer and then wait in renderer.

Use glFinish() as a fallback when ANDROID_native_fence_sync is not available.

Differential Revision: https://phabricator.services.mozilla.com/D62712

--HG--
extra : moz-landing-system : lando
2020-02-19 15:13:28 +00:00
Jeff Gilbert b8111d92ec Bug 1615751 - Prune unused parts of GLScreenBuffer. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D62979

--HG--
extra : moz-landing-system : lando
2020-02-15 22:48:36 +00:00
Arthur Iakab fa5241b0f1 Backed out changeset 57fa22ef0461 (bug 1615751) for multiple build bustages.
DONTBUILD
CLOSED TREE
2020-02-15 22:19:55 +02:00
Jeff Gilbert 739ec46d60 Bug 1615751 - Prune unused parts of GLScreenBuffer. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D62979

--HG--
extra : moz-landing-system : lando
2020-02-15 04:15:21 +00:00
Greg V e5dcb46da9 Bug 1615465 - fix missing nsString include in GLContext r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D62843

--HG--
extra : moz-landing-system : lando
2020-02-14 00:25:19 +00:00
Martin Stransky 0c0169aabe Bug 1613364 [Wayland] Update gfx code to derived WaylandDMABufSurfaceRGBA class, r=sotaro
WaylandDMABufSurface/WaylandDMABufSurfaceRGBA uses textures interface instead of EGLImages so we need
to update gfx code accordingly:

- rename CreateEGLImage() -> CreateTexture()
- rename ReleaseEGLImage() -> ReleaseTextures()
- rename GetGLTexture() -> GetTexture()
- rename WaylandDMABufSurface::CreateDMABufSurface() to WaylandDMABufSurfaceRGBA::CreateDMABufSurface()

Differential Revision: https://phabricator.services.mozilla.com/D62005

--HG--
extra : moz-landing-system : lando
2020-02-12 22:35:02 +00:00
Emilio Cobos Álvarez d7841a5f17 Bug 1614208 - Remove some include dependencies in nsStyleConsts.h. r=jfkthame,jgilbert
We include it everywhere because it's included from gfxTypes.h.

This should avoid including all the generated bindings _everywhere_.

Differential Revision: https://phabricator.services.mozilla.com/D62174

--HG--
extra : moz-landing-system : lando
2020-02-11 01:23:37 +00:00
Martin Stransky 7e18aeed6a Bug 1613358 [Wayland] Implement WaylandDMABUFSurfaceImage dmabuf image, r=sotaro
Implement WaylandDMABUFSurfaceImage which is backed by dma buf memory on Wayland and it holds
decoded video images produced by ffmpeg va-api decoder.

Differential Revision: https://phabricator.services.mozilla.com/D61678

--HG--
extra : moz-landing-system : lando
2020-02-06 15:15:02 +00:00
Brindusan Cristian 443b32771a Backed out changeset 6381c1f2aedc (bug 1613358) for build bustages at GLBlitHelper.cpp. CLOSED TREE 2020-02-06 16:15:27 +02:00
Martin Stransky f6d5f48d74 Bug 1613358 [Wayland] Implement WaylandDMABUFSurfaceImage dmabuf image, r=sotaro
Implement WaylandDMABUFSurfaceImage which is backed by dma buf memory on Wayland and it holds
decoded video images produced by ffmpeg va-api decoder.

Differential Revision: https://phabricator.services.mozilla.com/D61678

--HG--
extra : moz-landing-system : lando
2020-02-06 12:10:57 +00:00
Martin Stransky 849ffb22b3 Bug 1586696 [Wayland] Use wayland dmabuf as WebGL backend, r=jgilbert
- Create new SharedSurfaceType called EGLSurfaceDMABUF
- Implement EGLSurfaceDMABUF by SharedSurfaceDMABUF which is backed by WaylandDMABufSurface.
  It can be used by Wayland/EGL WebGL backend.
- It's disabled by default, can be enabled by widget.wayland_dmabuf_webgl.enabled pref.

Differential Revision: https://phabricator.services.mozilla.com/D60114

--HG--
extra : moz-landing-system : lando
2020-02-05 06:32:25 +00:00
Robert Mader 829aab8587 Bug 1474281 - Remove unneeded debug print. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D48102

--HG--
extra : moz-landing-system : lando
2020-01-31 17:17:49 +00:00
Greg V 2befd54d63 Bug 1484812 - Use SwapBuffersWithDamage on EGL platforms (Wayland/Android) r=jnicol,mstange,jgilbert
EGL_KHR_swap_buffers_with_damage (or EGL_EXT_swap_buffers_with_damage)
is an EGL extension that allows the application to inform the display
server (system compositor) which areas of the window have changed.

This commit implements support for that extension in the layers compositor.
The layers compositor always renders the whole frame, so we're only getting
the benefit of not redrawing unchanged areas *in the system compositor*,
not actually doing partial invalidation/compositing,
but that makes the implementation simpler (no need to track buffer age).

Differential Revision: https://phabricator.services.mozilla.com/D51517

--HG--
extra : moz-landing-system : lando
2020-01-30 10:46:54 +00:00
Eric Rahm cfd1cc461f Bug 1610388 - Remove nsAutoPtr usage from gfx/. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D60456

--HG--
extra : moz-landing-system : lando
2020-01-21 01:25:28 +00:00
Emilio Cobos Álvarez 256c124f94 Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj
This was done by:

This was done by applying:

```
diff --git a/python/mozbuild/mozbuild/code-analysis/mach_commands.py b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
index 789affde7bbf..fe33c4c7d4d1 100644
--- a/python/mozbuild/mozbuild/code-analysis/mach_commands.py
+++ b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
@@ -2007,7 +2007,7 @@ class StaticAnalysis(MachCommandBase):
         from subprocess import Popen, PIPE, check_output, CalledProcessError

         diff_process = Popen(self._get_clang_format_diff_command(commit), stdout=PIPE)
-        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format]
+        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format, '-sort-includes']

         if not output_file:
             args.append("-i")
```

Then running `./mach clang-format -c <commit-hash>`

Then undoing that patch.

Then running check_spidermonkey_style.py --fixup

Then running `./mach clang-format`

I had to fix four things:

 * I needed to move <utility> back down in GuardObjects.h because I was hitting
   obscure problems with our system include wrappers like this:

0:03.94 /usr/include/stdlib.h:550:14: error: exception specification in declaration does not match previous declaration
0:03.94 extern void *realloc (void *__ptr, size_t __size)
0:03.94              ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/malloc_decls.h:53:1: note: previous declaration is here
0:03.94 MALLOC_DECL(realloc, void*, void*, size_t)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozilla/mozalloc.h:22:32: note: expanded from macro 'MALLOC_DECL'
0:03.94     MOZ_MEMORY_API return_type name##_impl(__VA_ARGS__);
0:03.94                                ^
0:03.94 <scratch space>:178:1: note: expanded from here
0:03.94 realloc_impl
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozmemory_wrap.h:142:41: note: expanded from macro 'realloc_impl'
0:03.94 #define realloc_impl mozmem_malloc_impl(realloc)

   Which I really didn't feel like digging into.

 * I had to restore the order of TrustOverrideUtils.h and related files in nss
   because the .inc files depend on TrustOverrideUtils.h being included earlier.

 * I had to add a missing include to RollingNumber.h

 * Also had to partially restore include order in JsepSessionImpl.cpp to avoid
   some -WError issues due to some static inline functions being defined in a
   header but not used in the rest of the compilation unit.

Differential Revision: https://phabricator.services.mozilla.com/D60327

--HG--
extra : moz-landing-system : lando
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez aa3a695712 Bug 1609996 - Remove mozilla/Move.h. r=froydnj
rg -l 'mozilla/Move.h' | xargs sed -i 's/#include "mozilla\/Move.h"/#include <utility>/g'

Further manual fixups and cleanups to the include order incoming.

Differential Revision: https://phabricator.services.mozilla.com/D60323

--HG--
extra : moz-landing-system : lando
2020-01-20 16:18:20 +00:00
Emilio Cobos Álvarez 5cd5e6f148 Bug 1609996 - Remove mozilla::Swap in favor of std::swap. r=froydnj
Now mfbt/Move.h is empty except for that excellent comment about move
semantics... Should we put it somewhere else and delete the header as a
follow-up? Or just delete the header and carry on?

Differential Revision: https://phabricator.services.mozilla.com/D60297

--HG--
extra : moz-landing-system : lando
2020-01-20 16:17:06 +00:00
Sylvestre Ledru cc2040bf21 Bug 1605934 - Use nested namespaces r=sg
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files

Differential Revision: https://phabricator.services.mozilla.com/D58217

--HG--
extra : moz-landing-system : lando
2020-01-18 13:48:34 +00:00
Dorel Luca 506e65bcab Backed out changeset bbb39655cf71 (bug 1605934) for build bustage in widget/gtk/mozwayland/mozwayland.c 2020-01-18 15:39:55 +02:00
Sylvestre Ledru 6689a37527 Bug 1605934 - Use nested namespaces r=sg
Done with:
./mach static-analysis check --checks="-*, modernize-concat-nested-namespaces" --fix .
and then clang-format on the files

Differential Revision: https://phabricator.services.mozilla.com/D58217

--HG--
extra : moz-landing-system : lando
2020-01-18 13:16:39 +00:00
Martin Stransky 508b813eb7 Bug 1608379 [Wayland] Don't use LOCAL_GL_TEXTURE_EXTERNAL on Wayland, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D59480

--HG--
extra : moz-landing-system : lando
2020-01-11 17:50:20 +00:00
Jeff Gilbert f26e4d546b Bug 1477756 - Fix non-webgl CI tests. r=handyman
* Revert some partial webgl+oop+vr code.
* More missing FuncScope.
* Fix compile errors.
* Refactor some ifdef'd code to branch and compile on all platforms.
* -Wno-error=unused-result for GCC to allow for (void)MustUse().

Depends on D55739

Differential Revision: https://phabricator.services.mozilla.com/D56169

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:26 +00:00
Jeff Gilbert 0dfd1a2a0d Bug 1477756 - Fix all webgl regression tests according to CI. r=handyman
(This is a combination of 31 commits)

* Fix Linux compilation.

* Fix mac compilation.

* CI compile fixes.

* printf's size_t is %zu. %tu would be unsigned ptrdiff_t.

* No non-ref Maybe args.

* MOZ_CRASH for noreturn

* Handle implied texture sizes, rewrite comment stripping.

* Replace e.g. WebGLProgramInner with simpler webgl::ProgramKeepAlive.

* Bounce ValidateProgram call off driver.

* Uniform name length limit, cubemap fb-attach, non-array uniforms, undersized texImage views.

* alignas for uint8_t[sizeof(float)*N] pun buffers.

* CC fixes?

* Fill attrib0Active.

* Repair max-warnings limit.

* This is basically required in order for CI's logging to not explode.

* Don't cache WebGLMemoryTracker.

* Deleted prog/shader error, no texSubImage(null), client-side fingerprint resist for exts.

* Fix GetUniformIndices and MakeRangeFromView.

* CC Traverse base class from within derived class to fix leaking the world. :(

* PauseTransformFeedback
* TexImage video fastpath
* GetFragLocation for arrays
* Forbid BindBufferRange during TF

* Mark tests and fix RBAB query and test.

* Change(!) query deletion behavior to match spec.
* Mark conformance2/query/query.html failing for now.

* Implicitly EndQuery on DeleteQuery while spec is in flux.

* Fix error code for test.

* RAII LruPosition for WebGL context limit.

* Include std::list.

* Mark CompileResult and LinkResult.pending as false when retrieved.

* Hold strong-ref to NotLostData during Run<> to prevent LoseContext=>UAF.

* Don't assume GetUniformLocation(foo+'[0]') means foo is an array.
* Don't assume !mCanvasElement means !!mOffscreenCanvas.

* Handle composition while context-lost.

* All non-value-init members must be const or have inline init.

* Mark passing tests on Linux.

Depends on D54019

Differential Revision: https://phabricator.services.mozilla.com/D55739

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:23 +00:00
Jeff Gilbert e1d0fe64bb Bug 1477756 - Client-side bindings mirror for precise CC, and merge similar codepaths. r=handyman
* Context loss using RAII
* Move Program reflection Client-side

Depends on D54018

Differential Revision: https://phabricator.services.mozilla.com/D54019

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:16 +00:00
David Parks 198fa063c2 Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman
Splits WebGLContext into ClientWebGLContext and HostWebGLContext.  The Client enables the JS-control of a WebGL context in a content procecss while the Host executes the WebGL graphics operations (via a WebGLContext that maintains much of the existing code) in the compositor process.  At this point, the cross-process behavior is disabled -- this series of patches is an incremental step toward that final goal.

Differential Revision: https://phabricator.services.mozilla.com/D54018

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:14 +00:00
Markus Stange 7319c5e46d Bug 1592038 - Allow sharing depth and stencil buffers between multiple MozFramebuffers. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D54862

--HG--
extra : moz-landing-system : lando
2019-12-19 03:26:19 +00:00
Markus Stange 978cf2b7f0 Bug 1592044 - Add MozFramebuffer::HasDepth() and HasStencil(). r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D55040

--HG--
extra : moz-landing-system : lando
2019-12-18 20:33:53 +00:00
Markus Stange 02b5afd25b Bug 1604633 - Stop calling -[NSOpenGLContext pixelFormat] on 10.9, take 2. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D57555

--HG--
extra : moz-landing-system : lando
2019-12-18 00:12:24 +00:00
Markus Stange b971dcf446 Bug 1602813 - Stop calling -[NSOpenGLContext pixelFormat] because it's not available on 10.9. Instead, inline CreateWithFormat into this callsite. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D56585

--HG--
extra : moz-landing-system : lando
2019-12-10 21:57:23 +00:00
Gabriele Svelto 69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55443

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
David Parks 4dc38ba6aa Bug 1577336: Part 7 - Move DXGI async plugin operations to compositor process r=jmathies,mattwoodrow,sotaro,mccr8
Previously, we created TextureD3D11 objects in the content process to back surfaces created for the plugin process.  Those objects were then composited by the async ImageBridge.  In order to remove Win32 kernel operations from content (including DX/GDI operations), this patch bounces the requests from content to the compositor process.  The compositor process maintains 2 textures to be used for all plugin composition -- one for the plugin process and one for display.  The plugin process can freely write to its texture and request composition when it is done, which triggers a blit to the display texture.  This mirrors pre-existing behavior.

Differential Revision: https://phabricator.services.mozilla.com/D46086

--HG--
extra : moz-landing-system : lando
2019-11-20 21:49:35 +00:00
David Parks 18e50987a5 Bug 1577336: Part 6 - Make SurfaceDescriptorGPUVideo a union that contains SurfaceDescriptorRemoteDecoder r=mattwoodrow,jolin
SurfaceDescriptorGPUVideo, which currently only represents RemoteDecoder video, switches from being a struct to a union that holds a SurfaceDescriptorRemoteDecoder struct.  SurfaceDescriptorRemoteDecoder is a new name for the old SurfceDescriptorGPUVideo.  This is done so that we can later add SurfaceDescriptorPlugin as another type of SurfaceDescriptorGPUVideo.

Differential Revision: https://phabricator.services.mozilla.com/D52400

--HG--
extra : moz-landing-system : lando
2019-11-20 21:55:06 +00:00
Glenn Watson cf3a4562ea Bug 1597887 - Improve performance of DirectComposition mode with WR. r=sotaro
This patch include two performance improvements:
 - Only rebuild the DC visual tree if different from last frame.
 - Use EGLImage instead of pbuffer for DC <-> GL interop.

These fix most of the talos regressions with DC enabled in WR.

Differential Revision: https://phabricator.services.mozilla.com/D53916

--HG--
extra : moz-landing-system : lando
2019-11-20 07:12:42 +00:00
Markus Stange 2e63893952 Bug 1579664 - Migrate compositor GLContexts to the active GPU after a GPU switch. r=jgilbert
MigrateToActiveGPU is only called on compositor GLContexts, not for WebGL.
See bug 1597547 for WebGL.

After this fix, the situation can be improved in multiple ways:
 - Rather than moving contexts between GPUs, it would be better to have separate
   contexts for each GPU, and teach our compositors to switch a window over to
   a new context.
 - Instead of creating a fresh context to obtain the "preferred" GPU, we should
   find the GPU that drives the display on which the context's results are going
   to be displayed.

Differential Revision: https://phabricator.services.mozilla.com/D53719

--HG--
extra : moz-landing-system : lando
2019-11-19 08:52:00 +00:00
Markus Stange 3ef43bc992 Bug 1596248 - Remove some duplicated checks, and the unused EMULATE_VM define. r=jgilbert,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D52924

--HG--
extra : moz-landing-system : lando
2019-11-19 03:14:12 +00:00
Markus Stange b37d02c990 Bug 1596248 - Use CreateHeadless in GLContextProviderCGL::CreateForCompositorWidget. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D52923

--HG--
extra : moz-landing-system : lando
2019-11-19 03:49:06 +00:00
Markus Stange cfe68beea0 Bug 1596248 - Stop specifying depth buffer surface caps for WebRender. r=jgilbert
This setting was only respected for manually-created fake "default" framebuffers,
by code that no longer exists.

Differential Revision: https://phabricator.services.mozilla.com/D52922

--HG--
extra : moz-landing-system : lando
2019-11-19 03:13:42 +00:00
Markus Stange 0239580b86 Bug 1596248 - Stop specifying depth buffer attributes when creating a GLContext for WebRender. r=jgilbert
This depth buffer would only be created for the default framebuffer, but there is
no default framebuffer on macOS (since all rendering goes into IOSurfaces), so
this attribute is ignored.
We already manually create depth buffers for the IOSurface framebuffers.

Differential Revision: https://phabricator.services.mozilla.com/D52921

--HG--
extra : moz-landing-system : lando
2019-11-19 03:48:21 +00:00
Markus Stange fb2b04b715 Bug 1596248 - Add CreateContextFlags::PREFER_MULTITHREADED and change the pref name from gl to webgl. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D53768

--HG--
extra : moz-landing-system : lando
2019-11-19 21:49:01 +00:00
Markus Stange 240730710b Bug 1596248 - Remove the pref gl.require-hardware and instead just respect CreateContextFlags::FORCE_ENABLE_HARDWARE. r=jgilbert
This seems to be what other platforms do. FORCE_ENABLE_HARDWARE is controlled by the pref webgl.force-enabled.
gl.require-hardware was only read on macOS.

Differential Revision: https://phabricator.services.mozilla.com/D52920

--HG--
extra : moz-landing-system : lando
2019-11-19 17:57:35 +00:00
Markus Stange 48f7109003 Bug 1596248 - Remove any notion of single or double buffered GLContexts. r=jgilbert
This distinction is not meaningful with CoreAnimation because all rendering happens into IOSurfaces.

Differential Revision: https://phabricator.services.mozilla.com/D52919

--HG--
extra : moz-landing-system : lando
2019-11-19 03:12:28 +00:00
Markus Stange e318aa1d0e Bug 1596248 - Remove unused GLContextProvider::CreateForWindow. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D52918

--HG--
extra : moz-landing-system : lando
2019-11-19 03:12:13 +00:00
Markus Stange 8b245c092f Bug 1576390 - Remove the prefs gfx.core-animation.enabled and gfx.compositor.glcontext.opaque, and all the code needed to support it. r=mattwoodrow,spohl
Differential Revision: https://phabricator.services.mozilla.com/D52739

--HG--
extra : moz-landing-system : lando
2019-11-13 19:07:37 +00:00
Miko Mynttinen 1ebc8b0671 Bug 1578576 - Part 3: Prefer ES2 for WebGL1 r=jgilbert
Depends on D44579

Differential Revision: https://phabricator.services.mozilla.com/D44581

--HG--
extra : moz-landing-system : lando
2019-11-11 13:09:32 +00:00
sotaro 11d9c7b7fa Bug 1591346 - Remove EGL_ANGLE_experimental_present_path usage with WebRender r=gw
EGL_ANGLE_experimental_present_path was enabled for fast rendering to SwapChain by ANGLE. But current gecko does not request ANGLE to render to SwapChain for WebRender. Then we do not need to use EGL_ANGLE_experimental_present_path anymore. But Its usage still has a side effect that y is flipped. But OS compositor implementation on Windows does not want it. And it seems not good to continue to use EGL_ANGLE_experimental_present_path since it is experimental feature.

But when EGL_ANGLE_experimental_present_path is removed, rendering result of frame buffer is y flipped with ANGLE compared to other OpenGL implementation. It needs to be handled in WR. It is similar to chromium.

Differential Revision: https://phabricator.services.mozilla.com/D50604

--HG--
extra : moz-landing-system : lando
2019-10-28 00:56:41 +00:00
Dorel Luca 0f892548f9 Backed out 4 changesets (bug 1578576) for causing build failure with microsoft visual studio 2019. a=backout
Backed out changeset e5b3436fc277 (bug 1578576)
Backed out changeset cd2799d2d190 (bug 1578576)
Backed out changeset 13282d7a47a5 (bug 1578576)
Backed out changeset 3064469c073d (bug 1578576)

--HG--
rename : gfx/angle/checkout/src/common/Color.inc => gfx/angle/checkout/src/common/Color.inl
rename : gfx/angle/checkout/src/image_util/copyimage.inc => gfx/angle/checkout/src/image_util/copyimage.inl
rename : gfx/angle/checkout/src/image_util/generatemip.inc => gfx/angle/checkout/src/image_util/generatemip.inl
rename : gfx/angle/checkout/src/image_util/loadimage.inc => gfx/angle/checkout/src/image_util/loadimage.inl
rename : gfx/angle/checkout/src/libANGLE/Version.inc => gfx/angle/checkout/src/libANGLE/Version.inl
rename : gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table_autogen.cpp => gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table.cpp
rename : gfx/angle/checkout/src/libGLESv2/proc_table_egl.h => gfx/angle/checkout/src/libGLESv2/proc_table.h
rename : gfx/angle/checkout/src/libGLESv2/proc_table_egl_autogen.cpp => gfx/angle/checkout/src/libGLESv2/proc_table_autogen.cpp
2019-09-10 11:54:20 +03:00
Miko Mynttinen e110583d7c Bug 1578576 - Part 3: Prefer ES2 for WebGL1 r=jgilbert
Depends on D44580

Differential Revision: https://phabricator.services.mozilla.com/D44581

--HG--
extra : moz-landing-system : lando
2019-09-07 19:38:21 +00:00
Tom Ritter d922064696 Bug 1547519 - Rename NS_STRINGIFY to MOZ_STRINGIFY, move to mfbt, and unify stragglers r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D39961

--HG--
extra : moz-landing-system : lando
2019-09-04 02:40:32 +00:00
Markus Stange a847ab162b Bug 1578099 - Remove now-unnecessary default framebuffer functionality from GLContextCGL. r=mattwoodrow
This essentially backs out the two patches from bug 1565668 that added this
functionality.

Differential Revision: https://phabricator.services.mozilla.com/D44330

--HG--
extra : moz-landing-system : lando
2019-09-02 00:37:56 +00:00
Markus Stange c6660314f0 Bug 1578099 - Add NativeLayer::NextSurfaceAsFramebuffer. r=mattwoodrow
This returns the raw framebuffer GLuint and lets the caller bind it.
Initially I wanted to return a RefPtr<MozFramebuffer>, but then I discovered
that MozFramebuffer is not a refcounted class and prefers UniquePtrs.

Depends on D44324

Differential Revision: https://phabricator.services.mozilla.com/D44325

--HG--
extra : moz-landing-system : lando
2019-09-01 22:35:56 +00:00
Markus Stange b2ce563f4b Bug 1574745 - Change BlitFrameBufferToFrameBuffer to take rects instead of sizes. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D43876

--HG--
extra : moz-landing-system : lando
2019-08-31 01:30:53 +00:00
Markus Stange 19057e1f9d Bug 1576968 - Use glFlush() instead of -[NSOpenGLContext flushBuffer] when we have no framebuffer zero. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43648

--HG--
extra : moz-landing-system : lando
2019-08-28 21:45:23 +00:00
Lee Salzman abec95ddc1 Bug 1571838 - Backed out changeset a6f3fd30a0a7 (bug 1443181). r=jbonisteel
Differential Revision: https://phabricator.services.mozilla.com/D43080

--HG--
extra : moz-landing-system : lando
2019-08-22 15:15:08 +00:00
Mike Hommey 66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Jeff Gilbert 9c8ea204ee Bug 1573700 - s/GLParseRegistryXML.py/GLConsts.py/ and port to python3+mypy. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D41873

--HG--
extra : moz-landing-system : lando
2019-08-14 02:07:40 +00:00
Coroiu Cristina b4e3ce3f87 Backed out changeset 42cdb2c4c768 (bug 1573700) for flake8 failure at builds/worker/checkouts/gecko/gfx/gl/GLConsts.py 2019-08-14 03:44:33 +03:00
Jeff Gilbert ef22bd959b Bug 1573700 - s/GLParseRegistryXML.py/GLConsts.py/ and port to python3+mypy. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D41873

--HG--
extra : moz-landing-system : lando
2019-08-14 00:20:22 +00:00
Jean-Yves Avenard c4def0fb6f Bug 1543359 - P7. Plumb YUV Color Range info in Windows' Image types. r=mattwoodrow
Still non-functional.

Differential Revision: https://phabricator.services.mozilla.com/D27214

--HG--
extra : moz-landing-system : lando
2019-07-26 08:45:30 +00:00
Jean-Yves Avenard c070ea1f0e Bug 1543359 - P3. Add kCVPixelFormatType_420YpCbCr8BiPlanarFullRange support to MacIOSurface. r=mattwoodrow
This will allow to differentiate full range vs limited range YUV.

Differential Revision: https://phabricator.services.mozilla.com/D27211

--HG--
extra : moz-landing-system : lando
2019-07-26 08:45:35 +00:00
Narcis Beleuzu e84980d8b1 Backed out 15 changesets (bug 1543359) for wrench bustages on image.rs . CLOSED TREE
Backed out changeset 548006270186 (bug 1543359)
Backed out changeset c9585e9d9f3c (bug 1543359)
Backed out changeset 1c7ca95a2a9b (bug 1543359)
Backed out changeset d742d80b892f (bug 1543359)
Backed out changeset 210eee703fd9 (bug 1543359)
Backed out changeset 4eb933d55d88 (bug 1543359)
Backed out changeset fb9b71ed9f4b (bug 1543359)
Backed out changeset 98b968443458 (bug 1543359)
Backed out changeset a85bd4691bea (bug 1543359)
Backed out changeset b576317853e9 (bug 1543359)
Backed out changeset 095bca5c9b1a (bug 1543359)
Backed out changeset 48eb0ebf9f2e (bug 1543359)
Backed out changeset b22b0eb708b8 (bug 1543359)
Backed out changeset 52187d9320b1 (bug 1543359)
Backed out changeset fa6792c1c2e8 (bug 1543359)
2019-07-26 11:40:33 +03:00
Jean-Yves Avenard e6eb3464df Bug 1543359 - P7. Plumb YUV Color Range info in Windows' Image types. r=mattwoodrow
Still non-functional.

Differential Revision: https://phabricator.services.mozilla.com/D27214

--HG--
extra : moz-landing-system : lando
2019-07-26 06:13:44 +00:00
Jean-Yves Avenard aec72edb84 Bug 1543359 - P3. Add kCVPixelFormatType_420YpCbCr8BiPlanarFullRange support to MacIOSurface. r=mattwoodrow
This will allow to differentiate full range vs limited range YUV.

Differential Revision: https://phabricator.services.mozilla.com/D27211

--HG--
extra : moz-landing-system : lando
2019-07-26 06:10:52 +00:00
Cosmin Sabou ae7e8fbf55 Backed out 14 changesets (bug 1543359) for causing build bustages. CLOSED TREE
Backed out changeset 87c99ef85813 (bug 1543359)
Backed out changeset cd0afc5758ba (bug 1543359)
Backed out changeset 101ac87ff017 (bug 1543359)
Backed out changeset 348e748e3451 (bug 1543359)
Backed out changeset d9e937f5caf4 (bug 1543359)
Backed out changeset 2f4eb6501552 (bug 1543359)
Backed out changeset 0d316ef8c668 (bug 1543359)
Backed out changeset bf238b58c694 (bug 1543359)
Backed out changeset 496f206d03d6 (bug 1543359)
Backed out changeset 7c3a1f23baa8 (bug 1543359)
Backed out changeset 90fff717198b (bug 1543359)
Backed out changeset b2ce591ca398 (bug 1543359)
Backed out changeset a63968f077e3 (bug 1543359)
Backed out changeset ca660ab1e0c1 (bug 1543359)
2019-07-26 07:39:11 +03:00
Jean-Yves Avenard 9d741696fe Bug 1543359 - P7. Plumb YUV Color Range info in Windows' Image types. r=mattwoodrow
Still non-functional.

Differential Revision: https://phabricator.services.mozilla.com/D27214

--HG--
extra : moz-landing-system : lando
2019-07-22 08:04:54 +00:00
Jean-Yves Avenard e4a8bfeab0 Bug 1543359 - P3. Add kCVPixelFormatType_420YpCbCr8BiPlanarFullRange support to MacIOSurface. r=mattwoodrow
This will allow to differentiate full range vs limited range YUV.

Differential Revision: https://phabricator.services.mozilla.com/D27211

--HG--
extra : moz-landing-system : lando
2019-07-22 07:24:51 +00:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Nicholas Nethercote 7974362afd Bug 1567329 - Append `_AtStartup` to `once` static pref getters. r=erahm
Currently it's completely unclear at use sites that the getters for `once`
static prefs return the pref value from startup, rather than the current pref
value. (Bugs have been caused by this.) This commit improves things by changing
the getter name to make it clear that the pref value obtained is from startup.

This required changing things within libpref so it distinguishes between the
"base id" (`foo_bar`) and the "full id" (`foo_bar` or
`foo_bar_DoNotUseDirectly` or `foo_bar_AtStartup` or
`foo_bar_AtStartup_DoNotUseDirectly`; the name used depends on the `mirror` and
`do_not_use_directly` values in the YAML definition.) The "full id" is used in
most places, while the "base id" is used for the `GetPrefName_*` and
`GetPrefDefault_*` functions.

(This is a nice demonstration of the benefits of the YAML file, BTW. Making
this change with the old code would have involved adding an entry to every
single pref in StaticPrefList.h.)

The patch also rejigs the comment at the top of StaticPrefList.yaml, to clarify
some things.

Differential Revision: https://phabricator.services.mozilla.com/D38604

--HG--
extra : moz-landing-system : lando
2019-07-22 02:10:14 +00:00
Markus Stange e17435e83e Bug 1565668 - Create a depth buffer for the default framebuffer of a GLContext that is used with WebRender. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D26623

--HG--
extra : moz-landing-system : lando
2019-07-17 20:45:53 +00:00
Markus Stange b105e4af50 Bug 1565668 - Add support for using an IOSurface as the default framebuffer for a GLContextCGL. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D26404

--HG--
extra : moz-landing-system : lando
2019-07-17 20:44:44 +00:00
Barret Rennie cb1609a60d Bug 1289211 - Rename InfallibleTArray to nsTArray in gfx/ r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D36958

--HG--
extra : moz-landing-system : lando
2019-07-10 05:25:54 +00:00
Jeff Gilbert e10bec305a Bug 1443181 - If ANGLE D3D11 disabled, ask for D3D9 explicitly. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D37351

--HG--
extra : moz-landing-system : lando
2019-07-09 04:58:03 +00:00
Chris AtLee a0d3d64841 Bug 1559975: Fix python2/3 compat in gfx/ r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D35337

--HG--
extra : moz-landing-system : lando
2019-07-05 14:28:55 +00:00
Kartikaya Gupta c8cff9effe Bug 1563311 - Remove uses of MOZ_BUILD_WEBRENDER. r=aosmond
This removes support for building Firefox/Gecko without WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D36819

--HG--
extra : moz-landing-system : lando
2019-07-05 11:05:17 +00:00
Oana Pop Rus 30c64e1686 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-01 13:05:40 +03:00
Martin Stransky df9765aca2 Bug 1561883 - [Wayland] Provide WaylandDisplayGetWLDisplay() to directly get wl_display, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D36183

--HG--
extra : moz-landing-system : lando
2019-07-01 06:38:32 +00:00
Nicholas Nethercote 76f416f162 Bug 1562331 - Make webgl.* static prefs follow the naming convention. r=KrisWright
Also converts webgl.pref-16bpp from a VarCache pref to a normal pref, because
it doesn't need to be a VarCache pref.

Differential Revision: https://phabricator.services.mozilla.com/D36397

--HG--
extra : rebase_source : 5aa1d251b751c41ec525fef7d0467ffebe401d9a
2019-06-29 07:56:43 +10:00
Gurzau Raul 125bf10273 Backed out changeset 460bb9bef9c3 (bug 1561883) for build bustage at nsWaylandDisplay.h on a CLOSED TREE. 2019-06-29 14:24:34 +03:00
Martin Stransky 450f08a255 Bug 1561883 - [Wayland] Provide WaylandDisplayGetWLDisplay() to directly get wl_display, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D36183

--HG--
extra : moz-landing-system : lando
2019-06-28 14:58:55 +00:00
Nicholas Nethercote 59dde0c47e Bug 1561825 - Make layout.* static prefs follow the naming convention. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D36160

--HG--
extra : rebase_source : 25ec3d8bd549a9229ec8789f2ca604c27082f228
2019-06-27 16:28:25 +10:00
Coroiu Cristina f91bd38732 Merge inbound to mozilla-central a=merge 2019-06-27 12:36:00 +03:00
Nicholas Nethercote 54aaa29a52 Bug 1561491 - Make gl.* static prefs follow the naming convention. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D35976

--HG--
extra : rebase_source : 0e054c5ac565d30c3bd9621d82d41075bdfddd5b
2019-06-26 13:05:06 +10:00
Nicholas Nethercote ca8e78069d Bug 1561491 - Make gfx.* static prefs follow the naming convention. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D35975

--HG--
extra : rebase_source : 9090ac828f1da9582510975047d5ad59a228dda5
2019-06-26 10:38:09 +10:00
Jeff Gilbert 4e80fa71e2 Bug 1544446 - Restrict macOS MAX_TEXTURE_SIZE to 8192. r=lsalzman
Also clean up MAX_TEXTURE_SIZE restriction code.

Differential Revision: https://phabricator.services.mozilla.com/D36144

--HG--
extra : moz-landing-system : lando
2019-06-27 01:54:06 +00:00
Jeff Gilbert ccda45f8e3 Bug 1560157 - Remove EGLUtils.h. r=lsalzman
EGLImageWrapper was completely unused.

Differential Revision: https://phabricator.services.mozilla.com/D35349

--HG--
extra : moz-landing-system : lando
2019-06-21 16:53:09 +00:00
Noemi Erli 5c199db0b2 Backed out changeset d909b10d7a39 (bug 1560157) for causing build bustages in TextureHostOGL.cpp CLOSED TREE 2019-06-21 02:48:27 +03:00
Jeff Gilbert 32cc8bf833 Bug 1560157 - Remove EGLUtils.h. r=lsalzman
EGLImageWrapper was completely unused.

Differential Revision: https://phabricator.services.mozilla.com/D35349

--HG--
extra : moz-landing-system : lando
2019-06-20 23:13:56 +00:00
Jeff Gilbert 7ac9159761 Bug 1442825 - Remove ScopedGLWrapper base class. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D35138

--HG--
extra : moz-landing-system : lando
2019-06-17 06:40:27 +00:00
sotaro 7db1eb81a0 Bug 1546192 - Check SharedSurface_Basic::Create failure
Differential Revision: https://phabricator.services.mozilla.com/D28439
2019-06-17 13:40:13 +09:00
Jeff Gilbert 98d7f04ed2 Bug 1559524 - Reduce calls to GLLibraryEGL::Get(). r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D35103

--HG--
extra : moz-landing-system : lando
2019-06-15 05:21:12 +00:00
Jeff Gilbert 42eda03785 Bug 1559524 - Remove EGL_DISPLAY macro. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D35102

--HG--
extra : moz-landing-system : lando
2019-06-15 05:14:53 +00:00
Daniel Varga ff5cbecd34 Backed out changeset d75e4cb5b188 (bug 1546192) for build bustage at /builds/worker/workspace/build/src/gfx/gl/GLScreenBuffer.cpp. On a CLOSED TREE 2019-06-15 04:18:28 +03:00
Chris Peterson ee1c4eb273 Bug 1528881 - Part 5: gfx/gl: Make some global functions static. r=jgilbert
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/gl/GfxTexturesReporter.cpp:22:13 [-Wmissing-prototypes] no previous prototype for function 'FormatBytes'
gfx/gl/GLContextFeatures.cpp:534:6 [-Wmissing-prototypes] no previous prototype for function 'IsFeaturePartOfProfileVersion'

Depends on D20263

Differential Revision: https://phabricator.services.mozilla.com/D20264

--HG--
extra : moz-landing-system : lando
2019-06-14 23:42:59 +00:00
sotaro f85719ceb0 Bug 1546192 - Check SharedSurface_Basic::Create failure r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D28439

--HG--
extra : moz-landing-system : lando
2019-06-14 23:44:57 +00:00
Jeff Gilbert e13411ac11 Bug 1559286 - Remove gl.msaa-level and SurfaceCaps.antialias. r=lsalzman
Also remove now-clearly-defunct parts of GLScreenBuffer.

Differential Revision: https://phabricator.services.mozilla.com/D34987

--HG--
extra : moz-landing-system : lando
2019-06-14 19:09:54 +00:00
Jeff Gilbert 581338764d Bug 1557577 - Remove GLContext::fDrawRangeElements. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D34104

--HG--
extra : moz-landing-system : lando
2019-06-07 10:20:19 +00:00
Maya Rashish cbc217134b Bug 1180498 - Tolerate a different major libGL.so on NetBSD as well r=jgilbert 2019-06-03 16:54:35 -07:00
sotaro e9e8848ea1 Bug 1555544 - Remove calling TextureClient::CancelWaitForNotifyNotUsed() r=jgilbert
Flickering happened when SharedSurface_ANGLEShareHandle is destroyed before RenderDXGITextureHostOGL::EnsureLockable() is called on Render thread. RenderDXGITextureHostOGL failed at device->OpenSharedResource() . In this case, SharedSurface_ANGLEShareHandle failed to render. Then black was rendered.

If  TextureClient::CancelWaitForNotifyNotUsed() is not called, the refcount is kept until the host side ends its usage. The refcount is removed by CompositorBridgeChild::NotifyNotUsed().

Depends on D33265

Differential Revision: https://phabricator.services.mozilla.com/D33143

--HG--
extra : moz-landing-system : lando
2019-05-31 12:35:42 +00:00
sotaro 16ce9c4a30 Bug 1555544 - Change function name from CancelWaitForRecycle() to CancelWaitForNotifyNotUsed() r=jgilbert
CancelWaitForRecycle() does not cancel wait for recycling. It cancels wait for end of usage on host side.

Differential Revision: https://phabricator.services.mozilla.com/D33265

--HG--
extra : moz-landing-system : lando
2019-06-01 09:37:56 +00:00
Jean-Yves Avenard 022c57caf3 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

Differential Revision: https://phabricator.services.mozilla.com/D31468

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:53 +00:00
Jean-Yves Avenard 321b1d810f Bug 1550422 - P18. Convert gfxPrefs::LayoutFrameRate to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31461

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:37 +00:00
Jean-Yves Avenard 23436e1811 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:14 +00:00
Jean-Yves Avenard 04a34db033 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-26 14:29:42 +00:00
Gurzau Raul 967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard 074aea57fe Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

Differential Revision: https://phabricator.services.mozilla.com/D31468

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:50 +00:00
Jean-Yves Avenard d14a557fd3 Bug 1550422 - P18. Convert gfxPrefs::LayoutFrameRate to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31461

--HG--
extra : moz-landing-system : lando
2019-05-24 11:33:53 +00:00
Jean-Yves Avenard 8d5f292ab5 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-24 11:32:54 +00:00
Jean-Yves Avenard af5790cf9b Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-25 00:03:32 +00:00
Jeff Gilbert 047e98938e Bug 1536672 - Implement WebGL OVR_multiview2 behind draft flag. r=lsalzman,qdot
Also disable clang-format for gfx/gl/GLConsts.h.

Differential Revision: https://phabricator.services.mozilla.com/D28168

--HG--
extra : moz-landing-system : lando
2019-05-23 20:48:21 +00:00
Mihai Alexandru Michis 354eec452c Backed out changeset a649f69f29df (bug 1536672) for failing crashtest at WebGLContextValidate.cpp. CLOSED TREE 2019-05-23 10:57:29 +03:00
Jeff Gilbert fb7050f9bf Bug 1536672 - Implement WebGL OVR_multiview2 behind draft flag. r=lsalzman,qdot
Also disable clang-format for gfx/gl/GLConsts.h.

Differential Revision: https://phabricator.services.mozilla.com/D28168

--HG--
extra : moz-landing-system : lando
2019-05-23 02:43:11 +00:00
Gurzau Raul 74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard d59781ac33 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

Differential Revision: https://phabricator.services.mozilla.com/D31468

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:30 +00:00
Jean-Yves Avenard 0815888321 Bug 1550422 - P18. Convert gfxPrefs::LayoutFrameRate to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31461

--HG--
extra : moz-landing-system : lando
2019-05-22 12:44:54 +00:00
Jean-Yves Avenard 2412878bd9 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-22 22:27:37 +00:00
Jean-Yves Avenard 2c0ce1b3ca Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256

--HG--
extra : moz-landing-system : lando
2019-05-22 12:43:42 +00:00