Commit graph

485 commits

Author SHA1 Message Date
Jeff Gilbert
fac855a09e 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
e985d2a2da Bug 1632249 - Mark mCapturedFrameInvalidated even if mIsCanvasDirty. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D79014
2020-06-15 18:26:07 +00:00
Jeff Gilbert
a3bc94c178 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
fd44ed35e8 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
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
597f6fdb56 Bug 1632249 - Mark mCapturedFrameInvalidated even if mIsCanvasDirty. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D79014
2020-06-11 06:37:50 +00:00
Jeff Gilbert
4ab7ab5da0 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
06fa957778 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
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
6922c7f20c Bug 1632249 - Mark mCapturedFrameInvalidated even if mIsCanvasDirty. r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D79014
2020-06-10 22:21:19 +00:00
Jeff Gilbert
14622aa141 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
28d2828abe Bug 1632249 - WebXR compositing fixes. r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D78117
2020-06-10 22:21:04 +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
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
Imanol Fernandez
8549c99014 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-08 20:35:38 +00:00
Jeff Gilbert
8d174dfafc Bug 1632249 - WebXR compositing fixes. r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D78117
2020-06-08 20:36:14 +00: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
Imanol Fernandez
201362531f Bug 1640912 - Update xrCompatible flag when WebGLContext::makeXRCompatible call succeeds r=jgilbert,kip,daoshengmu
Currently WebGL xrCompatible flag is only set when enabling the xrCompatible attribute in the canvas.getContext() call. We also need to set it to true after succesful makeXRCompatible() calls

Differential Revision: https://phabricator.services.mozilla.com/D76849
2020-06-03 00:49:45 +00:00
Imanol Fernandez
9035f18d3a Bug 1614499 - Implement XRWebGLLayer r=jgilbert,daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D62809

--HG--
extra : moz-landing-system : lando
2020-04-07 18:48:13 +00:00
Jeff Gilbert
f612c0ba89 Bug 1621523 - WebGL: Don't Present on no-op Resize. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D66827

--HG--
extra : moz-landing-system : lando
2020-03-14 08:27:28 +00:00
Razvan Maries
39c5161f74 Backed out 2 changesets (bug 1621523) for perma failures on perma failures on test_2_conformance2__rendering__framebuffer-render-to-layer.html. CLOSED TREE
Backed out changeset 12e09fef3c3f (bug 1621523)
Backed out changeset c997932b6bfe (bug 1621523)
2020-03-14 03:18:42 +02:00
Jeff Gilbert
75333bbd2c Bug 1621523 - WebGL: Don't Present on no-op Resize. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D66827

--HG--
extra : moz-landing-system : lando
2020-03-14 00:33:04 +00:00
Imanol Fernandez
ec6ba5a531 Bug 1617751 - Ensure that GLScreenBuffer back buffer is created using the newly attached factory. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D64183

--HG--
extra : moz-landing-system : lando
2020-03-03 00:43:10 +00:00
Razvan Maries
f31a59f9af Backed out changeset e3a8032a4a14 (bug 1617751) for Android webgl failures. CLOSED TREE 2020-02-27 20:29:04 +02:00
Andrew McCreight
4babb2b5ab Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Ciure Andrei
00dd87f6f4 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Andrew McCreight
b197e1f783 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Jeff Gilbert
91ab854fc8 Bug 1617785 - Optimize GetDrawFetchLimits and vertexAttribPointer. r=lsalzman
Our goal here is to just be fast enough that we don't need to cache.

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

--HG--
extra : moz-landing-system : lando
2020-02-26 00:44:26 +00:00
Imanol Fernandez
eb9350894f Bug 1617751 - Ensure that GLScreenBuffer back buffer is created using the newly attached factory r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D64183

--HG--
extra : moz-landing-system : lando
2020-02-25 21:05:37 +00:00
Jeff Gilbert
e5d08f59ba Bug 1617091 - Remove DynDGpuManager, add webgl.power-preference-override. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63599

--HG--
extra : moz-landing-system : lando
2020-02-21 04:00:07 +00:00
Jeff Gilbert
011c0a1fd7 Bug 1616715 - SurfaceFromElement gets alpha Premult unless opt-in to NonPremult. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63421

--HG--
extra : moz-landing-system : lando
2020-02-21 02:27:08 +00:00
Jeff Gilbert
74a66ab98d Bug 1617082 - Don't query zero uniform lists. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63592

