Commit Graph

98 Commits

Author SHA1 Message Date
Simon Giesecke
46908cfb51 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +00:00
Sylvestre Ledru
206e89d677 Bug 1519636 - Reformat recent changes to the Google coding style r=andi,necko-reviewers,dragana
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D96608
2020-11-16 22:09:25 +00:00
Jeff Gilbert
4fd74ccc14 Bug 1674592 - Shrink uploads based on byte size estimates. r=lsalzman
For example uploads from WASM heaps would previously copy most of the
heap into shmem.

Differential Revision: https://phabricator.services.mozilla.com/D96287
2020-11-13 23:24:13 +00:00
Csoregi Natalia
72a239791b Backed out changeset 217b92a7892b (bug 1674592) for assertion failures on ClientWebGLContext.cpp. CLOSED TREE 2020-11-12 05:18:53 +02:00
Jeff Gilbert
f1c808b93e Bug 1674592 - Shrink uploads based on byte size estimates. r=lsalzman
For example uploads from WASM heaps would previously copy most of the
heap into shmem.

Differential Revision: https://phabricator.services.mozilla.com/D96287
2020-11-12 01:58:25 +00:00
Narcis Beleuzu
58b519d69f Backed out changeset 6701e0a37598 (bug 1674592) for multiple webgl failures. CLOSED TREE 2020-11-10 05:52:02 +02:00
Jeff Gilbert
8e449324c4 Bug 1674592 - Shrink uploads based on byte size estimates. r=lsalzman
For example uploads from WASM heaps would previously copy most of the
heap into shmem.

Differential Revision: https://phabricator.services.mozilla.com/D96287
2020-11-09 20:09:22 +00:00
Noemi Erli
e856762017 Backed out changeset 4a679b76e51b (bug 1674592) for causing failures in test_conformance__extensions__ext-texture-compression-rgtc.html CLOSED TREE 2020-11-09 13:16:26 +02:00
Jeff Gilbert
7b6507f56a Bug 1674592 - Shrink uploads based on byte size estimates. r=lsalzman
For example uploads from WASM heaps would previously copy most of the
heap into shmem.

Differential Revision: https://phabricator.services.mozilla.com/D96287
2020-11-09 07:28:34 +00:00
Jeff Gilbert
1ff736595c Bug 1656459 - Hold ref in DrawingBufferSize to prevent dangling reference use on context-loss. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D93398
2020-10-13 17:09:27 +00:00
Andi-Bogdan Postelnicu
298ee4f308 Bug 1671599 - Make dom/canvas buildable outside of unified-build environment. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D93753
2020-10-20 13:14:51 +00:00
Jeff Gilbert
65e0264b2f Bug 1668144 - Add blocklisting for OOP WebGL. r=mattwoodrow
* Add FEATURE_THREADSAFE_GL and FEATURE_ALLOW_WEBGL_OUT_OF_PROCESS
* Add gfxVars::AllowWebglOop()
* Blocklist THREADSAFE_GL on mesa/nouveau

Differential Revision: https://phabricator.services.mozilla.com/D91879
2020-10-01 08:14:12 +00:00
Jeff Gilbert
ff7906d833 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also rename to UNUSED_FEATURE_WEBGL_MSAA, pending removal.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-27 22:18:23 +00:00
Csoregi Natalia
f5c3e57716 Backed out changeset 3dcacf3ae5a1 (bug 1664905) for assertion failures on GfxInfoBase.cpp. CLOSED TREE 2020-09-25 09:33:40 +03:00
Jeff Gilbert
eeb2043f33 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also remove obsolete FEATURE_WEBGL_MSAA.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-25 05:43:24 +00:00
Razvan Maries
207455bc4a Backed out changeset 3ea0c63fe8b8 (bug 1664905) for build bustages on ClientWebGLContext.cpp. CLOSED TREE 2020-09-25 03:26:17 +03:00
Jeff Gilbert
6b2c081c57 Bug 1664905 - Use gfxVars instead of GfxInfo in WebGL code. r=mattwoodrow
GfxInfo generally wants to be main-thread, so WebGL (especially
out-of-process) runs into problems sometimes.

