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

123 Коммитов

Автор SHA1 Сообщение Дата
Jeff Gilbert a824ab4d81 Bug 1656034 - Support multiple EglDisplays per GLLibraryEGL. r=lsalzman,sotaro,stransky
Have webrender use its own EGLDisplay, letting WebGL use a different
one.

Differential Revision: https://phabricator.services.mozilla.com/D85496
2020-08-07 07:14:46 +00:00
Mihai Alexandru Michis 639b2bd075 Backed out changeset f1f10f791e99 (bug 1656034) for causing bustages in DMABufSurface.cpp
CLOSED TREE
2020-08-07 02:36:33 +03:00
Jeff Gilbert b5d6906473 Bug 1656034 - Support multiple EglDisplays per GLLibraryEGL. r=lsalzman,sotaro,stransky
Have webrender use its own EGLDisplay, letting WebGL use a different
one.

Differential Revision: https://phabricator.services.mozilla.com/D85496
2020-08-06 22:53:53 +00:00
Mihai Alexandru Michis 4719cf3e7d Backed out changeset 06538f141210 (bug 1656034) for causing bustages in GLContextProviderEGL.cpp
CLOSED TREE
2020-08-07 00:19:32 +03:00
Jeff Gilbert 78c66237bb Bug 1656034 - Support multiple EglDisplays per GLLibraryEGL. r=lsalzman,sotaro,stransky
Have webrender use its own EGLDisplay, letting WebGL use a different
one.

Differential Revision: https://phabricator.services.mozilla.com/D85496
2020-08-06 19:56:43 +00:00
Dzmitry Malyshau 3d822b4eda Bug 1652972 - Mark EGL context as lost on Shutdown() r=aosmond
This is meant to save us in cases where the message loop in GPU process
receives commands related to resources that point to the old EGL context
that was just shut down. Since the symbols are erased, we'd end up with
trying to execute a nullptr on `MakeCurrent()`. With marking the context
as lost, however, no symbols will be accessed.

Differential Revision: https://phabricator.services.mozilla.com/D84868
2020-07-29 02:33:54 +00:00
sotaro fa7166e309 Bug 1649119 - Add ANDROID_get_native_client_buffer support r=jgilbert
It is necessary for AHardwareBuffer usage.

Differential Revision: https://phabricator.services.mozilla.com/D81504
2020-06-30 00:31:12 +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 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 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
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
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
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
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
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
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
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 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
Jeff Gilbert 2f680de24a Bug 1528396 - More precise GL symbol loading. r=lsalzman
In particular, don't fallback to loading symbols from any loaded
library.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 21:17:28 +00:00
Jeff Gilbert 8fda14347f Bug 1527534 - Reuse LoadApitraceLibrary. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D20418
2019-02-21 13:38:51 -08: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
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
Dan Glastonbury 59134a4f16 Bug 1492723 - Use EGL_MOZ_context_create_provoking_vertex_dont_care. r=mattwoodrow
MozReview-Commit-ID: It8fOzqiFIe

--HG--
extra : rebase_source : 805c8e59427cd50e999b08dec44148a3349b24c6
extra : amend_source : c2a816122bb819d5e83a9156e645d42222099361
2018-09-27 17:31:30 +12:00
Jeff Gilbert 2ab455c28d Bug 1482974 - Prefer to initialize members at declaration in gfx/gl. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D3240

--HG--
extra : moz-landing-system : lando
2018-08-17 22:21:26 +00:00
jgilbert@mozilla.com 9130f40b1b Bug 1473169 - Support KHR_create_context_no_error in EGL. - r=kvark
MozReview-Commit-ID: 3hOIgDuvRNd

--HG--
extra : rebase_source : cdc9aa85aa9054b0ffb5eca3112bdc68a60fa187
2018-07-03 15:40:58 -07:00
sotaro d7adf198ee Bug 1451183 - Add GLLibraryEGL::Shutdown() r=jgilbert 2018-06-04 11:09:52 +09:00
sotaro 623f090649 Bug 1451183 - Make EGLLibrary destroyable r=jgilbert 2018-06-04 11:09:29 +09:00
James Willcox 369ac65ffe Bug 1453501 - Allow GLContextEGL to be used without a surface r=jgilbert
Right now GLContextProviderEGL requires the widget to have a valid
EGLSurface when creating a non-offscreen GLContext. This patch falls
back to a dummy pbuffer surface or EGL_NO_SURFACE if supported, allowing
the GLContext creation to succeed. This will give us some more flexibility
on Android where the widget surface is not always readily available.