--HG--
extra : moz-landing-system : lando
2020-02-21 03:11:23 +00:00
Csoregi Natalia
0d667d17dd Backed out changeset 5005fe56b7b0 (bug 1616715) for failures on test_2_conformance2__canvas__to-data-url-with-pack-params.html. CLOSED TREE 2020-02-21 01:33:48 +02:00
Jeff Gilbert
95d86374ba Bug 1616715 - SurfaceFromElement gets alpha Premult unless opt-in to NonPremult. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63421

--HG--
extra : moz-landing-system : lando
2020-02-20 20:52:10 +00:00
Simon Giesecke
723b05dfb6 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/canvas. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D63142

--HG--
extra : moz-landing-system : lando
2020-02-18 21:08:00 +00:00
Jeff Gilbert
d5933e1d25 Bug 1615750 - InvalidateFramebuffer DEPTH_STENCIL too on WebGL Present. r=lsalzman
Previously just the color attachment.

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

--HG--
extra : moz-landing-system : lando
2020-02-15 04:15:03 +00:00
Imanol Fernandez
71954016da Bug 1613712 - Pass a correct compositorConnection instead of null ptr in the GLScreenBuffer::CreateFactory call used to ensure that a not added to DOM canvas is ready for VR. r=jgilbert
Fix regression from the WebGL remoting client/host refactor.

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

--HG--
extra : moz-landing-system : lando
2020-02-07 01:52:43 +00:00
Boris Zbarsky
9b0b56bfc7 Bug 1612213 part 3. Switch Promise::RejectWithDOMException consumers to new convenience methods. r=smaug,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D61269

--HG--
extra : moz-landing-system : lando
2020-02-03 20:37:32 +00:00
Boris Zbarsky
b88d5ac5a8 Bug 1612213 part 1. Switch most consumers of ThrowDOMException to the new methods. r=smaug,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D61267

--HG--
extra : moz-landing-system : lando
2020-02-03 20:19:11 +00:00
Jeff Gilbert
3c0ff11f59 Bug 1609908 - Reset WebGL layer on resize. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D60755

--HG--
extra : moz-landing-system : lando
2020-01-23 22:32:57 +00:00
Imanol Fernandez
acf609f3d9 Bug 1608500 - Set SurfaceTexture factory into the VR GLScreenBuffer. r=jgilbert
The VR ScreenBuffer is created with the default SurfaceFactory_Basic. We need to morph the screen to use the correct SurfaceTexture factory.

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

--HG--
extra : moz-landing-system : lando
2020-01-15 21:18:00 +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
Miko Mynttinen
7dbda109ce Bug 1603041 - Remove WebGLContext from WebGLMemoryTracker before destroying resources r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D56758

--HG--
extra : moz-landing-system : lando
2019-12-13 22:13:03 +00:00
Gabriele Svelto
ace6d1063f Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ 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/D55442

--HG--
extra : moz-landing-system : lando
2019-12-06 09:24:56 +00:00
Dorel Luca
a381d5c96d Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
bc9290f767 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ 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/D55442

--HG--
extra : moz-landing-system : lando
2019-12-04 15:01:19 +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
Kearwood "Kip" Gilbert
dcba527c05 Bug 1581374 - Implement WebGLContext.makeXRCompatible (WIP) r=jgilbert,daoshengmu,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D45952

--HG--
extra : moz-landing-system : lando
2019-11-15 21:32:15 +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
Daosheng Mu
21480b57c1 Bug 1565268 - Recovering VRDisplay status after VRService is shutdown. r=kip,jgilbert
When JS is paused, VRService will automatically shutdown because the timer is not updated,
we used to create a new VRDisplay to JS. However, the page is still using the older VRDisplay,
so it can't get the newest VRDisplayInfo status. We should exit presentation and
apply the VRDisplayInfo status to the original VRDisplay instead of creating new one.

Besides, we also need to release the VR screen buffer after exiting the immersive mode to avoid eglMakeCurrent error.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 00:35:35 +00:00
Thomas Nguyen
cf2f2ec008 Bug 1580462 - Store iframe's FeaturePolicy in browsingContext to inherit cross origin document. r=baku,farre
Differential Revision: https://phabricator.services.mozilla.com/D48825