Also remove obsolete FEATURE_WEBGL_MSAA.

Differential Revision: https://phabricator.services.mozilla.com/D91208
2020-09-24 23:46:12 +00:00
Jeff Gilbert
db736252b1 Bug 1662789 - Add IpcWebGL?/IpcWebGL+ feature annotation. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D89177
2020-09-02 19:14:53 +00:00
Mihai Alexandru Michis
31345d61d8 Backed out changeset cd08191c18c9 (bug 1662789) for causing bustages in ScopedGfxFeatureReporter
CLOSED TREE
2020-09-02 22:10:30 +03:00
Nathan Froyd
55437f2e0c Bug 1662251 - stop assigning from NS_Convert* values, mostly; r=sg
This patch was generated by running:

```
perl -p -i \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF8toUTF16\((.*)\);/\1CopyUTF8toUTF16(\3, \2);/;' \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF16toUTF8\((.*)\);/\1CopyUTF16toUTF8(\3, \2);/;' \
     $FILE
```

against every .cpp and .h in mozilla-central, and then fixing up the
inevitable errors that happen as a result of matching C++ expressions with
regexes.  The errors fell into three categories:

1. Calling the convert functions with `std::string::c_str()`; these were
   changed to simply pass the string instead, relying on implicit conversion
   to `mozilla::Span`.
2. Calling the convert functions with raw pointers, which is not permitted
   with the copy functions; these were changed to invoke `MakeStringSpan` first.
3. Other miscellaneous errors resulting from over-eager regexes and/or the
   replacement not being type-aware.  These changes were reverted.

Differential Revision: https://phabricator.services.mozilla.com/D88903
2020-09-02 09:54:37 +00:00
Jeff Gilbert
6b5aa0513b Bug 1662789 - Add IpcWebGL?/IpcWebGL+ feature annotation. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D89177
2020-09-02 17:14:23 +00:00
Jeff Gilbert
7bd3d09c94 Bug 1661328 - Enable Mac webgl-ipc tests on Central. r=jmaher,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D89038
2020-09-01 23:29:01 +00:00
Jeff Gilbert
f57e96ec1d Bug 1656991 - Handle surf alloc failure gracefully. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D89061
2020-09-01 23:29:44 +00:00
Jeff Gilbert
9762dd2876 Bug 1660886 - Release PWebGL when ClientWebGLContext is done with it. r=handyman,jld
Differential Revision: https://phabricator.services.mozilla.com/D88067
2020-08-27 00:50:32 +00:00
Jeff Gilbert
2b5ce9bf71 Bug 1656545 - Range cannot support nullptr with non-zero length. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D87528
2020-08-20 00:33:52 +00:00
Emilio Cobos Álvarez
c388355156 Bug 1657402 - Turn webgl.enable-debug-renderer-info into a static pref. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D86036
2020-08-05 17:43:20 +00:00
Jeff Gilbert
6671e9e3e0 Bug 1656034 - Add UnderlyingValue() to mfbt. - r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D85495
2020-07-31 23:04:44 +00:00
Jeff Walden
d6ec80e9ec Bug 1656411 - Move typed array, ArrayBuffer, and dataview-related functions out of jsfriendapi.h to two new headers. r=mgaudet,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D85524
2020-07-31 16:37:27 +00:00
Jeff Gilbert
6e48f9d1a9 Bug 1607940 - IPC TexImage. r=lsalzman,nika,handyman
Differential Revision: https://phabricator.services.mozilla.com/D83291
2020-07-21 22:57:01 +00:00
Jeff Gilbert
f60d94e923 Bug 1607940 - Stand up webgl.out-of-process:true path. r=handyman,nika,froydnj
* Use clearer pref names.
* Default (and only support) IPDL dispatching.
* Make DispatchCommands async-only.
* Sync ipdl command per sync webgl entrypoint.
  * Eat the boilerplate cost, since there's not too many.
* Run SerializedSize off same path as Serialize.
* All shmem uploads go through normal DispatchCommands.
* Defer pruning of dead code for now so we can iterate quickly.
* Use Read/Write(begin,end) instead of (begin,size).
  * This would have prevented a bug where we read/wrote N*sizeof(T)*sizeof(T).