Additinally, we use the fallback surface any time MakeCurrent() is
called without a valid surface. This is needed to allow things like
Compositor shutdown when there is no widget surface available.

MozReview-Commit-ID: 1kbLIGNiOkV
2018-05-14 11:12:39 -05:00
shindli 42cb453a11 Backed out 3 changesets (bug 1453501) for bustage in build/build/src/gfx/gl/GLContextProviderEGL.cpp on a CLOSED TREE
Backed out changeset 8b53a7b34121 (bug 1453501)
Backed out changeset c07588586701 (bug 1453501)
Backed out changeset 6c231423492b (bug 1453501)
2018-05-14 17:05:14 +03:00
James Willcox 5c6878f58e Bug 1453501 - Allow GLContextEGL to be used without a surface r=jgilbert
Right now GLContextProviderEGL requires the widget to have a valid
EGLSurface when creating a non-offscreen GLContext. This patch falls
back to a dummy pbuffer surface or EGL_NO_SURFACE if supported, allowing
the GLContext creation to succeed. This will give us some more flexibility
on Android where the widget surface is not always readily available.

Additinally, we use the fallback surface any time MakeCurrent() is
called without a valid surface. This is needed to allow things like
Compositor shutdown when there is no widget surface available.

MozReview-Commit-ID: 1kbLIGNiOkV
2018-05-14 08:15:37 -05:00
sotaro 807f25f7be Bug 1438456 - Add GLLibraryEGL::CreateDisplay() r=jgilbert 2018-04-04 09:38:42 +09:00
Jeff Gilbert d7f00b4cb7 Bug 1440849 - Gecko changes due to Angle update. - r=jrmuizel
MozReview-Commit-ID: LJhesu56ORJ
2018-03-02 13:42:20 -08:00
Jeff Gilbert 96cde974a6 Bug 1426329 - Reduce includes of GLContext.h in headers. - r=lenzak
MozReview-Commit-ID: LPrK3ghNI5f
2017-12-20 11:45:32 -08:00
sotaro f9d17135d9 Bug 1418571 - Set SwapInterval to 0 with ANGLE r=jgilbert 2017-11-24 09:09:29 +09:00
Chih-Yi Leu 96abdd1366 Bug 1371190 - Part 1: Modify gecko to be compatible to newer ANGLE. r=jgilbert
MozReview-Commit-ID: 5iK1L4ioVFK

--HG--
extra : source : 472a419a8d65f888ebc5d64ae90c59881cef4d73
2017-05-24 15:20:02 +08:00
Sebastian Hengst b4bb2df7c7 Backed out changeset 472a419a8d65 (bug 1371190) for build bustage, at least on Windows Static. r=backout on a CLOSED TREE 2017-10-06 15:30:44 +02:00
Chih-Yi Leu 99a304878d Bug 1371190 - Part 1: Modify gecko to be compatible to newer ANGLE. r=jgilbert
MozReview-Commit-ID: 5iK1L4ioVFK

--HG--
extra : rebase_source : 8aff17309936e70441c890f90a48b8c009e19f55
2017-05-24 15:20:02 +08:00
Jeff Gilbert 8a890b29aa Bug 1322746 - Support PLANAR_YCBCR, GPU_VIDEO, and D3D11_YCBCR_IMAGE in GLBlitHelper. - r=jerry
MozReview-Commit-ID: FNsmq0RPvYB
2017-09-02 21:52:16 -07:00
sotaro 4c5bdeeb2e Bug 1395417 - Fix as star against type r=jgilbert 2017-08-31 16:25:48 +09:00
sotaro b2afc6658c Bug 1395417 - Expose eglCreateDeviceANGLE and eglReleaseDeviceANGLE r=jgilbert 2017-08-31 15:57:45 +09:00
Ami 5618882599 Bug 1388531 - Remove stubbed out B2G only functions. r=jgilbert 2017-08-13 23:14:00 -04:00
Eric Rahm fe18bf0131 Bug 1386825 - Part 4: Remove remaining instances of MOZ_B2G. r=froydnj
MozReview-Commit-ID: 8r4eMwiZ4Vg
2017-08-08 14:41:09 -07:00
JerryShih 0081892f19 Bug 1357299 - P1-1: Fix the wrong return value for DestroyStreamKHR(). r=jgilbert
MozReview-Commit-ID: 4OMHJka03Kd
2017-08-07 18:15:21 +08:00
JerryShih 866d845e94 Bug 1357299 - P1: Fix the wrong ext string for QueryDisplayAttribEXT. v2. r=jgilbert
MozReview-Commit-ID: 3lZG2GrxXHF
2017-08-07 18:15:21 +08:00