--HG--
extra : moz-landing-system : lando
2019-10-23 19:39:00 +00:00
Razvan Maries
7fb625f8cf Backed out changeset ae33b9c001e5 (bug 1580462) for build bustages on nsWindow.cpp. CLOSED TREE 2019-10-23 11:07:00 +03:00
Thomas Nguyen
a220530f6b Bug 1580462 - Store iframe's FeaturePolicy in browsingContext to inherit cross origin document. r=baku,farre
Differential Revision: https://phabricator.services.mozilla.com/D48825

--HG--
extra : moz-landing-system : lando
2019-10-22 14:36:00 +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
Imanol Fernandez
ef96affe67 Bug 1579028 - Do not call surface->Commit() if composition failed in WebGLContext::GetVRFrame. r=jgilbert,rbarker
PresentScreenBuffer() or screen->PublishFrame() may fail for different reasons. In that case we shouldn't call surface->Commit() because it may be in a not swaped state or not available.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 20:55: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
Jan Andre Ikenmeyer
a216f3dde7 Bug 1565365 - Let webgl.force-enabled apply to WebGL2 as well r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D37821

--HG--
extra : moz-landing-system : lando
2019-07-12 02:34:19 +00:00
Jeff Gilbert
406b3a60f1 Bug 1562812 - For powerPreference:Default, only keep dGPU active for consistently active contexts. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D36565

--HG--
extra : moz-landing-system : lando
2019-07-02 16:45:22 +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
Jeff Gilbert
9561417879 Bug 1541396 - Refactor (non-)transform-feedback binding/use checks. r=lsalzman
* Remove WebGLBuffer::SetSlot
* Make most bindBuffer calls lazy.
* Replace nsTArray with std::vector in WebGLVertexArray.

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

--HG--
extra : moz-landing-system : lando
2019-06-30 01:29:42 +00:00
Jeff Gilbert
dc1ea66bd8 Bug 1561073 - powerPreference 'default' => 'low-power' if Canvas element has no parent. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D35704

--HG--
extra : moz-landing-system : lando
2019-06-25 01:09:25 +00:00
Coroiu Cristina
babfaa2c50 Backed out changeset bd8a279979b3 (bug 1561073) for crashtests failures at obj-firefox/dist/include\mozilla/RefPtr.h 2019-06-25 03:21:51 +03:00
Jeff Gilbert
5c6f58f03d Bug 1561073 - powerPreference 'default' => 'low-power' if Canvas element has no parent. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D35704

--HG--
extra : moz-landing-system : lando
2019-06-24 22:09:31 +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
Jeff Gilbert
f16e991a1d Bug 1559285 - Add webgl.default-antialias. r=mccr8,lsalzman
Default to false on Android, matching existing behavior.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 19:29:15 +00:00
Ehsan Akhgari
4598c92440 Bug 1557409 - Part 2: Use WorkerPrivate objects to determine whether we should use fingerprinting resistance on worker threads; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D34208

--HG--
extra : moz-landing-system : lando
2019-06-10 19:32:05 +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
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
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
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
Jeff Gilbert
7c1b76c6a8 Bug 1526027 - Remove webgl.bypass-shader-validation. r=lsalzman
Also remove extra plumbing from WebGLShaderValidator, moved directly
into WebGLShader.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 02:36:57 +00:00
Nathan Froyd
ebdc4b2408 Bug 1542344 - fix API mismatches in ImageEncoder; r=mccr8
ImageEncoder::ExtractDataInternal takes a `const nsAString&` for its
options, but flattens it into a null-terminated `nsString` so callees
can take a `char16_t*`.  But nearly all of those callees eventually wind
up calling ImageEncoder::GetInputStream, which just constructs an
`nsDependentString` from the passed character pointer.

There's no reason to do all this extra work.  We can just pass the
original options reference all the way through the stack and avoid
needless conversions.

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

--HG--
extra : moz-landing-system : lando
2019-04-08 01:51:17 +00:00
Jeff Gilbert
5c3e425117 Bug 1540357 - Force -Werror for and fix implicit int truncation in dom/canvas. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D25495

--HG--
extra : moz-landing-system : lando
2019-04-02 17:00:41 +00:00
sotaro
055881c3c0 Bug 1506665 - Add more GLContext failure handling r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D19623