Differential Revision: https://phabricator.services.mozilla.com/D81495
2020-07-21 22:56:52 +00:00
Jeff Gilbert
39d8a13e59 Bug 1654048 - Release NotLost in CC unlink for std::shared_ptr<webgl::NotLostData>&. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D84210
2020-07-20 18:52:12 +00:00
Simon Giesecke
a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
nd419
bd911114ea Bug 1629419 - Replaced size call with .empty r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D80049
2020-06-25 13:22:07 +00:00
Coroiu Cristina
fc93a44fa4 Backed out changeset f5eed997b258 (bug 1629419) for crashtests on a CLOSED TREE 2020-06-23 16:50:20 +03:00
nd419
b273d1003d Bug 1629419 - Replaced size call with .empty r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D80037
2020-06-23 12:29:40 +00:00
Imanol Fernandez
ce398274d9 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
Jeff Gilbert
c091b9c99a Bug 1632249 - Determine webgl's layers::TextureType in Present. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D79617
2020-06-15 18:26:14 +00:00
Jeff Gilbert
07e678e93d Bug 1632249 - NON_PREMULT TextureClient iff NON_PREMULT CanvasClient. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D78800
2020-06-15 18:26:02 +00:00
Jeff Gilbert
9b72a12ab0 Bug 1632249 - Create a separate WebGLContext::PresentInto function for WebXR. r=jgilbert
- Do not apply mIsCanvasDirty bailout when presenting from a opaque FBO
back buffer.
- Create a separate WebGLContext::PresentInto with more specific XR
validations and logic.
- Use the Opaque FBO backbuffer as source when calling
BlitBackbufferToCurDriverFB
- Always invalidate OpaqueFBO regardless of the WebGL context's
preserveDrawingBuffer value.

Differential Revision: https://phabricator.services.mozilla.com/D78301
2020-06-15 18:26:00 +00:00
Jeff Gilbert
600fe9187c Bug 1632249 - WebXR compositing fixes. r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D78117
2020-06-15 18:25:58 +00:00
Jeff Gilbert
76b360ac16 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
64b1646aa1 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
60317417f4 Bug 1632249 - NON_PREMULT TextureClient iff NON_PREMULT CanvasClient. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D78800
2020-06-11 06:37:40 +00:00
Jeff Gilbert
ad7294a0c6 Bug 1632249 - Create a separate WebGLContext::PresentInto function for WebXR. r=jgilbert
- Do not apply mIsCanvasDirty bailout when presenting from a opaque FBO
back buffer.
- Create a separate WebGLContext::PresentInto with more specific XR
validations and logic.
- Use the Opaque FBO backbuffer as source when calling
BlitBackbufferToCurDriverFB
- Always invalidate OpaqueFBO regardless of the WebGL context's
preserveDrawingBuffer value.

Differential Revision: https://phabricator.services.mozilla.com/D78301
2020-06-11 06:37:38 +00:00
Jeff Gilbert
90d87a7e54 Bug 1632249 - WebXR compositing fixes. r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D78117
2020-06-11 06:37:36 +00:00
Jeff Gilbert
3aaf9ac591 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
e083b100cf 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
1806a85b17 Bug 1632249 - NON_PREMULT TextureClient iff NON_PREMULT CanvasClient. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D78800
2020-06-10 22:21:09 +00:00
Jeff Gilbert
bcb8c1407b Bug 1632249 - Create a separate WebGLContext::PresentInto function for WebXR. r=jgilbert
- Do not apply mIsCanvasDirty bailout when presenting from a opaque FBO
back buffer.
- Create a separate WebGLContext::PresentInto with more specific XR
validations and logic.
- Use the Opaque FBO backbuffer as source when calling
BlitBackbufferToCurDriverFB
- Always invalidate OpaqueFBO regardless of the WebGL context's
preserveDrawingBuffer value.

Differential Revision: https://phabricator.services.mozilla.com/D78301
2020-06-10 22:21:07 +00:00
Jeff Gilbert
eb129a6dfc Bug 1632249 - WebXR compositing fixes. r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D78117
2020-06-10 22:21:04 +00:00