--HG--
extra : moz-landing-system : lando
2019-03-01 22:37:37 +00:00
Jeff Gilbert
092d1d6c89 Bug 1523728 - Add gl.allow-high-power:true, webgl.default-low-power:false. r=lsalzman
Also, if "Use hardware acceleration when available" is disabled, restrict webgl to the igpu.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 22:35:50 +00:00
jgilbert@mozilla.com
a5ef1cc2e1 Bug 1372177 - ArrayBufferView error enum depends on func. r=lsalzman
MozReview-Commit-ID: 34X7yTEE3Ia

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

--HG--
extra : moz-landing-system : lando
2019-02-02 10:04:43 +00:00
Jeff Gilbert
b03f03b25b Bug 1523030 - glClear after glBlitFramebuffer with mNeedsFakeNoAlpha. r=lsalzman
glBlitFramebuffer ignores glColorMask, unlike glClear, so we have to do
a fix-up.

Eventually we should drop mNeedsFakeNoAlpha, though.

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

--HG--
extra : moz-landing-system : lando
2019-01-26 00:55:57 +00:00
Jeff Gilbert
bb98ec056b Bug 1521992 - Fix incomplete-fb error for webgl.getParameter. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D17306

--HG--
extra : moz-landing-system : lando
2019-01-23 17:53:43 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Jeff Gilbert
1690a0092c Bug 1510467 - Preserve purposely-formatted code from clang-format. (webgl, gfx/gl)
MozReview-Commit-ID: 2U2oqQ53nTZ
2018-11-27 15:26:46 -08:00
Ehsan Akhgari
6099c9f67b Bug 1508472 - Part 1: First batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-27 10:08:58 +00:00
Jeff Gilbert
13e2d73059 Bug 1492580 - Repair CONTEXT_LOST handling. r=lsalzman
Simplify error handling in GLContext.
Modernize context loss handling in GLContext.
Remove various unused parts.
Fix WebGLContext's context loss/restoration.

MozReview-Commit-ID: Lu2hi5HnP8x

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

--HG--
extra : moz-landing-system : lando
2018-11-27 04:23:19 +00:00
Imanol Fernandez
5eb9ef2267 Bug 1499758 - Fix potential null pointer deref in WebGLContext::GetVRFrame r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D12480

--HG--
extra : moz-landing-system : lando
2018-11-21 10:34:52 +00:00
Brian Hackett
1b3775d3b2 Bug 1506467 - Don't initialize WebGLContext when recording/replaying, r=kvark.
--HG--
extra : rebase_source : 4129b7d80b4fd2e40eaa1dbdb490089dbc19c94d
2018-11-11 07:44:13 -10:00
Cosmin Sabou
125a3ce9d8 Merge mozilla-central to autoland. a=merge
--HG--
extra : rebase_source : 24058e51e8b2f1c418e99b65a7ffb81209700389
2018-10-27 01:50:33 +03:00
Noemi Erli
e52f6d8610 Backed out 4 changesets (bug 1399501) per developer's request for causing Bug 1502286 on Android,Bug 1502305 and Bug 1502292 a=backout
Backed out changeset 7f1abf24702d (bug 1399501)
Backed out changeset 5cb0aeccd4cc (bug 1399501)
Backed out changeset 7b88a6284d31 (bug 1399501)
Backed out changeset c498bd18345d (bug 1399501)
2018-10-26 19:30:48 +03:00
Jeff Gilbert
f95f851da5 Bug 1502278 - Merge WebGLContextUnchecked back into WebGLContext. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D9893

--HG--
extra : moz-landing-system : lando
2018-10-26 14:54:38 +00:00
Jeff Gilbert
68b0ccbab3 Bug 1372157 - Fix IsFoo results in WebGL. r=kvark
Passes deqp/functional/gles3/lifetime.html.

Differential Revision: https://phabricator.services.mozilla.com/D8956
2018-10-24 13:52:16 -07:00
Gurzau Raul
ff2bc5ca0b Backed out changeset 4b5b1ff23dd7 (bug 1372157) for failing at webgl-conf/generated/test_2_conformance2__vertex_arrays__vertex-array-object.html on a CLOSED TREE 2018-10-24 22:46:34 +03:00
Jeff Gilbert
e6ec78d63c Bug 1399501 - Don't allow glsl[130,400) unless we have gpu_shader5. - r=kvark
MozReview-Commit-ID: EUk2uc64Tok

Differential Revision: https://phabricator.services.mozilla.com/D9288
2018-10-24 11:35:58 -07:00